File inc_ransom_e16ac4475e24bbe97e50d7940df71079ea2f1dfd1f2bff6a649c09f7503d087c.elf
Function:
    00403bf5
    00403bf5SHA512_Block:
    00403bf5push rbp
    00403bf6mov rbp, rsp
    00403bf9sub rsp, 1464
    00403c00mov [rbp-1576], rdi
    00403c07mov [rbp-1584], rsi
    00403c0emov [rbp-4], 0
    00403c15jmp 0x403c4d
    00403c17
    00403c17loc_403c17:
    00403c17mov eax, [rbp-4]
    00403c1acdqe
    00403c1cshl rax, 4
    00403c20add rax, [rbp-1584]
    00403c27mov edx, [rbp-4]
    00403c2amovsxd rdx, edx
    00403c2dshl rdx, 4
    00403c31add rdx, rbp
    00403c34sub rdx, 1296
    00403c3bmov rcx, [rax]
    00403c3emov [rdx], rcx
    00403c41mov rax, [rax+8]
    00403c45mov [rdx+8], rax
    00403c49add [rbp-4], 1
    00403c4d
    00403c4dloc_403c4d:
    00403c4dcmp [rbp-4], 15
    00403c51jle 0x403c17
    00403c53mov [rbp-4], 16
    00403c5ajmp 0x40417c
    00403c5f
    00403c5floc_403c5f:
    00403c5fmov eax, [rbp-4]
    00403c62sub eax, 2
    00403c65cdqe
    00403c67shl rax, 4
    00403c6badd rax, rbp
    00403c6esub rax, 1288
    00403c74mov rax, [rax]
    00403c77mov edx, eax
    00403c79shr edx, 19
    00403c7cmov eax, [rbp-4]
    00403c7fsub eax, 2
    00403c82cdqe
    00403c84shl rax, 4
    00403c88add rax, rbp
    00403c8bsub rax, 1296
    00403c91mov rax, [rax]
    00403c94shl eax, 13
    00403c97or eax, edx
    00403c99mov eax, eax
    00403c9bmov [rbp-1432], rax
    00403ca2mov eax, [rbp-4]
    00403ca5sub eax, 2
    00403ca8cdqe
    00403caashl rax, 4
    00403caeadd rax, rbp
    00403cb1sub rax, 1296
    00403cb7mov rax, [rax]
    00403cbamov edx, eax
    00403cbcshr edx, 19
    00403cbfmov eax, [rbp-4]
    00403cc2sub eax, 2
    00403cc5cdqe
    00403cc7shl rax, 4
    00403ccbadd rax, rbp
    00403ccesub rax, 1288
    00403cd4mov rax, [rax]
    00403cd7shl eax, 13
    00403cdaor eax, edx
    00403cdcmov eax, eax
    00403cdemov [rbp-1440], rax
    00403ce5mov eax, [rbp-4]
    00403ce8sub eax, 2
    00403cebcdqe
    00403cedshl rax, 4
    00403cf1add rax, rbp
    00403cf4sub rax, 1296
    00403cfamov rax, [rax]
    00403cfdmov edx, eax
    00403cffshr edx, 29
    00403d02mov eax, [rbp-4]
    00403d05sub eax, 2
    00403d08cdqe
    00403d0ashl rax, 4
    00403d0eadd rax, rbp
    00403d11sub rax, 1288
    00403d17mov rax, [rax]
    00403d1ashl eax, 3
    00403d1dor eax, edx
    00403d1fmov eax, eax
    00403d21mov [rbp-1480], rax
    00403d28mov eax, [rbp-4]
    00403d2bsub eax, 2
    00403d2ecdqe
    00403d30shl rax, 4
    00403d34add rax, rbp
    00403d37sub rax, 1288
    00403d3dmov rax, [rax]
    00403d40mov edx, eax
    00403d42shr edx, 29
    00403d45mov eax, [rbp-4]
    00403d48sub eax, 2
    00403d4bcdqe
    00403d4dshl rax, 4
    00403d51add rax, rbp
    00403d54sub rax, 1296
    00403d5amov rax, [rax]
    00403d5dshl eax, 3
    00403d60or eax, edx
    00403d62mov eax, eax
    00403d64mov [rbp-1488], rax
    00403d6bmov rdx, [rbp-1432]
    00403d72mov rax, [rbp-1480]
    00403d79xor rax, rdx
    00403d7cmov [rbp-1432], rax
    00403d83mov rdx, [rbp-1440]
    00403d8amov rax, [rbp-1488]
    00403d91xor rax, rdx
    00403d94mov [rbp-1440], rax
    00403d9bmov eax, [rbp-4]
    00403d9esub eax, 2
    00403da1cdqe
    00403da3shl rax, 4
    00403da7add rax, rbp
    00403daasub rax, 1288
    00403db0mov rax, [rax]
    00403db3mov edx, eax
    00403db5shr edx, 6
    00403db8mov eax, [rbp-4]
    00403dbbsub eax, 2
    00403dbecdqe
    00403dc0shl rax, 4
    00403dc4add rax, rbp
    00403dc7sub rax, 1296
    00403dcdmov rax, [rax]
    00403dd0shl eax, 26
    00403dd3or eax, edx
    00403dd5mov eax, eax
    00403dd7mov [rbp-1480], rax
    00403ddemov eax, [rbp-4]
    00403de1sub eax, 2
    00403de4cdqe
    00403de6shl rax, 4
    00403deaadd rax, rbp
    00403dedsub rax, 1296
    00403df3mov rax, [rax]
    00403df6shr eax, 6
    00403df9mov eax, eax
    00403dfbmov [rbp-1488], rax
    00403e02mov rdx, [rbp-1432]
    00403e09mov rax, [rbp-1480]
    00403e10xor rax, rdx
    00403e13mov [rbp-1432], rax
    00403e1amov rdx, [rbp-1440]
    00403e21mov rax, [rbp-1488]
    00403e28xor rax, rdx
    00403e2bmov [rbp-1440], rax
    00403e32mov eax, [rbp-4]
    00403e35sub eax, 15
    00403e38cdqe
    00403e3ashl rax, 4
    00403e3eadd rax, rbp
    00403e41sub rax, 1288
    00403e47mov rax, [rax]
    00403e4amov edx, eax
    00403e4cshr edx, 1
    00403e4emov eax, [rbp-4]
    00403e51sub eax, 15
    00403e54cdqe
    00403e56shl rax, 4
    00403e5aadd rax, rbp
    00403e5dsub rax, 1296
    00403e63mov rax, [rax]
    00403e66shl eax, 31
    00403e69or eax, edx
    00403e6bmov eax, eax
    00403e6dmov [rbp-1448], rax
    00403e74mov eax, [rbp-4]
    00403e77sub eax, 15
    00403e7acdqe
    00403e7cshl rax, 4
    00403e80add rax, rbp
    00403e83sub rax, 1296
    00403e89mov rax, [rax]
    00403e8cmov edx, eax
    00403e8eshr edx, 1
    00403e90mov eax, [rbp-4]
    00403e93sub eax, 15
    00403e96cdqe
    00403e98shl rax, 4
    00403e9cadd rax, rbp
    00403e9fsub rax, 1288
    00403ea5mov rax, [rax]
    00403ea8shl eax, 31
    00403eabor eax, edx
    00403eadmov eax, eax
    00403eafmov [rbp-1456], rax
    00403eb6mov eax, [rbp-4]
    00403eb9sub eax, 15
    00403ebccdqe
    00403ebeshl rax, 4
    00403ec2add rax, rbp
    00403ec5sub rax, 1288
    00403ecbmov rax, [rax]
    00403ecemov edx, eax
    00403ed0shr edx, 8
    00403ed3mov eax, [rbp-4]
    00403ed6sub eax, 15
    00403ed9cdqe
    00403edbshl rax, 4
    00403edfadd rax, rbp
    00403ee2sub rax, 1296
    00403ee8mov rax, [rax]
    00403eebshl eax, 24
    00403eeeor eax, edx
    00403ef0mov eax, eax
    00403ef2mov [rbp-1480], rax
    00403ef9mov eax, [rbp-4]
    00403efcsub eax, 15
    00403effcdqe
    00403f01shl rax, 4
    00403f05add rax, rbp
    00403f08sub rax, 1296
    00403f0emov rax, [rax]
    00403f11mov edx, eax
    00403f13shr edx, 8
    00403f16mov eax, [rbp-4]
    00403f19sub eax, 15
    00403f1ccdqe
    00403f1eshl rax, 4
    00403f22add rax, rbp
    00403f25sub rax, 1288
    00403f2bmov rax, [rax]
    00403f2eshl eax, 24
    00403f31or eax, edx
    00403f33mov eax, eax
    00403f35mov [rbp-1488], rax
    00403f3cmov rdx, [rbp-1448]
    00403f43mov rax, [rbp-1480]
    00403f4axor rax, rdx
    00403f4dmov [rbp-1448], rax
    00403f54mov rdx, [rbp-1456]
    00403f5bmov rax, [rbp-1488]
    00403f62xor rax, rdx
    00403f65mov [rbp-1456], rax
    00403f6cmov eax, [rbp-4]
    00403f6fsub eax, 15
    00403f72cdqe
    00403f74shl rax, 4
    00403f78add rax, rbp
    00403f7bsub rax, 1288
    00403f81mov rax, [rax]
    00403f84mov edx, eax
    00403f86shr edx, 7
    00403f89mov eax, [rbp-4]
    00403f8csub eax, 15
    00403f8fcdqe
    00403f91shl rax, 4
    00403f95add rax, rbp
    00403f98sub rax, 1296
    00403f9emov rax, [rax]
    00403fa1shl eax, 25
    00403fa4or eax, edx
    00403fa6mov eax, eax
    00403fa8mov [rbp-1480], rax
    00403fafmov eax, [rbp-4]
    00403fb2sub eax, 15
    00403fb5cdqe
    00403fb7shl rax, 4
    00403fbbadd rax, rbp
    00403fbesub rax, 1296
    00403fc4mov rax, [rax]
    00403fc7shr eax, 7
    00403fcamov eax, eax
    00403fccmov [rbp-1488], rax
    00403fd3mov rdx, [rbp-1448]
    00403fdamov rax, [rbp-1480]
    00403fe1xor rax, rdx
    00403fe4mov [rbp-1448], rax
    00403febmov rdx, [rbp-1456]
    00403ff2mov rax, [rbp-1488]
    00403ff9xor rax, rdx
    00403ffcmov [rbp-1456], rax
    00404003mov rdx, [rbp-1448]
    0040400amov rax, [rbp-1432]
    00404011add rax, rdx
    00404014mov [rbp-1464], rax
    0040401bmov rdx, [rbp-1456]
    00404022mov rax, [rbp-1440]
    00404029lea rcx, [rdx+rax]
    0040402dmov rax, [rbp-1464]
    00404034mov edx, eax
    00404036mov rax, [rbp-1448]
    0040403dcmp edx, eax
    0040403fsetb al
    00404042movzx eax, al
    00404045add rax, rcx
    00404048mov [rbp-1472], rax
    0040404fmov eax, [rbp-4]
    00404052sub eax, 7
    00404055cdqe
    00404057shl rax, 4
    0040405badd rax, rbp
    0040405esub rax, 1288
    00404064mov rdx, [rax]
    00404067mov rax, [rbp-1464]
    0040406eadd rax, rdx
    00404071mov [rbp-1432], rax
    00404078mov eax, [rbp-4]
    0040407bsub eax, 7
    0040407ecdqe
    00404080shl rax, 4
    00404084add rax, rbp
    00404087sub rax, 1296
    0040408dmov rdx, [rax]
    00404090mov rax, [rbp-1472]
    00404097lea rcx, [rdx+rax]
    0040409bmov rax, [rbp-1432]
    004040a2mov edx, eax
    004040a4mov eax, [rbp-4]
    004040a7sub eax, 7
    004040aacdqe
    004040acshl rax, 4
    004040b0add rax, rbp
    004040b3sub rax, 1288
    004040b9mov rax, [rax]
    004040bccmp edx, eax
    004040besetb al
    004040c1movzx eax, al
    004040c4add rax, rcx
    004040c7mov [rbp-1440], rax
    004040cemov eax, [rbp-4]
    004040d1sub eax, 16
    004040d4cdqe
    004040d6shl rax, 4
    004040daadd rax, rbp
    004040ddsub rax, 1288
    004040e3mov rdx, [rax]
    004040e6mov rax, [rbp-1432]
    004040edadd rdx, rax
    004040f0mov eax, [rbp-4]
    004040f3cdqe
    004040f5shl rax, 4
    004040f9add rax, rbp
    004040fcsub rax, 1288
    00404102mov [rax], rdx
    00404105mov eax, [rbp-4]
    00404108sub eax, 16
    0040410bcdqe
    0040410dshl rax, 4
    00404111add rax, rbp
    00404114sub rax, 1296
    0040411amov rdx, [rax]
    0040411dmov rax, [rbp-1440]
    00404124lea rcx, [rdx+rax]
    00404128mov eax, [rbp-4]
    0040412bcdqe
    0040412dshl rax, 4
    00404131add rax, rbp
    00404134sub rax, 1288
    0040413amov rax, [rax]
    0040413dmov edx, eax
    0040413fmov eax, [rbp-4]
    00404142sub eax, 16
    00404145cdqe
    00404147shl rax, 4
    0040414badd rax, rbp
    0040414esub rax, 1288
    00404154mov rax, [rax]
    00404157cmp edx, eax
    00404159setb al
    0040415cmovzx eax, al
    0040415flea rdx, [rcx+rax]
    00404163mov eax, [rbp-4]
    00404166cdqe
    00404168shl rax, 4
    0040416cadd rax, rbp
    0040416fsub rax, 1296
    00404175mov [rax], rdx
    00404178add [rbp-4], 1
    0040417c
    0040417cloc_40417c:
    0040417ccmp [rbp-4], 79
    00404180jle 0x403c5f
    00404186mov rax, [rbp-1576]
    0040418dmov rdx, [rax]
    00404190mov [rbp-1312], rdx
    00404197mov rax, [rax+8]
    0040419bmov [rbp-1304], rax
    004041a2mov rax, [rbp-1576]
    004041a9mov rdx, [rax+16]
    004041admov [rbp-1328], rdx
    004041b4mov rax, [rax+24]
    004041b8mov [rbp-1320], rax
    004041bfmov rax, [rbp-1576]
    004041c6mov rdx, [rax+32]
    004041camov [rbp-1344], rdx
    004041d1mov rax, [rax+40]
    004041d5mov [rbp-1336], rax
    004041dcmov rax, [rbp-1576]
    004041e3mov rdx, [rax+48]
    004041e7mov [rbp-1360], rdx
    004041eemov rax, [rax+56]
    004041f2mov [rbp-1352], rax
    004041f9mov rax, [rbp-1576]
    00404200mov rdx, [rax+64]
    00404204mov [rbp-1376], rdx
    0040420bmov rax, [rax+72]
    0040420fmov [rbp-1368], rax
    00404216mov rax, [rbp-1576]
    0040421dmov rdx, [rax+80]
    00404221mov [rbp-1392], rdx
    00404228mov rax, [rax+88]
    0040422cmov [rbp-1384], rax
    00404233mov rax, [rbp-1576]
    0040423amov rdx, [rax+96]
    0040423emov [rbp-1408], rdx
    00404245mov rax, [rax+104]
    00404249mov [rbp-1400], rax
    00404250mov rax, [rbp-1576]
    00404257mov rdx, [rax+112]
    0040425bmov [rbp-1424], rdx
    00404262mov rax, [rax+120]
    00404266mov [rbp-1416], rax
    0040426dmov [rbp-4], 0
    00404274jmp 0x407653
    00404279
    00404279loc_404279:
    00404279mov rax, [rbp-1368]
    00404280mov edx, eax
    00404282shr edx, 14
    00404285mov rax, [rbp-1376]
    0040428cshl eax, 18
    0040428for eax, edx
    00404291mov eax, eax
    00404293mov [rbp-1512], rax
    0040429amov rax, [rbp-1376]
    004042a1mov edx, eax
    004042a3shr edx, 14
    004042a6mov rax, [rbp-1368]
    004042adshl eax, 18
    004042b0or eax, edx
    004042b2mov eax, eax
    004042b4mov [rbp-1520], rax
    004042bbmov rax, [rbp-1368]
    004042c2mov edx, eax
    004042c4shr edx, 18
    004042c7mov rax, [rbp-1376]
    004042ceshl eax, 14
    004042d1or eax, edx
    004042d3mov eax, eax
    004042d5mov [rbp-1496], rax
    004042dcmov rax, [rbp-1376]
    004042e3mov edx, eax
    004042e5shr edx, 18
    004042e8mov rax, [rbp-1368]
    004042efshl eax, 14
    004042f2or eax, edx
    004042f4mov eax, eax
    004042f6mov [rbp-1504], rax
    004042fdmov rdx, [rbp-1512]
    00404304mov rax, [rbp-1496]
    0040430bxor rax, rdx
    0040430emov [rbp-1512], rax
    00404315mov rdx, [rbp-1520]
    0040431cmov rax, [rbp-1504]
    00404323xor rax, rdx
    00404326mov [rbp-1520], rax
    0040432dmov rax, [rbp-1376]
    00404334mov edx, eax
    00404336shr edx, 9
    00404339mov rax, [rbp-1368]
    00404340shl eax, 23
    00404343or eax, edx
    00404345mov eax, eax
    00404347mov [rbp-1496], rax
    0040434emov rax, [rbp-1368]
    00404355mov edx, eax
    00404357shr edx, 9
    0040435amov rax, [rbp-1376]
    00404361shl eax, 23
    00404364or eax, edx
    00404366mov eax, eax
    00404368mov [rbp-1504], rax
    0040436fmov rdx, [rbp-1512]
    00404376mov rax, [rbp-1496]
    0040437dxor rax, rdx
    00404380mov [rbp-1512], rax
    00404387mov rdx, [rbp-1520]
    0040438emov rax, [rbp-1504]
    00404395xor rax, rdx
    00404398mov [rbp-1520], rax
    0040439fmov rax, [rbp-1368]
    004043a6not rax
    004043a9mov [rbp-1496], rax
    004043b0mov rax, [rbp-1376]
    004043b7not rax
    004043bamov [rbp-1504], rax
    004043c1mov rdx, [rbp-1496]
    004043c8mov rax, [rbp-1400]
    004043cfand rax, rdx
    004043d2mov [rbp-1528], rax
    004043d9mov rdx, [rbp-1504]
    004043e0mov rax, [rbp-1408]
    004043e7and rax, rdx
    004043eamov [rbp-1536], rax
    004043f1mov rdx, [rbp-1368]
    004043f8mov rax, [rbp-1384]
    004043ffand rax, rdx
    00404402mov [rbp-1496], rax
    00404409mov rdx, [rbp-1376]
    00404410mov rax, [rbp-1392]
    00404417and rax, rdx
    0040441amov [rbp-1504], rax
    00404421mov rdx, [rbp-1528]
    00404428mov rax, [rbp-1496]
    0040442fxor rax, rdx
    00404432mov [rbp-1528], rax
    00404439mov rdx, [rbp-1536]
    00404440mov rax, [rbp-1504]
    00404447xor rax, rdx
    0040444amov [rbp-1536], rax
    00404451mov rdx, [rbp-1528]
    00404458mov rax, [rbp-1512]
    0040445fadd rax, rdx
    00404462mov [rbp-1544], rax
    00404469mov rdx, [rbp-1536]
    00404470mov rax, [rbp-1520]
    00404477lea rcx, [rdx+rax]
    0040447bmov rax, [rbp-1544]
    00404482mov edx, eax
    00404484mov rax, [rbp-1528]
    0040448bcmp edx, eax
    0040448dsetb al
    00404490movzx eax, al
    00404493add rax, rcx
    00404496mov [rbp-1552], rax
    0040449dmov eax, [rbp-4]
    004044a0cdqe
    004044a2shl rax, 4
    004044a6add rax, 0x40ea00
    004044acmov rdx, [rax+8]
    004044b0mov rax, [rbp-1544]
    004044b7add rax, rdx
    004044bamov [rbp-1512], rax
    004044c1mov eax, [rbp-4]
    004044c4cdqe
    004044c6shl rax, 4
    004044caadd rax, 0x40ea00
    004044d0mov rdx, [rax]
    004044d3mov rax, [rbp-1552]
    004044dalea rcx, [rdx+rax]
    004044demov rax, [rbp-1512]
    004044e5mov edx, eax
    004044e7mov eax, [rbp-4]
    004044eacdqe
    004044ecshl rax, 4
    004044f0add rax, 0x40ea00
    004044f6mov rax, [rax+8]
    004044facmp edx, eax
    004044fcsetb al
    004044ffmovzx eax, al
    00404502add rax, rcx
    00404505mov [rbp-1520], rax
    0040450cmov eax, [rbp-4]
    0040450fcdqe
    00404511shl rax, 4
    00404515add rax, rbp
    00404518sub rax, 1288
    0040451emov rdx, [rax]
    00404521mov rax, [rbp-1512]
    00404528add rax, rdx
    0040452bmov [rbp-1528], rax
    00404532mov eax, [rbp-4]
    00404535cdqe
    00404537shl rax, 4
    0040453badd rax, rbp
    0040453esub rax, 1296
    00404544mov rdx, [rax]
    00404547mov rax, [rbp-1520]
    0040454elea rcx, [rdx+rax]
    00404552mov rax, [rbp-1528]
    00404559mov edx, eax
    0040455bmov eax, [rbp-4]
    0040455ecdqe
    00404560shl rax, 4
    00404564add rax, rbp
    00404567sub rax, 1288
    0040456dmov rax, [rax]
    00404570cmp edx, eax
    00404572setb al
    00404575movzx eax, al
    00404578add rax, rcx
    0040457bmov [rbp-1536], rax
    00404582mov rdx, [rbp-1416]
    00404589mov rax, [rbp-1528]
    00404590add rax, rdx
    00404593mov [rbp-1544], rax
    0040459amov rdx, [rbp-1424]
    004045a1mov rax, [rbp-1536]
    004045a8lea rcx, [rdx+rax]
    004045acmov rax, [rbp-1544]
    004045b3mov edx, eax
    004045b5mov rax, [rbp-1416]
    004045bccmp edx, eax
    004045besetb al
    004045c1movzx eax, al
    004045c4add rax, rcx
    004045c7mov [rbp-1552], rax
    004045cemov rax, [rbp-1304]
    004045d5mov edx, eax
    004045d7shr edx, 28
    004045damov rax, [rbp-1312]
    004045e1shl eax, 4
    004045e4or eax, edx
    004045e6mov eax, eax
    004045e8mov [rbp-1512], rax
    004045efmov rax, [rbp-1312]
    004045f6mov edx, eax
    004045f8shr edx, 28
    004045fbmov rax, [rbp-1304]
    00404602shl eax, 4
    00404605or eax, edx
    00404607mov eax, eax
    00404609mov [rbp-1520], rax
    00404610mov rax, [rbp-1312]
    00404617mov edx, eax
    00404619shr edx, 2
    0040461cmov rax, [rbp-1304]
    00404623shl eax, 30
    00404626or eax, edx
    00404628mov eax, eax
    0040462amov [rbp-1496], rax
    00404631mov rax, [rbp-1304]
    00404638mov edx, eax
    0040463ashr edx, 2
    0040463dmov rax, [rbp-1312]
    00404644shl eax, 30
    00404647or eax, edx
    00404649mov eax, eax
    0040464bmov [rbp-1504], rax
    00404652mov rdx, [rbp-1512]
    00404659mov rax, [rbp-1496]
    00404660xor rax, rdx
    00404663mov [rbp-1512], rax
    0040466amov rdx, [rbp-1520]
    00404671mov rax, [rbp-1504]
    00404678xor rax, rdx
    0040467bmov [rbp-1520], rax
    00404682mov rax, [rbp-1312]
    00404689mov edx, eax
    0040468bshr edx, 7
    0040468emov rax, [rbp-1304]
    00404695shl eax, 25
    00404698or eax, edx
    0040469amov eax, eax
    0040469cmov [rbp-1496], rax
    004046a3mov rax, [rbp-1304]
    004046aamov edx, eax
    004046acshr edx, 7
    004046afmov rax, [rbp-1312]
    004046b6shl eax, 25
    004046b9or eax, edx
    004046bbmov eax, eax
    004046bdmov [rbp-1504], rax
    004046c4mov rdx, [rbp-1512]
    004046cbmov rax, [rbp-1496]
    004046d2xor rax, rdx
    004046d5mov [rbp-1512], rax
    004046dcmov rdx, [rbp-1520]
    004046e3mov rax, [rbp-1504]
    004046eaxor rax, rdx
    004046edmov [rbp-1520], rax
    004046f4mov rdx, [rbp-1304]
    004046fbmov rax, [rbp-1320]
    00404702and rax, rdx
    00404705mov [rbp-1496], rax
    0040470cmov rdx, [rbp-1312]
    00404713mov rax, [rbp-1328]
    0040471aand rax, rdx
    0040471dmov [rbp-1504], rax
    00404724mov rdx, [rbp-1304]
    0040472bmov rax, [rbp-1336]
    00404732and rax, rdx
    00404735mov [rbp-1528], rax
    0040473cmov rdx, [rbp-1312]
    00404743mov rax, [rbp-1344]
    0040474aand rax, rdx
    0040474dmov [rbp-1536], rax
    00404754mov rdx, [rbp-1496]
    0040475bmov rax, [rbp-1528]
    00404762xor rax, rdx
    00404765mov [rbp-1496], rax
    0040476cmov rdx, [rbp-1504]
    00404773mov rax, [rbp-1536]
    0040477axor rax, rdx
    0040477dmov [rbp-1504], rax
    00404784mov rdx, [rbp-1320]
    0040478bmov rax, [rbp-1336]
    00404792and rax, rdx
    00404795mov [rbp-1528], rax
    0040479cmov rdx, [rbp-1328]
    004047a3mov rax, [rbp-1344]
    004047aaand rax, rdx
    004047admov [rbp-1536], rax
    004047b4mov rdx, [rbp-1496]
    004047bbmov rax, [rbp-1528]
    004047c2xor rax, rdx
    004047c5mov [rbp-1496], rax
    004047ccmov rdx, [rbp-1504]
    004047d3mov rax, [rbp-1536]
    004047daxor rax, rdx
    004047ddmov [rbp-1504], rax
    004047e4mov rdx, [rbp-1512]
    004047ebmov rax, [rbp-1496]
    004047f2add rax, rdx
    004047f5mov [rbp-1528], rax
    004047fcmov rdx, [rbp-1520]
    00404803mov rax, [rbp-1504]
    0040480alea rcx, [rdx+rax]
    0040480emov rax, [rbp-1528]
    00404815mov edx, eax
    00404817mov rax, [rbp-1512]
    0040481ecmp edx, eax
    00404820setb al
    00404823movzx eax, al
    00404826add rax, rcx
    00404829mov [rbp-1536], rax
    00404830mov rdx, [rbp-1352]
    00404837mov rax, [rbp-1544]
    0040483eadd rax, rdx
    00404841mov [rbp-1512], rax
    00404848mov rdx, [rbp-1360]
    0040484fmov rax, [rbp-1552]
    00404856lea rcx, [rdx+rax]
    0040485amov rax, [rbp-1512]
    00404861mov edx, eax
    00404863mov rax, [rbp-1352]
    0040486acmp edx, eax
    0040486csetb al
    0040486fmovzx eax, al
    00404872add rax, rcx
    00404875mov [rbp-1520], rax
    0040487cmov rax, [rbp-1520]
    00404883mov [rbp-1360], rax
    0040488amov rax, [rbp-1512]
    00404891mov [rbp-1352], rax
    00404898mov rdx, [rbp-1544]
    0040489fmov rax, [rbp-1528]
    004048a6add rax, rdx
    004048a9mov [rbp-1416], rax
    004048b0mov rdx, [rbp-1552]
    004048b7mov rax, [rbp-1536]
    004048belea rcx, [rdx+rax]
    004048c2mov rax, [rbp-1416]
    004048c9mov edx, eax
    004048cbmov rax, [rbp-1544]
    004048d2cmp edx, eax
    004048d4setb al
    004048d7movzx eax, al
    004048daadd rax, rcx
    004048ddmov [rbp-1424], rax
    004048e4mov rax, [rbp-1352]
    004048ebmov edx, eax
    004048edshr edx, 14
    004048f0mov rax, [rbp-1360]
    004048f7shl eax, 18
    004048faor eax, edx
    004048fcmov eax, eax
    004048femov [rbp-1512], rax
    00404905mov rax, [rbp-1360]
    0040490cmov edx, eax
    0040490eshr edx, 14
    00404911mov rax, [rbp-1352]
    00404918shl eax, 18
    0040491bor eax, edx
    0040491dmov eax, eax
    0040491fmov [rbp-1520], rax
    00404926mov rax, [rbp-1352]
    0040492dmov edx, eax
    0040492fshr edx, 18
    00404932mov rax, [rbp-1360]
    00404939shl eax, 14
    0040493cor eax, edx
    0040493emov eax, eax
    00404940mov [rbp-1496], rax
    00404947mov rax, [rbp-1360]
    0040494emov edx, eax
    00404950shr edx, 18
    00404953mov rax, [rbp-1352]
    0040495ashl eax, 14
    0040495dor eax, edx
    0040495fmov eax, eax
    00404961mov [rbp-1504], rax
    00404968mov rdx, [rbp-1512]
    0040496fmov rax, [rbp-1496]
    00404976xor rax, rdx
    00404979mov [rbp-1512], rax
    00404980mov rdx, [rbp-1520]
    00404987mov rax, [rbp-1504]
    0040498exor rax, rdx
    00404991mov [rbp-1520], rax
    00404998mov rax, [rbp-1360]
    0040499fmov edx, eax
    004049a1shr edx, 9
    004049a4mov rax, [rbp-1352]
    004049abshl eax, 23
    004049aeor eax, edx
    004049b0mov eax, eax
    004049b2mov [rbp-1496], rax
    004049b9mov rax, [rbp-1352]
    004049c0mov edx, eax
    004049c2shr edx, 9
    004049c5mov rax, [rbp-1360]
    004049ccshl eax, 23
    004049cfor eax, edx
    004049d1mov eax, eax
    004049d3mov [rbp-1504], rax
    004049damov rdx, [rbp-1512]
    004049e1mov rax, [rbp-1496]
    004049e8xor rax, rdx
    004049ebmov [rbp-1512], rax
    004049f2mov rdx, [rbp-1520]
    004049f9mov rax, [rbp-1504]
    00404a00xor rax, rdx
    00404a03mov [rbp-1520], rax
    00404a0amov rax, [rbp-1352]
    00404a11not rax
    00404a14mov [rbp-1496], rax
    00404a1bmov rax, [rbp-1360]
    00404a22not rax
    00404a25mov [rbp-1504], rax
    00404a2cmov rdx, [rbp-1496]
    00404a33mov rax, [rbp-1384]
    00404a3aand rax, rdx
    00404a3dmov [rbp-1528], rax
    00404a44mov rdx, [rbp-1504]
    00404a4bmov rax, [rbp-1392]
    00404a52and rax, rdx
    00404a55mov [rbp-1536], rax
    00404a5cmov rdx, [rbp-1352]
    00404a63mov rax, [rbp-1368]
    00404a6aand rax, rdx
    00404a6dmov [rbp-1496], rax
    00404a74mov rdx, [rbp-1360]
    00404a7bmov rax, [rbp-1376]
    00404a82and rax, rdx
    00404a85mov [rbp-1504], rax
    00404a8cmov rdx, [rbp-1528]
    00404a93mov rax, [rbp-1496]
    00404a9axor rax, rdx
    00404a9dmov [rbp-1528], rax
    00404aa4mov rdx, [rbp-1536]
    00404aabmov rax, [rbp-1504]
    00404ab2xor rax, rdx
    00404ab5mov [rbp-1536], rax
    00404abcmov rdx, [rbp-1528]
    00404ac3mov rax, [rbp-1512]
    00404acaadd rax, rdx
    00404acdmov [rbp-1544], rax
    00404ad4mov rdx, [rbp-1536]
    00404adbmov rax, [rbp-1520]
    00404ae2lea rcx, [rdx+rax]
    00404ae6mov rax, [rbp-1544]
    00404aedmov edx, eax
    00404aefmov rax, [rbp-1528]
    00404af6cmp edx, eax
    00404af8setb al
    00404afbmovzx eax, al
    00404afeadd rax, rcx
    00404b01mov [rbp-1552], rax
    00404b08mov eax, [rbp-4]
    00404b0badd eax, 1
    00404b0ecdqe
    00404b10shl rax, 4
    00404b14add rax, 0x40ea00
    00404b1amov rdx, [rax+8]
    00404b1emov rax, [rbp-1544]
    00404b25add rax, rdx
    00404b28mov [rbp-1512], rax
    00404b2fmov eax, [rbp-4]
    00404b32add eax, 1
    00404b35cdqe
    00404b37shl rax, 4
    00404b3badd rax, 0x40ea00
    00404b41mov rdx, [rax]
    00404b44mov rax, [rbp-1552]
    00404b4blea rcx, [rdx+rax]
    00404b4fmov rax, [rbp-1512]
    00404b56mov edx, eax
    00404b58mov eax, [rbp-4]
    00404b5badd eax, 1
    00404b5ecdqe
    00404b60shl rax, 4
    00404b64add rax, 0x40ea00
    00404b6amov rax, [rax+8]
    00404b6ecmp edx, eax
    00404b70setb al
    00404b73movzx eax, al
    00404b76add rax, rcx
    00404b79mov [rbp-1520], rax
    00404b80mov eax, [rbp-4]
    00404b83add eax, 1
    00404b86cdqe
    00404b88shl rax, 4
    00404b8cadd rax, rbp
    00404b8fsub rax, 1288
    00404b95mov rdx, [rax]
    00404b98mov rax, [rbp-1512]
    00404b9fadd rax, rdx
    00404ba2mov [rbp-1528], rax
    00404ba9mov eax, [rbp-4]
    00404bacadd eax, 1
    00404bafcdqe
    00404bb1shl rax, 4
    00404bb5add rax, rbp
    00404bb8sub rax, 1296
    00404bbemov rdx, [rax]
    00404bc1mov rax, [rbp-1520]
    00404bc8lea rcx, [rdx+rax]
    00404bccmov rax, [rbp-1528]
    00404bd3mov edx, eax
    00404bd5mov eax, [rbp-4]
    00404bd8add eax, 1
    00404bdbcdqe
    00404bddshl rax, 4
    00404be1add rax, rbp
    00404be4sub rax, 1288
    00404beamov rax, [rax]
    00404bedcmp edx, eax
    00404befsetb al
    00404bf2movzx eax, al
    00404bf5add rax, rcx
    00404bf8mov [rbp-1536], rax
    00404bffmov rdx, [rbp-1400]
    00404c06mov rax, [rbp-1528]
    00404c0dadd rax, rdx
    00404c10mov [rbp-1544], rax
    00404c17mov rdx, [rbp-1408]
    00404c1emov rax, [rbp-1536]
    00404c25lea rcx, [rdx+rax]
    00404c29mov rax, [rbp-1544]
    00404c30mov edx, eax
    00404c32mov rax, [rbp-1400]
    00404c39cmp edx, eax
    00404c3bsetb al
    00404c3emovzx eax, al
    00404c41add rax, rcx
    00404c44mov [rbp-1552], rax
    00404c4bmov rax, [rbp-1416]
    00404c52mov edx, eax
    00404c54shr edx, 28
    00404c57mov rax, [rbp-1424]
    00404c5eshl eax, 4
    00404c61or eax, edx
    00404c63mov eax, eax
    00404c65mov [rbp-1512], rax
    00404c6cmov rax, [rbp-1424]
    00404c73mov edx, eax
    00404c75shr edx, 28
    00404c78mov rax, [rbp-1416]
    00404c7fshl eax, 4
    00404c82or eax, edx
    00404c84mov eax, eax
    00404c86mov [rbp-1520], rax
    00404c8dmov rax, [rbp-1424]
    00404c94mov edx, eax
    00404c96shr edx, 2
    00404c99mov rax, [rbp-1416]
    00404ca0shl eax, 30
    00404ca3or eax, edx
    00404ca5mov eax, eax
    00404ca7mov [rbp-1496], rax
    00404caemov rax, [rbp-1416]
    00404cb5mov edx, eax
    00404cb7shr edx, 2
    00404cbamov rax, [rbp-1424]
    00404cc1shl eax, 30
    00404cc4or eax, edx
    00404cc6mov eax, eax
    00404cc8mov [rbp-1504], rax
    00404ccfmov rdx, [rbp-1512]
    00404cd6mov rax, [rbp-1496]
    00404cddxor rax, rdx
    00404ce0mov [rbp-1512], rax
    00404ce7mov rdx, [rbp-1520]
    00404ceemov rax, [rbp-1504]
    00404cf5xor rax, rdx
    00404cf8mov [rbp-1520], rax
    00404cffmov rax, [rbp-1424]
    00404d06mov edx, eax
    00404d08shr edx, 7
    00404d0bmov rax, [rbp-1416]
    00404d12shl eax, 25
    00404d15or eax, edx
    00404d17mov eax, eax
    00404d19mov [rbp-1496], rax
    00404d20mov rax, [rbp-1416]
    00404d27mov edx, eax
    00404d29shr edx, 7
    00404d2cmov rax, [rbp-1424]
    00404d33shl eax, 25
    00404d36or eax, edx
    00404d38mov eax, eax
    00404d3amov [rbp-1504], rax
    00404d41mov rdx, [rbp-1512]
    00404d48mov rax, [rbp-1496]
    00404d4fxor rax, rdx
    00404d52mov [rbp-1512], rax
    00404d59mov rdx, [rbp-1520]
    00404d60mov rax, [rbp-1504]
    00404d67xor rax, rdx
    00404d6amov [rbp-1520], rax
    00404d71mov rdx, [rbp-1416]
    00404d78mov rax, [rbp-1304]
    00404d7fand rax, rdx
    00404d82mov [rbp-1496], rax
    00404d89mov rdx, [rbp-1424]
    00404d90mov rax, [rbp-1312]
    00404d97and rax, rdx
    00404d9amov [rbp-1504], rax
    00404da1mov rdx, [rbp-1416]
    00404da8mov rax, [rbp-1320]
    00404dafand rax, rdx
    00404db2mov [rbp-1528], rax
    00404db9mov rdx, [rbp-1424]
    00404dc0mov rax, [rbp-1328]
    00404dc7and rax, rdx
    00404dcamov [rbp-1536], rax
    00404dd1mov rdx, [rbp-1496]
    00404dd8mov rax, [rbp-1528]
    00404ddfxor rax, rdx
    00404de2mov [rbp-1496], rax
    00404de9mov rdx, [rbp-1504]
    00404df0mov rax, [rbp-1536]
    00404df7xor rax, rdx
    00404dfamov [rbp-1504], rax
    00404e01mov rdx, [rbp-1304]
    00404e08mov rax, [rbp-1320]
    00404e0fand rax, rdx
    00404e12mov [rbp-1528], rax
    00404e19mov rdx, [rbp-1312]
    00404e20mov rax, [rbp-1328]
    00404e27and rax, rdx
    00404e2amov [rbp-1536], rax
    00404e31mov rdx, [rbp-1496]
    00404e38mov rax, [rbp-1528]
    00404e3fxor rax, rdx
    00404e42mov [rbp-1496], rax
    00404e49mov rdx, [rbp-1504]
    00404e50mov rax, [rbp-1536]
    00404e57xor rax, rdx
    00404e5amov [rbp-1504], rax
    00404e61mov rdx, [rbp-1512]
    00404e68mov rax, [rbp-1496]
    00404e6fadd rax, rdx
    00404e72mov [rbp-1528], rax
    00404e79mov rdx, [rbp-1520]
    00404e80mov rax, [rbp-1504]
    00404e87lea rcx, [rdx+rax]
    00404e8bmov rax, [rbp-1528]
    00404e92mov edx, eax
    00404e94mov rax, [rbp-1512]
    00404e9bcmp edx, eax
    00404e9dsetb al
    00404ea0movzx eax, al
    00404ea3add rax, rcx
    00404ea6mov [rbp-1536], rax
    00404eadmov rdx, [rbp-1336]
    00404eb4mov rax, [rbp-1544]
    00404ebbadd rax, rdx
    00404ebemov [rbp-1512], rax
    00404ec5mov rdx, [rbp-1344]
    00404eccmov rax, [rbp-1552]
    00404ed3lea rcx, [rdx+rax]
    00404ed7mov rax, [rbp-1512]
    00404edemov edx, eax
    00404ee0mov rax, [rbp-1336]
    00404ee7cmp edx, eax
    00404ee9setb al
    00404eecmovzx eax, al
    00404eefadd rax, rcx
    00404ef2mov [rbp-1520], rax
    00404ef9mov rax, [rbp-1520]
    00404f00mov [rbp-1344], rax
    00404f07mov rax, [rbp-1512]
    00404f0emov [rbp-1336], rax
    00404f15mov rdx, [rbp-1544]
    00404f1cmov rax, [rbp-1528]
    00404f23add rax, rdx
    00404f26mov [rbp-1400], rax
    00404f2dmov rdx, [rbp-1552]
    00404f34mov rax, [rbp-1536]
    00404f3blea rcx, [rdx+rax]
    00404f3fmov rax, [rbp-1400]
    00404f46mov edx, eax
    00404f48mov rax, [rbp-1544]
    00404f4fcmp edx, eax
    00404f51setb al
    00404f54movzx eax, al
    00404f57add rax, rcx
    00404f5amov [rbp-1408], rax
    00404f61mov rax, [rbp-1336]
    00404f68mov edx, eax
    00404f6ashr edx, 14
    00404f6dmov rax, [rbp-1344]
    00404f74shl eax, 18
    00404f77or eax, edx
    00404f79mov eax, eax
    00404f7bmov [rbp-1512], rax
    00404f82mov rax, [rbp-1344]
    00404f89mov edx, eax
    00404f8bshr edx, 14
    00404f8emov rax, [rbp-1336]
    00404f95shl eax, 18
    00404f98or eax, edx
    00404f9amov eax, eax
    00404f9cmov [rbp-1520], rax
    00404fa3mov rax, [rbp-1336]
    00404faamov edx, eax
    00404facshr edx, 18
    00404fafmov rax, [rbp-1344]
    00404fb6shl eax, 14
    00404fb9or eax, edx
    00404fbbmov eax, eax
    00404fbdmov [rbp-1496], rax
    00404fc4mov rax, [rbp-1344]
    00404fcbmov edx, eax
    00404fcdshr edx, 18
    00404fd0mov rax, [rbp-1336]
    00404fd7shl eax, 14
    00404fdaor eax, edx
    00404fdcmov eax, eax
    00404fdemov [rbp-1504], rax
    00404fe5mov rdx, [rbp-1512]
    00404fecmov rax, [rbp-1496]
    00404ff3xor rax, rdx
    00404ff6mov [rbp-1512], rax
    00404ffdmov rdx, [rbp-1520]
    00405004mov rax, [rbp-1504]
    0040500bxor rax, rdx
    0040500emov [rbp-1520], rax
    00405015mov rax, [rbp-1344]
    0040501cmov edx, eax
    0040501eshr edx, 9
    00405021mov rax, [rbp-1336]
    00405028shl eax, 23
    0040502bor eax, edx
    0040502dmov eax, eax
    0040502fmov [rbp-1496], rax
    00405036mov rax, [rbp-1336]
    0040503dmov edx, eax
    0040503fshr edx, 9
    00405042mov rax, [rbp-1344]
    00405049shl eax, 23
    0040504cor eax, edx
    0040504emov eax, eax
    00405050mov [rbp-1504], rax
    00405057mov rdx, [rbp-1512]
    0040505emov rax, [rbp-1496]
    00405065xor rax, rdx
    00405068mov [rbp-1512], rax
    0040506fmov rdx, [rbp-1520]
    00405076mov rax, [rbp-1504]
    0040507dxor rax, rdx
    00405080mov [rbp-1520], rax
    00405087mov rax, [rbp-1336]
    0040508enot rax
    00405091mov [rbp-1496], rax
    00405098mov rax, [rbp-1344]
    0040509fnot rax
    004050a2mov [rbp-1504], rax
    004050a9mov rdx, [rbp-1496]
    004050b0mov rax, [rbp-1368]
    004050b7and rax, rdx
    004050bamov [rbp-1528], rax
    004050c1mov rdx, [rbp-1504]
    004050c8mov rax, [rbp-1376]
    004050cfand rax, rdx
    004050d2mov [rbp-1536], rax
    004050d9mov rdx, [rbp-1336]
    004050e0mov rax, [rbp-1352]
    004050e7and rax, rdx
    004050eamov [rbp-1496], rax
    004050f1mov rdx, [rbp-1344]
    004050f8mov rax, [rbp-1360]
    004050ffand rax, rdx
    00405102mov [rbp-1504], rax
    00405109mov rdx, [rbp-1528]
    00405110mov rax, [rbp-1496]
    00405117xor rax, rdx
    0040511amov [rbp-1528], rax
    00405121mov rdx, [rbp-1536]
    00405128mov rax, [rbp-1504]
    0040512fxor rax, rdx
    00405132mov [rbp-1536], rax
    00405139mov rdx, [rbp-1528]
    00405140mov rax, [rbp-1512]
    00405147add rax, rdx
    0040514amov [rbp-1544], rax
    00405151mov rdx, [rbp-1536]
    00405158mov rax, [rbp-1520]
    0040515flea rcx, [rdx+rax]
    00405163mov rax, [rbp-1544]
    0040516amov edx, eax
    0040516cmov rax, [rbp-1528]
    00405173cmp edx, eax
    00405175setb al
    00405178movzx eax, al
    0040517badd rax, rcx
    0040517emov [rbp-1552], rax
    00405185mov eax, [rbp-4]
    00405188add eax, 2
    0040518bcdqe
    0040518dshl rax, 4
    00405191add rax, 0x40ea00
    00405197mov rdx, [rax+8]
    0040519bmov rax, [rbp-1544]
    004051a2add rax, rdx
    004051a5mov [rbp-1512], rax
    004051acmov eax, [rbp-4]
    004051afadd eax, 2
    004051b2cdqe
    004051b4shl rax, 4
    004051b8add rax, 0x40ea00
    004051bemov rdx, [rax]
    004051c1mov rax, [rbp-1552]
    004051c8lea rcx, [rdx+rax]
    004051ccmov rax, [rbp-1512]
    004051d3mov edx, eax
    004051d5mov eax, [rbp-4]
    004051d8add eax, 2
    004051dbcdqe
    004051ddshl rax, 4
    004051e1add rax, 0x40ea00
    004051e7mov rax, [rax+8]
    004051ebcmp edx, eax
    004051edsetb al
    004051f0movzx eax, al
    004051f3add rax, rcx
    004051f6mov [rbp-1520], rax
    004051fdmov eax, [rbp-4]
    00405200add eax, 2
    00405203cdqe
    00405205shl rax, 4
    00405209add rax, rbp
    0040520csub rax, 1288
    00405212mov rdx, [rax]
    00405215mov rax, [rbp-1512]
    0040521cadd rax, rdx
    0040521fmov [rbp-1528], rax
    00405226mov eax, [rbp-4]
    00405229add eax, 2
    0040522ccdqe
    0040522eshl rax, 4
    00405232add rax, rbp
    00405235sub rax, 1296
    0040523bmov rdx, [rax]
    0040523emov rax, [rbp-1520]
    00405245lea rcx, [rdx+rax]
    00405249mov rax, [rbp-1528]
    00405250mov edx, eax
    00405252mov eax, [rbp-4]
    00405255add eax, 2
    00405258cdqe
    0040525ashl rax, 4
    0040525eadd rax, rbp
    00405261sub rax, 1288
    00405267mov rax, [rax]
    0040526acmp edx, eax
    0040526csetb al
    0040526fmovzx eax, al
    00405272add rax, rcx
    00405275mov [rbp-1536], rax
    0040527cmov rdx, [rbp-1384]
    00405283mov rax, [rbp-1528]
    0040528aadd rax, rdx
    0040528dmov [rbp-1544], rax
    00405294mov rdx, [rbp-1392]
    0040529bmov rax, [rbp-1536]
    004052a2lea rcx, [rdx+rax]
    004052a6mov rax, [rbp-1544]
    004052admov edx, eax
    004052afmov rax, [rbp-1384]
    004052b6cmp edx, eax
    004052b8setb al
    004052bbmovzx eax, al
    004052beadd rax, rcx
    004052c1mov [rbp-1552], rax
    004052c8mov rax, [rbp-1400]
    004052cfmov edx, eax
    004052d1shr edx, 28
    004052d4mov rax, [rbp-1408]
    004052dbshl eax, 4
    004052deor eax, edx
    004052e0mov eax, eax
    004052e2mov [rbp-1512], rax
    004052e9mov rax, [rbp-1408]
    004052f0mov edx, eax
    004052f2shr edx, 28
    004052f5mov rax, [rbp-1400]
    004052fcshl eax, 4
    004052ffor eax, edx
    00405301mov eax, eax
    00405303mov [rbp-1520], rax
    0040530amov rax, [rbp-1408]
    00405311mov edx, eax
    00405313shr edx, 2
    00405316mov rax, [rbp-1400]
    0040531dshl eax, 30
    00405320or eax, edx
    00405322mov eax, eax
    00405324mov [rbp-1496], rax
    0040532bmov rax, [rbp-1400]
    00405332mov edx, eax
    00405334shr edx, 2
    00405337mov rax, [rbp-1408]
    0040533eshl eax, 30
    00405341or eax, edx
    00405343mov eax, eax
    00405345mov [rbp-1504], rax
    0040534cmov rdx, [rbp-1512]
    00405353mov rax, [rbp-1496]
    0040535axor rax, rdx
    0040535dmov [rbp-1512], rax
    00405364mov rdx, [rbp-1520]
    0040536bmov rax, [rbp-1504]
    00405372xor rax, rdx
    00405375mov [rbp-1520], rax
    0040537cmov rax, [rbp-1408]
    00405383mov edx, eax
    00405385shr edx, 7
    00405388mov rax, [rbp-1400]
    0040538fshl eax, 25
    00405392or eax, edx
    00405394mov eax, eax
    00405396mov [rbp-1496], rax
    0040539dmov rax, [rbp-1400]
    004053a4mov edx, eax
    004053a6shr edx, 7
    004053a9mov rax, [rbp-1408]
    004053b0shl eax, 25
    004053b3or eax, edx
    004053b5mov eax, eax
    004053b7mov [rbp-1504], rax
    004053bemov rdx, [rbp-1512]
    004053c5mov rax, [rbp-1496]
    004053ccxor rax, rdx
    004053cfmov [rbp-1512], rax
    004053d6mov rdx, [rbp-1520]
    004053ddmov rax, [rbp-1504]
    004053e4xor rax, rdx
    004053e7mov [rbp-1520], rax
    004053eemov rdx, [rbp-1400]
    004053f5mov rax, [rbp-1416]
    004053fcand rax, rdx
    004053ffmov [rbp-1496], rax
    00405406mov rdx, [rbp-1408]
    0040540dmov rax, [rbp-1424]
    00405414and rax, rdx
    00405417mov [rbp-1504], rax
    0040541emov rdx, [rbp-1400]
    00405425mov rax, [rbp-1304]
    0040542cand rax, rdx
    0040542fmov [rbp-1528], rax
    00405436mov rdx, [rbp-1408]
    0040543dmov rax, [rbp-1312]
    00405444and rax, rdx
    00405447mov [rbp-1536], rax
    0040544emov rdx, [rbp-1496]
    00405455mov rax, [rbp-1528]
    0040545cxor rax, rdx
    0040545fmov [rbp-1496], rax
    00405466mov rdx, [rbp-1504]
    0040546dmov rax, [rbp-1536]
    00405474xor rax, rdx
    00405477mov [rbp-1504], rax
    0040547emov rdx, [rbp-1416]
    00405485mov rax, [rbp-1304]
    0040548cand rax, rdx
    0040548fmov [rbp-1528], rax
    00405496mov rdx, [rbp-1424]
    0040549dmov rax, [rbp-1312]
    004054a4and rax, rdx
    004054a7mov [rbp-1536], rax
    004054aemov rdx, [rbp-1496]
    004054b5mov rax, [rbp-1528]
    004054bcxor rax, rdx
    004054bfmov [rbp-1496], rax
    004054c6mov rdx, [rbp-1504]
    004054cdmov rax, [rbp-1536]
    004054d4xor rax, rdx
    004054d7mov [rbp-1504], rax
    004054demov rdx, [rbp-1512]
    004054e5mov rax, [rbp-1496]
    004054ecadd rax, rdx
    004054efmov [rbp-1528], rax
    004054f6mov rdx, [rbp-1520]
    004054fdmov rax, [rbp-1504]
    00405504lea rcx, [rdx+rax]
    00405508mov rax, [rbp-1528]
    0040550fmov edx, eax
    00405511mov rax, [rbp-1512]
    00405518cmp edx, eax
    0040551asetb al
    0040551dmovzx eax, al
    00405520add rax, rcx
    00405523mov [rbp-1536], rax
    0040552amov rdx, [rbp-1320]
    00405531mov rax, [rbp-1544]
    00405538add rax, rdx
    0040553bmov [rbp-1512], rax
    00405542mov rdx, [rbp-1328]
    00405549mov rax, [rbp-1552]
    00405550lea rcx, [rdx+rax]
    00405554mov rax, [rbp-1512]
    0040555bmov edx, eax
    0040555dmov rax, [rbp-1320]
    00405564cmp edx, eax
    00405566setb al
    00405569movzx eax, al
    0040556cadd rax, rcx
    0040556fmov [rbp-1520], rax
    00405576mov rax, [rbp-1520]
    0040557dmov [rbp-1328], rax
    00405584mov rax, [rbp-1512]
    0040558bmov [rbp-1320], rax
    00405592mov rdx, [rbp-1544]
    00405599mov rax, [rbp-1528]
    004055a0add rax, rdx
    004055a3mov [rbp-1384], rax
    004055aamov rdx, [rbp-1552]
    004055b1mov rax, [rbp-1536]
    004055b8lea rcx, [rdx+rax]
    004055bcmov rax, [rbp-1384]
    004055c3mov edx, eax
    004055c5mov rax, [rbp-1544]
    004055cccmp edx, eax
    004055cesetb al
    004055d1movzx eax, al
    004055d4add rax, rcx
    004055d7mov [rbp-1392], rax
    004055demov rax, [rbp-1320]
    004055e5mov edx, eax
    004055e7shr edx, 14
    004055eamov rax, [rbp-1328]
    004055f1shl eax, 18
    004055f4or eax, edx
    004055f6mov eax, eax
    004055f8mov [rbp-1512], rax
    004055ffmov rax, [rbp-1328]
    00405606mov edx, eax
    00405608shr edx, 14
    0040560bmov rax, [rbp-1320]
    00405612shl eax, 18
    00405615or eax, edx
    00405617mov eax, eax
    00405619mov [rbp-1520], rax
    00405620mov rax, [rbp-1320]
    00405627mov edx, eax
    00405629shr edx, 18
    0040562cmov rax, [rbp-1328]
    00405633shl eax, 14
    00405636or eax, edx
    00405638mov eax, eax
    0040563amov [rbp-1496], rax
    00405641mov rax, [rbp-1328]
    00405648mov edx, eax
    0040564ashr edx, 18
    0040564dmov rax, [rbp-1320]
    00405654shl eax, 14
    00405657or eax, edx
    00405659mov eax, eax
    0040565bmov [rbp-1504], rax
    00405662mov rdx, [rbp-1512]
    00405669mov rax, [rbp-1496]
    00405670xor rax, rdx
    00405673mov [rbp-1512], rax
    0040567amov rdx, [rbp-1520]
    00405681mov rax, [rbp-1504]
    00405688xor rax, rdx
    0040568bmov [rbp-1520], rax
    00405692mov rax, [rbp-1328]
    00405699mov edx, eax
    0040569bshr edx, 9
    0040569emov rax, [rbp-1320]
    004056a5shl eax, 23
    004056a8or eax, edx
    004056aamov eax, eax
    004056acmov [rbp-1496], rax
    004056b3mov rax, [rbp-1320]
    004056bamov edx, eax
    004056bcshr edx, 9
    004056bfmov rax, [rbp-1328]
    004056c6shl eax, 23
    004056c9or eax, edx
    004056cbmov eax, eax
    004056cdmov [rbp-1504], rax
    004056d4mov rdx, [rbp-1512]
    004056dbmov rax, [rbp-1496]
    004056e2xor rax, rdx
    004056e5mov [rbp-1512], rax
    004056ecmov rdx, [rbp-1520]
    004056f3mov rax, [rbp-1504]
    004056faxor rax, rdx
    004056fdmov [rbp-1520], rax
    00405704mov rax, [rbp-1320]
    0040570bnot rax
    0040570emov [rbp-1496], rax
    00405715mov rax, [rbp-1328]
    0040571cnot rax
    0040571fmov [rbp-1504], rax
    00405726mov rdx, [rbp-1496]
    0040572dmov rax, [rbp-1352]
    00405734and rax, rdx
    00405737mov [rbp-1528], rax
    0040573emov rdx, [rbp-1504]
    00405745mov rax, [rbp-1360]
    0040574cand rax, rdx
    0040574fmov [rbp-1536], rax
    00405756mov rdx, [rbp-1320]
    0040575dmov rax, [rbp-1336]
    00405764and rax, rdx
    00405767mov [rbp-1496], rax
    0040576emov rdx, [rbp-1328]
    00405775mov rax, [rbp-1344]
    0040577cand rax, rdx
    0040577fmov [rbp-1504], rax
    00405786mov rdx, [rbp-1528]
    0040578dmov rax, [rbp-1496]
    00405794xor rax, rdx
    00405797mov [rbp-1528], rax
    0040579emov rdx, [rbp-1536]
    004057a5mov rax, [rbp-1504]
    004057acxor rax, rdx
    004057afmov [rbp-1536], rax
    004057b6mov rdx, [rbp-1528]
    004057bdmov rax, [rbp-1512]
    004057c4add rax, rdx
    004057c7mov [rbp-1544], rax
    004057cemov rdx, [rbp-1536]
    004057d5mov rax, [rbp-1520]
    004057dclea rcx, [rdx+rax]
    004057e0mov rax, [rbp-1544]
    004057e7mov edx, eax
    004057e9mov rax, [rbp-1528]
    004057f0cmp edx, eax
    004057f2setb al
    004057f5movzx eax, al
    004057f8add rax, rcx
    004057fbmov [rbp-1552], rax
    00405802mov eax, [rbp-4]
    00405805add eax, 3
    00405808cdqe
    0040580ashl rax, 4
    0040580eadd rax, 0x40ea00
    00405814mov rdx, [rax+8]
    00405818mov rax, [rbp-1544]
    0040581fadd rax, rdx
    00405822mov [rbp-1512], rax
    00405829mov eax, [rbp-4]
    0040582cadd eax, 3
    0040582fcdqe
    00405831shl rax, 4
    00405835add rax, 0x40ea00
    0040583bmov rdx, [rax]
    0040583emov rax, [rbp-1552]
    00405845lea rcx, [rdx+rax]
    00405849mov rax, [rbp-1512]
    00405850mov edx, eax
    00405852mov eax, [rbp-4]
    00405855add eax, 3
    00405858cdqe
    0040585ashl rax, 4
    0040585eadd rax, 0x40ea00
    00405864mov rax, [rax+8]
    00405868cmp edx, eax
    0040586asetb al
    0040586dmovzx eax, al
    00405870add rax, rcx
    00405873mov [rbp-1520], rax
    0040587amov eax, [rbp-4]
    0040587dadd eax, 3
    00405880cdqe
    00405882shl rax, 4
    00405886add rax, rbp
    00405889sub rax, 1288
    0040588fmov rdx, [rax]
    00405892mov rax, [rbp-1512]
    00405899add rax, rdx
    0040589cmov [rbp-1528], rax
    004058a3mov eax, [rbp-4]
    004058a6add eax, 3
    004058a9cdqe
    004058abshl rax, 4
    004058afadd rax, rbp
    004058b2sub rax, 1296
    004058b8mov rdx, [rax]
    004058bbmov rax, [rbp-1520]
    004058c2lea rcx, [rdx+rax]
    004058c6mov rax, [rbp-1528]
    004058cdmov edx, eax
    004058cfmov eax, [rbp-4]
    004058d2add eax, 3
    004058d5cdqe
    004058d7shl rax, 4
    004058dbadd rax, rbp
    004058desub rax, 1288
    004058e4mov rax, [rax]
    004058e7cmp edx, eax
    004058e9setb al
    004058ecmovzx eax, al
    004058efadd rax, rcx
    004058f2mov [rbp-1536], rax
    004058f9mov rdx, [rbp-1368]
    00405900mov rax, [rbp-1528]
    00405907add rax, rdx
    0040590amov [rbp-1544], rax
    00405911mov rdx, [rbp-1376]
    00405918mov rax, [rbp-1536]
    0040591flea rcx, [rdx+rax]
    00405923mov rax, [rbp-1544]
    0040592amov edx, eax
    0040592cmov rax, [rbp-1368]
    00405933cmp edx, eax
    00405935setb al
    00405938movzx eax, al
    0040593badd rax, rcx
    0040593emov [rbp-1552], rax
    00405945mov rax, [rbp-1384]
    0040594cmov edx, eax
    0040594eshr edx, 28
    00405951mov rax, [rbp-1392]
    00405958shl eax, 4
    0040595bor eax, edx
    0040595dmov eax, eax
    0040595fmov [rbp-1512], rax
    00405966mov rax, [rbp-1392]
    0040596dmov edx, eax
    0040596fshr edx, 28
    00405972mov rax, [rbp-1384]
    00405979shl eax, 4
    0040597cor eax, edx
    0040597emov eax, eax
    00405980mov [rbp-1520], rax
    00405987mov rax, [rbp-1392]
    0040598emov edx, eax
    00405990shr edx, 2
    00405993mov rax, [rbp-1384]
    0040599ashl eax, 30
    0040599dor eax, edx
    0040599fmov eax, eax
    004059a1mov [rbp-1496], rax
    004059a8mov rax, [rbp-1384]
    004059afmov edx, eax
    004059b1shr edx, 2
    004059b4mov rax, [rbp-1392]
    004059bbshl eax, 30
    004059beor eax, edx
    004059c0mov eax, eax
    004059c2mov [rbp-1504], rax
    004059c9mov rdx, [rbp-1512]
    004059d0mov rax, [rbp-1496]
    004059d7xor rax, rdx
    004059damov [rbp-1512], rax
    004059e1mov rdx, [rbp-1520]
    004059e8mov rax, [rbp-1504]
    004059efxor rax, rdx
    004059f2mov [rbp-1520], rax
    004059f9mov rax, [rbp-1392]
    00405a00mov edx, eax
    00405a02shr edx, 7
    00405a05mov rax, [rbp-1384]
    00405a0cshl eax, 25
    00405a0for eax, edx
    00405a11mov eax, eax
    00405a13mov [rbp-1496], rax
    00405a1amov rax, [rbp-1384]
    00405a21mov edx, eax
    00405a23shr edx, 7
    00405a26mov rax, [rbp-1392]
    00405a2dshl eax, 25
    00405a30or eax, edx
    00405a32mov eax, eax
    00405a34mov [rbp-1504], rax
    00405a3bmov rdx, [rbp-1512]
    00405a42mov rax, [rbp-1496]
    00405a49xor rax, rdx
    00405a4cmov [rbp-1512], rax
    00405a53mov rdx, [rbp-1520]
    00405a5amov rax, [rbp-1504]
    00405a61xor rax, rdx
    00405a64mov [rbp-1520], rax
    00405a6bmov rdx, [rbp-1384]
    00405a72mov rax, [rbp-1400]
    00405a79and rax, rdx
    00405a7cmov [rbp-1496], rax
    00405a83mov rdx, [rbp-1392]
    00405a8amov rax, [rbp-1408]
    00405a91and rax, rdx
    00405a94mov [rbp-1504], rax
    00405a9bmov rdx, [rbp-1384]
    00405aa2mov rax, [rbp-1416]
    00405aa9and rax, rdx
    00405aacmov [rbp-1528], rax
    00405ab3mov rdx, [rbp-1392]
    00405abamov rax, [rbp-1424]
    00405ac1and rax, rdx
    00405ac4mov [rbp-1536], rax
    00405acbmov rdx, [rbp-1496]
    00405ad2mov rax, [rbp-1528]
    00405ad9xor rax, rdx
    00405adcmov [rbp-1496], rax
    00405ae3mov rdx, [rbp-1504]
    00405aeamov rax, [rbp-1536]
    00405af1xor rax, rdx
    00405af4mov [rbp-1504], rax
    00405afbmov rdx, [rbp-1400]
    00405b02mov rax, [rbp-1416]
    00405b09and rax, rdx
    00405b0cmov [rbp-1528], rax
    00405b13mov rdx, [rbp-1408]
    00405b1amov rax, [rbp-1424]
    00405b21and rax, rdx
    00405b24mov [rbp-1536], rax
    00405b2bmov rdx, [rbp-1496]
    00405b32mov rax, [rbp-1528]
    00405b39xor rax, rdx
    00405b3cmov [rbp-1496], rax
    00405b43mov rdx, [rbp-1504]
    00405b4amov rax, [rbp-1536]
    00405b51xor rax, rdx
    00405b54mov [rbp-1504], rax
    00405b5bmov rdx, [rbp-1512]
    00405b62mov rax, [rbp-1496]
    00405b69add rax, rdx
    00405b6cmov [rbp-1528], rax
    00405b73mov rdx, [rbp-1520]
    00405b7amov rax, [rbp-1504]
    00405b81lea rcx, [rdx+rax]
    00405b85mov rax, [rbp-1528]
    00405b8cmov edx, eax
    00405b8emov rax, [rbp-1512]
    00405b95cmp edx, eax
    00405b97setb al
    00405b9amovzx eax, al
    00405b9dadd rax, rcx
    00405ba0mov [rbp-1536], rax
    00405ba7mov rdx, [rbp-1304]
    00405baemov rax, [rbp-1544]
    00405bb5add rax, rdx
    00405bb8mov [rbp-1512], rax
    00405bbfmov rdx, [rbp-1312]
    00405bc6mov rax, [rbp-1552]
    00405bcdlea rcx, [rdx+rax]
    00405bd1mov rax, [rbp-1512]
    00405bd8mov edx, eax
    00405bdamov rax, [rbp-1304]
    00405be1cmp edx, eax
    00405be3setb al
    00405be6movzx eax, al
    00405be9add rax, rcx
    00405becmov [rbp-1520], rax
    00405bf3mov rax, [rbp-1520]
    00405bfamov [rbp-1312], rax
    00405c01mov rax, [rbp-1512]
    00405c08mov [rbp-1304], rax
    00405c0fmov rdx, [rbp-1544]
    00405c16mov rax, [rbp-1528]
    00405c1dadd rax, rdx
    00405c20mov [rbp-1368], rax
    00405c27mov rdx, [rbp-1552]
    00405c2emov rax, [rbp-1536]
    00405c35lea rcx, [rdx+rax]
    00405c39mov rax, [rbp-1368]
    00405c40mov edx, eax
    00405c42mov rax, [rbp-1544]
    00405c49cmp edx, eax
    00405c4bsetb al
    00405c4emovzx eax, al
    00405c51add rax, rcx
    00405c54mov [rbp-1376], rax
    00405c5bmov rax, [rbp-1304]
    00405c62mov edx, eax
    00405c64shr edx, 14
    00405c67mov rax, [rbp-1312]
    00405c6eshl eax, 18
    00405c71or eax, edx
    00405c73mov eax, eax
    00405c75mov [rbp-1512], rax
    00405c7cmov rax, [rbp-1312]
    00405c83mov edx, eax
    00405c85shr edx, 14
    00405c88mov rax, [rbp-1304]
    00405c8fshl eax, 18
    00405c92or eax, edx
    00405c94mov eax, eax
    00405c96mov [rbp-1520], rax
    00405c9dmov rax, [rbp-1304]
    00405ca4mov edx, eax
    00405ca6shr edx, 18
    00405ca9mov rax, [rbp-1312]
    00405cb0shl eax, 14
    00405cb3or eax, edx
    00405cb5mov eax, eax
    00405cb7mov [rbp-1496], rax
    00405cbemov rax, [rbp-1312]
    00405cc5mov edx, eax
    00405cc7shr edx, 18
    00405ccamov rax, [rbp-1304]
    00405cd1shl eax, 14
    00405cd4or eax, edx
    00405cd6mov eax, eax
    00405cd8mov [rbp-1504], rax
    00405cdfmov rdx, [rbp-1512]
    00405ce6mov rax, [rbp-1496]
    00405cedxor rax, rdx
    00405cf0mov [rbp-1512], rax
    00405cf7mov rdx, [rbp-1520]
    00405cfemov rax, [rbp-1504]
    00405d05xor rax, rdx
    00405d08mov [rbp-1520], rax
    00405d0fmov rax, [rbp-1312]
    00405d16mov edx, eax
    00405d18shr edx, 9
    00405d1bmov rax, [rbp-1304]
    00405d22shl eax, 23
    00405d25or eax, edx
    00405d27mov eax, eax
    00405d29mov [rbp-1496], rax
    00405d30mov rax, [rbp-1304]
    00405d37mov edx, eax
    00405d39shr edx, 9
    00405d3cmov rax, [rbp-1312]
    00405d43shl eax, 23
    00405d46or eax, edx
    00405d48mov eax, eax
    00405d4amov [rbp-1504], rax
    00405d51mov rdx, [rbp-1512]
    00405d58mov rax, [rbp-1496]
    00405d5fxor rax, rdx
    00405d62mov [rbp-1512], rax
    00405d69mov rdx, [rbp-1520]
    00405d70mov rax, [rbp-1504]
    00405d77xor rax, rdx
    00405d7amov [rbp-1520], rax
    00405d81mov rax, [rbp-1304]
    00405d88not rax
    00405d8bmov [rbp-1496], rax
    00405d92mov rax, [rbp-1312]
    00405d99not rax
    00405d9cmov [rbp-1504], rax
    00405da3mov rdx, [rbp-1496]
    00405daamov rax, [rbp-1336]
    00405db1and rax, rdx
    00405db4mov [rbp-1528], rax
    00405dbbmov rdx, [rbp-1504]
    00405dc2mov rax, [rbp-1344]
    00405dc9and rax, rdx
    00405dccmov [rbp-1536], rax
    00405dd3mov rdx, [rbp-1304]
    00405ddamov rax, [rbp-1320]
    00405de1and rax, rdx
    00405de4mov [rbp-1496], rax
    00405debmov rdx, [rbp-1312]
    00405df2mov rax, [rbp-1328]
    00405df9and rax, rdx
    00405dfcmov [rbp-1504], rax
    00405e03mov rdx, [rbp-1528]
    00405e0amov rax, [rbp-1496]
    00405e11xor rax, rdx
    00405e14mov [rbp-1528], rax
    00405e1bmov rdx, [rbp-1536]
    00405e22mov rax, [rbp-1504]
    00405e29xor rax, rdx
    00405e2cmov [rbp-1536], rax
    00405e33mov rdx, [rbp-1528]
    00405e3amov rax, [rbp-1512]
    00405e41add rax, rdx
    00405e44mov [rbp-1544], rax
    00405e4bmov rdx, [rbp-1536]
    00405e52mov rax, [rbp-1520]
    00405e59lea rcx, [rdx+rax]
    00405e5dmov rax, [rbp-1544]
    00405e64mov edx, eax
    00405e66mov rax, [rbp-1528]
    00405e6dcmp edx, eax
    00405e6fsetb al
    00405e72movzx eax, al
    00405e75add rax, rcx
    00405e78mov [rbp-1552], rax
    00405e7fmov eax, [rbp-4]
    00405e82add eax, 4
    00405e85cdqe
    00405e87shl rax, 4
    00405e8badd rax, 0x40ea00
    00405e91mov rdx, [rax+8]
    00405e95mov rax, [rbp-1544]
    00405e9cadd rax, rdx
    00405e9fmov [rbp-1512], rax
    00405ea6mov eax, [rbp-4]
    00405ea9add eax, 4
    00405eaccdqe
    00405eaeshl rax, 4
    00405eb2add rax, 0x40ea00
    00405eb8mov rdx, [rax]
    00405ebbmov rax, [rbp-1552]
    00405ec2lea rcx, [rdx+rax]
    00405ec6mov rax, [rbp-1512]
    00405ecdmov edx, eax
    00405ecfmov eax, [rbp-4]
    00405ed2add eax, 4
    00405ed5cdqe
    00405ed7shl rax, 4
    00405edbadd rax, 0x40ea00
    00405ee1mov rax, [rax+8]
    00405ee5cmp edx, eax
    00405ee7setb al
    00405eeamovzx eax, al
    00405eedadd rax, rcx
    00405ef0mov [rbp-1520], rax
    00405ef7mov eax, [rbp-4]
    00405efaadd eax, 4
    00405efdcdqe
    00405effshl rax, 4
    00405f03add rax, rbp
    00405f06sub rax, 1288
    00405f0cmov rdx, [rax]
    00405f0fmov rax, [rbp-1512]
    00405f16add rax, rdx
    00405f19mov [rbp-1528], rax
    00405f20mov eax, [rbp-4]
    00405f23add eax, 4
    00405f26cdqe
    00405f28shl rax, 4
    00405f2cadd rax, rbp
    00405f2fsub rax, 1296
    00405f35mov rdx, [rax]
    00405f38mov rax, [rbp-1520]
    00405f3flea rcx, [rdx+rax]
    00405f43mov rax, [rbp-1528]
    00405f4amov edx, eax
    00405f4cmov eax, [rbp-4]
    00405f4fadd eax, 4
    00405f52cdqe
    00405f54shl rax, 4
    00405f58add rax, rbp
    00405f5bsub rax, 1288
    00405f61mov rax, [rax]
    00405f64cmp edx, eax
    00405f66setb al
    00405f69movzx eax, al
    00405f6cadd rax, rcx
    00405f6fmov [rbp-1536], rax
    00405f76mov rdx, [rbp-1352]
    00405f7dmov rax, [rbp-1528]
    00405f84add rax, rdx
    00405f87mov [rbp-1544], rax
    00405f8emov rdx, [rbp-1360]
    00405f95mov rax, [rbp-1536]
    00405f9clea rcx, [rdx+rax]
    00405fa0mov rax, [rbp-1544]
    00405fa7mov edx, eax
    00405fa9mov rax, [rbp-1352]
    00405fb0cmp edx, eax
    00405fb2setb al
    00405fb5movzx eax, al
    00405fb8add rax, rcx
    00405fbbmov [rbp-1552], rax
    00405fc2mov rax, [rbp-1368]
    00405fc9mov edx, eax
    00405fcbshr edx, 28
    00405fcemov rax, [rbp-1376]
    00405fd5shl eax, 4
    00405fd8or eax, edx
    00405fdamov eax, eax
    00405fdcmov [rbp-1512], rax
    00405fe3mov rax, [rbp-1376]
    00405feamov edx, eax
    00405fecshr edx, 28
    00405fefmov rax, [rbp-1368]
    00405ff6shl eax, 4
    00405ff9or eax, edx
    00405ffbmov eax, eax
    00405ffdmov [rbp-1520], rax
    00406004mov rax, [rbp-1376]
    0040600bmov edx, eax
    0040600dshr edx, 2
    00406010mov rax, [rbp-1368]
    00406017shl eax, 30
    0040601aor eax, edx
    0040601cmov eax, eax
    0040601emov [rbp-1496], rax
    00406025mov rax, [rbp-1368]
    0040602cmov edx, eax
    0040602eshr edx, 2
    00406031mov rax, [rbp-1376]
    00406038shl eax, 30
    0040603bor eax, edx
    0040603dmov eax, eax
    0040603fmov [rbp-1504], rax
    00406046mov rdx, [rbp-1512]
    0040604dmov rax, [rbp-1496]
    00406054xor rax, rdx
    00406057mov [rbp-1512], rax
    0040605emov rdx, [rbp-1520]
    00406065mov rax, [rbp-1504]
    0040606cxor rax, rdx
    0040606fmov [rbp-1520], rax
    00406076mov rax, [rbp-1376]
    0040607dmov edx, eax
    0040607fshr edx, 7
    00406082mov rax, [rbp-1368]
    00406089shl eax, 25
    0040608cor eax, edx
    0040608emov eax, eax
    00406090mov [rbp-1496], rax
    00406097mov rax, [rbp-1368]
    0040609emov edx, eax
    004060a0shr edx, 7
    004060a3mov rax, [rbp-1376]
    004060aashl eax, 25
    004060ador eax, edx
    004060afmov eax, eax
    004060b1mov [rbp-1504], rax
    004060b8mov rdx, [rbp-1512]
    004060bfmov rax, [rbp-1496]
    004060c6xor rax, rdx
    004060c9mov [rbp-1512], rax
    004060d0mov rdx, [rbp-1520]
    004060d7mov rax, [rbp-1504]
    004060dexor rax, rdx
    004060e1mov [rbp-1520], rax
    004060e8mov rdx, [rbp-1368]
    004060efmov rax, [rbp-1384]
    004060f6and rax, rdx
    004060f9mov [rbp-1496], rax
    00406100mov rdx, [rbp-1376]
    00406107mov rax, [rbp-1392]
    0040610eand rax, rdx
    00406111mov [rbp-1504], rax
    00406118mov rdx, [rbp-1368]
    0040611fmov rax, [rbp-1400]
    00406126and rax, rdx
    00406129mov [rbp-1528], rax
    00406130mov rdx, [rbp-1376]
    00406137mov rax, [rbp-1408]
    0040613eand rax, rdx
    00406141mov [rbp-1536], rax
    00406148mov rdx, [rbp-1496]
    0040614fmov rax, [rbp-1528]
    00406156xor rax, rdx
    00406159mov [rbp-1496], rax
    00406160mov rdx, [rbp-1504]
    00406167mov rax, [rbp-1536]
    0040616exor rax, rdx
    00406171mov [rbp-1504], rax
    00406178mov rdx, [rbp-1384]
    0040617fmov rax, [rbp-1400]
    00406186and rax, rdx
    00406189mov [rbp-1528], rax
    00406190mov rdx, [rbp-1392]
    00406197mov rax, [rbp-1408]
    0040619eand rax, rdx
    004061a1mov [rbp-1536], rax
    004061a8mov rdx, [rbp-1496]
    004061afmov rax, [rbp-1528]
    004061b6xor rax, rdx
    004061b9mov [rbp-1496], rax
    004061c0mov rdx, [rbp-1504]
    004061c7mov rax, [rbp-1536]
    004061cexor rax, rdx
    004061d1mov [rbp-1504], rax
    004061d8mov rdx, [rbp-1512]
    004061dfmov rax, [rbp-1496]
    004061e6add rax, rdx
    004061e9mov [rbp-1528], rax
    004061f0mov rdx, [rbp-1520]
    004061f7mov rax, [rbp-1504]
    004061felea rcx, [rdx+rax]
    00406202mov rax, [rbp-1528]
    00406209mov edx, eax
    0040620bmov rax, [rbp-1512]
    00406212cmp edx, eax
    00406214setb al
    00406217movzx eax, al
    0040621aadd rax, rcx
    0040621dmov [rbp-1536], rax
    00406224mov rdx, [rbp-1416]
    0040622bmov rax, [rbp-1544]
    00406232add rax, rdx
    00406235mov [rbp-1512], rax
    0040623cmov rdx, [rbp-1424]
    00406243mov rax, [rbp-1552]
    0040624alea rcx, [rdx+rax]
    0040624emov rax, [rbp-1512]
    00406255mov edx, eax
    00406257mov rax, [rbp-1416]
    0040625ecmp edx, eax
    00406260setb al
    00406263movzx eax, al
    00406266add rax, rcx
    00406269mov [rbp-1520], rax
    00406270mov rax, [rbp-1520]
    00406277mov [rbp-1424], rax
    0040627emov rax, [rbp-1512]
    00406285mov [rbp-1416], rax
    0040628cmov rdx, [rbp-1544]
    00406293mov rax, [rbp-1528]
    0040629aadd rax, rdx
    0040629dmov [rbp-1352], rax
    004062a4mov rdx, [rbp-1552]
    004062abmov rax, [rbp-1536]
    004062b2lea rcx, [rdx+rax]
    004062b6mov rax, [rbp-1352]
    004062bdmov edx, eax
    004062bfmov rax, [rbp-1544]
    004062c6cmp edx, eax
    004062c8setb al
    004062cbmovzx eax, al
    004062ceadd rax, rcx
    004062d1mov [rbp-1360], rax
    004062d8mov rax, [rbp-1416]
    004062dfmov edx, eax
    004062e1shr edx, 14
    004062e4mov rax, [rbp-1424]
    004062ebshl eax, 18
    004062eeor eax, edx
    004062f0mov eax, eax
    004062f2mov [rbp-1512], rax
    004062f9mov rax, [rbp-1424]
    00406300mov edx, eax
    00406302shr edx, 14
    00406305mov rax, [rbp-1416]
    0040630cshl eax, 18
    0040630for eax, edx
    00406311mov eax, eax
    00406313mov [rbp-1520], rax
    0040631amov rax, [rbp-1416]
    00406321mov edx, eax
    00406323shr edx, 18
    00406326mov rax, [rbp-1424]
    0040632dshl eax, 14
    00406330or eax, edx
    00406332mov eax, eax
    00406334mov [rbp-1496], rax
    0040633bmov rax, [rbp-1424]
    00406342mov edx, eax
    00406344shr edx, 18
    00406347mov rax, [rbp-1416]
    0040634eshl eax, 14
    00406351or eax, edx
    00406353mov eax, eax
    00406355mov [rbp-1504], rax
    0040635cmov rdx, [rbp-1512]
    00406363mov rax, [rbp-1496]
    0040636axor rax, rdx
    0040636dmov [rbp-1512], rax
    00406374mov rdx, [rbp-1520]
    0040637bmov rax, [rbp-1504]
    00406382xor rax, rdx
    00406385mov [rbp-1520], rax
    0040638cmov rax, [rbp-1424]
    00406393mov edx, eax
    00406395shr edx, 9
    00406398mov rax, [rbp-1416]
    0040639fshl eax, 23
    004063a2or eax, edx
    004063a4mov eax, eax
    004063a6mov [rbp-1496], rax
    004063admov rax, [rbp-1416]
    004063b4mov edx, eax
    004063b6shr edx, 9
    004063b9mov rax, [rbp-1424]
    004063c0shl eax, 23
    004063c3or eax, edx
    004063c5mov eax, eax
    004063c7mov [rbp-1504], rax
    004063cemov rdx, [rbp-1512]
    004063d5mov rax, [rbp-1496]
    004063dcxor rax, rdx
    004063dfmov [rbp-1512], rax
    004063e6mov rdx, [rbp-1520]
    004063edmov rax, [rbp-1504]
    004063f4xor rax, rdx
    004063f7mov [rbp-1520], rax
    004063femov rax, [rbp-1416]
    00406405not rax
    00406408mov [rbp-1496], rax
    0040640fmov rax, [rbp-1424]
    00406416not rax
    00406419mov [rbp-1504], rax
    00406420mov rdx, [rbp-1496]
    00406427mov rax, [rbp-1320]
    0040642eand rax, rdx
    00406431mov [rbp-1528], rax
    00406438mov rdx, [rbp-1504]
    0040643fmov rax, [rbp-1328]
    00406446and rax, rdx
    00406449mov [rbp-1536], rax
    00406450mov rdx, [rbp-1416]
    00406457mov rax, [rbp-1304]
    0040645eand rax, rdx
    00406461mov [rbp-1496], rax
    00406468mov rdx, [rbp-1424]
    0040646fmov rax, [rbp-1312]
    00406476and rax, rdx
    00406479mov [rbp-1504], rax
    00406480mov rdx, [rbp-1528]
    00406487mov rax, [rbp-1496]
    0040648exor rax, rdx
    00406491mov [rbp-1528], rax
    00406498mov rdx, [rbp-1536]
    0040649fmov rax, [rbp-1504]
    004064a6xor rax, rdx
    004064a9mov [rbp-1536], rax
    004064b0mov rdx, [rbp-1528]
    004064b7mov rax, [rbp-1512]
    004064beadd rax, rdx
    004064c1mov [rbp-1544], rax
    004064c8mov rdx, [rbp-1536]
    004064cfmov rax, [rbp-1520]
    004064d6lea rcx, [rdx+rax]
    004064damov rax, [rbp-1544]
    004064e1mov edx, eax
    004064e3mov rax, [rbp-1528]
    004064eacmp edx, eax
    004064ecsetb al
    004064efmovzx eax, al
    004064f2add rax, rcx
    004064f5mov [rbp-1552], rax
    004064fcmov eax, [rbp-4]
    004064ffadd eax, 5
    00406502cdqe
    00406504shl rax, 4
    00406508add rax, 0x40ea00
    0040650emov rdx, [rax+8]
    00406512mov rax, [rbp-1544]
    00406519add rax, rdx
    0040651cmov [rbp-1512], rax
    00406523mov eax, [rbp-4]
    00406526add eax, 5
    00406529cdqe
    0040652bshl rax, 4
    0040652fadd rax, 0x40ea00
    00406535mov rdx, [rax]
    00406538mov rax, [rbp-1552]
    0040653flea rcx, [rdx+rax]
    00406543mov rax, [rbp-1512]
    0040654amov edx, eax
    0040654cmov eax, [rbp-4]
    0040654fadd eax, 5
    00406552cdqe
    00406554shl rax, 4
    00406558add rax, 0x40ea00
    0040655emov rax, [rax+8]
    00406562cmp edx, eax
    00406564setb al
    00406567movzx eax, al
    0040656aadd rax, rcx
    0040656dmov [rbp-1520], rax
    00406574mov eax, [rbp-4]
    00406577add eax, 5
    0040657acdqe
    0040657cshl rax, 4
    00406580add rax, rbp
    00406583sub rax, 1288
    00406589mov rdx, [rax]
    0040658cmov rax, [rbp-1512]
    00406593add rax, rdx
    00406596mov [rbp-1528], rax
    0040659dmov eax, [rbp-4]
    004065a0add eax, 5
    004065a3cdqe
    004065a5shl rax, 4
    004065a9add rax, rbp
    004065acsub rax, 1296
    004065b2mov rdx, [rax]
    004065b5mov rax, [rbp-1520]
    004065bclea rcx, [rdx+rax]
    004065c0mov rax, [rbp-1528]
    004065c7mov edx, eax
    004065c9mov eax, [rbp-4]
    004065ccadd eax, 5
    004065cfcdqe
    004065d1shl rax, 4
    004065d5add rax, rbp
    004065d8sub rax, 1288
    004065demov rax, [rax]
    004065e1cmp edx, eax
    004065e3setb al
    004065e6movzx eax, al
    004065e9add rax, rcx
    004065ecmov [rbp-1536], rax
    004065f3mov rdx, [rbp-1336]
    004065famov rax, [rbp-1528]
    00406601add rax, rdx
    00406604mov [rbp-1544], rax
    0040660bmov rdx, [rbp-1344]
    00406612mov rax, [rbp-1536]
    00406619lea rcx, [rdx+rax]
    0040661dmov rax, [rbp-1544]
    00406624mov edx, eax
    00406626mov rax, [rbp-1336]
    0040662dcmp edx, eax
    0040662fsetb al
    00406632movzx eax, al
    00406635add rax, rcx
    00406638mov [rbp-1552], rax
    0040663fmov rax, [rbp-1352]
    00406646mov edx, eax
    00406648shr edx, 28
    0040664bmov rax, [rbp-1360]
    00406652shl eax, 4
    00406655or eax, edx
    00406657mov eax, eax
    00406659mov [rbp-1512], rax
    00406660mov rax, [rbp-1360]
    00406667mov edx, eax
    00406669shr edx, 28
    0040666cmov rax, [rbp-1352]
    00406673shl eax, 4
    00406676or eax, edx
    00406678mov eax, eax
    0040667amov [rbp-1520], rax
    00406681mov rax, [rbp-1360]
    00406688mov edx, eax
    0040668ashr edx, 2
    0040668dmov rax, [rbp-1352]
    00406694shl eax, 30
    00406697or eax, edx
    00406699mov eax, eax
    0040669bmov [rbp-1496], rax
    004066a2mov rax, [rbp-1352]
    004066a9mov edx, eax
    004066abshr edx, 2
    004066aemov rax, [rbp-1360]
    004066b5shl eax, 30
    004066b8or eax, edx
    004066bamov eax, eax
    004066bcmov [rbp-1504], rax
    004066c3mov rdx, [rbp-1512]
    004066camov rax, [rbp-1496]
    004066d1xor rax, rdx
    004066d4mov [rbp-1512], rax
    004066dbmov rdx, [rbp-1520]
    004066e2mov rax, [rbp-1504]
    004066e9xor rax, rdx
    004066ecmov [rbp-1520], rax
    004066f3mov rax, [rbp-1360]
    004066famov edx, eax
    004066fcshr edx, 7
    004066ffmov rax, [rbp-1352]
    00406706shl eax, 25
    00406709or eax, edx
    0040670bmov eax, eax
    0040670dmov [rbp-1496], rax
    00406714mov rax, [rbp-1352]
    0040671bmov edx, eax
    0040671dshr edx, 7
    00406720mov rax, [rbp-1360]
    00406727shl eax, 25
    0040672aor eax, edx
    0040672cmov eax, eax
    0040672emov [rbp-1504], rax
    00406735mov rdx, [rbp-1512]
    0040673cmov rax, [rbp-1496]
    00406743xor rax, rdx
    00406746mov [rbp-1512], rax
    0040674dmov rdx, [rbp-1520]
    00406754mov rax, [rbp-1504]
    0040675bxor rax, rdx
    0040675emov [rbp-1520], rax
    00406765mov rdx, [rbp-1352]
    0040676cmov rax, [rbp-1368]
    00406773and rax, rdx
    00406776mov [rbp-1496], rax
    0040677dmov rdx, [rbp-1360]
    00406784mov rax, [rbp-1376]
    0040678band rax, rdx
    0040678emov [rbp-1504], rax
    00406795mov rdx, [rbp-1352]
    0040679cmov rax, [rbp-1384]
    004067a3and rax, rdx
    004067a6mov [rbp-1528], rax
    004067admov rdx, [rbp-1360]
    004067b4mov rax, [rbp-1392]
    004067bband rax, rdx
    004067bemov [rbp-1536], rax
    004067c5mov rdx, [rbp-1496]
    004067ccmov rax, [rbp-1528]
    004067d3xor rax, rdx
    004067d6mov [rbp-1496], rax
    004067ddmov rdx, [rbp-1504]
    004067e4mov rax, [rbp-1536]
    004067ebxor rax, rdx
    004067eemov [rbp-1504], rax
    004067f5mov rdx, [rbp-1368]
    004067fcmov rax, [rbp-1384]
    00406803and rax, rdx
    00406806mov [rbp-1528], rax
    0040680dmov rdx, [rbp-1376]
    00406814mov rax, [rbp-1392]
    0040681band rax, rdx
    0040681emov [rbp-1536], rax
    00406825mov rdx, [rbp-1496]
    0040682cmov rax, [rbp-1528]
    00406833xor rax, rdx
    00406836mov [rbp-1496], rax
    0040683dmov rdx, [rbp-1504]
    00406844mov rax, [rbp-1536]
    0040684bxor rax, rdx
    0040684emov [rbp-1504], rax
    00406855mov rdx, [rbp-1512]
    0040685cmov rax, [rbp-1496]
    00406863add rax, rdx
    00406866mov [rbp-1528], rax
    0040686dmov rdx, [rbp-1520]
    00406874mov rax, [rbp-1504]
    0040687blea rcx, [rdx+rax]
    0040687fmov rax, [rbp-1528]
    00406886mov edx, eax
    00406888mov rax, [rbp-1512]
    0040688fcmp edx, eax
    00406891setb al
    00406894movzx eax, al
    00406897add rax, rcx
    0040689amov [rbp-1536], rax
    004068a1mov rdx, [rbp-1400]
    004068a8mov rax, [rbp-1544]
    004068afadd rax, rdx
    004068b2mov [rbp-1512], rax
    004068b9mov rdx, [rbp-1408]
    004068c0mov rax, [rbp-1552]
    004068c7lea rcx, [rdx+rax]
    004068cbmov rax, [rbp-1512]
    004068d2mov edx, eax
    004068d4mov rax, [rbp-1400]
    004068dbcmp edx, eax
    004068ddsetb al
    004068e0movzx eax, al
    004068e3add rax, rcx
    004068e6mov [rbp-1520], rax
    004068edmov rax, [rbp-1520]
    004068f4mov [rbp-1408], rax
    004068fbmov rax, [rbp-1512]
    00406902mov [rbp-1400], rax
    00406909mov rdx, [rbp-1544]
    00406910mov rax, [rbp-1528]
    00406917add rax, rdx
    0040691amov [rbp-1336], rax
    00406921mov rdx, [rbp-1552]
    00406928mov rax, [rbp-1536]
    0040692flea rcx, [rdx+rax]
    00406933mov rax, [rbp-1336]
    0040693amov edx, eax
    0040693cmov rax, [rbp-1544]
    00406943cmp edx, eax
    00406945setb al
    00406948movzx eax, al
    0040694badd rax, rcx
    0040694emov [rbp-1344], rax
    00406955mov rax, [rbp-1400]
    0040695cmov edx, eax
    0040695eshr edx, 14
    00406961mov rax, [rbp-1408]
    00406968shl eax, 18
    0040696bor eax, edx
    0040696dmov eax, eax
    0040696fmov [rbp-1512], rax
    00406976mov rax, [rbp-1408]
    0040697dmov edx, eax
    0040697fshr edx, 14
    00406982mov rax, [rbp-1400]
    00406989shl eax, 18
    0040698cor eax, edx
    0040698emov eax, eax
    00406990mov [rbp-1520], rax
    00406997mov rax, [rbp-1400]
    0040699emov edx, eax
    004069a0shr edx, 18
    004069a3mov rax, [rbp-1408]
    004069aashl eax, 14
    004069ador eax, edx
    004069afmov eax, eax
    004069b1mov [rbp-1496], rax
    004069b8mov rax, [rbp-1408]
    004069bfmov edx, eax
    004069c1shr edx, 18
    004069c4mov rax, [rbp-1400]
    004069cbshl eax, 14
    004069ceor eax, edx
    004069d0mov eax, eax
    004069d2mov [rbp-1504], rax
    004069d9mov rdx, [rbp-1512]
    004069e0mov rax, [rbp-1496]
    004069e7xor rax, rdx
    004069eamov [rbp-1512], rax
    004069f1mov rdx, [rbp-1520]
    004069f8mov rax, [rbp-1504]
    004069ffxor rax, rdx
    00406a02mov [rbp-1520], rax
    00406a09mov rax, [rbp-1408]
    00406a10mov edx, eax
    00406a12shr edx, 9
    00406a15mov rax, [rbp-1400]
    00406a1cshl eax, 23
    00406a1for eax, edx
    00406a21mov eax, eax
    00406a23mov [rbp-1496], rax
    00406a2amov rax, [rbp-1400]
    00406a31mov edx, eax
    00406a33shr edx, 9
    00406a36mov rax, [rbp-1408]
    00406a3dshl eax, 23
    00406a40or eax, edx
    00406a42mov eax, eax
    00406a44mov [rbp-1504], rax
    00406a4bmov rdx, [rbp-1512]
    00406a52mov rax, [rbp-1496]
    00406a59xor rax, rdx
    00406a5cmov [rbp-1512], rax
    00406a63mov rdx, [rbp-1520]
    00406a6amov rax, [rbp-1504]
    00406a71xor rax, rdx
    00406a74mov [rbp-1520], rax
    00406a7bmov rax, [rbp-1400]
    00406a82not rax
    00406a85mov [rbp-1496], rax
    00406a8cmov rax, [rbp-1408]
    00406a93not rax
    00406a96mov [rbp-1504], rax
    00406a9dmov rdx, [rbp-1496]
    00406aa4mov rax, [rbp-1304]
    00406aaband rax, rdx
    00406aaemov [rbp-1528], rax
    00406ab5mov rdx, [rbp-1504]
    00406abcmov rax, [rbp-1312]
    00406ac3and rax, rdx
    00406ac6mov [rbp-1536], rax
    00406acdmov rdx, [rbp-1400]
    00406ad4mov rax, [rbp-1416]
    00406adband rax, rdx
    00406ademov [rbp-1496], rax
    00406ae5mov rdx, [rbp-1408]
    00406aecmov rax, [rbp-1424]
    00406af3and rax, rdx
    00406af6mov [rbp-1504], rax
    00406afdmov rdx, [rbp-1528]
    00406b04mov rax, [rbp-1496]
    00406b0bxor rax, rdx
    00406b0emov [rbp-1528], rax
    00406b15mov rdx, [rbp-1536]
    00406b1cmov rax, [rbp-1504]
    00406b23xor rax, rdx
    00406b26mov [rbp-1536], rax
    00406b2dmov rdx, [rbp-1528]
    00406b34mov rax, [rbp-1512]
    00406b3badd rax, rdx
    00406b3emov [rbp-1544], rax
    00406b45mov rdx, [rbp-1536]
    00406b4cmov rax, [rbp-1520]
    00406b53lea rcx, [rdx+rax]
    00406b57mov rax, [rbp-1544]
    00406b5emov edx, eax
    00406b60mov rax, [rbp-1528]
    00406b67cmp edx, eax
    00406b69setb al
    00406b6cmovzx eax, al
    00406b6fadd rax, rcx
    00406b72mov [rbp-1552], rax
    00406b79mov eax, [rbp-4]
    00406b7cadd eax, 6
    00406b7fcdqe
    00406b81shl rax, 4
    00406b85add rax, 0x40ea00
    00406b8bmov rdx, [rax+8]
    00406b8fmov rax, [rbp-1544]
    00406b96add rax, rdx
    00406b99mov [rbp-1512], rax
    00406ba0mov eax, [rbp-4]
    00406ba3add eax, 6
    00406ba6cdqe
    00406ba8shl rax, 4
    00406bacadd rax, 0x40ea00
    00406bb2mov rdx, [rax]
    00406bb5mov rax, [rbp-1552]
    00406bbclea rcx, [rdx+rax]
    00406bc0mov rax, [rbp-1512]
    00406bc7mov edx, eax
    00406bc9mov eax, [rbp-4]
    00406bccadd eax, 6
    00406bcfcdqe
    00406bd1shl rax, 4
    00406bd5add rax, 0x40ea00
    00406bdbmov rax, [rax+8]
    00406bdfcmp edx, eax
    00406be1setb al
    00406be4movzx eax, al
    00406be7add rax, rcx
    00406beamov [rbp-1520], rax
    00406bf1mov eax, [rbp-4]
    00406bf4add eax, 6
    00406bf7cdqe
    00406bf9shl rax, 4
    00406bfdadd rax, rbp
    00406c00sub rax, 1288
    00406c06mov rdx, [rax]
    00406c09mov rax, [rbp-1512]
    00406c10add rax, rdx
    00406c13mov [rbp-1528], rax
    00406c1amov eax, [rbp-4]
    00406c1dadd eax, 6
    00406c20cdqe
    00406c22shl rax, 4
    00406c26add rax, rbp
    00406c29sub rax, 1296
    00406c2fmov rdx, [rax]
    00406c32mov rax, [rbp-1520]
    00406c39lea rcx, [rdx+rax]
    00406c3dmov rax, [rbp-1528]
    00406c44mov edx, eax
    00406c46mov eax, [rbp-4]
    00406c49add eax, 6
    00406c4ccdqe
    00406c4eshl rax, 4
    00406c52add rax, rbp
    00406c55sub rax, 1288
    00406c5bmov rax, [rax]
    00406c5ecmp edx, eax
    00406c60setb al
    00406c63movzx eax, al
    00406c66add rax, rcx
    00406c69mov [rbp-1536], rax
    00406c70mov rdx, [rbp-1320]
    00406c77mov rax, [rbp-1528]
    00406c7eadd rax, rdx
    00406c81mov [rbp-1544], rax
    00406c88mov rdx, [rbp-1328]
    00406c8fmov rax, [rbp-1536]
    00406c96lea rcx, [rdx+rax]
    00406c9amov rax, [rbp-1544]
    00406ca1mov edx, eax
    00406ca3mov rax, [rbp-1320]
    00406caacmp edx, eax
    00406cacsetb al
    00406cafmovzx eax, al
    00406cb2add rax, rcx
    00406cb5mov [rbp-1552], rax
    00406cbcmov rax, [rbp-1336]
    00406cc3mov edx, eax
    00406cc5shr edx, 28
    00406cc8mov rax, [rbp-1344]
    00406ccfshl eax, 4
    00406cd2or eax, edx
    00406cd4mov eax, eax
    00406cd6mov [rbp-1512], rax
    00406cddmov rax, [rbp-1344]
    00406ce4mov edx, eax
    00406ce6shr edx, 28
    00406ce9mov rax, [rbp-1336]
    00406cf0shl eax, 4
    00406cf3or eax, edx
    00406cf5mov eax, eax
    00406cf7mov [rbp-1520], rax
    00406cfemov rax, [rbp-1344]
    00406d05mov edx, eax
    00406d07shr edx, 2
    00406d0amov rax, [rbp-1336]
    00406d11shl eax, 30
    00406d14or eax, edx
    00406d16mov eax, eax
    00406d18mov [rbp-1496], rax
    00406d1fmov rax, [rbp-1336]
    00406d26mov edx, eax
    00406d28shr edx, 2
    00406d2bmov rax, [rbp-1344]
    00406d32shl eax, 30
    00406d35or eax, edx
    00406d37mov eax, eax
    00406d39mov [rbp-1504], rax
    00406d40mov rdx, [rbp-1512]
    00406d47mov rax, [rbp-1496]
    00406d4exor rax, rdx
    00406d51mov [rbp-1512], rax
    00406d58mov rdx, [rbp-1520]
    00406d5fmov rax, [rbp-1504]
    00406d66xor rax, rdx
    00406d69mov [rbp-1520], rax
    00406d70mov rax, [rbp-1344]
    00406d77mov edx, eax
    00406d79shr edx, 7
    00406d7cmov rax, [rbp-1336]
    00406d83shl eax, 25
    00406d86or eax, edx
    00406d88mov eax, eax
    00406d8amov [rbp-1496], rax
    00406d91mov rax, [rbp-1336]
    00406d98mov edx, eax
    00406d9ashr edx, 7
    00406d9dmov rax, [rbp-1344]
    00406da4shl eax, 25
    00406da7or eax, edx
    00406da9mov eax, eax
    00406dabmov [rbp-1504], rax
    00406db2mov rdx, [rbp-1512]
    00406db9mov rax, [rbp-1496]
    00406dc0xor rax, rdx
    00406dc3mov [rbp-1512], rax
    00406dcamov rdx, [rbp-1520]
    00406dd1mov rax, [rbp-1504]
    00406dd8xor rax, rdx
    00406ddbmov [rbp-1520], rax
    00406de2mov rdx, [rbp-1336]
    00406de9mov rax, [rbp-1352]
    00406df0and rax, rdx
    00406df3mov [rbp-1496], rax
    00406dfamov rdx, [rbp-1344]
    00406e01mov rax, [rbp-1360]
    00406e08and rax, rdx
    00406e0bmov [rbp-1504], rax
    00406e12mov rdx, [rbp-1336]
    00406e19mov rax, [rbp-1368]
    00406e20and rax, rdx
    00406e23mov [rbp-1528], rax
    00406e2amov rdx, [rbp-1344]
    00406e31mov rax, [rbp-1376]
    00406e38and rax, rdx
    00406e3bmov [rbp-1536], rax
    00406e42mov rdx, [rbp-1496]
    00406e49mov rax, [rbp-1528]
    00406e50xor rax, rdx
    00406e53mov [rbp-1496], rax
    00406e5amov rdx, [rbp-1504]
    00406e61mov rax, [rbp-1536]
    00406e68xor rax, rdx
    00406e6bmov [rbp-1504], rax
    00406e72mov rdx, [rbp-1352]
    00406e79mov rax, [rbp-1368]
    00406e80and rax, rdx
    00406e83mov [rbp-1528], rax
    00406e8amov rdx, [rbp-1360]
    00406e91mov rax, [rbp-1376]
    00406e98and rax, rdx
    00406e9bmov [rbp-1536], rax
    00406ea2mov rdx, [rbp-1496]
    00406ea9mov rax, [rbp-1528]
    00406eb0xor rax, rdx
    00406eb3mov [rbp-1496], rax
    00406ebamov rdx, [rbp-1504]
    00406ec1mov rax, [rbp-1536]
    00406ec8xor rax, rdx
    00406ecbmov [rbp-1504], rax
    00406ed2mov rdx, [rbp-1512]
    00406ed9mov rax, [rbp-1496]
    00406ee0add rax, rdx
    00406ee3mov [rbp-1528], rax
    00406eeamov rdx, [rbp-1520]
    00406ef1mov rax, [rbp-1504]
    00406ef8lea rcx, [rdx+rax]
    00406efcmov rax, [rbp-1528]
    00406f03mov edx, eax
    00406f05mov rax, [rbp-1512]
    00406f0ccmp edx, eax
    00406f0esetb al
    00406f11movzx eax, al
    00406f14add rax, rcx
    00406f17mov [rbp-1536], rax
    00406f1emov rdx, [rbp-1384]
    00406f25mov rax, [rbp-1544]
    00406f2cadd rax, rdx
    00406f2fmov [rbp-1512], rax
    00406f36mov rdx, [rbp-1392]
    00406f3dmov rax, [rbp-1552]
    00406f44lea rcx, [rdx+rax]
    00406f48mov rax, [rbp-1512]
    00406f4fmov edx, eax
    00406f51mov rax, [rbp-1384]
    00406f58cmp edx, eax
    00406f5asetb al
    00406f5dmovzx eax, al
    00406f60add rax, rcx
    00406f63mov [rbp-1520], rax
    00406f6amov rax, [rbp-1520]
    00406f71mov [rbp-1392], rax
    00406f78mov rax, [rbp-1512]
    00406f7fmov [rbp-1384], rax
    00406f86mov rdx, [rbp-1544]
    00406f8dmov rax, [rbp-1528]
    00406f94add rax, rdx
    00406f97mov [rbp-1320], rax
    00406f9emov rdx, [rbp-1552]
    00406fa5mov rax, [rbp-1536]
    00406faclea rcx, [rdx+rax]
    00406fb0mov rax, [rbp-1320]
    00406fb7mov edx, eax
    00406fb9mov rax, [rbp-1544]
    00406fc0cmp edx, eax
    00406fc2setb al
    00406fc5movzx eax, al
    00406fc8add rax, rcx
    00406fcbmov [rbp-1328], rax
    00406fd2mov rax, [rbp-1384]
    00406fd9mov edx, eax
    00406fdbshr edx, 14
    00406fdemov rax, [rbp-1392]
    00406fe5shl eax, 18
    00406fe8or eax, edx
    00406feamov eax, eax
    00406fecmov [rbp-1512], rax
    00406ff3mov rax, [rbp-1392]
    00406ffamov edx, eax
    00406ffcshr edx, 14
    00406fffmov rax, [rbp-1384]
    00407006shl eax, 18
    00407009or eax, edx
    0040700bmov eax, eax
    0040700dmov [rbp-1520], rax
    00407014mov rax, [rbp-1384]
    0040701bmov edx, eax
    0040701dshr edx, 18
    00407020mov rax, [rbp-1392]
    00407027shl eax, 14
    0040702aor eax, edx
    0040702cmov eax, eax
    0040702emov [rbp-1496], rax
    00407035mov rax, [rbp-1392]
    0040703cmov edx, eax
    0040703eshr edx, 18
    00407041mov rax, [rbp-1384]
    00407048shl eax, 14
    0040704bor eax, edx
    0040704dmov eax, eax
    0040704fmov [rbp-1504], rax
    00407056mov rdx, [rbp-1512]
    0040705dmov rax, [rbp-1496]
    00407064xor rax, rdx
    00407067mov [rbp-1512], rax
    0040706emov rdx, [rbp-1520]
    00407075mov rax, [rbp-1504]
    0040707cxor rax, rdx
    0040707fmov [rbp-1520], rax
    00407086mov rax, [rbp-1392]
    0040708dmov edx, eax
    0040708fshr edx, 9
    00407092mov rax, [rbp-1384]
    00407099shl eax, 23
    0040709cor eax, edx
    0040709emov eax, eax
    004070a0mov [rbp-1496], rax
    004070a7mov rax, [rbp-1384]
    004070aemov edx, eax
    004070b0shr edx, 9
    004070b3mov rax, [rbp-1392]
    004070bashl eax, 23
    004070bdor eax, edx
    004070bfmov eax, eax
    004070c1mov [rbp-1504], rax
    004070c8mov rdx, [rbp-1512]
    004070cfmov rax, [rbp-1496]
    004070d6xor rax, rdx
    004070d9mov [rbp-1512], rax
    004070e0mov rdx, [rbp-1520]
    004070e7mov rax, [rbp-1504]
    004070eexor rax, rdx
    004070f1mov [rbp-1520], rax
    004070f8mov rax, [rbp-1384]
    004070ffnot rax
    00407102mov [rbp-1496], rax
    00407109mov rax, [rbp-1392]
    00407110not rax
    00407113mov [rbp-1504], rax
    0040711amov rdx, [rbp-1496]
    00407121mov rax, [rbp-1416]
    00407128and rax, rdx
    0040712bmov [rbp-1528], rax
    00407132mov rdx, [rbp-1504]
    00407139mov rax, [rbp-1424]
    00407140and rax, rdx
    00407143mov [rbp-1536], rax
    0040714amov rdx, [rbp-1384]
    00407151mov rax, [rbp-1400]
    00407158and rax, rdx
    0040715bmov [rbp-1496], rax
    00407162mov rdx, [rbp-1392]
    00407169mov rax, [rbp-1408]
    00407170and rax, rdx
    00407173mov [rbp-1504], rax
    0040717amov rdx, [rbp-1528]
    00407181mov rax, [rbp-1496]
    00407188xor rax, rdx
    0040718bmov [rbp-1528], rax
    00407192mov rdx, [rbp-1536]
    00407199mov rax, [rbp-1504]
    004071a0xor rax, rdx
    004071a3mov [rbp-1536], rax
    004071aamov rdx, [rbp-1528]
    004071b1mov rax, [rbp-1512]
    004071b8add rax, rdx
    004071bbmov [rbp-1544], rax
    004071c2mov rdx, [rbp-1536]
    004071c9mov rax, [rbp-1520]
    004071d0lea rcx, [rdx+rax]
    004071d4mov rax, [rbp-1544]
    004071dbmov edx, eax
    004071ddmov rax, [rbp-1528]
    004071e4cmp edx, eax
    004071e6setb al
    004071e9movzx eax, al
    004071ecadd rax, rcx
    004071efmov [rbp-1552], rax
    004071f6mov eax, [rbp-4]
    004071f9add eax, 7
    004071fccdqe
    004071feshl rax, 4
    00407202add rax, 0x40ea00
    00407208mov rdx, [rax+8]
    0040720cmov rax, [rbp-1544]
    00407213add rax, rdx
    00407216mov [rbp-1512], rax
    0040721dmov eax, [rbp-4]
    00407220add eax, 7
    00407223cdqe
    00407225shl rax, 4
    00407229add rax, 0x40ea00
    0040722fmov rdx, [rax]
    00407232mov rax, [rbp-1552]
    00407239lea rcx, [rdx+rax]
    0040723dmov rax, [rbp-1512]
    00407244mov edx, eax
    00407246mov eax, [rbp-4]
    00407249add eax, 7
    0040724ccdqe
    0040724eshl rax, 4
    00407252add rax, 0x40ea00
    00407258mov rax, [rax+8]
    0040725ccmp edx, eax
    0040725esetb al
    00407261movzx eax, al
    00407264add rax, rcx
    00407267mov [rbp-1520], rax
    0040726emov eax, [rbp-4]
    00407271add eax, 7
    00407274cdqe
    00407276shl rax, 4
    0040727aadd rax, rbp
    0040727dsub rax, 1288
    00407283mov rdx, [rax]
    00407286mov rax, [rbp-1512]
    0040728dadd rax, rdx
    00407290mov [rbp-1528], rax
    00407297mov eax, [rbp-4]
    0040729aadd eax, 7
    0040729dcdqe
    0040729fshl rax, 4
    004072a3add rax, rbp
    004072a6sub rax, 1296
    004072acmov rdx, [rax]
    004072afmov rax, [rbp-1520]
    004072b6lea rcx, [rdx+rax]
    004072bamov rax, [rbp-1528]
    004072c1mov edx, eax
    004072c3mov eax, [rbp-4]
    004072c6add eax, 7
    004072c9cdqe
    004072cbshl rax, 4
    004072cfadd rax, rbp
    004072d2sub rax, 1288
    004072d8mov rax, [rax]
    004072dbcmp edx, eax
    004072ddsetb al
    004072e0movzx eax, al
    004072e3add rax, rcx
    004072e6mov [rbp-1536], rax
    004072edmov rdx, [rbp-1304]
    004072f4mov rax, [rbp-1528]
    004072fbadd rax, rdx
    004072femov [rbp-1544], rax
    00407305mov rdx, [rbp-1312]
    0040730cmov rax, [rbp-1536]
    00407313lea rcx, [rdx+rax]
    00407317mov rax, [rbp-1544]
    0040731emov edx, eax
    00407320mov rax, [rbp-1304]
    00407327cmp edx, eax
    00407329setb al
    0040732cmovzx eax, al
    0040732fadd rax, rcx
    00407332mov [rbp-1552], rax
    00407339mov rax, [rbp-1320]
    00407340mov edx, eax
    00407342shr edx, 28
    00407345mov rax, [rbp-1328]
    0040734cshl eax, 4
    0040734for eax, edx
    00407351mov eax, eax
    00407353mov [rbp-1512], rax
    0040735amov rax, [rbp-1328]
    00407361mov edx, eax
    00407363shr edx, 28
    00407366mov rax, [rbp-1320]
    0040736dshl eax, 4
    00407370or eax, edx
    00407372mov eax, eax
    00407374mov [rbp-1520], rax
    0040737bmov rax, [rbp-1328]
    00407382mov edx, eax
    00407384shr edx, 2
    00407387mov rax, [rbp-1320]
    0040738eshl eax, 30
    00407391or eax, edx
    00407393mov eax, eax
    00407395mov [rbp-1496], rax
    0040739cmov rax, [rbp-1320]
    004073a3mov edx, eax
    004073a5shr edx, 2
    004073a8mov rax, [rbp-1328]
    004073afshl eax, 30
    004073b2or eax, edx
    004073b4mov eax, eax
    004073b6mov [rbp-1504], rax
    004073bdmov rdx, [rbp-1512]
    004073c4mov rax, [rbp-1496]
    004073cbxor rax, rdx
    004073cemov [rbp-1512], rax
    004073d5mov rdx, [rbp-1520]
    004073dcmov rax, [rbp-1504]
    004073e3xor rax, rdx
    004073e6mov [rbp-1520], rax
    004073edmov rax, [rbp-1328]
    004073f4mov edx, eax
    004073f6shr edx, 7
    004073f9mov rax, [rbp-1320]
    00407400shl eax, 25
    00407403or eax, edx
    00407405mov eax, eax
    00407407mov [rbp-1496], rax
    0040740emov rax, [rbp-1320]
    00407415mov edx, eax
    00407417shr edx, 7
    0040741amov rax, [rbp-1328]
    00407421shl eax, 25
    00407424or eax, edx
    00407426mov eax, eax
    00407428mov [rbp-1504], rax
    0040742fmov rdx, [rbp-1512]
    00407436mov rax, [rbp-1496]
    0040743dxor rax, rdx
    00407440mov [rbp-1512], rax
    00407447mov rdx, [rbp-1520]
    0040744emov rax, [rbp-1504]
    00407455xor rax, rdx
    00407458mov [rbp-1520], rax
    0040745fmov rdx, [rbp-1320]
    00407466mov rax, [rbp-1336]
    0040746dand rax, rdx
    00407470mov [rbp-1496], rax
    00407477mov rdx, [rbp-1328]
    0040747emov rax, [rbp-1344]
    00407485and rax, rdx
    00407488mov [rbp-1504], rax
    0040748fmov rdx, [rbp-1320]
    00407496mov rax, [rbp-1352]
    0040749dand rax, rdx
    004074a0mov [rbp-1528], rax
    004074a7mov rdx, [rbp-1328]
    004074aemov rax, [rbp-1360]
    004074b5and rax, rdx
    004074b8mov [rbp-1536], rax
    004074bfmov rdx, [rbp-1496]
    004074c6mov rax, [rbp-1528]
    004074cdxor rax, rdx
    004074d0mov [rbp-1496], rax
    004074d7mov rdx, [rbp-1504]
    004074demov rax, [rbp-1536]
    004074e5xor rax, rdx
    004074e8mov [rbp-1504], rax
    004074efmov rdx, [rbp-1336]
    004074f6mov rax, [rbp-1352]
    004074fdand rax, rdx
    00407500mov [rbp-1528], rax
    00407507mov rdx, [rbp-1344]
    0040750emov rax, [rbp-1360]
    00407515and rax, rdx
    00407518mov [rbp-1536], rax
    0040751fmov rdx, [rbp-1496]
    00407526mov rax, [rbp-1528]
    0040752dxor rax, rdx
    00407530mov [rbp-1496], rax
    00407537mov rdx, [rbp-1504]
    0040753emov rax, [rbp-1536]
    00407545xor rax, rdx
    00407548mov [rbp-1504], rax
    0040754fmov rdx, [rbp-1512]
    00407556mov rax, [rbp-1496]
    0040755dadd rax, rdx
    00407560mov [rbp-1528], rax
    00407567mov rdx, [rbp-1520]
    0040756emov rax, [rbp-1504]
    00407575lea rcx, [rdx+rax]
    00407579mov rax, [rbp-1528]
    00407580mov edx, eax
    00407582mov rax, [rbp-1512]
    00407589cmp edx, eax
    0040758bsetb al
    0040758emovzx eax, al
    00407591add rax, rcx
    00407594mov [rbp-1536], rax
    0040759bmov rdx, [rbp-1368]
    004075a2mov rax, [rbp-1544]
    004075a9add rax, rdx
    004075acmov [rbp-1512], rax
    004075b3mov rdx, [rbp-1376]
    004075bamov rax, [rbp-1552]
    004075c1lea rcx, [rdx+rax]
    004075c5mov rax, [rbp-1512]
    004075ccmov edx, eax
    004075cemov rax, [rbp-1368]
    004075d5cmp edx, eax
    004075d7setb al
    004075damovzx eax, al
    004075ddadd rax, rcx
    004075e0mov [rbp-1520], rax
    004075e7mov rax, [rbp-1520]
    004075eemov [rbp-1376], rax
    004075f5mov rax, [rbp-1512]
    004075fcmov [rbp-1368], rax
    00407603mov rdx, [rbp-1544]
    0040760amov rax, [rbp-1528]
    00407611add rax, rdx
    00407614mov [rbp-1304], rax
    0040761bmov rdx, [rbp-1552]
    00407622mov rax, [rbp-1536]
    00407629lea rcx, [rdx+rax]
    0040762dmov rax, [rbp-1304]
    00407634mov edx, eax
    00407636mov rax, [rbp-1544]
    0040763dcmp edx, eax
    0040763fsetb al
    00407642movzx eax, al
    00407645add rax, rcx
    00407648mov [rbp-1312], rax
    0040764fadd [rbp-4], 8
    00407653
    00407653loc_407653:
    00407653cmp [rbp-4], 79
    00407657jle 0x404279
    0040765dmov rax, [rbp-1576]
    00407664mov rdx, [rax]
    00407667mov [rbp-1568], rdx
    0040766emov rax, [rax+8]
    00407672mov [rbp-1560], rax
    00407679mov rdx, [rbp-1304]
    00407680mov rax, [rbp-1560]
    00407687add rdx, rax
    0040768amov rax, [rbp-1576]
    00407691mov [rax+8], rdx
    00407695mov rdx, [rbp-1312]
    0040769cmov rax, [rbp-1568]
    004076a3lea rcx, [rdx+rax]
    004076a7mov rax, [rbp-1576]
    004076aemov rax, [rax+8]
    004076b2mov edx, eax
    004076b4mov rax, [rbp-1304]
    004076bbcmp edx, eax
    004076bdsetb al
    004076c0movzx eax, al
    004076c3lea rdx, [rcx+rax]
    004076c7mov rax, [rbp-1576]
    004076cemov [rax], rdx
    004076d1mov rax, [rbp-1576]
    004076d8mov rdx, [rax+16]
    004076dcmov [rbp-1568], rdx
    004076e3mov rax, [rax+24]
    004076e7mov [rbp-1560], rax
    004076eemov rdx, [rbp-1320]
    004076f5mov rax, [rbp-1560]
    004076fcadd rdx, rax
    004076ffmov rax, [rbp-1576]
    00407706mov [rax+24], rdx
    0040770amov rdx, [rbp-1328]
    00407711mov rax, [rbp-1568]
    00407718lea rcx, [rdx+rax]
    0040771cmov rax, [rbp-1576]
    00407723mov rax, [rax+24]
    00407727mov edx, eax
    00407729mov rax, [rbp-1320]
    00407730cmp edx, eax
    00407732setb al
    00407735movzx eax, al
    00407738lea rdx, [rcx+rax]
    0040773cmov rax, [rbp-1576]
    00407743mov [rax+16], rdx
    00407747mov rax, [rbp-1576]
    0040774emov rdx, [rax+32]
    00407752mov [rbp-1568], rdx
    00407759mov rax, [rax+40]
    0040775dmov [rbp-1560], rax
    00407764mov rdx, [rbp-1336]
    0040776bmov rax, [rbp-1560]
    00407772add rdx, rax
    00407775mov rax, [rbp-1576]
    0040777cmov [rax+40], rdx
    00407780mov rdx, [rbp-1344]
    00407787mov rax, [rbp-1568]
    0040778elea rcx, [rdx+rax]
    00407792mov rax, [rbp-1576]
    00407799mov rax, [rax+40]
    0040779dmov edx, eax
    0040779fmov rax, [rbp-1336]
    004077a6cmp edx, eax
    004077a8setb al
    004077abmovzx eax, al
    004077aelea rdx, [rcx+rax]
    004077b2mov rax, [rbp-1576]
    004077b9mov [rax+32], rdx
    004077bdmov rax, [rbp-1576]
    004077c4mov rdx, [rax+48]
    004077c8mov [rbp-1568], rdx
    004077cfmov rax, [rax+56]
    004077d3mov [rbp-1560], rax
    004077damov rdx, [rbp-1352]
    004077e1mov rax, [rbp-1560]
    004077e8add rdx, rax
    004077ebmov rax, [rbp-1576]
    004077f2mov [rax+56], rdx
    004077f6mov rdx, [rbp-1360]
    004077fdmov rax, [rbp-1568]
    00407804lea rcx, [rdx+rax]
    00407808mov rax, [rbp-1576]
    0040780fmov rax, [rax+56]
    00407813mov edx, eax
    00407815mov rax, [rbp-1352]
    0040781ccmp edx, eax
    0040781esetb al
    00407821movzx eax, al
    00407824lea rdx, [rcx+rax]
    00407828mov rax, [rbp-1576]
    0040782fmov [rax+48], rdx
    00407833mov rax, [rbp-1576]
    0040783amov rdx, [rax+64]
    0040783emov [rbp-1568], rdx
    00407845mov rax, [rax+72]
    00407849mov [rbp-1560], rax
    00407850mov rdx, [rbp-1368]
    00407857mov rax, [rbp-1560]
    0040785eadd rdx, rax
    00407861mov rax, [rbp-1576]
    00407868mov [rax+72], rdx
    0040786cmov rdx, [rbp-1376]
    00407873mov rax, [rbp-1568]
    0040787alea rcx, [rdx+rax]
    0040787emov rax, [rbp-1576]
    00407885mov rax, [rax+72]
    00407889mov edx, eax
    0040788bmov rax, [rbp-1368]
    00407892cmp edx, eax
    00407894setb al
    00407897movzx eax, al
    0040789alea rdx, [rcx+rax]
    0040789emov rax, [rbp-1576]
    004078a5mov [rax+64], rdx
    004078a9mov rax, [rbp-1576]
    004078b0mov rdx, [rax+80]
    004078b4mov [rbp-1568], rdx
    004078bbmov rax, [rax+88]
    004078bfmov [rbp-1560], rax
    004078c6mov rdx, [rbp-1384]
    004078cdmov rax, [rbp-1560]
    004078d4add rdx, rax
    004078d7mov rax, [rbp-1576]
    004078demov [rax+88], rdx
    004078e2mov rdx, [rbp-1392]
    004078e9mov rax, [rbp-1568]
    004078f0lea rcx, [rdx+rax]
    004078f4mov rax, [rbp-1576]
    004078fbmov rax, [rax+88]
    004078ffmov edx, eax
    00407901mov rax, [rbp-1384]
    00407908cmp edx, eax
    0040790asetb al
    0040790dmovzx eax, al
    00407910lea rdx, [rcx+rax]
    00407914mov rax, [rbp-1576]
    0040791bmov [rax+80], rdx
    0040791fmov rax, [rbp-1576]
    00407926mov rdx, [rax+96]
    0040792amov [rbp-1568], rdx
    00407931mov rax, [rax+104]
    00407935mov [rbp-1560], rax
    0040793cmov rdx, [rbp-1400]
    00407943mov rax, [rbp-1560]
    0040794aadd rdx, rax
    0040794dmov rax, [rbp-1576]
    00407954mov [rax+104], rdx
    00407958mov rdx, [rbp-1408]
    0040795fmov rax, [rbp-1568]
    00407966lea rcx, [rdx+rax]
    0040796amov rax, [rbp-1576]
    00407971mov rax, [rax+104]
    00407975mov edx, eax
    00407977mov rax, [rbp-1400]
    0040797ecmp edx, eax
    00407980setb al
    00407983movzx eax, al
    00407986lea rdx, [rcx+rax]
    0040798amov rax, [rbp-1576]
    00407991mov [rax+96], rdx
    00407995mov rax, [rbp-1576]
    0040799cmov rdx, [rax+112]
    004079a0mov [rbp-1568], rdx
    004079a7mov rax, [rax+120]
    004079abmov [rbp-1560], rax
    004079b2mov rdx, [rbp-1416]
    004079b9mov rax, [rbp-1560]
    004079c0add rdx, rax
    004079c3mov rax, [rbp-1576]
    004079camov [rax+120], rdx
    004079cemov rdx, [rbp-1424]
    004079d5mov rax, [rbp-1568]
    004079dclea rcx, [rdx+rax]
    004079e0mov rax, [rbp-1576]
    004079e7mov rax, [rax+120]
    004079ebmov edx, eax
    004079edmov rax, [rbp-1416]
    004079f4cmp edx, eax
    004079f6setb al
    004079f9movzx eax, al
    004079fclea rdx, [rcx+rax]
    00407a00mov rax, [rbp-1576]
    00407a07mov [rax+112], rdx
    00407a0bleave
    00407a0cret
    00403bf5
    00407a0d
    00407a0dSHA512_Init:
    00407a0dpush rbp
    00407a0emov rbp, rsp
    00407a11sub rsp, 24
    00407a15mov [rbp-24], rdi
    00407a19mov [rbp-4], 0
    00407a20mov rax, [rbp-24]
    00407a24mov rdi, rax
    00407a27call SHA512_Core_Init
    00407a2cmov rax, [rbp-24]
    00407a30mov [rax+256], 0
    00407a3ajmp 0x407a56
    00407a3c
    00407a3cloc_407a3c:
    00407a3cmov rax, [rbp-24]
    00407a40mov edx, [rbp-4]
    00407a43movsxd rdx, edx
    00407a46add rdx, 64
    00407a4amov [rax+4*rdx+4], 0
    00407a52add [rbp-4], 1
    00407a56
    00407a56loc_407a56:
    00407a56cmp [rbp-4], 3
    00407a5ajle 0x407a3c
    00407a5cleave
    00407a5dret
    00407a0d
    00407a5e
    00407a5eSHA512_Bytes:
    00407a5epush rbp
    00407a5fmov rbp, rsp
    00407a62sub rsp, 320
    00407a69mov [rbp-296], rdi
    00407a70mov [rbp-304], rsi
    00407a77mov [rbp-308], edx
    00407a7dmov rax, [rbp-304]
    00407a84mov [rbp-8], rax
    00407a88mov eax, [rbp-308]
    00407a8emov [rbp-12], eax
    00407a91mov [rbp-16], 0
    00407a98jmp 0x407aee
    00407a9a
    00407a9aloc_407a9a:
    00407a9amov rax, [rbp-296]
    00407aa1mov edx, [rbp-16]
    00407aa4movsxd rdx, edx
    00407aa7add rdx, 64
    00407aabmov eax, [rax+4*rdx+4]
    00407aafmov edx, eax
    00407ab1add edx, [rbp-12]
    00407ab4mov rax, [rbp-296]
    00407abbmov ecx, [rbp-16]
    00407abemovsxd rcx, ecx
    00407ac1add rcx, 64
    00407ac5mov [rax+4*rcx+4], edx
    00407ac9mov rax, [rbp-296]
    00407ad0mov edx, [rbp-16]
    00407ad3movsxd rdx, edx
    00407ad6add rdx, 64
    00407adamov eax, [rax+4*rdx+4]
    00407adecmp eax, [rbp-12]
    00407ae1setb al
    00407ae4movzx eax, al
    00407ae7mov [rbp-12], eax
    00407aeaadd [rbp-16], 1
    00407aee
    00407aeeloc_407aee:
    00407aeecmp [rbp-16], 3
    00407af2jle 0x407a9a
    00407af4mov rax, [rbp-296]
    00407afbmov eax, [rax+256]
    00407b01test eax, eax
    00407b03je 0x407d89
    00407b09mov rax, [rbp-296]
    00407b10mov eax, [rax+256]
    00407b16add eax, [rbp-308]
    00407b1ccmp eax, 127
    00407b1fjg 0x407d89
    00407b25mov eax, [rbp-308]
    00407b2bmovsxd rdx, eax
    00407b2emov rcx, [rbp-8]
    00407b32mov rax, [rbp-296]
    00407b39sub rax, -128
    00407b3dmov rsi, rax
    00407b40mov rax, [rbp-296]
    00407b47mov eax, [rax+256]
    00407b4dcdqe
    00407b4fadd rax, rsi
    00407b52mov rsi, rcx
    00407b55mov rdi, rax
    00407b58call memcpy@plt
    00407b5dmov rax, [rbp-296]
    00407b64mov eax, [rax+256]
    00407b6amov edx, eax
    00407b6cadd edx, [rbp-308]
    00407b72mov rax, [rbp-296]
    00407b79mov [rax+256], edx
    00407b7fjmp 0x407ddc
    00407b84
    00407b84loc_407b84:
    00407b84mov rax, [rbp-296]
    00407b8bmov eax, [rax+256]
    00407b91mov edx, 128
    00407b96mov ecx, edx
    00407b98sub ecx, eax
    00407b9amov eax, ecx
    00407b9cmovsxd rdx, eax
    00407b9fmov rcx, [rbp-8]
    00407ba3mov rax, [rbp-296]
    00407baasub rax, -128
    00407baemov rsi, rax
    00407bb1mov rax, [rbp-296]
    00407bb8mov eax, [rax+256]
    00407bbecdqe
    00407bc0add rax, rsi
    00407bc3mov rsi, rcx
    00407bc6mov rdi, rax
    00407bc9call memcpy@plt
    00407bcemov rax, [rbp-296]
    00407bd5mov eax, [rax+256]
    00407bdbmov edx, 128
    00407be0mov ecx, edx
    00407be2sub ecx, eax
    00407be4mov eax, ecx
    00407be6cdqe
    00407be8add [rbp-8], rax
    00407becmov rax, [rbp-296]
    00407bf3mov eax, [rax+256]
    00407bf9add eax, -128
    00407bfcadd [rbp-308], eax
    00407c02mov [rbp-16], 0
    00407c09jmp 0x407d53
    00407c0e
    00407c0eloc_407c0e:
    00407c0emov eax, [rbp-16]
    00407c11shl eax, 3
    00407c14mov rdx, [rbp-296]
    00407c1bcdqe
    00407c1dmovzx eax, [rdx+rax+128]
    00407c25movzx eax, al
    00407c28mov ecx, eax
    00407c2ashl ecx, 24
    00407c2dmov eax, [rbp-16]
    00407c30shl eax, 3
    00407c33add eax, 1
    00407c36mov rdx, [rbp-296]
    00407c3dcdqe
    00407c3fmovzx eax, [rdx+rax+128]
    00407c47movzx eax, al
    00407c4ashl eax, 16
    00407c4dor ecx, eax
    00407c4fmov eax, [rbp-16]
    00407c52shl eax, 3
    00407c55add eax, 2
    00407c58mov rdx, [rbp-296]
    00407c5fcdqe
    00407c61movzx eax, [rdx+rax+128]
    00407c69movzx eax, al
    00407c6cshl eax, 8
    00407c6for ecx, eax
    00407c71mov eax, [rbp-16]
    00407c74shl eax, 3
    00407c77add eax, 3
    00407c7amov rdx, [rbp-296]
    00407c81cdqe
    00407c83movzx eax, [rdx+rax+128]
    00407c8bmovzx eax, al
    00407c8eor eax, ecx
    00407c90mov [rbp-20], eax
    00407c93mov eax, [rbp-16]
    00407c96shl eax, 3
    00407c99add eax, 4
    00407c9cmov rdx, [rbp-296]
    00407ca3cdqe
    00407ca5movzx eax, [rdx+rax+128]
    00407cadmovzx eax, al
    00407cb0mov ecx, eax
    00407cb2shl ecx, 24
    00407cb5mov eax, [rbp-16]
    00407cb8shl eax, 3
    00407cbbadd eax, 5
    00407cbemov rdx, [rbp-296]
    00407cc5cdqe
    00407cc7movzx eax, [rdx+rax+128]
    00407ccfmovzx eax, al
    00407cd2shl eax, 16
    00407cd5or ecx, eax
    00407cd7mov eax, [rbp-16]
    00407cdashl eax, 3
    00407cddadd eax, 6
    00407ce0mov rdx, [rbp-296]
    00407ce7cdqe
    00407ce9movzx eax, [rdx+rax+128]
    00407cf1movzx eax, al
    00407cf4shl eax, 8
    00407cf7or ecx, eax
    00407cf9mov eax, [rbp-16]
    00407cfcshl eax, 3
    00407cffadd eax, 7
    00407d02mov rdx, [rbp-296]
    00407d09cdqe
    00407d0bmovzx eax, [rdx+rax+128]
    00407d13movzx eax, al
    00407d16or eax, ecx
    00407d18mov [rbp-24], eax
    00407d1bmov eax, [rbp-20]
    00407d1emov edx, [rbp-16]
    00407d21movsxd rdx, edx
    00407d24shl rdx, 4
    00407d28add rdx, rbp
    00407d2bsub rdx, 288
    00407d32mov [rdx], rax
    00407d35mov eax, [rbp-24]
    00407d38mov edx, [rbp-16]
    00407d3bmovsxd rdx, edx
    00407d3eshl rdx, 4
    00407d42add rdx, rbp
    00407d45sub rdx, 280
    00407d4cmov [rdx], rax
    00407d4fadd [rbp-16], 1
    00407d53
    00407d53loc_407d53:
    00407d53cmp [rbp-16], 15
    00407d57jle 0x407c0e
    00407d5dlea rdx, [rbp-288]
    00407d64mov rax, [rbp-296]
    00407d6bmov rsi, rdx
    00407d6emov rdi, rax
    00407d71call SHA512_Block
    00407d76mov rax, [rbp-296]
    00407d7dmov [rax+256], 0
    00407d87jmp 0x407d8a
    00407d89
    00407d89loc_407d89:
    00407d89nop
    00407d8a
    00407d8aloc_407d8a:
    00407d8amov rax, [rbp-296]
    00407d91mov eax, [rax+256]
    00407d97add eax, [rbp-308]
    00407d9dcmp eax, 127
    00407da0jg 0x407b84
    00407da6mov eax, [rbp-308]
    00407dacmovsxd rdx, eax
    00407dafmov rcx, [rbp-8]
    00407db3mov rax, [rbp-296]
    00407dbasub rax, -128
    00407dbemov rsi, rcx
    00407dc1mov rdi, rax
    00407dc4call memcpy@plt
    00407dc9mov rax, [rbp-296]
    00407dd0mov edx, [rbp-308]
    00407dd6mov [rax+256], edx
    00407ddc
    00407ddcloc_407ddc:
    00407ddcleave
    00407dddret
    00407a5e
    00407dde
    00407ddeSHA512_Final:
    00407ddepush rbp
    00407ddfmov rbp, rsp
    00407de2sub rsp, 192
    00407de9mov [rbp-184], rdi
    00407df0mov [rbp-192], rsi
    00407df7mov rax, [rbp-184]
    00407dfemov eax, [rax+256]
    00407e04cmp eax, 111
    00407e07jle 0x407e26
    00407e09mov rax, [rbp-184]
    00407e10mov eax, [rax+256]
    00407e16mov edx, 240
    00407e1bmov ecx, edx
    00407e1dsub ecx, eax
    00407e1fmov eax, ecx
    00407e21mov [rbp-8], eax
    00407e24jmp 0x407e41
    00407e26
    00407e26loc_407e26:
    00407e26mov rax, [rbp-184]
    00407e2dmov eax, [rax+256]
    00407e33mov edx, 112
    00407e38mov ecx, edx
    00407e3asub ecx, eax
    00407e3cmov eax, ecx
    00407e3emov [rbp-8], eax
    00407e41
    00407e41loc_407e41:
    00407e41mov [rbp-4], 4
    00407e48jmp 0x407ea8
    00407e4a
    00407e4aloc_407e4a:
    00407e4amov rax, [rbp-184]
    00407e51mov edx, [rbp-4]
    00407e54movsxd rdx, edx
    00407e57add rdx, 64
    00407e5bmov eax, [rax+4*rdx+4]
    00407e5fmov [rbp-12], eax
    00407e62cmp [rbp-4], 0
    00407e66jle 0x407e82
    00407e68mov eax, [rbp-4]
    00407e6blea edx, [rax-1]
    00407e6emov rax, [rbp-184]
    00407e75movsxd rdx, edx
    00407e78add rdx, 64
    00407e7cmov eax, [rax+4*rdx+4]
    00407e80jmp 0x407e87
    00407e82
    00407e82loc_407e82:
    00407e82mov eax, 0
    00407e87
    00407e87loc_407e87:
    00407e87mov [rbp-16], eax
    00407e8amov eax, [rbp-12]
    00407e8dlea edx, [8*rax]
    00407e94mov eax, [rbp-16]
    00407e97shr eax, 29
    00407e9aor edx, eax
    00407e9cmov eax, [rbp-4]
    00407e9fcdqe
    00407ea1mov [rbp+4*rax-176], edx
    00407ea8
    00407ea8loc_407ea8:
    00407ea8cmp [rbp-4], 0
    00407eacsetne al
    00407eafsub [rbp-4], 1
    00407eb3test al, al
    00407eb5jne 0x407e4a
    00407eb7mov eax, [rbp-8]
    00407ebamovsxd rdx, eax
    00407ebdlea rax, [rbp-160]
    00407ec4mov esi, 0
    00407ec9mov rdi, rax
    00407ecccall memset@plt
    00407ed1mov [rbp-160], -128
    00407ed8mov edx, [rbp-8]
    00407edblea rcx, [rbp-160]
    00407ee2mov rax, [rbp-184]
    00407ee9mov rsi, rcx
    00407eecmov rdi, rax
    00407eefcall SHA512_Bytes
    00407ef4mov [rbp-4], 0
    00407efbjmp 0x407fa6
    00407f00
    00407f00loc_407f00:
    00407f00mov eax, [rbp-4]
    00407f03lea ecx, [4*rax]
    00407f0amov eax, 3
    00407f0fsub eax, [rbp-4]
    00407f12cdqe
    00407f14mov eax, [rbp+4*rax-176]
    00407f1bshr eax, 24
    00407f1emov edx, eax
    00407f20movsxd rax, ecx
    00407f23mov [rbp+rax-160], dl
    00407f2amov eax, [rbp-4]
    00407f2dshl eax, 2
    00407f30lea ecx, [rax+1]
    00407f33mov eax, 3
    00407f38sub eax, [rbp-4]
    00407f3bcdqe
    00407f3dmov eax, [rbp+4*rax-176]
    00407f44shr eax, 16
    00407f47mov edx, eax
    00407f49movsxd rax, ecx
    00407f4cmov [rbp+rax-160], dl
    00407f53mov eax, [rbp-4]
    00407f56shl eax, 2
    00407f59lea ecx, [rax+2]
    00407f5cmov eax, 3
    00407f61sub eax, [rbp-4]
    00407f64cdqe
    00407f66mov eax, [rbp+4*rax-176]
    00407f6dshr eax, 8
    00407f70mov edx, eax
    00407f72movsxd rax, ecx
    00407f75mov [rbp+rax-160], dl
    00407f7cmov eax, [rbp-4]
    00407f7fshl eax, 2
    00407f82lea ecx, [rax+3]
    00407f85mov eax, 3
    00407f8asub eax, [rbp-4]
    00407f8dcdqe
    00407f8fmov eax, [rbp+4*rax-176]
    00407f96mov edx, eax
    00407f98movsxd rax, ecx
    00407f9bmov [rbp+rax-160], dl
    00407fa2add [rbp-4], 1
    00407fa6
    00407fa6loc_407fa6:
    00407fa6cmp [rbp-4], 3
    00407faajle 0x407f00
    00407fb0lea rcx, [rbp-160]
    00407fb7mov rax, [rbp-184]
    00407fbemov edx, 16
    00407fc3mov rsi, rcx
    00407fc6mov rdi, rax
    00407fc9call SHA512_Bytes
    00407fcemov [rbp-4], 0
    00407fd5jmp 0x4080e4
    00407fda
    00407fdaloc_407fda:
    00407fdamov rax, [rbp-184]
    00407fe1mov edx, [rbp-4]
    00407fe4movsxd rdx, edx
    00407fe7shl rdx, 4
    00407febadd rax, rdx
    00407feemov rax, [rax]
    00407ff1mov [rbp-20], eax
    00407ff4mov rax, [rbp-184]
    00407ffbmov edx, [rbp-4]
    00407ffemovsxd rdx, edx
    00408001shl rdx, 4
    00408005add rax, rdx
    00408008add rax, 8
    0040800cmov rax, [rax]
    0040800fmov [rbp-24], eax
    00408012mov eax, [rbp-4]
    00408015shl eax, 3
    00408018cdqe
    0040801aadd rax, [rbp-192]
    00408021mov edx, [rbp-20]
    00408024shr edx, 24
    00408027mov [rax], dl
    00408029mov eax, [rbp-4]
    0040802cshl eax, 3
    0040802fcdqe
    00408031add rax, 1
    00408035add rax, [rbp-192]
    0040803cmov edx, [rbp-20]
    0040803fshr edx, 16
    00408042mov [rax], dl
    00408044mov eax, [rbp-4]
    00408047shl eax, 3
    0040804acdqe
    0040804cadd rax, 2
    00408050add rax, [rbp-192]
    00408057mov edx, [rbp-20]
    0040805ashr edx, 8
    0040805dmov [rax], dl
    0040805fmov eax, [rbp-4]
    00408062shl eax, 3
    00408065cdqe
    00408067add rax, 3
    0040806badd rax, [rbp-192]
    00408072mov edx, [rbp-20]
    00408075mov [rax], dl
    00408077mov eax, [rbp-4]
    0040807ashl eax, 3
    0040807dcdqe
    0040807fadd rax, 4
    00408083add rax, [rbp-192]
    0040808amov edx, [rbp-24]
    0040808dshr edx, 24
    00408090mov [rax], dl
    00408092mov eax, [rbp-4]
    00408095shl eax, 3
    00408098cdqe
    0040809aadd rax, 5
    0040809eadd rax, [rbp-192]
    004080a5mov edx, [rbp-24]
    004080a8shr edx, 16
    004080abmov [rax], dl
    004080admov eax, [rbp-4]
    004080b0shl eax, 3
    004080b3cdqe
    004080b5add rax, 6
    004080b9add rax, [rbp-192]
    004080c0mov edx, [rbp-24]
    004080c3shr edx, 8
    004080c6mov [rax], dl
    004080c8mov eax, [rbp-4]
    004080cbshl eax, 3
    004080cecdqe
    004080d0add rax, 7
    004080d4add rax, [rbp-192]
    004080dbmov edx, [rbp-24]
    004080demov [rax], dl
    004080e0add [rbp-4], 1
    004080e4
    004080e4loc_4080e4:
    004080e4cmp [rbp-4], 7
    004080e8jle 0x407fda
    004080eeleave
    004080efret
    00407dde
    004080f0
    004080f0SHA512_Simple:
    004080f0push rbp
    004080f1mov rbp, rsp
    004080f4sub rsp, 320
    004080fbmov [rbp-296], rdi
    00408102mov [rbp-300], esi
    00408108mov [rbp-312], rdx
    0040810flea rax, [rbp-288]
    00408116mov rdi, rax
    00408119call SHA512_Init
    0040811emov edx, [rbp-300]
    00408124mov rcx, [rbp-296]
    0040812blea rax, [rbp-288]
    00408132mov rsi, rcx
    00408135mov rdi, rax
    00408138call SHA512_Bytes
    0040813dmov rdx, [rbp-312]
    00408144lea rax, [rbp-288]
    0040814bmov rsi, rdx
    0040814emov rdi, rax
    00408151call SHA512_Final
    00408156leave
    00408157ret
    004080f0
    00408158
    00408158fsum:
    00408158push rbp
    00408159mov rbp, rsp
    0040815cmov [rbp-24], rdi
    00408160mov [rbp-32], rsi
    00408164mov [rbp-4], 0
    0040816bjmp 0x4081da
    0040816d
    0040816dloc_40816d:
    0040816dmov eax, [rbp-4]
    00408170shl rax, 3
    00408174add rax, [rbp-24]
    00408178mov edx, [rbp-4]
    0040817bshl rdx, 3
    0040817fadd rdx, [rbp-24]
    00408183mov rcx, [rdx]
    00408186mov edx, [rbp-4]
    00408189shl rdx, 3
    0040818dadd rdx, [rbp-32]
    00408191mov rdx, [rdx]
    00408194add rdx, rcx
    00408197mov [rax], rdx
    0040819amov eax, [rbp-4]
    0040819dadd eax, 1
    004081a0mov eax, eax
    004081a2shl rax, 3
    004081a6add rax, [rbp-24]
    004081aamov edx, [rbp-4]
    004081adadd edx, 1
    004081b0mov edx, edx
    004081b2shl rdx, 3
    004081b6add rdx, [rbp-24]
    004081bamov rcx, [rdx]
    004081bdmov edx, [rbp-4]
    004081c0add edx, 1
    004081c3mov edx, edx
    004081c5shl rdx, 3
    004081c9add rdx, [rbp-32]
    004081cdmov rdx, [rdx]
    004081d0add rdx, rcx
    004081d3mov [rax], rdx
    004081d6add [rbp-4], 2
    004081da
    004081daloc_4081da:
    004081dacmp [rbp-4], 9
    004081dejbe 0x40816d
    004081e0pop rbp
    004081e1ret
    00408158
    004081e2
    004081e2fdifference:
    004081e2push rbp
    004081e3mov rbp, rsp
    004081e6push rbx
    004081e7mov [rbp-32], rdi
    004081ebmov [rbp-40], rsi
    004081efmov [rbp-12], 0
    004081f6jmp 0x40822f
    004081f8
    004081f8loc_4081f8:
    004081f8mov eax, [rbp-12]
    004081fbshl rax, 3
    004081ffadd rax, [rbp-32]
    00408203mov edx, [rbp-12]
    00408206shl rdx, 3
    0040820aadd rdx, [rbp-40]
    0040820emov rcx, [rdx]
    00408211mov edx, [rbp-12]
    00408214shl rdx, 3
    00408218add rdx, [rbp-32]
    0040821cmov rdx, [rdx]
    0040821fmov rbx, rcx
    00408222sub rbx, rdx
    00408225mov rdx, rbx
    00408228mov [rax], rdx
    0040822badd [rbp-12], 1
    0040822f
    0040822floc_40822f:
    0040822fcmp [rbp-12], 9
    00408233jbe 0x4081f8
    00408235pop rbx
    00408236pop rbp
    00408237ret
    004081e2
    00408238
    00408238fscalar_product:
    00408238push rbp
    00408239mov rbp, rsp
    0040823cmov [rbp-24], rdi
    00408240mov [rbp-32], rsi
    00408244mov [rbp-40], rdx
    00408248mov [rbp-4], 0
    0040824fjmp 0x408276
    00408251
    00408251loc_408251:
    00408251mov eax, [rbp-4]
    00408254shl rax, 3
    00408258add rax, [rbp-24]
    0040825cmov edx, [rbp-4]
    0040825fshl rdx, 3
    00408263add rdx, [rbp-32]
    00408267mov rdx, [rdx]
    0040826aimul rdx, [rbp-40]
    0040826fmov [rax], rdx
    00408272add [rbp-4], 1
    00408276
    00408276loc_408276:
    00408276cmp [rbp-4], 9
    0040827ajbe 0x408251
    0040827cpop rbp
    0040827dret
    00408238
    0040827e
    0040827efproduct:
    0040827epush rbp
    0040827fmov rbp, rsp
    00408282mov [rbp-8], rdi
    00408286mov [rbp-16], rsi
    0040828amov [rbp-24], rdx
    0040828emov rax, [rbp-16]
    00408292mov rax, [rax]
    00408295movsxd rdx, eax
    00408298mov rax, [rbp-24]
    0040829cmov rax, [rax]
    0040829fcdqe
    004082a1imul rdx, rax
    004082a5mov rax, [rbp-8]
    004082a9mov [rax], rdx
    004082acmov rax, [rbp-8]
    004082b0lea rdx, [rax+8]
    004082b4mov rax, [rbp-16]
    004082b8mov rax, [rax]
    004082bbmovsxd rcx, eax
    004082bemov rax, [rbp-24]
    004082c2add rax, 8
    004082c6mov rax, [rax]
    004082c9cdqe
    004082cbimul rcx, rax
    004082cfmov rax, [rbp-16]
    004082d3add rax, 8
    004082d7mov rax, [rax]
    004082damovsxd rsi, eax
    004082ddmov rax, [rbp-24]
    004082e1mov rax, [rax]
    004082e4cdqe
    004082e6imul rax, rsi
    004082eaadd rax, rcx
    004082edmov [rdx], rax
    004082f0mov rax, [rbp-8]
    004082f4lea rdx, [rax+16]
    004082f8mov rax, [rbp-16]
    004082fcadd rax, 8
    00408300mov rax, [rax]
    00408303cdqe
    00408305lea rcx, [rax+rax]
    00408309mov rax, [rbp-24]
    0040830dadd rax, 8
    00408311mov rax, [rax]
    00408314cdqe
    00408316imul rcx, rax
    0040831amov rax, [rbp-16]
    0040831emov rax, [rax]
    00408321movsxd rsi, eax
    00408324mov rax, [rbp-24]
    00408328add rax, 16
    0040832cmov rax, [rax]
    0040832fcdqe
    00408331imul rax, rsi
    00408335lea rsi, [rcx+rax]
    00408339mov rax, [rbp-16]
    0040833dadd rax, 16
    00408341mov rax, [rax]
    00408344movsxd rcx, eax
    00408347mov rax, [rbp-24]
    0040834bmov rax, [rax]
    0040834ecdqe
    00408350imul rax, rcx
    00408354add rax, rsi
    00408357mov [rdx], rax
    0040835amov rax, [rbp-8]
    0040835elea rdx, [rax+24]
    00408362mov rax, [rbp-16]
    00408366add rax, 8
    0040836amov rax, [rax]
    0040836dmovsxd rcx, eax
    00408370mov rax, [rbp-24]
    00408374add rax, 16
    00408378mov rax, [rax]
    0040837bcdqe
    0040837dimul rcx, rax
    00408381mov rax, [rbp-16]
    00408385add rax, 16
    00408389mov rax, [rax]
    0040838cmovsxd rsi, eax
    0040838fmov rax, [rbp-24]
    00408393add rax, 8
    00408397mov rax, [rax]
    0040839acdqe
    0040839cimul rax, rsi
    004083a0lea rdi, [rcx+rax]
    004083a4mov rax, [rbp-16]
    004083a8add rax, 24
    004083acmov rax, [rax]
    004083afmovsxd rcx, eax
    004083b2mov rax, [rbp-24]
    004083b6mov rax, [rax]
    004083b9cdqe
    004083bbimul rcx, rax
    004083bfmov rax, [rbp-16]
    004083c3mov rax, [rax]
    004083c6movsxd rsi, eax
    004083c9mov rax, [rbp-24]
    004083cdadd rax, 24
    004083d1mov rax, [rax]
    004083d4cdqe
    004083d6imul rax, rsi
    004083daadd rax, rcx
    004083ddadd rax, rdi
    004083e0mov [rdx], rax
    004083e3mov rax, [rbp-8]
    004083e7lea rdx, [rax+32]
    004083ebmov rax, [rbp-16]
    004083efadd rax, 16
    004083f3mov rax, [rax]
    004083f6movsxd rcx, eax
    004083f9mov rax, [rbp-24]
    004083fdadd rax, 16
    00408401mov rax, [rax]
    00408404cdqe
    00408406imul rax, rcx
    0040840amov rcx, [rbp-16]
    0040840eadd rcx, 8
    00408412mov rcx, [rcx]
    00408415movsxd rsi, ecx
    00408418mov rcx, [rbp-24]
    0040841cadd rcx, 24
    00408420mov rcx, [rcx]
    00408423movsxd rcx, ecx
    00408426imul rsi, rcx
    0040842amov rcx, [rbp-16]
    0040842eadd rcx, 24
    00408432mov rcx, [rcx]
    00408435movsxd rdi, ecx
    00408438mov rcx, [rbp-24]
    0040843cadd rcx, 8
    00408440mov rcx, [rcx]
    00408443movsxd rcx, ecx
    00408446imul rcx, rdi
    0040844aadd rcx, rsi
    0040844dadd rcx, rcx
    00408450lea rdi, [rax+rcx]
    00408454mov rax, [rbp-16]
    00408458add rax, 32
    0040845cmov rax, [rax]
    0040845fmovsxd rcx, eax
    00408462mov rax, [rbp-24]
    00408466mov rax, [rax]
    00408469cdqe
    0040846bimul rcx, rax
    0040846fmov rax, [rbp-16]
    00408473mov rax, [rax]
    00408476movsxd rsi, eax
    00408479mov rax, [rbp-24]
    0040847dadd rax, 32
    00408481mov rax, [rax]
    00408484cdqe
    00408486imul rax, rsi
    0040848aadd rax, rcx
    0040848dadd rax, rdi
    00408490mov [rdx], rax
    00408493mov rax, [rbp-8]
    00408497lea rdx, [rax+40]
    0040849bmov rax, [rbp-16]
    0040849fadd rax, 16
    004084a3mov rax, [rax]
    004084a6movsxd rcx, eax
    004084a9mov rax, [rbp-24]
    004084adadd rax, 24
    004084b1mov rax, [rax]
    004084b4cdqe
    004084b6imul rcx, rax
    004084bamov rax, [rbp-16]
    004084beadd rax, 24
    004084c2mov rax, [rax]
    004084c5movsxd rsi, eax
    004084c8mov rax, [rbp-24]
    004084ccadd rax, 16
    004084d0mov rax, [rax]
    004084d3cdqe
    004084d5imul rax, rsi
    004084d9lea rdi, [rcx+rax]
    004084ddmov rax, [rbp-16]
    004084e1add rax, 32
    004084e5mov rax, [rax]
    004084e8movsxd rcx, eax
    004084ebmov rax, [rbp-24]
    004084efadd rax, 8
    004084f3mov rax, [rax]
    004084f6cdqe
    004084f8imul rcx, rax
    004084fcmov rax, [rbp-16]
    00408500add rax, 8
    00408504mov rax, [rax]
    00408507movsxd rsi, eax
    0040850amov rax, [rbp-24]
    0040850eadd rax, 32
    00408512mov rax, [rax]
    00408515cdqe
    00408517imul rax, rsi
    0040851badd rax, rcx
    0040851eadd rdi, rax
    00408521mov rax, [rbp-16]
    00408525add rax, 40
    00408529mov rax, [rax]
    0040852cmovsxd rcx, eax
    0040852fmov rax, [rbp-24]
    00408533mov rax, [rax]
    00408536cdqe
    00408538imul rcx, rax
    0040853cmov rax, [rbp-16]
    00408540mov rax, [rax]
    00408543movsxd rsi, eax
    00408546mov rax, [rbp-24]
    0040854aadd rax, 40
    0040854emov rax, [rax]
    00408551cdqe
    00408553imul rax, rsi
    00408557add rax, rcx
    0040855aadd rax, rdi
    0040855dmov [rdx], rax
    00408560mov rax, [rbp-8]
    00408564lea rdx, [rax+48]
    00408568mov rax, [rbp-16]
    0040856cadd rax, 24
    00408570mov rax, [rax]
    00408573movsxd rcx, eax
    00408576mov rax, [rbp-24]
    0040857aadd rax, 24
    0040857emov rax, [rax]
    00408581cdqe
    00408583imul rcx, rax
    00408587mov rax, [rbp-16]
    0040858badd rax, 8
    0040858fmov rax, [rax]
    00408592movsxd rsi, eax
    00408595mov rax, [rbp-24]
    00408599add rax, 40
    0040859dmov rax, [rax]
    004085a0cdqe
    004085a2imul rax, rsi
    004085a6lea rsi, [rcx+rax]
    004085aamov rax, [rbp-16]
    004085aeadd rax, 40
    004085b2mov rax, [rax]
    004085b5movsxd rcx, eax
    004085b8mov rax, [rbp-24]
    004085bcadd rax, 8
    004085c0mov rax, [rax]
    004085c3cdqe
    004085c5imul rax, rcx
    004085c9add rax, rsi
    004085cclea rsi, [rax+rax]
    004085d0mov rax, [rbp-16]
    004085d4add rax, 16
    004085d8mov rax, [rax]
    004085dbmovsxd rcx, eax
    004085demov rax, [rbp-24]
    004085e2add rax, 32
    004085e6mov rax, [rax]
    004085e9cdqe
    004085ebimul rax, rcx
    004085eflea rdi, [rsi+rax]
    004085f3mov rax, [rbp-16]
    004085f7mov rax, [rax]
    004085famovsxd rcx, eax
    004085fdmov rax, [rbp-24]
    00408601add rax, 48
    00408605mov rax, [rax]
    00408608cdqe
    0040860aimul rcx, rax
    0040860emov rax, [rbp-16]
    00408612add rax, 32
    00408616mov rax, [rax]
    00408619movsxd rsi, eax
    0040861cmov rax, [rbp-24]
    00408620add rax, 16
    00408624mov rax, [rax]
    00408627cdqe
    00408629imul rax, rsi
    0040862dadd rax, rcx
    00408630lea rsi, [rdi+rax]
    00408634mov rax, [rbp-16]
    00408638add rax, 48
    0040863cmov rax, [rax]
    0040863fmovsxd rcx, eax
    00408642mov rax, [rbp-24]
    00408646mov rax, [rax]
    00408649cdqe
    0040864bimul rax, rcx
    0040864fadd rax, rsi
    00408652mov [rdx], rax
    00408655mov rax, [rbp-8]
    00408659lea rdx, [rax+56]
    0040865dmov rax, [rbp-16]
    00408661add rax, 24
    00408665mov rax, [rax]
    00408668movsxd rcx, eax
    0040866bmov rax, [rbp-24]
    0040866fadd rax, 32
    00408673mov rax, [rax]
    00408676cdqe
    00408678imul rcx, rax
    0040867cmov rax, [rbp-16]
    00408680add rax, 32
    00408684mov rax, [rax]
    00408687movsxd rsi, eax
    0040868amov rax, [rbp-24]
    0040868eadd rax, 24
    00408692mov rax, [rax]
    00408695cdqe
    00408697imul rax, rsi
    0040869blea rdi, [rcx+rax]
    0040869fmov rax, [rbp-16]
    004086a3add rax, 40
    004086a7mov rax, [rax]
    004086aamovsxd rcx, eax
    004086admov rax, [rbp-24]
    004086b1add rax, 16
    004086b5mov rax, [rax]
    004086b8cdqe
    004086baimul rcx, rax
    004086bemov rax, [rbp-16]
    004086c2add rax, 16
    004086c6mov rax, [rax]
    004086c9movsxd rsi, eax
    004086ccmov rax, [rbp-24]
    004086d0add rax, 40
    004086d4mov rax, [rax]
    004086d7cdqe
    004086d9imul rax, rsi
    004086ddadd rax, rcx
    004086e0add rdi, rax
    004086e3mov rax, [rbp-16]
    004086e7add rax, 48
    004086ebmov rax, [rax]
    004086eemovsxd rcx, eax
    004086f1mov rax, [rbp-24]
    004086f5add rax, 8
    004086f9mov rax, [rax]
    004086fccdqe
    004086feimul rcx, rax
    00408702mov rax, [rbp-16]
    00408706add rax, 8
    0040870amov rax, [rax]
    0040870dmovsxd rsi, eax
    00408710mov rax, [rbp-24]
    00408714add rax, 48
    00408718mov rax, [rax]
    0040871bcdqe
    0040871dimul rax, rsi
    00408721add rax, rcx
    00408724add rdi, rax
    00408727mov rax, [rbp-16]
    0040872badd rax, 56
    0040872fmov rax, [rax]
    00408732movsxd rcx, eax
    00408735mov rax, [rbp-24]
    00408739mov rax, [rax]
    0040873ccdqe
    0040873eimul rcx, rax
    00408742mov rax, [rbp-16]
    00408746mov rax, [rax]
    00408749movsxd rsi, eax
    0040874cmov rax, [rbp-24]
    00408750add rax, 56
    00408754mov rax, [rax]
    00408757cdqe
    00408759imul rax, rsi
    0040875dadd rax, rcx
    00408760add rax, rdi
    00408763mov [rdx], rax
    00408766mov rax, [rbp-8]
    0040876alea rdx, [rax+64]
    0040876emov rax, [rbp-16]
    00408772add rax, 32
    00408776mov rax, [rax]
    00408779movsxd rcx, eax
    0040877cmov rax, [rbp-24]
    00408780add rax, 32
    00408784mov rax, [rax]
    00408787cdqe
    00408789imul rax, rcx
    0040878dmov rcx, [rbp-16]
    00408791add rcx, 24
    00408795mov rcx, [rcx]
    00408798movsxd rsi, ecx
    0040879bmov rcx, [rbp-24]
    0040879fadd rcx, 40
    004087a3mov rcx, [rcx]
    004087a6movsxd rcx, ecx
    004087a9imul rsi, rcx
    004087admov rcx, [rbp-16]
    004087b1add rcx, 40
    004087b5mov rcx, [rcx]
    004087b8movsxd rdi, ecx
    004087bbmov rcx, [rbp-24]
    004087bfadd rcx, 24
    004087c3mov rcx, [rcx]
    004087c6movsxd rcx, ecx
    004087c9imul rcx, rdi
    004087cdlea r8, [rsi+rcx]
    004087d1mov rcx, [rbp-16]
    004087d5add rcx, 56
    004087d9mov rcx, [rcx]
    004087dcmovsxd rsi, ecx
    004087dfmov rcx, [rbp-24]
    004087e3add rcx, 8
    004087e7mov rcx, [rcx]
    004087eamovsxd rcx, ecx
    004087edimul rsi, rcx
    004087f1mov rcx, [rbp-16]
    004087f5add rcx, 8
    004087f9mov rcx, [rcx]
    004087fcmovsxd rdi, ecx
    004087ffmov rcx, [rbp-24]
    00408803add rcx, 56
    00408807mov rcx, [rcx]
    0040880amovsxd rcx, ecx
    0040880dimul rcx, rdi
    00408811add rcx, rsi
    00408814add rcx, r8
    00408817add rcx, rcx
    0040881alea rdi, [rax+rcx]
    0040881emov rax, [rbp-16]
    00408822add rax, 48
    00408826mov rax, [rax]
    00408829movsxd rcx, eax
    0040882cmov rax, [rbp-24]
    00408830add rax, 16
    00408834mov rax, [rax]
    00408837cdqe
    00408839imul rcx, rax
    0040883dmov rax, [rbp-16]
    00408841add rax, 16
    00408845mov rax, [rax]
    00408848movsxd rsi, eax
    0040884bmov rax, [rbp-24]
    0040884fadd rax, 48
    00408853mov rax, [rax]
    00408856cdqe
    00408858imul rax, rsi
    0040885cadd rax, rcx
    0040885fadd rdi, rax
    00408862mov rax, [rbp-16]
    00408866add rax, 64
    0040886amov rax, [rax]
    0040886dmovsxd rcx, eax
    00408870mov rax, [rbp-24]
    00408874mov rax, [rax]
    00408877cdqe
    00408879imul rcx, rax
    0040887dmov rax, [rbp-16]
    00408881mov rax, [rax]
    00408884movsxd rsi, eax
    00408887mov rax, [rbp-24]
    0040888badd rax, 64
    0040888fmov rax, [rax]
    00408892cdqe
    00408894imul rax, rsi
    00408898add rax, rcx
    0040889badd rax, rdi
    0040889emov [rdx], rax
    004088a1mov rax, [rbp-8]
    004088a5lea rdx, [rax+72]
    004088a9mov rax, [rbp-16]
    004088adadd rax, 32
    004088b1mov rax, [rax]
    004088b4movsxd rcx, eax
    004088b7mov rax, [rbp-24]
    004088bbadd rax, 40
    004088bfmov rax, [rax]
    004088c2cdqe
    004088c4imul rcx, rax
    004088c8mov rax, [rbp-16]
    004088ccadd rax, 40
    004088d0mov rax, [rax]
    004088d3movsxd rsi, eax
    004088d6mov rax, [rbp-24]
    004088daadd rax, 32
    004088demov rax, [rax]
    004088e1cdqe
    004088e3imul rax, rsi
    004088e7lea rdi, [rcx+rax]
    004088ebmov rax, [rbp-16]
    004088efadd rax, 48
    004088f3mov rax, [rax]
    004088f6movsxd rcx, eax
    004088f9mov rax, [rbp-24]
    004088fdadd rax, 24
    00408901mov rax, [rax]
    00408904cdqe
    00408906imul rcx, rax
    0040890amov rax, [rbp-16]
    0040890eadd rax, 24
    00408912mov rax, [rax]
    00408915movsxd rsi, eax
    00408918mov rax, [rbp-24]
    0040891cadd rax, 48
    00408920mov rax, [rax]
    00408923cdqe
    00408925imul rax, rsi
    00408929add rax, rcx
    0040892cadd rdi, rax
    0040892fmov rax, [rbp-16]
    00408933add rax, 56
    00408937mov rax, [rax]
    0040893amovsxd rcx, eax
    0040893dmov rax, [rbp-24]
    00408941add rax, 16
    00408945mov rax, [rax]
    00408948cdqe
    0040894aimul rcx, rax
    0040894emov rax, [rbp-16]
    00408952add rax, 16
    00408956mov rax, [rax]
    00408959movsxd rsi, eax
    0040895cmov rax, [rbp-24]
    00408960add rax, 56
    00408964mov rax, [rax]
    00408967cdqe
    00408969imul rax, rsi
    0040896dadd rax, rcx
    00408970add rdi, rax
    00408973mov rax, [rbp-16]
    00408977add rax, 64
    0040897bmov rax, [rax]
    0040897emovsxd rcx, eax
    00408981mov rax, [rbp-24]
    00408985add rax, 8
    00408989mov rax, [rax]
    0040898ccdqe
    0040898eimul rcx, rax
    00408992mov rax, [rbp-16]
    00408996add rax, 8
    0040899amov rax, [rax]
    0040899dmovsxd rsi, eax
    004089a0mov rax, [rbp-24]
    004089a4add rax, 64
    004089a8mov rax, [rax]
    004089abcdqe
    004089adimul rax, rsi
    004089b1add rax, rcx
    004089b4add rdi, rax
    004089b7mov rax, [rbp-16]
    004089bbadd rax, 72
    004089bfmov rax, [rax]
    004089c2movsxd rcx, eax
    004089c5mov rax, [rbp-24]
    004089c9mov rax, [rax]
    004089cccdqe
    004089ceimul rcx, rax
    004089d2mov rax, [rbp-16]
    004089d6mov rax, [rax]
    004089d9movsxd rsi, eax
    004089dcmov rax, [rbp-24]
    004089e0add rax, 72
    004089e4mov rax, [rax]
    004089e7cdqe
    004089e9imul rax, rsi
    004089edadd rax, rcx
    004089f0add rax, rdi
    004089f3mov [rdx], rax
    004089f6mov rax, [rbp-8]
    004089faadd rax, 80
    004089femov rdx, [rbp-16]
    00408a02add rdx, 40
    00408a06mov rdx, [rdx]
    00408a09movsxd rcx, edx
    00408a0cmov rdx, [rbp-24]
    00408a10add rdx, 40
    00408a14mov rdx, [rdx]
    00408a17movsxd rdx, edx
    00408a1aimul rcx, rdx
    00408a1emov rdx, [rbp-16]
    00408a22add rdx, 24
    00408a26mov rdx, [rdx]
    00408a29movsxd rsi, edx
    00408a2cmov rdx, [rbp-24]
    00408a30add rdx, 56
    00408a34mov rdx, [rdx]
    00408a37movsxd rdx, edx
    00408a3aimul rdx, rsi
    00408a3elea rdi, [rcx+rdx]
    00408a42mov rdx, [rbp-16]
    00408a46add rdx, 8
    00408a4amov rdx, [rdx]
    00408a4dmovsxd rcx, edx
    00408a50mov rdx, [rbp-24]
    00408a54add rdx, 72
    00408a58mov rdx, [rdx]
    00408a5bmovsxd rdx, edx
    00408a5eimul rcx, rdx
    00408a62mov rdx, [rbp-16]
    00408a66add rdx, 56
    00408a6amov rdx, [rdx]
    00408a6dmovsxd rsi, edx
    00408a70mov rdx, [rbp-24]
    00408a74add rdx, 24
    00408a78mov rdx, [rdx]
    00408a7bmovsxd rdx, edx
    00408a7eimul rdx, rsi
    00408a82add rdx, rcx
    00408a85lea rsi, [rdi+rdx]
    00408a89mov rdx, [rbp-16]
    00408a8dadd rdx, 72
    00408a91mov rdx, [rdx]
    00408a94movsxd rcx, edx
    00408a97mov rdx, [rbp-24]
    00408a9badd rdx, 8
    00408a9fmov rdx, [rdx]
    00408aa2movsxd rdx, edx
    00408aa5imul rdx, rcx
    00408aa9add rdx, rsi
    00408aaclea rsi, [rdx+rdx]
    00408ab0mov rdx, [rbp-16]
    00408ab4add rdx, 32
    00408ab8mov rdx, [rdx]
    00408abbmovsxd rcx, edx
    00408abemov rdx, [rbp-24]
    00408ac2add rdx, 48
    00408ac6mov rdx, [rdx]
    00408ac9movsxd rdx, edx
    00408accimul rdx, rcx
    00408ad0lea rdi, [rsi+rdx]
    00408ad4mov rdx, [rbp-16]
    00408ad8add rdx, 16
    00408adcmov rdx, [rdx]
    00408adfmovsxd rcx, edx
    00408ae2mov rdx, [rbp-24]
    00408ae6add rdx, 64
    00408aeamov rdx, [rdx]
    00408aedmovsxd rdx, edx
    00408af0imul rcx, rdx
    00408af4mov rdx, [rbp-16]
    00408af8add rdx, 48
    00408afcmov rdx, [rdx]
    00408affmovsxd rsi, edx
    00408b02mov rdx, [rbp-24]
    00408b06add rdx, 32
    00408b0amov rdx, [rdx]
    00408b0dmovsxd rdx, edx
    00408b10imul rdx, rsi
    00408b14add rdx, rcx
    00408b17lea rsi, [rdi+rdx]
    00408b1bmov rdx, [rbp-16]
    00408b1fadd rdx, 64
    00408b23mov rdx, [rdx]
    00408b26movsxd rcx, edx
    00408b29mov rdx, [rbp-24]
    00408b2dadd rdx, 16
    00408b31mov rdx, [rdx]
    00408b34movsxd rdx, edx
    00408b37imul rdx, rcx
    00408b3badd rdx, rsi
    00408b3emov [rax], rdx
    00408b41mov rax, [rbp-8]
    00408b45add rax, 88
    00408b49mov rdx, [rbp-16]
    00408b4dadd rdx, 40
    00408b51mov rdx, [rdx]
    00408b54movsxd rcx, edx
    00408b57mov rdx, [rbp-24]
    00408b5badd rdx, 48
    00408b5fmov rdx, [rdx]
    00408b62movsxd rdx, edx
    00408b65imul rcx, rdx
    00408b69mov rdx, [rbp-16]
    00408b6dadd rdx, 48
    00408b71mov rdx, [rdx]
    00408b74movsxd rsi, edx
    00408b77mov rdx, [rbp-24]
    00408b7badd rdx, 40
    00408b7fmov rdx, [rdx]
    00408b82movsxd rdx, edx
    00408b85imul rdx, rsi
    00408b89lea rdi, [rcx+rdx]
    00408b8dmov rdx, [rbp-16]
    00408b91add rdx, 56
    00408b95mov rdx, [rdx]
    00408b98movsxd rcx, edx
    00408b9bmov rdx, [rbp-24]
    00408b9fadd rdx, 32
    00408ba3mov rdx, [rdx]
    00408ba6movsxd rdx, edx
    00408ba9imul rcx, rdx
    00408badmov rdx, [rbp-16]
    00408bb1add rdx, 32
    00408bb5mov rdx, [rdx]
    00408bb8movsxd rsi, edx
    00408bbbmov rdx, [rbp-24]
    00408bbfadd rdx, 56
    00408bc3mov rdx, [rdx]
    00408bc6movsxd rdx, edx
    00408bc9imul rdx, rsi
    00408bcdadd rdx, rcx
    00408bd0add rdi, rdx
    00408bd3mov rdx, [rbp-16]
    00408bd7add rdx, 64
    00408bdbmov rdx, [rdx]
    00408bdemovsxd rcx, edx
    00408be1mov rdx, [rbp-24]
    00408be5add rdx, 24
    00408be9mov rdx, [rdx]
    00408becmovsxd rdx, edx
    00408befimul rcx, rdx
    00408bf3mov rdx, [rbp-16]
    00408bf7add rdx, 24
    00408bfbmov rdx, [rdx]
    00408bfemovsxd rsi, edx
    00408c01mov rdx, [rbp-24]
    00408c05add rdx, 64
    00408c09mov rdx, [rdx]
    00408c0cmovsxd rdx, edx
    00408c0fimul rdx, rsi
    00408c13add rdx, rcx
    00408c16add rdi, rdx
    00408c19mov rdx, [rbp-16]
    00408c1dadd rdx, 72
    00408c21mov rdx, [rdx]
    00408c24movsxd rcx, edx
    00408c27mov rdx, [rbp-24]
    00408c2badd rdx, 16
    00408c2fmov rdx, [rdx]
    00408c32movsxd rdx, edx
    00408c35imul rcx, rdx
    00408c39mov rdx, [rbp-16]
    00408c3dadd rdx, 16
    00408c41mov rdx, [rdx]
    00408c44movsxd rsi, edx
    00408c47mov rdx, [rbp-24]
    00408c4badd rdx, 72
    00408c4fmov rdx, [rdx]
    00408c52movsxd rdx, edx
    00408c55imul rdx, rsi
    00408c59add rdx, rcx
    00408c5cadd rdx, rdi
    00408c5fmov [rax], rdx
    00408c62mov rax, [rbp-8]
    00408c66add rax, 96
    00408c6amov rdx, [rbp-16]
    00408c6eadd rdx, 48
    00408c72mov rdx, [rdx]
    00408c75movsxd rcx, edx
    00408c78mov rdx, [rbp-24]
    00408c7cadd rdx, 48
    00408c80mov rdx, [rdx]
    00408c83movsxd rdx, edx
    00408c86imul rdx, rcx
    00408c8amov rcx, [rbp-16]
    00408c8eadd rcx, 40
    00408c92mov rcx, [rcx]
    00408c95movsxd rsi, ecx
    00408c98mov rcx, [rbp-24]
    00408c9cadd rcx, 56
    00408ca0mov rcx, [rcx]
    00408ca3movsxd rcx, ecx
    00408ca6imul rsi, rcx
    00408caamov rcx, [rbp-16]
    00408caeadd rcx, 56
    00408cb2mov rcx, [rcx]
    00408cb5movsxd rdi, ecx
    00408cb8mov rcx, [rbp-24]
    00408cbcadd rcx, 40
    00408cc0mov rcx, [rcx]
    00408cc3movsxd rcx, ecx
    00408cc6imul rcx, rdi
    00408ccalea r8, [rsi+rcx]
    00408ccemov rcx, [rbp-16]
    00408cd2add rcx, 72
    00408cd6mov rcx, [rcx]
    00408cd9movsxd rsi, ecx
    00408cdcmov rcx, [rbp-24]
    00408ce0add rcx, 24
    00408ce4mov rcx, [rcx]
    00408ce7movsxd rcx, ecx
    00408ceaimul rsi, rcx
    00408ceemov rcx, [rbp-16]
    00408cf2add rcx, 24
    00408cf6mov rcx, [rcx]
    00408cf9movsxd rdi, ecx
    00408cfcmov rcx, [rbp-24]
    00408d00add rcx, 72
    00408d04mov rcx, [rcx]
    00408d07movsxd rcx, ecx
    00408d0aimul rcx, rdi
    00408d0eadd rcx, rsi
    00408d11add rcx, r8
    00408d14add rcx, rcx
    00408d17lea rdi, [rdx+rcx]
    00408d1bmov rdx, [rbp-16]
    00408d1fadd rdx, 64
    00408d23mov rdx, [rdx]
    00408d26movsxd rcx, edx
    00408d29mov rdx, [rbp-24]
    00408d2dadd rdx, 32
    00408d31mov rdx, [rdx]
    00408d34movsxd rdx, edx
    00408d37imul rcx, rdx
    00408d3bmov rdx, [rbp-16]
    00408d3fadd rdx, 32
    00408d43mov rdx, [rdx]
    00408d46movsxd rsi, edx
    00408d49mov rdx, [rbp-24]
    00408d4dadd rdx, 64
    00408d51mov rdx, [rdx]
    00408d54movsxd rdx, edx
    00408d57imul rdx, rsi
    00408d5badd rdx, rcx
    00408d5eadd rdx, rdi
    00408d61mov [rax], rdx
    00408d64mov rax, [rbp-8]
    00408d68add rax, 104
    00408d6cmov rdx, [rbp-16]
    00408d70add rdx, 48
    00408d74mov rdx, [rdx]
    00408d77movsxd rcx, edx
    00408d7amov rdx, [rbp-24]
    00408d7eadd rdx, 56
    00408d82mov rdx, [rdx]
    00408d85movsxd rdx, edx
    00408d88imul rcx, rdx
    00408d8cmov rdx, [rbp-16]
    00408d90add rdx, 56
    00408d94mov rdx, [rdx]
    00408d97movsxd rsi, edx
    00408d9amov rdx, [rbp-24]
    00408d9eadd rdx, 48
    00408da2mov rdx, [rdx]
    00408da5movsxd rdx, edx
    00408da8imul rdx, rsi
    00408daclea rdi, [rcx+rdx]
    00408db0mov rdx, [rbp-16]
    00408db4add rdx, 64
    00408db8mov rdx, [rdx]
    00408dbbmovsxd rcx, edx
    00408dbemov rdx, [rbp-24]
    00408dc2add rdx, 40
    00408dc6mov rdx, [rdx]
    00408dc9movsxd rdx, edx
    00408dccimul rcx, rdx
    00408dd0mov rdx, [rbp-16]
    00408dd4add rdx, 40
    00408dd8mov rdx, [rdx]
    00408ddbmovsxd rsi, edx
    00408ddemov rdx, [rbp-24]
    00408de2add rdx, 64
    00408de6mov rdx, [rdx]
    00408de9movsxd rdx, edx
    00408decimul rdx, rsi
    00408df0add rdx, rcx
    00408df3add rdi, rdx
    00408df6mov rdx, [rbp-16]
    00408dfaadd rdx, 72
    00408dfemov rdx, [rdx]
    00408e01movsxd rcx, edx
    00408e04mov rdx, [rbp-24]
    00408e08add rdx, 32
    00408e0cmov rdx, [rdx]
    00408e0fmovsxd rdx, edx
    00408e12imul rcx, rdx
    00408e16mov rdx, [rbp-16]
    00408e1aadd rdx, 32
    00408e1emov rdx, [rdx]
    00408e21movsxd rsi, edx
    00408e24mov rdx, [rbp-24]
    00408e28add rdx, 72
    00408e2cmov rdx, [rdx]
    00408e2fmovsxd rdx, edx
    00408e32imul rdx, rsi
    00408e36add rdx, rcx
    00408e39add rdx, rdi
    00408e3cmov [rax], rdx
    00408e3fmov rax, [rbp-8]
    00408e43add rax, 112
    00408e47mov rdx, [rbp-16]
    00408e4badd rdx, 56
    00408e4fmov rdx, [rdx]
    00408e52movsxd rcx, edx
    00408e55mov rdx, [rbp-24]
    00408e59add rdx, 56
    00408e5dmov rdx, [rdx]
    00408e60movsxd rdx, edx
    00408e63imul rcx, rdx
    00408e67mov rdx, [rbp-16]
    00408e6badd rdx, 40
    00408e6fmov rdx, [rdx]
    00408e72movsxd rsi, edx
    00408e75mov rdx, [rbp-24]
    00408e79add rdx, 72
    00408e7dmov rdx, [rdx]
    00408e80movsxd rdx, edx
    00408e83imul rdx, rsi
    00408e87lea rsi, [rcx+rdx]
    00408e8bmov rdx, [rbp-16]
    00408e8fadd rdx, 72
    00408e93mov rdx, [rdx]
    00408e96movsxd rcx, edx
    00408e99mov rdx, [rbp-24]
    00408e9dadd rdx, 40
    00408ea1mov rdx, [rdx]
    00408ea4movsxd rdx, edx
    00408ea7imul rdx, rcx
    00408eabadd rdx, rsi
    00408eaelea rsi, [rdx+rdx]
    00408eb2mov rdx, [rbp-16]
    00408eb6add rdx, 48
    00408ebamov rdx, [rdx]
    00408ebdmovsxd rcx, edx
    00408ec0mov rdx, [rbp-24]
    00408ec4add rdx, 64
    00408ec8mov rdx, [rdx]
    00408ecbmovsxd rdx, edx
    00408eceimul rdx, rcx
    00408ed2add rsi, rdx
    00408ed5mov rdx, [rbp-16]
    00408ed9add rdx, 64
    00408eddmov rdx, [rdx]
    00408ee0movsxd rcx, edx
    00408ee3mov rdx, [rbp-24]
    00408ee7add rdx, 48
    00408eebmov rdx, [rdx]
    00408eeemovsxd rdx, edx
    00408ef1imul rdx, rcx
    00408ef5add rdx, rsi
    00408ef8mov [rax], rdx
    00408efbmov rax, [rbp-8]
    00408effadd rax, 120
    00408f03mov rdx, [rbp-16]
    00408f07add rdx, 56
    00408f0bmov rdx, [rdx]
    00408f0emovsxd rcx, edx
    00408f11mov rdx, [rbp-24]
    00408f15add rdx, 64
    00408f19mov rdx, [rdx]
    00408f1cmovsxd rdx, edx
    00408f1fimul rcx, rdx
    00408f23mov rdx, [rbp-16]
    00408f27add rdx, 64
    00408f2bmov rdx, [rdx]
    00408f2emovsxd rsi, edx
    00408f31mov rdx, [rbp-24]
    00408f35add rdx, 56
    00408f39mov rdx, [rdx]
    00408f3cmovsxd rdx, edx
    00408f3fimul rdx, rsi
    00408f43lea rdi, [rcx+rdx]
    00408f47mov rdx, [rbp-16]
    00408f4badd rdx, 72
    00408f4fmov rdx, [rdx]
    00408f52movsxd rcx, edx
    00408f55mov rdx, [rbp-24]
    00408f59add rdx, 48
    00408f5dmov rdx, [rdx]
    00408f60movsxd rdx, edx
    00408f63imul rcx, rdx
    00408f67mov rdx, [rbp-16]
    00408f6badd rdx, 48
    00408f6fmov rdx, [rdx]
    00408f72movsxd rsi, edx
    00408f75mov rdx, [rbp-24]
    00408f79add rdx, 72
    00408f7dmov rdx, [rdx]
    00408f80movsxd rdx, edx
    00408f83imul rdx, rsi
    00408f87add rdx, rcx
    00408f8aadd rdx, rdi
    00408f8dmov [rax], rdx
    00408f90mov rax, [rbp-8]
    00408f94sub rax, -128
    00408f98mov rdx, [rbp-16]
    00408f9cadd rdx, 64
    00408fa0mov rdx, [rdx]
    00408fa3movsxd rcx, edx
    00408fa6mov rdx, [rbp-24]
    00408faaadd rdx, 64
    00408faemov rdx, [rdx]
    00408fb1movsxd rdx, edx
    00408fb4imul rdx, rcx
    00408fb8mov rcx, [rbp-16]
    00408fbcadd rcx, 56
    00408fc0mov rcx, [rcx]
    00408fc3movsxd rsi, ecx
    00408fc6mov rcx, [rbp-24]
    00408fcaadd rcx, 72
    00408fcemov rcx, [rcx]
    00408fd1movsxd rcx, ecx
    00408fd4imul rsi, rcx
    00408fd8mov rcx, [rbp-16]
    00408fdcadd rcx, 72
    00408fe0mov rcx, [rcx]
    00408fe3movsxd rdi, ecx
    00408fe6mov rcx, [rbp-24]
    00408feaadd rcx, 56
    00408feemov rcx, [rcx]
    00408ff1movsxd rcx, ecx
    00408ff4imul rcx, rdi
    00408ff8add rcx, rsi
    00408ffbadd rcx, rcx
    00408ffeadd rdx, rcx
    00409001mov [rax], rdx
    00409004mov rax, [rbp-8]
    00409008add rax, 136
    0040900emov rdx, [rbp-16]
    00409012add rdx, 64
    00409016mov rdx, [rdx]
    00409019movsxd rcx, edx
    0040901cmov rdx, [rbp-24]
    00409020add rdx, 72
    00409024mov rdx, [rdx]
    00409027movsxd rdx, edx
    0040902aimul rcx, rdx
    0040902emov rdx, [rbp-16]
    00409032add rdx, 72
    00409036mov rdx, [rdx]
    00409039movsxd rsi, edx
    0040903cmov rdx, [rbp-24]
    00409040add rdx, 64
    00409044mov rdx, [rdx]
    00409047movsxd rdx, edx
    0040904aimul rdx, rsi
    0040904eadd rdx, rcx
    00409051mov [rax], rdx
    00409054mov rax, [rbp-8]
    00409058lea rdx, [rax+144]
    0040905fmov rax, [rbp-16]
    00409063add rax, 72
    00409067mov rax, [rax]
    0040906acdqe
    0040906clea rcx, [rax+rax]
    00409070mov rax, [rbp-24]
    00409074add rax, 72
    00409078mov rax, [rax]
    0040907bcdqe
    0040907dimul rax, rcx
    00409081mov [rdx], rax
    00409084pop rbp
    00409085ret
    0040827e
    00409086
    00409086freduce_degree:
    00409086push rbp
    00409087mov rbp, rsp
    0040908amov [rbp-8], rdi
    0040908emov rax, [rbp-8]
    00409092add rax, 64
    00409096mov rdx, [rbp-8]
    0040909aadd rdx, 64
    0040909emov rdx, [rdx]
    004090a1mov rcx, [rbp-8]
    004090a5add rcx, 144
    004090acmov rcx, [rcx]
    004090afshl rcx, 4
    004090b3add rdx, rcx
    004090b6mov [rax], rdx
    004090b9mov rax, [rbp-8]
    004090bdadd rax, 64
    004090c1mov rdx, [rbp-8]
    004090c5add rdx, 64
    004090c9mov rdx, [rdx]
    004090ccmov rcx, [rbp-8]
    004090d0add rcx, 144
    004090d7mov rcx, [rcx]
    004090daadd rcx, rcx
    004090ddadd rdx, rcx
    004090e0mov [rax], rdx
    004090e3mov rax, [rbp-8]
    004090e7add rax, 64
    004090ebmov rdx, [rbp-8]
    004090efadd rdx, 64
    004090f3mov rcx, [rdx]
    004090f6mov rdx, [rbp-8]
    004090faadd rdx, 144
    00409101mov rdx, [rdx]
    00409104add rdx, rcx
    00409107mov [rax], rdx
    0040910amov rax, [rbp-8]
    0040910eadd rax, 56
    00409112mov rdx, [rbp-8]
    00409116add rdx, 56
    0040911amov rdx, [rdx]
    0040911dmov rcx, [rbp-8]
    00409121add rcx, 136
    00409128mov rcx, [rcx]
    0040912bshl rcx, 4
    0040912fadd rdx, rcx
    00409132mov [rax], rdx
    00409135mov rax, [rbp-8]
    00409139add rax, 56
    0040913dmov rdx, [rbp-8]
    00409141add rdx, 56
    00409145mov rdx, [rdx]
    00409148mov rcx, [rbp-8]
    0040914cadd rcx, 136
    00409153mov rcx, [rcx]
    00409156add rcx, rcx
    00409159add rdx, rcx
    0040915cmov [rax], rdx
    0040915fmov rax, [rbp-8]
    00409163add rax, 56
    00409167mov rdx, [rbp-8]
    0040916badd rdx, 56
    0040916fmov rcx, [rdx]
    00409172mov rdx, [rbp-8]
    00409176add rdx, 136
    0040917dmov rdx, [rdx]
    00409180add rdx, rcx
    00409183mov [rax], rdx
    00409186mov rax, [rbp-8]
    0040918aadd rax, 48
    0040918emov rdx, [rbp-8]
    00409192add rdx, 48
    00409196mov rdx, [rdx]
    00409199mov rcx, [rbp-8]
    0040919dsub rcx, -128
    004091a1mov rcx, [rcx]
    004091a4shl rcx, 4
    004091a8add rdx, rcx
    004091abmov [rax], rdx
    004091aemov rax, [rbp-8]
    004091b2add rax, 48
    004091b6mov rdx, [rbp-8]
    004091baadd rdx, 48
    004091bemov rdx, [rdx]
    004091c1mov rcx, [rbp-8]
    004091c5sub rcx, -128
    004091c9mov rcx, [rcx]
    004091ccadd rcx, rcx
    004091cfadd rdx, rcx
    004091d2mov [rax], rdx
    004091d5mov rax, [rbp-8]
    004091d9add rax, 48
    004091ddmov rdx, [rbp-8]
    004091e1add rdx, 48
    004091e5mov rcx, [rdx]
    004091e8mov rdx, [rbp-8]
    004091ecsub rdx, -128
    004091f0mov rdx, [rdx]
    004091f3add rdx, rcx
    004091f6mov [rax], rdx
    004091f9mov rax, [rbp-8]
    004091fdadd rax, 40
    00409201mov rdx, [rbp-8]
    00409205add rdx, 40
    00409209mov rdx, [rdx]
    0040920cmov rcx, [rbp-8]
    00409210add rcx, 120
    00409214mov rcx, [rcx]
    00409217shl rcx, 4
    0040921badd rdx, rcx
    0040921emov [rax], rdx
    00409221mov rax, [rbp-8]
    00409225add rax, 40
    00409229mov rdx, [rbp-8]
    0040922dadd rdx, 40
    00409231mov rdx, [rdx]
    00409234mov rcx, [rbp-8]
    00409238add rcx, 120
    0040923cmov rcx, [rcx]
    0040923fadd rcx, rcx
    00409242add rdx, rcx
    00409245mov [rax], rdx
    00409248mov rax, [rbp-8]
    0040924cadd rax, 40
    00409250mov rdx, [rbp-8]
    00409254add rdx, 40
    00409258mov rcx, [rdx]
    0040925bmov rdx, [rbp-8]
    0040925fadd rdx, 120
    00409263mov rdx, [rdx]
    00409266add rdx, rcx
    00409269mov [rax], rdx
    0040926cmov rax, [rbp-8]
    00409270add rax, 32
    00409274mov rdx, [rbp-8]
    00409278add rdx, 32
    0040927cmov rdx, [rdx]
    0040927fmov rcx, [rbp-8]
    00409283add rcx, 112
    00409287mov rcx, [rcx]
    0040928ashl rcx, 4
    0040928eadd rdx, rcx
    00409291mov [rax], rdx
    00409294mov rax, [rbp-8]
    00409298add rax, 32
    0040929cmov rdx, [rbp-8]
    004092a0add rdx, 32
    004092a4mov rdx, [rdx]
    004092a7mov rcx, [rbp-8]
    004092abadd rcx, 112
    004092afmov rcx, [rcx]
    004092b2add rcx, rcx
    004092b5add rdx, rcx
    004092b8mov [rax], rdx
    004092bbmov rax, [rbp-8]
    004092bfadd rax, 32
    004092c3mov rdx, [rbp-8]
    004092c7add rdx, 32
    004092cbmov rcx, [rdx]
    004092cemov rdx, [rbp-8]
    004092d2add rdx, 112
    004092d6mov rdx, [rdx]
    004092d9add rdx, rcx
    004092dcmov [rax], rdx
    004092dfmov rax, [rbp-8]
    004092e3add rax, 24
    004092e7mov rdx, [rbp-8]
    004092ebadd rdx, 24
    004092efmov rdx, [rdx]
    004092f2mov rcx, [rbp-8]
    004092f6add rcx, 104
    004092famov rcx, [rcx]
    004092fdshl rcx, 4
    00409301add rdx, rcx
    00409304mov [rax], rdx
    00409307mov rax, [rbp-8]
    0040930badd rax, 24
    0040930fmov rdx, [rbp-8]
    00409313add rdx, 24
    00409317mov rdx, [rdx]
    0040931amov rcx, [rbp-8]
    0040931eadd rcx, 104
    00409322mov rcx, [rcx]
    00409325add rcx, rcx
    00409328add rdx, rcx
    0040932bmov [rax], rdx
    0040932emov rax, [rbp-8]
    00409332add rax, 24
    00409336mov rdx, [rbp-8]
    0040933aadd rdx, 24
    0040933emov rcx, [rdx]
    00409341mov rdx, [rbp-8]
    00409345add rdx, 104
    00409349mov rdx, [rdx]
    0040934cadd rdx, rcx
    0040934fmov [rax], rdx
    00409352mov rax, [rbp-8]
    00409356add rax, 16
    0040935amov rdx, [rbp-8]
    0040935eadd rdx, 16
    00409362mov rdx, [rdx]
    00409365mov rcx, [rbp-8]
    00409369add rcx, 96
    0040936dmov rcx, [rcx]
    00409370shl rcx, 4
    00409374add rdx, rcx
    00409377mov [rax], rdx
    0040937amov rax, [rbp-8]
    0040937eadd rax, 16
    00409382mov rdx, [rbp-8]
    00409386add rdx, 16
    0040938amov rdx, [rdx]
    0040938dmov rcx, [rbp-8]
    00409391add rcx, 96
    00409395mov rcx, [rcx]
    00409398add rcx, rcx
    0040939badd rdx, rcx
    0040939emov [rax], rdx
    004093a1mov rax, [rbp-8]
    004093a5add rax, 16
    004093a9mov rdx, [rbp-8]
    004093adadd rdx, 16
    004093b1mov rcx, [rdx]
    004093b4mov rdx, [rbp-8]
    004093b8add rdx, 96
    004093bcmov rdx, [rdx]
    004093bfadd rdx, rcx
    004093c2mov [rax], rdx
    004093c5mov rax, [rbp-8]
    004093c9add rax, 8
    004093cdmov rdx, [rbp-8]
    004093d1add rdx, 8
    004093d5mov rdx, [rdx]
    004093d8mov rcx, [rbp-8]
    004093dcadd rcx, 88
    004093e0mov rcx, [rcx]
    004093e3shl rcx, 4
    004093e7add rdx, rcx
    004093eamov [rax], rdx
    004093edmov rax, [rbp-8]
    004093f1add rax, 8
    004093f5mov rdx, [rbp-8]
    004093f9add rdx, 8
    004093fdmov rdx, [rdx]
    00409400mov rcx, [rbp-8]
    00409404add rcx, 88
    00409408mov rcx, [rcx]
    0040940badd rcx, rcx
    0040940eadd rdx, rcx
    00409411mov [rax], rdx
    00409414mov rax, [rbp-8]
    00409418add rax, 8
    0040941cmov rdx, [rbp-8]
    00409420add rdx, 8
    00409424mov rcx, [rdx]
    00409427mov rdx, [rbp-8]
    0040942badd rdx, 88
    0040942fmov rdx, [rdx]
    00409432add rdx, rcx
    00409435mov [rax], rdx
    00409438mov rax, [rbp-8]
    0040943cmov rax, [rax]
    0040943fmov rdx, [rbp-8]
    00409443add rdx, 80
    00409447mov rdx, [rdx]
    0040944ashl rdx, 4
    0040944eadd rdx, rax
    00409451mov rax, [rbp-8]
    00409455mov [rax], rdx
    00409458mov rax, [rbp-8]
    0040945cmov rax, [rax]
    0040945fmov rdx, [rbp-8]
    00409463add rdx, 80
    00409467mov rdx, [rdx]
    0040946aadd rdx, rdx
    0040946dadd rdx, rax
    00409470mov rax, [rbp-8]
    00409474mov [rax], rdx
    00409477mov rax, [rbp-8]
    0040947bmov rdx, [rax]
    0040947emov rax, [rbp-8]
    00409482add rax, 80
    00409486mov rax, [rax]
    00409489add rdx, rax
    0040948cmov rax, [rbp-8]
    00409490mov [rax], rdx
    00409493pop rbp
    00409494ret
    00409086