File inc_ransom_e16ac4475e24bbe97e50d7940df71079ea2f1dfd1f2bff6a649c09f7503d087c.elf
Function:
Loading..
0040a44a
0040a44as32_eq:
0040a44apush rbp
0040a44bmov rbp, rsp
0040a44emov [rbp-4], edi
0040a451mov [rbp-8], esi
0040a454mov eax, [rbp-8]
0040a457mov edx, [rbp-4]
0040a45axor eax, edx
0040a45cnot eax
0040a45emov [rbp-4], eax
0040a461mov eax, [rbp-4]
0040a464shl eax, 16
0040a467and [rbp-4], eax
0040a46amov eax, [rbp-4]
0040a46dshl eax, 8
0040a470and [rbp-4], eax
0040a473mov eax, [rbp-4]
0040a476shl eax, 4
0040a479and [rbp-4], eax
0040a47cmov eax, [rbp-4]
0040a47fshl eax, 2
0040a482and [rbp-4], eax
0040a485mov eax, [rbp-4]
0040a488add eax, eax
0040a48aand [rbp-4], eax
0040a48dmov eax, [rbp-4]
0040a490sar eax, 31
0040a493pop rbp
0040a494ret
0040a44a
0040a44as32_eq:
0040a44apush rbp
0040a44bmov rbp, rsp
0040a44emov [rbp-4], edi
0040a451mov [rbp-8], esi
0040a454mov eax, [rbp-8]
0040a457mov edx, [rbp-4]
0040a45axor eax, edx
0040a45cnot eax
0040a45emov [rbp-4], eax
0040a461mov eax, [rbp-4]
0040a464shl eax, 16
0040a467and [rbp-4], eax
0040a46amov eax, [rbp-4]
0040a46dshl eax, 8
0040a470and [rbp-4], eax
0040a473mov eax, [rbp-4]
0040a476shl eax, 4
0040a479and [rbp-4], eax
0040a47cmov eax, [rbp-4]
0040a47fshl eax, 2
0040a482and [rbp-4], eax
0040a485mov eax, [rbp-4]
0040a488add eax, eax
0040a48aand [rbp-4], eax
0040a48dmov eax, [rbp-4]
0040a490sar eax, 31
0040a493pop rbp
0040a494ret
0040a44a
0040a495
0040a495s32_gte:
0040a495push rbp
0040a496mov rbp, rsp
0040a499mov [rbp-4], edi
0040a49cmov [rbp-8], esi
0040a49fmov eax, [rbp-8]
0040a4a2sub [rbp-4], eax
0040a4a5mov eax, [rbp-4]
0040a4a8sar eax, 31
0040a4abnot eax
0040a4adpop rbp
0040a4aeret
0040a495
0040a495s32_gte:
0040a495push rbp
0040a496mov rbp, rsp
0040a499mov [rbp-4], edi
0040a49cmov [rbp-8], esi
0040a49fmov eax, [rbp-8]
0040a4a2sub [rbp-4], eax
0040a4a5mov eax, [rbp-4]
0040a4a8sar eax, 31
0040a4abnot eax
0040a4adpop rbp
0040a4aeret
0040a495
0040a4af
0040a4affcontract:
0040a4afpush rbp
0040a4b0mov rbp, rsp
0040a4b3sub rsp, 112
0040a4b7mov [rbp-104], rdi
0040a4bbmov [rbp-112], rsi
0040a4bfmov [rbp-4], 0
0040a4c6jmp 0x40a4e7
0040a4c8
0040a4c8loc_40a4c8:
0040a4c8mov eax, [rbp-4]
0040a4cbcdqe
0040a4cdshl rax, 3
0040a4d1add rax, [rbp-112]
0040a4d5mov rax, [rax]
0040a4d8mov edx, eax
0040a4damov eax, [rbp-4]
0040a4ddcdqe
0040a4dfmov [rbp+4*rax-96], edx
0040a4e3add [rbp-4], 1
0040a4e7
0040a4e7loc_40a4e7:
0040a4e7cmp [rbp-4], 9
0040a4ebjle 0x40a4c8
0040a4edmov [rbp-8], 0
0040a4f4jmp 0x40a60c
0040a4f9
0040a4f9loc_40a4f9:
0040a4f9mov [rbp-4], 0
0040a500jmp 0x40a5cb
0040a505
0040a505loc_40a505:
0040a505mov eax, [rbp-4]
0040a508and eax, 1
0040a50btest al, al
0040a50dje 0x40a56c
0040a50fmov eax, [rbp-4]
0040a512cdqe
0040a514mov eax, [rbp+4*rax-96]
0040a518sar eax, 31
0040a51bmov [rbp-16], eax
0040a51emov eax, [rbp-4]
0040a521cdqe
0040a523mov eax, [rbp+4*rax-96]
0040a527and eax, [rbp-16]
0040a52asar eax, 25
0040a52dneg eax
0040a52fmov [rbp-20], eax
0040a532mov eax, [rbp-4]
0040a535cdqe
0040a537mov eax, [rbp+4*rax-96]
0040a53bmov edx, [rbp-20]
0040a53eshl edx, 25
0040a541add edx, eax
0040a543mov eax, [rbp-4]
0040a546cdqe
0040a548mov [rbp+4*rax-96], edx
0040a54cmov eax, [rbp-4]
0040a54flea ecx, [rax+1]
0040a552mov eax, [rbp-4]
0040a555add eax, 1
0040a558cdqe
0040a55amov eax, [rbp+4*rax-96]
0040a55emov edx, eax
0040a560sub edx, [rbp-20]
0040a563movsxd rax, ecx
0040a566mov [rbp+4*rax-96], edx
0040a56ajmp 0x40a5c7
0040a56c
0040a56cloc_40a56c:
0040a56cmov eax, [rbp-4]
0040a56fcdqe
0040a571mov eax, [rbp+4*rax-96]
0040a575sar eax, 31
0040a578mov [rbp-24], eax
0040a57bmov eax, [rbp-4]
0040a57ecdqe
0040a580mov eax, [rbp+4*rax-96]
0040a584and eax, [rbp-24]
0040a587sar eax, 26
0040a58aneg eax
0040a58cmov [rbp-28], eax
0040a58fmov eax, [rbp-4]
0040a592cdqe
0040a594mov eax, [rbp+4*rax-96]
0040a598mov edx, [rbp-28]
0040a59bshl edx, 26
0040a59eadd edx, eax
0040a5a0mov eax, [rbp-4]
0040a5a3cdqe
0040a5a5mov [rbp+4*rax-96], edx
0040a5a9mov eax, [rbp-4]
0040a5aclea ecx, [rax+1]
0040a5afmov eax, [rbp-4]
0040a5b2add eax, 1
0040a5b5cdqe
0040a5b7mov eax, [rbp+4*rax-96]
0040a5bbmov edx, eax
0040a5bdsub edx, [rbp-28]
0040a5c0movsxd rax, ecx
0040a5c3mov [rbp+4*rax-96], edx
0040a5c7
0040a5c7loc_40a5c7:
0040a5c7add [rbp-4], 1
0040a5cb
0040a5cbloc_40a5cb:
0040a5cbcmp [rbp-4], 8
0040a5cfjle 0x40a505
0040a5d5mov eax, [rbp-60]
0040a5d8sar eax, 31
0040a5dbmov [rbp-32], eax
0040a5demov eax, [rbp-60]
0040a5e1and eax, [rbp-32]
0040a5e4sar eax, 25
0040a5e7neg eax
0040a5e9mov [rbp-36], eax
0040a5ecmov eax, [rbp-60]
0040a5efmov edx, [rbp-36]
0040a5f2shl edx, 25
0040a5f5add eax, edx
0040a5f7mov [rbp-60], eax
0040a5famov edx, [rbp-96]
0040a5fdmov eax, [rbp-36]
0040a600imul eax, eax, -19
0040a603add eax, edx
0040a605mov [rbp-96], eax
0040a608add [rbp-8], 1
0040a60c
0040a60cloc_40a60c:
0040a60ccmp [rbp-8], 1
0040a610jle 0x40a4f9
0040a616mov eax, [rbp-96]
0040a619sar eax, 31
0040a61cmov [rbp-40], eax
0040a61fmov eax, [rbp-96]
0040a622and eax, [rbp-40]
0040a625sar eax, 26
0040a628neg eax
0040a62amov [rbp-44], eax
0040a62dmov eax, [rbp-96]
0040a630mov edx, [rbp-44]
0040a633shl edx, 26
0040a636add eax, edx
0040a638mov [rbp-96], eax
0040a63bmov eax, [rbp-92]
0040a63esub eax, [rbp-44]
0040a641mov [rbp-92], eax
0040a644mov [rbp-8], 0
0040a64bjmp 0x40a732
0040a650
0040a650loc_40a650:
0040a650mov [rbp-4], 0
0040a657jmp 0x40a6fa
0040a65c
0040a65cloc_40a65c:
0040a65cmov eax, [rbp-4]
0040a65fand eax, 1
0040a662test al, al
0040a664je 0x40a6af
0040a666mov eax, [rbp-4]
0040a669cdqe
0040a66bmov eax, [rbp+4*rax-96]
0040a66fsar eax, 25
0040a672mov [rbp-48], eax
0040a675mov eax, [rbp-4]
0040a678cdqe
0040a67amov eax, [rbp+4*rax-96]
0040a67emov edx, eax
0040a680and edx, 0x1ffffff
0040a686mov eax, [rbp-4]
0040a689cdqe
0040a68bmov [rbp+4*rax-96], edx
0040a68fmov eax, [rbp-4]
0040a692lea ecx, [rax+1]
0040a695mov eax, [rbp-4]
0040a698add eax, 1
0040a69bcdqe
0040a69dmov eax, [rbp+4*rax-96]
0040a6a1mov edx, eax
0040a6a3add edx, [rbp-48]
0040a6a6movsxd rax, ecx
0040a6a9mov [rbp+4*rax-96], edx
0040a6adjmp 0x40a6f6
0040a6af
0040a6afloc_40a6af:
0040a6afmov eax, [rbp-4]
0040a6b2cdqe
0040a6b4mov eax, [rbp+4*rax-96]
0040a6b8sar eax, 26
0040a6bbmov [rbp-52], eax
0040a6bemov eax, [rbp-4]
0040a6c1cdqe
0040a6c3mov eax, [rbp+4*rax-96]
0040a6c7mov edx, eax
0040a6c9and edx, 0x3ffffff
0040a6cfmov eax, [rbp-4]
0040a6d2cdqe
0040a6d4mov [rbp+4*rax-96], edx
0040a6d8mov eax, [rbp-4]
0040a6dblea ecx, [rax+1]
0040a6demov eax, [rbp-4]
0040a6e1add eax, 1
0040a6e4cdqe
0040a6e6mov eax, [rbp+4*rax-96]
0040a6eamov edx, eax
0040a6ecadd edx, [rbp-52]
0040a6efmovsxd rax, ecx
0040a6f2mov [rbp+4*rax-96], edx
0040a6f6
0040a6f6loc_40a6f6:
0040a6f6add [rbp-4], 1
0040a6fa
0040a6faloc_40a6fa:
0040a6facmp [rbp-4], 8
0040a6fejle 0x40a65c
0040a704mov eax, [rbp-60]
0040a707sar eax, 25
0040a70amov [rbp-56], eax
0040a70dmov eax, [rbp-60]
0040a710and eax, 0x1ffffff
0040a715mov [rbp-60], eax
0040a718mov ecx, [rbp-96]
0040a71bmov edx, [rbp-56]
0040a71emov eax, edx
0040a720shl eax, 3
0040a723add eax, edx
0040a725add eax, eax
0040a727add eax, edx
0040a729add eax, ecx
0040a72bmov [rbp-96], eax
0040a72eadd [rbp-8], 1
0040a732
0040a732loc_40a732:
0040a732cmp [rbp-8], 1
0040a736jle 0x40a650
0040a73cmov eax, [rbp-96]
0040a73fmov esi, 0x3ffffed
0040a744mov edi, eax
0040a746call s32_gte
0040a74bmov [rbp-12], eax
0040a74emov [rbp-4], 1
0040a755jmp 0x40a797
0040a757
0040a757loc_40a757:
0040a757mov eax, [rbp-4]
0040a75aand eax, 1
0040a75dtest al, al
0040a75fje 0x40a77b
0040a761mov eax, [rbp-4]
0040a764cdqe
0040a766mov eax, [rbp+4*rax-96]
0040a76amov esi, 0x1ffffff
0040a76fmov edi, eax
0040a771call s32_eq
0040a776and [rbp-12], eax
0040a779jmp 0x40a793
0040a77b
0040a77bloc_40a77b:
0040a77bmov eax, [rbp-4]
0040a77ecdqe
0040a780mov eax, [rbp+4*rax-96]
0040a784mov esi, 0x3ffffff
0040a789mov edi, eax
0040a78bcall s32_eq
0040a790and [rbp-12], eax
0040a793
0040a793loc_40a793:
0040a793add [rbp-4], 1
0040a797
0040a797loc_40a797:
0040a797cmp [rbp-4], 9
0040a79bjle 0x40a757
0040a79dmov eax, [rbp-96]
0040a7a0mov edx, [rbp-12]
0040a7a3and edx, 0x3ffffed
0040a7a9sub eax, edx
0040a7abmov [rbp-96], eax
0040a7aemov [rbp-4], 1
0040a7b5jmp 0x40a809
0040a7b7
0040a7b7loc_40a7b7:
0040a7b7mov eax, [rbp-4]
0040a7baand eax, 1
0040a7bdtest al, al
0040a7bfje 0x40a7e4
0040a7c1mov eax, [rbp-4]
0040a7c4cdqe
0040a7c6mov eax, [rbp+4*rax-96]
0040a7camov edx, [rbp-12]
0040a7cdand edx, 0x1ffffff
0040a7d3mov ecx, eax
0040a7d5sub ecx, edx
0040a7d7mov edx, ecx
0040a7d9mov eax, [rbp-4]
0040a7dccdqe
0040a7demov [rbp+4*rax-96], edx
0040a7e2jmp 0x40a805
0040a7e4
0040a7e4loc_40a7e4:
0040a7e4mov eax, [rbp-4]
0040a7e7cdqe
0040a7e9mov eax, [rbp+4*rax-96]
0040a7edmov edx, [rbp-12]
0040a7f0and edx, 0x3ffffff
0040a7f6mov ecx, eax
0040a7f8sub ecx, edx
0040a7famov edx, ecx
0040a7fcmov eax, [rbp-4]
0040a7ffcdqe
0040a801mov [rbp+4*rax-96], edx
0040a805
0040a805loc_40a805:
0040a805add [rbp-4], 1
0040a809
0040a809loc_40a809:
0040a809cmp [rbp-4], 9
0040a80djle 0x40a7b7
0040a80fmov eax, [rbp-92]
0040a812shl eax, 2
0040a815mov [rbp-92], eax
0040a818mov eax, [rbp-88]
0040a81bshl eax, 3
0040a81emov [rbp-88], eax
0040a821mov eax, [rbp-84]
0040a824shl eax, 5
0040a827mov [rbp-84], eax
0040a82amov eax, [rbp-80]
0040a82dshl eax, 6
0040a830mov [rbp-80], eax
0040a833mov eax, [rbp-72]
0040a836add eax, eax
0040a838mov [rbp-72], eax
0040a83bmov eax, [rbp-68]
0040a83eshl eax, 3
0040a841mov [rbp-68], eax
0040a844mov eax, [rbp-64]
0040a847shl eax, 4
0040a84amov [rbp-64], eax
0040a84dmov eax, [rbp-60]
0040a850shl eax, 6
0040a853mov [rbp-60], eax
0040a856mov rax, [rbp-104]
0040a85amov [rax], 0
0040a85dmov rax, [rbp-104]
0040a861add rax, 16
0040a865mov [rax], 0
0040a868mov rax, [rbp-104]
0040a86cmovzx eax, [rax]
0040a86fmov edx, eax
0040a871mov eax, [rbp-96]
0040a874or eax, edx
0040a876mov edx, eax
0040a878mov rax, [rbp-104]
0040a87cmov [rax], dl
0040a87emov rax, [rbp-104]
0040a882lea rdx, [rax+1]
0040a886mov eax, [rbp-96]
0040a889sar eax, 8
0040a88cmov [rdx], al
0040a88emov rax, [rbp-104]
0040a892lea rdx, [rax+2]
0040a896mov eax, [rbp-96]
0040a899sar eax, 16
0040a89cmov [rdx], al
0040a89emov rax, [rbp-104]
0040a8a2lea rdx, [rax+3]
0040a8a6mov eax, [rbp-96]
0040a8a9shr eax, 24
0040a8acmov [rdx], al
0040a8aemov rax, [rbp-104]
0040a8b2lea rdx, [rax+3]
0040a8b6mov rax, [rbp-104]
0040a8baadd rax, 3
0040a8bemovzx eax, [rax]
0040a8c1mov ecx, eax
0040a8c3mov eax, [rbp-92]
0040a8c6or eax, ecx
0040a8c8mov [rdx], al
0040a8camov rax, [rbp-104]
0040a8celea rdx, [rax+4]
0040a8d2mov eax, [rbp-92]
0040a8d5sar eax, 8
0040a8d8mov [rdx], al
0040a8damov rax, [rbp-104]
0040a8delea rdx, [rax+5]
0040a8e2mov eax, [rbp-92]
0040a8e5sar eax, 16
0040a8e8mov [rdx], al
0040a8eamov rax, [rbp-104]
0040a8eelea rdx, [rax+6]
0040a8f2mov eax, [rbp-92]
0040a8f5shr eax, 24
0040a8f8mov [rdx], al
0040a8famov rax, [rbp-104]
0040a8felea rdx, [rax+6]
0040a902mov rax, [rbp-104]
0040a906add rax, 6
0040a90amovzx eax, [rax]
0040a90dmov ecx, eax
0040a90fmov eax, [rbp-88]
0040a912or eax, ecx
0040a914mov [rdx], al
0040a916mov rax, [rbp-104]
0040a91alea rdx, [rax+7]
0040a91emov eax, [rbp-88]
0040a921sar eax, 8
0040a924mov [rdx], al
0040a926mov rax, [rbp-104]
0040a92alea rdx, [rax+8]
0040a92emov eax, [rbp-88]
0040a931sar eax, 16
0040a934mov [rdx], al
0040a936mov rax, [rbp-104]
0040a93alea rdx, [rax+9]
0040a93emov eax, [rbp-88]
0040a941shr eax, 24
0040a944mov [rdx], al
0040a946mov rax, [rbp-104]
0040a94alea rdx, [rax+9]
0040a94emov rax, [rbp-104]
0040a952add rax, 9
0040a956movzx eax, [rax]
0040a959mov ecx, eax
0040a95bmov eax, [rbp-84]
0040a95eor eax, ecx
0040a960mov [rdx], al
0040a962mov rax, [rbp-104]
0040a966lea rdx, [rax+10]
0040a96amov eax, [rbp-84]
0040a96dsar eax, 8
0040a970mov [rdx], al
0040a972mov rax, [rbp-104]
0040a976lea rdx, [rax+11]
0040a97amov eax, [rbp-84]
0040a97dsar eax, 16
0040a980mov [rdx], al
0040a982mov rax, [rbp-104]
0040a986lea rdx, [rax+12]
0040a98amov eax, [rbp-84]
0040a98dshr eax, 24
0040a990mov [rdx], al
0040a992mov rax, [rbp-104]
0040a996lea rdx, [rax+12]
0040a99amov rax, [rbp-104]
0040a99eadd rax, 12
0040a9a2movzx eax, [rax]
0040a9a5mov ecx, eax
0040a9a7mov eax, [rbp-80]
0040a9aaor eax, ecx
0040a9acmov [rdx], al
0040a9aemov rax, [rbp-104]
0040a9b2lea rdx, [rax+13]
0040a9b6mov eax, [rbp-80]
0040a9b9sar eax, 8
0040a9bcmov [rdx], al
0040a9bemov rax, [rbp-104]
0040a9c2lea rdx, [rax+14]
0040a9c6mov eax, [rbp-80]
0040a9c9sar eax, 16
0040a9ccmov [rdx], al
0040a9cemov rax, [rbp-104]
0040a9d2lea rdx, [rax+15]
0040a9d6mov eax, [rbp-80]
0040a9d9shr eax, 24
0040a9dcmov [rdx], al
0040a9demov rax, [rbp-104]
0040a9e2lea rdx, [rax+16]
0040a9e6mov rax, [rbp-104]
0040a9eaadd rax, 16
0040a9eemovzx eax, [rax]
0040a9f1mov ecx, eax
0040a9f3mov eax, [rbp-76]
0040a9f6or eax, ecx
0040a9f8mov [rdx], al
0040a9famov rax, [rbp-104]
0040a9felea rdx, [rax+17]
0040aa02mov eax, [rbp-76]
0040aa05sar eax, 8
0040aa08mov [rdx], al
0040aa0amov rax, [rbp-104]
0040aa0elea rdx, [rax+18]
0040aa12mov eax, [rbp-76]
0040aa15sar eax, 16
0040aa18mov [rdx], al
0040aa1amov rax, [rbp-104]
0040aa1elea rdx, [rax+19]
0040aa22mov eax, [rbp-76]
0040aa25shr eax, 24
0040aa28mov [rdx], al
0040aa2amov rax, [rbp-104]
0040aa2elea rdx, [rax+19]
0040aa32mov rax, [rbp-104]
0040aa36add rax, 19
0040aa3amovzx eax, [rax]
0040aa3dmov ecx, eax
0040aa3fmov eax, [rbp-72]
0040aa42or eax, ecx
0040aa44mov [rdx], al
0040aa46mov rax, [rbp-104]
0040aa4alea rdx, [rax+20]
0040aa4emov eax, [rbp-72]
0040aa51sar eax, 8
0040aa54mov [rdx], al
0040aa56mov rax, [rbp-104]
0040aa5alea rdx, [rax+21]
0040aa5emov eax, [rbp-72]
0040aa61sar eax, 16
0040aa64mov [rdx], al
0040aa66mov rax, [rbp-104]
0040aa6alea rdx, [rax+22]
0040aa6emov eax, [rbp-72]
0040aa71shr eax, 24
0040aa74mov [rdx], al
0040aa76mov rax, [rbp-104]
0040aa7alea rdx, [rax+22]
0040aa7emov rax, [rbp-104]
0040aa82add rax, 22
0040aa86movzx eax, [rax]
0040aa89mov ecx, eax
0040aa8bmov eax, [rbp-68]
0040aa8eor eax, ecx
0040aa90mov [rdx], al
0040aa92mov rax, [rbp-104]
0040aa96lea rdx, [rax+23]
0040aa9amov eax, [rbp-68]
0040aa9dsar eax, 8
0040aaa0mov [rdx], al
0040aaa2mov rax, [rbp-104]
0040aaa6lea rdx, [rax+24]
0040aaaamov eax, [rbp-68]
0040aaadsar eax, 16
0040aab0mov [rdx], al
0040aab2mov rax, [rbp-104]
0040aab6lea rdx, [rax+25]
0040aabamov eax, [rbp-68]
0040aabdshr eax, 24
0040aac0mov [rdx], al
0040aac2mov rax, [rbp-104]
0040aac6lea rdx, [rax+25]
0040aacamov rax, [rbp-104]
0040aaceadd rax, 25
0040aad2movzx eax, [rax]
0040aad5mov ecx, eax
0040aad7mov eax, [rbp-64]
0040aadaor eax, ecx
0040aadcmov [rdx], al
0040aademov rax, [rbp-104]
0040aae2lea rdx, [rax+26]
0040aae6mov eax, [rbp-64]
0040aae9sar eax, 8
0040aaecmov [rdx], al
0040aaeemov rax, [rbp-104]
0040aaf2lea rdx, [rax+27]
0040aaf6mov eax, [rbp-64]
0040aaf9sar eax, 16
0040aafcmov [rdx], al
0040aafemov rax, [rbp-104]
0040ab02lea rdx, [rax+28]
0040ab06mov eax, [rbp-64]
0040ab09shr eax, 24
0040ab0cmov [rdx], al
0040ab0emov rax, [rbp-104]
0040ab12lea rdx, [rax+28]
0040ab16mov rax, [rbp-104]
0040ab1aadd rax, 28
0040ab1emovzx eax, [rax]
0040ab21mov ecx, eax
0040ab23mov eax, [rbp-60]
0040ab26or eax, ecx
0040ab28mov [rdx], al
0040ab2amov rax, [rbp-104]
0040ab2elea rdx, [rax+29]
0040ab32mov eax, [rbp-60]
0040ab35sar eax, 8
0040ab38mov [rdx], al
0040ab3amov rax, [rbp-104]
0040ab3elea rdx, [rax+30]
0040ab42mov eax, [rbp-60]
0040ab45sar eax, 16
0040ab48mov [rdx], al
0040ab4amov rax, [rbp-104]
0040ab4elea rdx, [rax+31]
0040ab52mov eax, [rbp-60]
0040ab55shr eax, 24
0040ab58mov [rdx], al
0040ab5aleave
0040ab5bret
0040a4af
0040a4affcontract:
0040a4afpush rbp
0040a4b0mov rbp, rsp
0040a4b3sub rsp, 112
0040a4b7mov [rbp-104], rdi
0040a4bbmov [rbp-112], rsi
0040a4bfmov [rbp-4], 0
0040a4c6jmp 0x40a4e7
0040a4c8
0040a4c8loc_40a4c8:
0040a4c8mov eax, [rbp-4]
0040a4cbcdqe
0040a4cdshl rax, 3
0040a4d1add rax, [rbp-112]
0040a4d5mov rax, [rax]
0040a4d8mov edx, eax
0040a4damov eax, [rbp-4]
0040a4ddcdqe
0040a4dfmov [rbp+4*rax-96], edx
0040a4e3add [rbp-4], 1
0040a4e7
0040a4e7loc_40a4e7:
0040a4e7cmp [rbp-4], 9
0040a4ebjle 0x40a4c8
0040a4edmov [rbp-8], 0
0040a4f4jmp 0x40a60c
0040a4f9
0040a4f9loc_40a4f9:
0040a4f9mov [rbp-4], 0
0040a500jmp 0x40a5cb
0040a505
0040a505loc_40a505:
0040a505mov eax, [rbp-4]
0040a508and eax, 1
0040a50btest al, al
0040a50dje 0x40a56c
0040a50fmov eax, [rbp-4]
0040a512cdqe
0040a514mov eax, [rbp+4*rax-96]
0040a518sar eax, 31
0040a51bmov [rbp-16], eax
0040a51emov eax, [rbp-4]
0040a521cdqe
0040a523mov eax, [rbp+4*rax-96]
0040a527and eax, [rbp-16]
0040a52asar eax, 25
0040a52dneg eax
0040a52fmov [rbp-20], eax
0040a532mov eax, [rbp-4]
0040a535cdqe
0040a537mov eax, [rbp+4*rax-96]
0040a53bmov edx, [rbp-20]
0040a53eshl edx, 25
0040a541add edx, eax
0040a543mov eax, [rbp-4]
0040a546cdqe
0040a548mov [rbp+4*rax-96], edx
0040a54cmov eax, [rbp-4]
0040a54flea ecx, [rax+1]
0040a552mov eax, [rbp-4]
0040a555add eax, 1
0040a558cdqe
0040a55amov eax, [rbp+4*rax-96]
0040a55emov edx, eax
0040a560sub edx, [rbp-20]
0040a563movsxd rax, ecx
0040a566mov [rbp+4*rax-96], edx
0040a56ajmp 0x40a5c7
0040a56c
0040a56cloc_40a56c:
0040a56cmov eax, [rbp-4]
0040a56fcdqe
0040a571mov eax, [rbp+4*rax-96]
0040a575sar eax, 31
0040a578mov [rbp-24], eax
0040a57bmov eax, [rbp-4]
0040a57ecdqe
0040a580mov eax, [rbp+4*rax-96]
0040a584and eax, [rbp-24]
0040a587sar eax, 26
0040a58aneg eax
0040a58cmov [rbp-28], eax
0040a58fmov eax, [rbp-4]
0040a592cdqe
0040a594mov eax, [rbp+4*rax-96]
0040a598mov edx, [rbp-28]
0040a59bshl edx, 26
0040a59eadd edx, eax
0040a5a0mov eax, [rbp-4]
0040a5a3cdqe
0040a5a5mov [rbp+4*rax-96], edx
0040a5a9mov eax, [rbp-4]
0040a5aclea ecx, [rax+1]
0040a5afmov eax, [rbp-4]
0040a5b2add eax, 1
0040a5b5cdqe
0040a5b7mov eax, [rbp+4*rax-96]
0040a5bbmov edx, eax
0040a5bdsub edx, [rbp-28]
0040a5c0movsxd rax, ecx
0040a5c3mov [rbp+4*rax-96], edx
0040a5c7
0040a5c7loc_40a5c7:
0040a5c7add [rbp-4], 1
0040a5cb
0040a5cbloc_40a5cb:
0040a5cbcmp [rbp-4], 8
0040a5cfjle 0x40a505
0040a5d5mov eax, [rbp-60]
0040a5d8sar eax, 31
0040a5dbmov [rbp-32], eax
0040a5demov eax, [rbp-60]
0040a5e1and eax, [rbp-32]
0040a5e4sar eax, 25
0040a5e7neg eax
0040a5e9mov [rbp-36], eax
0040a5ecmov eax, [rbp-60]
0040a5efmov edx, [rbp-36]
0040a5f2shl edx, 25
0040a5f5add eax, edx
0040a5f7mov [rbp-60], eax
0040a5famov edx, [rbp-96]
0040a5fdmov eax, [rbp-36]
0040a600imul eax, eax, -19
0040a603add eax, edx
0040a605mov [rbp-96], eax
0040a608add [rbp-8], 1
0040a60c
0040a60cloc_40a60c:
0040a60ccmp [rbp-8], 1
0040a610jle 0x40a4f9
0040a616mov eax, [rbp-96]
0040a619sar eax, 31
0040a61cmov [rbp-40], eax
0040a61fmov eax, [rbp-96]
0040a622and eax, [rbp-40]
0040a625sar eax, 26
0040a628neg eax
0040a62amov [rbp-44], eax
0040a62dmov eax, [rbp-96]
0040a630mov edx, [rbp-44]
0040a633shl edx, 26
0040a636add eax, edx
0040a638mov [rbp-96], eax
0040a63bmov eax, [rbp-92]
0040a63esub eax, [rbp-44]
0040a641mov [rbp-92], eax
0040a644mov [rbp-8], 0
0040a64bjmp 0x40a732
0040a650
0040a650loc_40a650:
0040a650mov [rbp-4], 0
0040a657jmp 0x40a6fa
0040a65c
0040a65cloc_40a65c:
0040a65cmov eax, [rbp-4]
0040a65fand eax, 1
0040a662test al, al
0040a664je 0x40a6af
0040a666mov eax, [rbp-4]
0040a669cdqe
0040a66bmov eax, [rbp+4*rax-96]
0040a66fsar eax, 25
0040a672mov [rbp-48], eax
0040a675mov eax, [rbp-4]
0040a678cdqe
0040a67amov eax, [rbp+4*rax-96]
0040a67emov edx, eax
0040a680and edx, 0x1ffffff
0040a686mov eax, [rbp-4]
0040a689cdqe
0040a68bmov [rbp+4*rax-96], edx
0040a68fmov eax, [rbp-4]
0040a692lea ecx, [rax+1]
0040a695mov eax, [rbp-4]
0040a698add eax, 1
0040a69bcdqe
0040a69dmov eax, [rbp+4*rax-96]
0040a6a1mov edx, eax
0040a6a3add edx, [rbp-48]
0040a6a6movsxd rax, ecx
0040a6a9mov [rbp+4*rax-96], edx
0040a6adjmp 0x40a6f6
0040a6af
0040a6afloc_40a6af:
0040a6afmov eax, [rbp-4]
0040a6b2cdqe
0040a6b4mov eax, [rbp+4*rax-96]
0040a6b8sar eax, 26
0040a6bbmov [rbp-52], eax
0040a6bemov eax, [rbp-4]
0040a6c1cdqe
0040a6c3mov eax, [rbp+4*rax-96]
0040a6c7mov edx, eax
0040a6c9and edx, 0x3ffffff
0040a6cfmov eax, [rbp-4]
0040a6d2cdqe
0040a6d4mov [rbp+4*rax-96], edx
0040a6d8mov eax, [rbp-4]
0040a6dblea ecx, [rax+1]
0040a6demov eax, [rbp-4]
0040a6e1add eax, 1
0040a6e4cdqe
0040a6e6mov eax, [rbp+4*rax-96]
0040a6eamov edx, eax
0040a6ecadd edx, [rbp-52]
0040a6efmovsxd rax, ecx
0040a6f2mov [rbp+4*rax-96], edx
0040a6f6
0040a6f6loc_40a6f6:
0040a6f6add [rbp-4], 1
0040a6fa
0040a6faloc_40a6fa:
0040a6facmp [rbp-4], 8
0040a6fejle 0x40a65c
0040a704mov eax, [rbp-60]
0040a707sar eax, 25
0040a70amov [rbp-56], eax
0040a70dmov eax, [rbp-60]
0040a710and eax, 0x1ffffff
0040a715mov [rbp-60], eax
0040a718mov ecx, [rbp-96]
0040a71bmov edx, [rbp-56]
0040a71emov eax, edx
0040a720shl eax, 3
0040a723add eax, edx
0040a725add eax, eax
0040a727add eax, edx
0040a729add eax, ecx
0040a72bmov [rbp-96], eax
0040a72eadd [rbp-8], 1
0040a732
0040a732loc_40a732:
0040a732cmp [rbp-8], 1
0040a736jle 0x40a650
0040a73cmov eax, [rbp-96]
0040a73fmov esi, 0x3ffffed
0040a744mov edi, eax
0040a746call s32_gte
0040a74bmov [rbp-12], eax
0040a74emov [rbp-4], 1
0040a755jmp 0x40a797
0040a757
0040a757loc_40a757:
0040a757mov eax, [rbp-4]
0040a75aand eax, 1
0040a75dtest al, al
0040a75fje 0x40a77b
0040a761mov eax, [rbp-4]
0040a764cdqe
0040a766mov eax, [rbp+4*rax-96]
0040a76amov esi, 0x1ffffff
0040a76fmov edi, eax
0040a771call s32_eq
0040a776and [rbp-12], eax
0040a779jmp 0x40a793
0040a77b
0040a77bloc_40a77b:
0040a77bmov eax, [rbp-4]
0040a77ecdqe
0040a780mov eax, [rbp+4*rax-96]
0040a784mov esi, 0x3ffffff
0040a789mov edi, eax
0040a78bcall s32_eq
0040a790and [rbp-12], eax
0040a793
0040a793loc_40a793:
0040a793add [rbp-4], 1
0040a797
0040a797loc_40a797:
0040a797cmp [rbp-4], 9
0040a79bjle 0x40a757
0040a79dmov eax, [rbp-96]
0040a7a0mov edx, [rbp-12]
0040a7a3and edx, 0x3ffffed
0040a7a9sub eax, edx
0040a7abmov [rbp-96], eax
0040a7aemov [rbp-4], 1
0040a7b5jmp 0x40a809
0040a7b7
0040a7b7loc_40a7b7:
0040a7b7mov eax, [rbp-4]
0040a7baand eax, 1
0040a7bdtest al, al
0040a7bfje 0x40a7e4
0040a7c1mov eax, [rbp-4]
0040a7c4cdqe
0040a7c6mov eax, [rbp+4*rax-96]
0040a7camov edx, [rbp-12]
0040a7cdand edx, 0x1ffffff
0040a7d3mov ecx, eax
0040a7d5sub ecx, edx
0040a7d7mov edx, ecx
0040a7d9mov eax, [rbp-4]
0040a7dccdqe
0040a7demov [rbp+4*rax-96], edx
0040a7e2jmp 0x40a805
0040a7e4
0040a7e4loc_40a7e4:
0040a7e4mov eax, [rbp-4]
0040a7e7cdqe
0040a7e9mov eax, [rbp+4*rax-96]
0040a7edmov edx, [rbp-12]
0040a7f0and edx, 0x3ffffff
0040a7f6mov ecx, eax
0040a7f8sub ecx, edx
0040a7famov edx, ecx
0040a7fcmov eax, [rbp-4]
0040a7ffcdqe
0040a801mov [rbp+4*rax-96], edx
0040a805
0040a805loc_40a805:
0040a805add [rbp-4], 1
0040a809
0040a809loc_40a809:
0040a809cmp [rbp-4], 9
0040a80djle 0x40a7b7
0040a80fmov eax, [rbp-92]
0040a812shl eax, 2
0040a815mov [rbp-92], eax
0040a818mov eax, [rbp-88]
0040a81bshl eax, 3
0040a81emov [rbp-88], eax
0040a821mov eax, [rbp-84]
0040a824shl eax, 5
0040a827mov [rbp-84], eax
0040a82amov eax, [rbp-80]
0040a82dshl eax, 6
0040a830mov [rbp-80], eax
0040a833mov eax, [rbp-72]
0040a836add eax, eax
0040a838mov [rbp-72], eax
0040a83bmov eax, [rbp-68]
0040a83eshl eax, 3
0040a841mov [rbp-68], eax
0040a844mov eax, [rbp-64]
0040a847shl eax, 4
0040a84amov [rbp-64], eax
0040a84dmov eax, [rbp-60]
0040a850shl eax, 6
0040a853mov [rbp-60], eax
0040a856mov rax, [rbp-104]
0040a85amov [rax], 0
0040a85dmov rax, [rbp-104]
0040a861add rax, 16
0040a865mov [rax], 0
0040a868mov rax, [rbp-104]
0040a86cmovzx eax, [rax]
0040a86fmov edx, eax
0040a871mov eax, [rbp-96]
0040a874or eax, edx
0040a876mov edx, eax
0040a878mov rax, [rbp-104]
0040a87cmov [rax], dl
0040a87emov rax, [rbp-104]
0040a882lea rdx, [rax+1]
0040a886mov eax, [rbp-96]
0040a889sar eax, 8
0040a88cmov [rdx], al
0040a88emov rax, [rbp-104]
0040a892lea rdx, [rax+2]
0040a896mov eax, [rbp-96]
0040a899sar eax, 16
0040a89cmov [rdx], al
0040a89emov rax, [rbp-104]
0040a8a2lea rdx, [rax+3]
0040a8a6mov eax, [rbp-96]
0040a8a9shr eax, 24
0040a8acmov [rdx], al
0040a8aemov rax, [rbp-104]
0040a8b2lea rdx, [rax+3]
0040a8b6mov rax, [rbp-104]
0040a8baadd rax, 3
0040a8bemovzx eax, [rax]
0040a8c1mov ecx, eax
0040a8c3mov eax, [rbp-92]
0040a8c6or eax, ecx
0040a8c8mov [rdx], al
0040a8camov rax, [rbp-104]
0040a8celea rdx, [rax+4]
0040a8d2mov eax, [rbp-92]
0040a8d5sar eax, 8
0040a8d8mov [rdx], al
0040a8damov rax, [rbp-104]
0040a8delea rdx, [rax+5]
0040a8e2mov eax, [rbp-92]
0040a8e5sar eax, 16
0040a8e8mov [rdx], al
0040a8eamov rax, [rbp-104]
0040a8eelea rdx, [rax+6]
0040a8f2mov eax, [rbp-92]
0040a8f5shr eax, 24
0040a8f8mov [rdx], al
0040a8famov rax, [rbp-104]
0040a8felea rdx, [rax+6]
0040a902mov rax, [rbp-104]
0040a906add rax, 6
0040a90amovzx eax, [rax]
0040a90dmov ecx, eax
0040a90fmov eax, [rbp-88]
0040a912or eax, ecx
0040a914mov [rdx], al
0040a916mov rax, [rbp-104]
0040a91alea rdx, [rax+7]
0040a91emov eax, [rbp-88]
0040a921sar eax, 8
0040a924mov [rdx], al
0040a926mov rax, [rbp-104]
0040a92alea rdx, [rax+8]
0040a92emov eax, [rbp-88]
0040a931sar eax, 16
0040a934mov [rdx], al
0040a936mov rax, [rbp-104]
0040a93alea rdx, [rax+9]
0040a93emov eax, [rbp-88]
0040a941shr eax, 24
0040a944mov [rdx], al
0040a946mov rax, [rbp-104]
0040a94alea rdx, [rax+9]
0040a94emov rax, [rbp-104]
0040a952add rax, 9
0040a956movzx eax, [rax]
0040a959mov ecx, eax
0040a95bmov eax, [rbp-84]
0040a95eor eax, ecx
0040a960mov [rdx], al
0040a962mov rax, [rbp-104]
0040a966lea rdx, [rax+10]
0040a96amov eax, [rbp-84]
0040a96dsar eax, 8
0040a970mov [rdx], al
0040a972mov rax, [rbp-104]
0040a976lea rdx, [rax+11]
0040a97amov eax, [rbp-84]
0040a97dsar eax, 16
0040a980mov [rdx], al
0040a982mov rax, [rbp-104]
0040a986lea rdx, [rax+12]
0040a98amov eax, [rbp-84]
0040a98dshr eax, 24
0040a990mov [rdx], al
0040a992mov rax, [rbp-104]
0040a996lea rdx, [rax+12]
0040a99amov rax, [rbp-104]
0040a99eadd rax, 12
0040a9a2movzx eax, [rax]
0040a9a5mov ecx, eax
0040a9a7mov eax, [rbp-80]
0040a9aaor eax, ecx
0040a9acmov [rdx], al
0040a9aemov rax, [rbp-104]
0040a9b2lea rdx, [rax+13]
0040a9b6mov eax, [rbp-80]
0040a9b9sar eax, 8
0040a9bcmov [rdx], al
0040a9bemov rax, [rbp-104]
0040a9c2lea rdx, [rax+14]
0040a9c6mov eax, [rbp-80]
0040a9c9sar eax, 16
0040a9ccmov [rdx], al
0040a9cemov rax, [rbp-104]
0040a9d2lea rdx, [rax+15]
0040a9d6mov eax, [rbp-80]
0040a9d9shr eax, 24
0040a9dcmov [rdx], al
0040a9demov rax, [rbp-104]
0040a9e2lea rdx, [rax+16]
0040a9e6mov rax, [rbp-104]
0040a9eaadd rax, 16
0040a9eemovzx eax, [rax]
0040a9f1mov ecx, eax
0040a9f3mov eax, [rbp-76]
0040a9f6or eax, ecx
0040a9f8mov [rdx], al
0040a9famov rax, [rbp-104]
0040a9felea rdx, [rax+17]
0040aa02mov eax, [rbp-76]
0040aa05sar eax, 8
0040aa08mov [rdx], al
0040aa0amov rax, [rbp-104]
0040aa0elea rdx, [rax+18]
0040aa12mov eax, [rbp-76]
0040aa15sar eax, 16
0040aa18mov [rdx], al
0040aa1amov rax, [rbp-104]
0040aa1elea rdx, [rax+19]
0040aa22mov eax, [rbp-76]
0040aa25shr eax, 24
0040aa28mov [rdx], al
0040aa2amov rax, [rbp-104]
0040aa2elea rdx, [rax+19]
0040aa32mov rax, [rbp-104]
0040aa36add rax, 19
0040aa3amovzx eax, [rax]
0040aa3dmov ecx, eax
0040aa3fmov eax, [rbp-72]
0040aa42or eax, ecx
0040aa44mov [rdx], al
0040aa46mov rax, [rbp-104]
0040aa4alea rdx, [rax+20]
0040aa4emov eax, [rbp-72]
0040aa51sar eax, 8
0040aa54mov [rdx], al
0040aa56mov rax, [rbp-104]
0040aa5alea rdx, [rax+21]
0040aa5emov eax, [rbp-72]
0040aa61sar eax, 16
0040aa64mov [rdx], al
0040aa66mov rax, [rbp-104]
0040aa6alea rdx, [rax+22]
0040aa6emov eax, [rbp-72]
0040aa71shr eax, 24
0040aa74mov [rdx], al
0040aa76mov rax, [rbp-104]
0040aa7alea rdx, [rax+22]
0040aa7emov rax, [rbp-104]
0040aa82add rax, 22
0040aa86movzx eax, [rax]
0040aa89mov ecx, eax
0040aa8bmov eax, [rbp-68]
0040aa8eor eax, ecx
0040aa90mov [rdx], al
0040aa92mov rax, [rbp-104]
0040aa96lea rdx, [rax+23]
0040aa9amov eax, [rbp-68]
0040aa9dsar eax, 8
0040aaa0mov [rdx], al
0040aaa2mov rax, [rbp-104]
0040aaa6lea rdx, [rax+24]
0040aaaamov eax, [rbp-68]
0040aaadsar eax, 16
0040aab0mov [rdx], al
0040aab2mov rax, [rbp-104]
0040aab6lea rdx, [rax+25]
0040aabamov eax, [rbp-68]
0040aabdshr eax, 24
0040aac0mov [rdx], al
0040aac2mov rax, [rbp-104]
0040aac6lea rdx, [rax+25]
0040aacamov rax, [rbp-104]
0040aaceadd rax, 25
0040aad2movzx eax, [rax]
0040aad5mov ecx, eax
0040aad7mov eax, [rbp-64]
0040aadaor eax, ecx
0040aadcmov [rdx], al
0040aademov rax, [rbp-104]
0040aae2lea rdx, [rax+26]
0040aae6mov eax, [rbp-64]
0040aae9sar eax, 8
0040aaecmov [rdx], al
0040aaeemov rax, [rbp-104]
0040aaf2lea rdx, [rax+27]
0040aaf6mov eax, [rbp-64]
0040aaf9sar eax, 16
0040aafcmov [rdx], al
0040aafemov rax, [rbp-104]
0040ab02lea rdx, [rax+28]
0040ab06mov eax, [rbp-64]
0040ab09shr eax, 24
0040ab0cmov [rdx], al
0040ab0emov rax, [rbp-104]
0040ab12lea rdx, [rax+28]
0040ab16mov rax, [rbp-104]
0040ab1aadd rax, 28
0040ab1emovzx eax, [rax]
0040ab21mov ecx, eax
0040ab23mov eax, [rbp-60]
0040ab26or eax, ecx
0040ab28mov [rdx], al
0040ab2amov rax, [rbp-104]
0040ab2elea rdx, [rax+29]
0040ab32mov eax, [rbp-60]
0040ab35sar eax, 8
0040ab38mov [rdx], al
0040ab3amov rax, [rbp-104]
0040ab3elea rdx, [rax+30]
0040ab42mov eax, [rbp-60]
0040ab45sar eax, 16
0040ab48mov [rdx], al
0040ab4amov rax, [rbp-104]
0040ab4elea rdx, [rax+31]
0040ab52mov eax, [rbp-60]
0040ab55shr eax, 24
0040ab58mov [rdx], al
0040ab5aleave
0040ab5bret
0040a4af
0040ab5c
0040ab5cfmonty:
0040ab5cpush rbp
0040ab5dmov rbp, rsp
0040ab60sub rsp, 1328
0040ab67mov [rbp-1288], rdi
0040ab6emov [rbp-1296], rsi
0040ab75mov [rbp-1304], rdx
0040ab7cmov [rbp-1312], rcx
0040ab83mov [rbp-1320], r8
0040ab8amov [rbp-1328], r9
0040ab91mov rdx, [rbp-1320]
0040ab98lea rax, [rbp-80]
0040ab9cmov rcx, [rdx]
0040ab9fmov [rax], rcx
0040aba2mov rcx, [rdx+8]
0040aba6mov [rax+8], rcx
0040abaamov rcx, [rdx+16]
0040abaemov [rax+16], rcx
0040abb2mov rcx, [rdx+24]
0040abb6mov [rax+24], rcx
0040abbamov rcx, [rdx+32]
0040abbemov [rax+32], rcx
0040abc2mov rcx, [rdx+40]
0040abc6mov [rax+40], rcx
0040abcamov rcx, [rdx+48]
0040abcemov [rax+48], rcx
0040abd2mov rcx, [rdx+56]
0040abd6mov [rax+56], rcx
0040abdamov rcx, [rdx+64]
0040abdemov [rax+64], rcx
0040abe2mov rdx, [rdx+72]
0040abe6mov [rax+72], rdx
0040abeamov rdx, [rbp-1328]
0040abf1mov rax, [rbp-1320]
0040abf8mov rsi, rdx
0040abfbmov rdi, rax
0040abfecall fsum
0040ac03lea rdx, [rbp-80]
0040ac07mov rax, [rbp-1328]
0040ac0emov rsi, rdx
0040ac11mov rdi, rax
0040ac14call fdifference
0040ac19mov rdx, [rbp+16]
0040ac1dlea rax, [rbp-160]
0040ac24mov rcx, [rdx]
0040ac27mov [rax], rcx
0040ac2amov rcx, [rdx+8]
0040ac2emov [rax+8], rcx
0040ac32mov rcx, [rdx+16]
0040ac36mov [rax+16], rcx
0040ac3amov rcx, [rdx+24]
0040ac3emov [rax+24], rcx
0040ac42mov rcx, [rdx+32]
0040ac46mov [rax+32], rcx
0040ac4amov rcx, [rdx+40]
0040ac4emov [rax+40], rcx
0040ac52mov rcx, [rdx+48]
0040ac56mov [rax+48], rcx
0040ac5amov rcx, [rdx+56]
0040ac5emov [rax+56], rcx
0040ac62mov rcx, [rdx+64]
0040ac66mov [rax+64], rcx
0040ac6amov rdx, [rdx+72]
0040ac6emov [rax+72], rdx
0040ac72mov rax, [rbp+24]
0040ac76mov rsi, rax
0040ac79mov rdi, [rbp+16]
0040ac7dcall fsum
0040ac82lea rdx, [rbp-160]
0040ac89mov rax, [rbp+24]
0040ac8dmov rsi, rdx
0040ac90mov rdi, rax
0040ac93call fdifference
0040ac98mov rdx, [rbp-1328]
0040ac9flea rax, [rbp-800]
0040aca6mov rsi, [rbp+16]
0040acaamov rdi, rax
0040acadcall fproduct
0040acb2mov rdx, [rbp+24]
0040acb6mov rcx, [rbp-1320]
0040acbdlea rax, [rbp-960]
0040acc4mov rsi, rcx
0040acc7mov rdi, rax
0040accacall fproduct
0040accflea rax, [rbp-800]
0040acd6mov rdi, rax
0040acd9call freduce_degree
0040acdelea rax, [rbp-800]
0040ace5mov rdi, rax
0040ace8call freduce_coefficients
0040acedlea rax, [rbp-960]
0040acf4mov rdi, rax
0040acf7call freduce_degree
0040acfclea rax, [rbp-960]
0040ad03mov rdi, rax
0040ad06call freduce_coefficients
0040ad0blea rax, [rbp-800]
0040ad12mov rdx, [rax]
0040ad15mov [rbp-160], rdx
0040ad1cmov rdx, [rax+8]
0040ad20mov [rbp-152], rdx
0040ad27mov rdx, [rax+16]
0040ad2bmov [rbp-144], rdx
0040ad32mov rdx, [rax+24]
0040ad36mov [rbp-136], rdx
0040ad3dmov rdx, [rax+32]
0040ad41mov [rbp-128], rdx
0040ad45mov rdx, [rax+40]
0040ad49mov [rbp-120], rdx
0040ad4dmov rdx, [rax+48]
0040ad51mov [rbp-112], rdx
0040ad55mov rdx, [rax+56]
0040ad59mov [rbp-104], rdx
0040ad5dmov rdx, [rax+64]
0040ad61mov [rbp-96], rdx
0040ad65mov rax, [rax+72]
0040ad69mov [rbp-88], rax
0040ad6dlea rdx, [rbp-960]
0040ad74lea rax, [rbp-800]
0040ad7bmov rsi, rdx
0040ad7emov rdi, rax
0040ad81call fsum
0040ad86lea rdx, [rbp-160]
0040ad8dlea rax, [rbp-960]
0040ad94mov rsi, rdx
0040ad97mov rdi, rax
0040ad9acall fdifference
0040ad9flea rdx, [rbp-800]
0040ada6lea rax, [rbp-1280]
0040adadmov rsi, rdx
0040adb0mov rdi, rax
0040adb3call fsquare
0040adb8lea rdx, [rbp-960]
0040adbflea rax, [rbp-1120]
0040adc6mov rsi, rdx
0040adc9mov rdi, rax
0040adcccall fsquare
0040add1mov rdx, [rbp+32]
0040add5lea rcx, [rbp-1120]
0040addclea rax, [rbp-960]
0040ade3mov rsi, rcx
0040ade6mov rdi, rax
0040ade9call fproduct
0040adeelea rax, [rbp-960]
0040adf5mov rdi, rax
0040adf8call freduce_degree
0040adfdlea rax, [rbp-960]
0040ae04mov rdi, rax
0040ae07call freduce_coefficients
0040ae0clea rdx, [rbp-1280]
0040ae13mov rax, [rbp-1304]
0040ae1amov rcx, [rdx]
0040ae1dmov [rax], rcx
0040ae20mov rcx, [rdx+8]
0040ae24mov [rax+8], rcx
0040ae28mov rcx, [rdx+16]
0040ae2cmov [rax+16], rcx
0040ae30mov rcx, [rdx+24]
0040ae34mov [rax+24], rcx
0040ae38mov rcx, [rdx+32]
0040ae3cmov [rax+32], rcx
0040ae40mov rcx, [rdx+40]
0040ae44mov [rax+40], rcx
0040ae48mov rcx, [rdx+48]
0040ae4cmov [rax+48], rcx
0040ae50mov rcx, [rdx+56]
0040ae54mov [rax+56], rcx
0040ae58mov rcx, [rdx+64]
0040ae5cmov [rax+64], rcx
0040ae60mov rdx, [rdx+72]
0040ae64mov [rax+72], rdx
0040ae68lea rdx, [rbp-960]
0040ae6fmov rax, [rbp-1312]
0040ae76mov rcx, [rdx]
0040ae79mov [rax], rcx
0040ae7cmov rcx, [rdx+8]
0040ae80mov [rax+8], rcx
0040ae84mov rcx, [rdx+16]
0040ae88mov [rax+16], rcx
0040ae8cmov rcx, [rdx+24]
0040ae90mov [rax+24], rcx
0040ae94mov rcx, [rdx+32]
0040ae98mov [rax+32], rcx
0040ae9cmov rcx, [rdx+40]
0040aea0mov [rax+40], rcx
0040aea4mov rcx, [rdx+48]
0040aea8mov [rax+48], rcx
0040aeacmov rcx, [rdx+56]
0040aeb0mov [rax+56], rcx
0040aeb4mov rcx, [rdx+64]
0040aeb8mov [rax+64], rcx
0040aebcmov rdx, [rdx+72]
0040aec0mov [rax+72], rdx
0040aec4mov rdx, [rbp-1320]
0040aecblea rax, [rbp-480]
0040aed2mov rsi, rdx
0040aed5mov rdi, rax
0040aed8call fsquare
0040aeddmov rdx, [rbp-1328]
0040aee4lea rax, [rbp-640]
0040aeebmov rsi, rdx
0040aeeemov rdi, rax
0040aef1call fsquare
0040aef6lea rdx, [rbp-640]
0040aefdlea rcx, [rbp-480]
0040af04mov rax, [rbp-1288]
0040af0bmov rsi, rcx
0040af0emov rdi, rax
0040af11call fproduct
0040af16mov rax, [rbp-1288]
0040af1dmov rdi, rax
0040af20call freduce_degree
0040af25mov rax, [rbp-1288]
0040af2cmov rdi, rax
0040af2fcall freduce_coefficients
0040af34lea rdx, [rbp-480]
0040af3blea rax, [rbp-640]
0040af42mov rsi, rdx
0040af45mov rdi, rax
0040af48call fdifference
0040af4dlea rax, [rbp-320]
0040af54add rax, 80
0040af58mov rsi, rax
0040af5bmov eax, 0
0040af60mov edx, 9
0040af65mov rdi, rsi
0040af68mov rcx, rdx
0040af6brep stosq [rdi], rax
0040af6elea rcx, [rbp-640]
0040af75lea rax, [rbp-320]
0040af7cmov edx, 0x1db41
0040af81mov rsi, rcx
0040af84mov rdi, rax
0040af87call fscalar_product
0040af8clea rax, [rbp-320]
0040af93mov rdi, rax
0040af96call freduce_coefficients
0040af9blea rdx, [rbp-480]
0040afa2lea rax, [rbp-320]
0040afa9mov rsi, rdx
0040afacmov rdi, rax
0040afafcall fsum
0040afb4lea rdx, [rbp-320]
0040afbblea rcx, [rbp-640]
0040afc2mov rax, [rbp-1296]
0040afc9mov rsi, rcx
0040afccmov rdi, rax
0040afcfcall fproduct
0040afd4mov rax, [rbp-1296]
0040afdbmov rdi, rax
0040afdecall freduce_degree
0040afe3mov rax, [rbp-1296]
0040afeamov rdi, rax
0040afedcall freduce_coefficients
0040aff2leave
0040aff3ret
0040ab5c
0040ab5cfmonty:
0040ab5cpush rbp
0040ab5dmov rbp, rsp
0040ab60sub rsp, 1328
0040ab67mov [rbp-1288], rdi
0040ab6emov [rbp-1296], rsi
0040ab75mov [rbp-1304], rdx
0040ab7cmov [rbp-1312], rcx
0040ab83mov [rbp-1320], r8
0040ab8amov [rbp-1328], r9
0040ab91mov rdx, [rbp-1320]
0040ab98lea rax, [rbp-80]
0040ab9cmov rcx, [rdx]
0040ab9fmov [rax], rcx
0040aba2mov rcx, [rdx+8]
0040aba6mov [rax+8], rcx
0040abaamov rcx, [rdx+16]
0040abaemov [rax+16], rcx
0040abb2mov rcx, [rdx+24]
0040abb6mov [rax+24], rcx
0040abbamov rcx, [rdx+32]
0040abbemov [rax+32], rcx
0040abc2mov rcx, [rdx+40]
0040abc6mov [rax+40], rcx
0040abcamov rcx, [rdx+48]
0040abcemov [rax+48], rcx
0040abd2mov rcx, [rdx+56]
0040abd6mov [rax+56], rcx
0040abdamov rcx, [rdx+64]
0040abdemov [rax+64], rcx
0040abe2mov rdx, [rdx+72]
0040abe6mov [rax+72], rdx
0040abeamov rdx, [rbp-1328]
0040abf1mov rax, [rbp-1320]
0040abf8mov rsi, rdx
0040abfbmov rdi, rax
0040abfecall fsum
0040ac03lea rdx, [rbp-80]
0040ac07mov rax, [rbp-1328]
0040ac0emov rsi, rdx
0040ac11mov rdi, rax
0040ac14call fdifference
0040ac19mov rdx, [rbp+16]
0040ac1dlea rax, [rbp-160]
0040ac24mov rcx, [rdx]
0040ac27mov [rax], rcx
0040ac2amov rcx, [rdx+8]
0040ac2emov [rax+8], rcx
0040ac32mov rcx, [rdx+16]
0040ac36mov [rax+16], rcx
0040ac3amov rcx, [rdx+24]
0040ac3emov [rax+24], rcx
0040ac42mov rcx, [rdx+32]
0040ac46mov [rax+32], rcx
0040ac4amov rcx, [rdx+40]
0040ac4emov [rax+40], rcx
0040ac52mov rcx, [rdx+48]
0040ac56mov [rax+48], rcx
0040ac5amov rcx, [rdx+56]
0040ac5emov [rax+56], rcx
0040ac62mov rcx, [rdx+64]
0040ac66mov [rax+64], rcx
0040ac6amov rdx, [rdx+72]
0040ac6emov [rax+72], rdx
0040ac72mov rax, [rbp+24]
0040ac76mov rsi, rax
0040ac79mov rdi, [rbp+16]
0040ac7dcall fsum
0040ac82lea rdx, [rbp-160]
0040ac89mov rax, [rbp+24]
0040ac8dmov rsi, rdx
0040ac90mov rdi, rax
0040ac93call fdifference
0040ac98mov rdx, [rbp-1328]
0040ac9flea rax, [rbp-800]
0040aca6mov rsi, [rbp+16]
0040acaamov rdi, rax
0040acadcall fproduct
0040acb2mov rdx, [rbp+24]
0040acb6mov rcx, [rbp-1320]
0040acbdlea rax, [rbp-960]
0040acc4mov rsi, rcx
0040acc7mov rdi, rax
0040accacall fproduct
0040accflea rax, [rbp-800]
0040acd6mov rdi, rax
0040acd9call freduce_degree
0040acdelea rax, [rbp-800]
0040ace5mov rdi, rax
0040ace8call freduce_coefficients
0040acedlea rax, [rbp-960]
0040acf4mov rdi, rax
0040acf7call freduce_degree
0040acfclea rax, [rbp-960]
0040ad03mov rdi, rax
0040ad06call freduce_coefficients
0040ad0blea rax, [rbp-800]
0040ad12mov rdx, [rax]
0040ad15mov [rbp-160], rdx
0040ad1cmov rdx, [rax+8]
0040ad20mov [rbp-152], rdx
0040ad27mov rdx, [rax+16]
0040ad2bmov [rbp-144], rdx
0040ad32mov rdx, [rax+24]
0040ad36mov [rbp-136], rdx
0040ad3dmov rdx, [rax+32]
0040ad41mov [rbp-128], rdx
0040ad45mov rdx, [rax+40]
0040ad49mov [rbp-120], rdx
0040ad4dmov rdx, [rax+48]
0040ad51mov [rbp-112], rdx
0040ad55mov rdx, [rax+56]
0040ad59mov [rbp-104], rdx
0040ad5dmov rdx, [rax+64]
0040ad61mov [rbp-96], rdx
0040ad65mov rax, [rax+72]
0040ad69mov [rbp-88], rax
0040ad6dlea rdx, [rbp-960]
0040ad74lea rax, [rbp-800]
0040ad7bmov rsi, rdx
0040ad7emov rdi, rax
0040ad81call fsum
0040ad86lea rdx, [rbp-160]
0040ad8dlea rax, [rbp-960]
0040ad94mov rsi, rdx
0040ad97mov rdi, rax
0040ad9acall fdifference
0040ad9flea rdx, [rbp-800]
0040ada6lea rax, [rbp-1280]
0040adadmov rsi, rdx
0040adb0mov rdi, rax
0040adb3call fsquare
0040adb8lea rdx, [rbp-960]
0040adbflea rax, [rbp-1120]
0040adc6mov rsi, rdx
0040adc9mov rdi, rax
0040adcccall fsquare
0040add1mov rdx, [rbp+32]
0040add5lea rcx, [rbp-1120]
0040addclea rax, [rbp-960]
0040ade3mov rsi, rcx
0040ade6mov rdi, rax
0040ade9call fproduct
0040adeelea rax, [rbp-960]
0040adf5mov rdi, rax
0040adf8call freduce_degree
0040adfdlea rax, [rbp-960]
0040ae04mov rdi, rax
0040ae07call freduce_coefficients
0040ae0clea rdx, [rbp-1280]
0040ae13mov rax, [rbp-1304]
0040ae1amov rcx, [rdx]
0040ae1dmov [rax], rcx
0040ae20mov rcx, [rdx+8]
0040ae24mov [rax+8], rcx
0040ae28mov rcx, [rdx+16]
0040ae2cmov [rax+16], rcx
0040ae30mov rcx, [rdx+24]
0040ae34mov [rax+24], rcx
0040ae38mov rcx, [rdx+32]
0040ae3cmov [rax+32], rcx
0040ae40mov rcx, [rdx+40]
0040ae44mov [rax+40], rcx
0040ae48mov rcx, [rdx+48]
0040ae4cmov [rax+48], rcx
0040ae50mov rcx, [rdx+56]
0040ae54mov [rax+56], rcx
0040ae58mov rcx, [rdx+64]
0040ae5cmov [rax+64], rcx
0040ae60mov rdx, [rdx+72]
0040ae64mov [rax+72], rdx
0040ae68lea rdx, [rbp-960]
0040ae6fmov rax, [rbp-1312]
0040ae76mov rcx, [rdx]
0040ae79mov [rax], rcx
0040ae7cmov rcx, [rdx+8]
0040ae80mov [rax+8], rcx
0040ae84mov rcx, [rdx+16]
0040ae88mov [rax+16], rcx
0040ae8cmov rcx, [rdx+24]
0040ae90mov [rax+24], rcx
0040ae94mov rcx, [rdx+32]
0040ae98mov [rax+32], rcx
0040ae9cmov rcx, [rdx+40]
0040aea0mov [rax+40], rcx
0040aea4mov rcx, [rdx+48]
0040aea8mov [rax+48], rcx
0040aeacmov rcx, [rdx+56]
0040aeb0mov [rax+56], rcx
0040aeb4mov rcx, [rdx+64]
0040aeb8mov [rax+64], rcx
0040aebcmov rdx, [rdx+72]
0040aec0mov [rax+72], rdx
0040aec4mov rdx, [rbp-1320]
0040aecblea rax, [rbp-480]
0040aed2mov rsi, rdx
0040aed5mov rdi, rax
0040aed8call fsquare
0040aeddmov rdx, [rbp-1328]
0040aee4lea rax, [rbp-640]
0040aeebmov rsi, rdx
0040aeeemov rdi, rax
0040aef1call fsquare
0040aef6lea rdx, [rbp-640]
0040aefdlea rcx, [rbp-480]
0040af04mov rax, [rbp-1288]
0040af0bmov rsi, rcx
0040af0emov rdi, rax
0040af11call fproduct
0040af16mov rax, [rbp-1288]
0040af1dmov rdi, rax
0040af20call freduce_degree
0040af25mov rax, [rbp-1288]
0040af2cmov rdi, rax
0040af2fcall freduce_coefficients
0040af34lea rdx, [rbp-480]
0040af3blea rax, [rbp-640]
0040af42mov rsi, rdx
0040af45mov rdi, rax
0040af48call fdifference
0040af4dlea rax, [rbp-320]
0040af54add rax, 80
0040af58mov rsi, rax
0040af5bmov eax, 0
0040af60mov edx, 9
0040af65mov rdi, rsi
0040af68mov rcx, rdx
0040af6brep stosq [rdi], rax
0040af6elea rcx, [rbp-640]
0040af75lea rax, [rbp-320]
0040af7cmov edx, 0x1db41
0040af81mov rsi, rcx
0040af84mov rdi, rax
0040af87call fscalar_product
0040af8clea rax, [rbp-320]
0040af93mov rdi, rax
0040af96call freduce_coefficients
0040af9blea rdx, [rbp-480]
0040afa2lea rax, [rbp-320]
0040afa9mov rsi, rdx
0040afacmov rdi, rax
0040afafcall fsum
0040afb4lea rdx, [rbp-320]
0040afbblea rcx, [rbp-640]
0040afc2mov rax, [rbp-1296]
0040afc9mov rsi, rcx
0040afccmov rdi, rax
0040afcfcall fproduct
0040afd4mov rax, [rbp-1296]
0040afdbmov rdi, rax
0040afdecall freduce_degree
0040afe3mov rax, [rbp-1296]
0040afeamov rdi, rax
0040afedcall freduce_coefficients
0040aff2leave
0040aff3ret
0040ab5c
0040aff4
0040aff4swap_conditional:
0040aff4push rbp
0040aff5mov rbp, rsp
0040aff8mov [rbp-24], rdi
0040affcmov [rbp-32], rsi
0040b000mov [rbp-40], rdx
0040b004mov rax, [rbp-40]
0040b008neg eax
0040b00amov [rbp-8], eax
0040b00dmov [rbp-4], 0
0040b014jmp 0x40b084
0040b016
0040b016loc_40b016:
0040b016mov eax, [rbp-4]
0040b019shl rax, 3
0040b01dadd rax, [rbp-24]
0040b021mov rax, [rax]
0040b024mov edx, eax
0040b026mov eax, [rbp-4]
0040b029shl rax, 3
0040b02dadd rax, [rbp-32]
0040b031mov rax, [rax]
0040b034xor eax, edx
0040b036and eax, [rbp-8]
0040b039mov [rbp-12], eax
0040b03cmov eax, [rbp-4]
0040b03fshl rax, 3
0040b043add rax, [rbp-24]
0040b047mov edx, [rbp-4]
0040b04ashl rdx, 3
0040b04eadd rdx, [rbp-24]
0040b052mov rdx, [rdx]
0040b055xor edx, [rbp-12]
0040b058movsxd rdx, edx
0040b05bmov [rax], rdx
0040b05emov eax, [rbp-4]
0040b061shl rax, 3
0040b065add rax, [rbp-32]
0040b069mov edx, [rbp-4]
0040b06cshl rdx, 3
0040b070add rdx, [rbp-32]
0040b074mov rdx, [rdx]
0040b077xor edx, [rbp-12]
0040b07amovsxd rdx, edx
0040b07dmov [rax], rdx
0040b080add [rbp-4], 1
0040b084
0040b084loc_40b084:
0040b084cmp [rbp-4], 9
0040b088jbe 0x40b016
0040b08apop rbp
0040b08bret
0040aff4
0040aff4swap_conditional:
0040aff4push rbp
0040aff5mov rbp, rsp
0040aff8mov [rbp-24], rdi
0040affcmov [rbp-32], rsi
0040b000mov [rbp-40], rdx
0040b004mov rax, [rbp-40]
0040b008neg eax
0040b00amov [rbp-8], eax
0040b00dmov [rbp-4], 0
0040b014jmp 0x40b084
0040b016
0040b016loc_40b016:
0040b016mov eax, [rbp-4]
0040b019shl rax, 3
0040b01dadd rax, [rbp-24]
0040b021mov rax, [rax]
0040b024mov edx, eax
0040b026mov eax, [rbp-4]
0040b029shl rax, 3
0040b02dadd rax, [rbp-32]
0040b031mov rax, [rax]
0040b034xor eax, edx
0040b036and eax, [rbp-8]
0040b039mov [rbp-12], eax
0040b03cmov eax, [rbp-4]
0040b03fshl rax, 3
0040b043add rax, [rbp-24]
0040b047mov edx, [rbp-4]
0040b04ashl rdx, 3
0040b04eadd rdx, [rbp-24]
0040b052mov rdx, [rdx]
0040b055xor edx, [rbp-12]
0040b058movsxd rdx, edx
0040b05bmov [rax], rdx
0040b05emov eax, [rbp-4]
0040b061shl rax, 3
0040b065add rax, [rbp-32]
0040b069mov edx, [rbp-4]
0040b06cshl rdx, 3
0040b070add rdx, [rbp-32]
0040b074mov rdx, [rdx]
0040b077xor edx, [rbp-12]
0040b07amovsxd rdx, edx
0040b07dmov [rax], rdx
0040b080add [rbp-4], 1
0040b084
0040b084loc_40b084:
0040b084cmp [rbp-4], 9
0040b088jbe 0x40b016
0040b08apop rbp
0040b08bret
0040aff4
0040b08c
0040b08ccmult:
0040b08cpush rbp
0040b08dmov rbp, rsp
0040b090sub rsp, 1432
0040b097mov [rbp-1384], rdi
0040b09emov [rbp-1392], rsi
0040b0a5mov [rbp-1400], rdx
0040b0acmov [rbp-1408], rcx
0040b0b3lea rsi, [rbp-256]
0040b0bamov eax, 0
0040b0bfmov edx, 19
0040b0c4mov rdi, rsi
0040b0c7mov rcx, rdx
0040b0carep stosq [rdi], rax
0040b0cdlea rsi, [rbp-416]
0040b0d4mov eax, 0
0040b0d9mov edx, 19
0040b0demov rdi, rsi
0040b0e1mov rcx, rdx
0040b0e4rep stosq [rdi], rax
0040b0e7mov [rbp-416], 1
0040b0f2lea rsi, [rbp-576]
0040b0f9mov eax, 0
0040b0femov edx, 19
0040b103mov rdi, rsi
0040b106mov rcx, rdx
0040b109rep stosq [rdi], rax
0040b10cmov [rbp-576], 1
0040b117lea rsi, [rbp-736]
0040b11emov eax, 0
0040b123mov edx, 19
0040b128mov rdi, rsi
0040b12bmov rcx, rdx
0040b12erep stosq [rdi], rax
0040b131lea rax, [rbp-256]
0040b138mov [rbp-8], rax
0040b13clea rax, [rbp-416]
0040b143mov [rbp-16], rax
0040b147lea rax, [rbp-576]
0040b14emov [rbp-24], rax
0040b152lea rax, [rbp-736]
0040b159mov [rbp-32], rax
0040b15dlea rsi, [rbp-896]
0040b164mov eax, 0
0040b169mov edx, 19
0040b16emov rdi, rsi
0040b171mov rcx, rdx
0040b174rep stosq [rdi], rax
0040b177lea rsi, [rbp-1056]
0040b17emov eax, 0
0040b183mov edx, 19
0040b188mov rdi, rsi
0040b18bmov rcx, rdx
0040b18erep stosq [rdi], rax
0040b191mov [rbp-1056], 1
0040b19clea rsi, [rbp-1216]
0040b1a3mov eax, 0
0040b1a8mov edx, 19
0040b1admov rdi, rsi
0040b1b0mov rcx, rdx
0040b1b3rep stosq [rdi], rax
0040b1b6lea rsi, [rbp-1376]
0040b1bdmov eax, 0
0040b1c2mov edx, 19
0040b1c7mov rdi, rsi
0040b1camov rcx, rdx
0040b1cdrep stosq [rdi], rax
0040b1d0mov [rbp-1376], 1
0040b1dblea rax, [rbp-896]
0040b1e2mov [rbp-40], rax
0040b1e6lea rax, [rbp-1056]
0040b1edmov [rbp-48], rax
0040b1f1lea rax, [rbp-1216]
0040b1f8mov [rbp-56], rax
0040b1fclea rax, [rbp-1376]
0040b203mov [rbp-64], rax
0040b207mov rdx, [rbp-1408]
0040b20emov rax, [rbp-8]
0040b212mov rcx, [rdx]
0040b215mov [rax], rcx
0040b218mov rcx, [rdx+8]
0040b21cmov [rax+8], rcx
0040b220mov rcx, [rdx+16]
0040b224mov [rax+16], rcx
0040b228mov rcx, [rdx+24]
0040b22cmov [rax+24], rcx
0040b230mov rcx, [rdx+32]
0040b234mov [rax+32], rcx
0040b238mov rcx, [rdx+40]
0040b23cmov [rax+40], rcx
0040b240mov rcx, [rdx+48]
0040b244mov [rax+48], rcx
0040b248mov rcx, [rdx+56]
0040b24cmov [rax+56], rcx
0040b250mov rcx, [rdx+64]
0040b254mov [rax+64], rcx
0040b258mov rdx, [rdx+72]
0040b25cmov [rax+72], rdx
0040b260mov [rbp-68], 0
0040b267jmp 0x40b3ab
0040b26c
0040b26cloc_40b26c:
0040b26cmov eax, 31
0040b271sub eax, [rbp-68]
0040b274mov eax, eax
0040b276add rax, [rbp-1400]
0040b27dmovzx eax, [rax]
0040b280mov [rbp-73], al
0040b283mov [rbp-72], 0
0040b28ajmp 0x40b39d
0040b28f
0040b28floc_40b28f:
0040b28fmovzx eax, [rbp-73]
0040b293shr al, 7
0040b296movzx eax, al
0040b299mov [rbp-88], rax
0040b29dmov rdx, [rbp-88]
0040b2a1mov rcx, [rbp-8]
0040b2a5mov rax, [rbp-24]
0040b2a9mov rsi, rcx
0040b2acmov rdi, rax
0040b2afcall swap_conditional
0040b2b4mov rdx, [rbp-88]
0040b2b8mov rcx, [rbp-16]
0040b2bcmov rax, [rbp-32]
0040b2c0mov rsi, rcx
0040b2c3mov rdi, rax
0040b2c6call swap_conditional
0040b2cbmov r9, [rbp-32]
0040b2cfmov r8, [rbp-24]
0040b2d3mov rcx, [rbp-48]
0040b2d7mov rdx, [rbp-40]
0040b2dbmov rsi, [rbp-64]
0040b2dfmov rax, [rbp-56]
0040b2e3mov rdi, [rbp-1408]
0040b2eamov [rsp+16], rdi
0040b2efmov rdi, [rbp-16]
0040b2f3mov [rsp+8], rdi
0040b2f8mov rdi, [rbp-8]
0040b2fcmov [rsp], rdi
0040b300mov rdi, rax
0040b303call fmonty
0040b308mov rdx, [rbp-88]
0040b30cmov rcx, [rbp-40]
0040b310mov rax, [rbp-56]
0040b314mov rsi, rcx
0040b317mov rdi, rax
0040b31acall swap_conditional
0040b31fmov rdx, [rbp-88]
0040b323mov rcx, [rbp-48]
0040b327mov rax, [rbp-64]
0040b32bmov rsi, rcx
0040b32emov rdi, rax
0040b331call swap_conditional
0040b336mov rax, [rbp-24]
0040b33amov [rbp-96], rax
0040b33emov rax, [rbp-56]
0040b342mov [rbp-24], rax
0040b346mov rax, [rbp-96]
0040b34amov [rbp-56], rax
0040b34emov rax, [rbp-32]
0040b352mov [rbp-96], rax
0040b356mov rax, [rbp-64]
0040b35amov [rbp-32], rax
0040b35emov rax, [rbp-96]
0040b362mov [rbp-64], rax
0040b366mov rax, [rbp-8]
0040b36amov [rbp-96], rax
0040b36emov rax, [rbp-40]
0040b372mov [rbp-8], rax
0040b376mov rax, [rbp-96]
0040b37amov [rbp-40], rax
0040b37emov rax, [rbp-16]
0040b382mov [rbp-96], rax
0040b386mov rax, [rbp-48]
0040b38amov [rbp-16], rax
0040b38emov rax, [rbp-96]
0040b392mov [rbp-48], rax
0040b396shl [rbp-73], 1
0040b399add [rbp-72], 1
0040b39d
0040b39dloc_40b39d:
0040b39dcmp [rbp-72], 7
0040b3a1jbe 0x40b28f
0040b3a7add [rbp-68], 1
0040b3ab
0040b3abloc_40b3ab:
0040b3abcmp [rbp-68], 31
0040b3afjbe 0x40b26c
0040b3b5mov rdx, [rbp-24]
0040b3b9mov rax, [rbp-1384]
0040b3c0mov rcx, [rdx]
0040b3c3mov [rax], rcx
0040b3c6mov rcx, [rdx+8]
0040b3camov [rax+8], rcx
0040b3cemov rcx, [rdx+16]
0040b3d2mov [rax+16], rcx
0040b3d6mov rcx, [rdx+24]
0040b3damov [rax+24], rcx
0040b3demov rcx, [rdx+32]
0040b3e2mov [rax+32], rcx
0040b3e6mov rcx, [rdx+40]
0040b3eamov [rax+40], rcx
0040b3eemov rcx, [rdx+48]
0040b3f2mov [rax+48], rcx
0040b3f6mov rcx, [rdx+56]
0040b3famov [rax+56], rcx
0040b3femov rcx, [rdx+64]
0040b402mov [rax+64], rcx
0040b406mov rdx, [rdx+72]
0040b40amov [rax+72], rdx
0040b40emov rdx, [rbp-32]
0040b412mov rax, [rbp-1392]
0040b419mov rcx, [rdx]
0040b41cmov [rax], rcx
0040b41fmov rcx, [rdx+8]
0040b423mov [rax+8], rcx
0040b427mov rcx, [rdx+16]
0040b42bmov [rax+16], rcx
0040b42fmov rcx, [rdx+24]
0040b433mov [rax+24], rcx
0040b437mov rcx, [rdx+32]
0040b43bmov [rax+32], rcx
0040b43fmov rcx, [rdx+40]
0040b443mov [rax+40], rcx
0040b447mov rcx, [rdx+48]
0040b44bmov [rax+48], rcx
0040b44fmov rcx, [rdx+56]
0040b453mov [rax+56], rcx
0040b457mov rcx, [rdx+64]
0040b45bmov [rax+64], rcx
0040b45fmov rdx, [rdx+72]
0040b463mov [rax+72], rdx
0040b467leave
0040b468ret
0040b08c
0040b08ccmult:
0040b08cpush rbp
0040b08dmov rbp, rsp
0040b090sub rsp, 1432
0040b097mov [rbp-1384], rdi
0040b09emov [rbp-1392], rsi
0040b0a5mov [rbp-1400], rdx
0040b0acmov [rbp-1408], rcx
0040b0b3lea rsi, [rbp-256]
0040b0bamov eax, 0
0040b0bfmov edx, 19
0040b0c4mov rdi, rsi
0040b0c7mov rcx, rdx
0040b0carep stosq [rdi], rax
0040b0cdlea rsi, [rbp-416]
0040b0d4mov eax, 0
0040b0d9mov edx, 19
0040b0demov rdi, rsi
0040b0e1mov rcx, rdx
0040b0e4rep stosq [rdi], rax
0040b0e7mov [rbp-416], 1
0040b0f2lea rsi, [rbp-576]
0040b0f9mov eax, 0
0040b0femov edx, 19
0040b103mov rdi, rsi
0040b106mov rcx, rdx
0040b109rep stosq [rdi], rax
0040b10cmov [rbp-576], 1
0040b117lea rsi, [rbp-736]
0040b11emov eax, 0
0040b123mov edx, 19
0040b128mov rdi, rsi
0040b12bmov rcx, rdx
0040b12erep stosq [rdi], rax
0040b131lea rax, [rbp-256]
0040b138mov [rbp-8], rax
0040b13clea rax, [rbp-416]
0040b143mov [rbp-16], rax
0040b147lea rax, [rbp-576]
0040b14emov [rbp-24], rax
0040b152lea rax, [rbp-736]
0040b159mov [rbp-32], rax
0040b15dlea rsi, [rbp-896]
0040b164mov eax, 0
0040b169mov edx, 19
0040b16emov rdi, rsi
0040b171mov rcx, rdx
0040b174rep stosq [rdi], rax
0040b177lea rsi, [rbp-1056]
0040b17emov eax, 0
0040b183mov edx, 19
0040b188mov rdi, rsi
0040b18bmov rcx, rdx
0040b18erep stosq [rdi], rax
0040b191mov [rbp-1056], 1
0040b19clea rsi, [rbp-1216]
0040b1a3mov eax, 0
0040b1a8mov edx, 19
0040b1admov rdi, rsi
0040b1b0mov rcx, rdx
0040b1b3rep stosq [rdi], rax
0040b1b6lea rsi, [rbp-1376]
0040b1bdmov eax, 0
0040b1c2mov edx, 19
0040b1c7mov rdi, rsi
0040b1camov rcx, rdx
0040b1cdrep stosq [rdi], rax
0040b1d0mov [rbp-1376], 1
0040b1dblea rax, [rbp-896]
0040b1e2mov [rbp-40], rax
0040b1e6lea rax, [rbp-1056]
0040b1edmov [rbp-48], rax
0040b1f1lea rax, [rbp-1216]
0040b1f8mov [rbp-56], rax
0040b1fclea rax, [rbp-1376]
0040b203mov [rbp-64], rax
0040b207mov rdx, [rbp-1408]
0040b20emov rax, [rbp-8]
0040b212mov rcx, [rdx]
0040b215mov [rax], rcx
0040b218mov rcx, [rdx+8]
0040b21cmov [rax+8], rcx
0040b220mov rcx, [rdx+16]
0040b224mov [rax+16], rcx
0040b228mov rcx, [rdx+24]
0040b22cmov [rax+24], rcx
0040b230mov rcx, [rdx+32]
0040b234mov [rax+32], rcx
0040b238mov rcx, [rdx+40]
0040b23cmov [rax+40], rcx
0040b240mov rcx, [rdx+48]
0040b244mov [rax+48], rcx
0040b248mov rcx, [rdx+56]
0040b24cmov [rax+56], rcx
0040b250mov rcx, [rdx+64]
0040b254mov [rax+64], rcx
0040b258mov rdx, [rdx+72]
0040b25cmov [rax+72], rdx
0040b260mov [rbp-68], 0
0040b267jmp 0x40b3ab
0040b26c
0040b26cloc_40b26c:
0040b26cmov eax, 31
0040b271sub eax, [rbp-68]
0040b274mov eax, eax
0040b276add rax, [rbp-1400]
0040b27dmovzx eax, [rax]
0040b280mov [rbp-73], al
0040b283mov [rbp-72], 0
0040b28ajmp 0x40b39d
0040b28f
0040b28floc_40b28f:
0040b28fmovzx eax, [rbp-73]
0040b293shr al, 7
0040b296movzx eax, al
0040b299mov [rbp-88], rax
0040b29dmov rdx, [rbp-88]
0040b2a1mov rcx, [rbp-8]
0040b2a5mov rax, [rbp-24]
0040b2a9mov rsi, rcx
0040b2acmov rdi, rax
0040b2afcall swap_conditional
0040b2b4mov rdx, [rbp-88]
0040b2b8mov rcx, [rbp-16]
0040b2bcmov rax, [rbp-32]
0040b2c0mov rsi, rcx
0040b2c3mov rdi, rax
0040b2c6call swap_conditional
0040b2cbmov r9, [rbp-32]
0040b2cfmov r8, [rbp-24]
0040b2d3mov rcx, [rbp-48]
0040b2d7mov rdx, [rbp-40]
0040b2dbmov rsi, [rbp-64]
0040b2dfmov rax, [rbp-56]
0040b2e3mov rdi, [rbp-1408]
0040b2eamov [rsp+16], rdi
0040b2efmov rdi, [rbp-16]
0040b2f3mov [rsp+8], rdi
0040b2f8mov rdi, [rbp-8]
0040b2fcmov [rsp], rdi
0040b300mov rdi, rax
0040b303call fmonty
0040b308mov rdx, [rbp-88]
0040b30cmov rcx, [rbp-40]
0040b310mov rax, [rbp-56]
0040b314mov rsi, rcx
0040b317mov rdi, rax
0040b31acall swap_conditional
0040b31fmov rdx, [rbp-88]
0040b323mov rcx, [rbp-48]
0040b327mov rax, [rbp-64]
0040b32bmov rsi, rcx
0040b32emov rdi, rax
0040b331call swap_conditional
0040b336mov rax, [rbp-24]
0040b33amov [rbp-96], rax
0040b33emov rax, [rbp-56]
0040b342mov [rbp-24], rax
0040b346mov rax, [rbp-96]
0040b34amov [rbp-56], rax
0040b34emov rax, [rbp-32]
0040b352mov [rbp-96], rax
0040b356mov rax, [rbp-64]
0040b35amov [rbp-32], rax
0040b35emov rax, [rbp-96]
0040b362mov [rbp-64], rax
0040b366mov rax, [rbp-8]
0040b36amov [rbp-96], rax
0040b36emov rax, [rbp-40]
0040b372mov [rbp-8], rax
0040b376mov rax, [rbp-96]
0040b37amov [rbp-40], rax
0040b37emov rax, [rbp-16]
0040b382mov [rbp-96], rax
0040b386mov rax, [rbp-48]
0040b38amov [rbp-16], rax
0040b38emov rax, [rbp-96]
0040b392mov [rbp-48], rax
0040b396shl [rbp-73], 1
0040b399add [rbp-72], 1
0040b39d
0040b39dloc_40b39d:
0040b39dcmp [rbp-72], 7
0040b3a1jbe 0x40b28f
0040b3a7add [rbp-68], 1
0040b3ab
0040b3abloc_40b3ab:
0040b3abcmp [rbp-68], 31
0040b3afjbe 0x40b26c
0040b3b5mov rdx, [rbp-24]
0040b3b9mov rax, [rbp-1384]
0040b3c0mov rcx, [rdx]
0040b3c3mov [rax], rcx
0040b3c6mov rcx, [rdx+8]
0040b3camov [rax+8], rcx
0040b3cemov rcx, [rdx+16]
0040b3d2mov [rax+16], rcx
0040b3d6mov rcx, [rdx+24]
0040b3damov [rax+24], rcx
0040b3demov rcx, [rdx+32]
0040b3e2mov [rax+32], rcx
0040b3e6mov rcx, [rdx+40]
0040b3eamov [rax+40], rcx
0040b3eemov rcx, [rdx+48]
0040b3f2mov [rax+48], rcx
0040b3f6mov rcx, [rdx+56]
0040b3famov [rax+56], rcx
0040b3femov rcx, [rdx+64]
0040b402mov [rax+64], rcx
0040b406mov rdx, [rdx+72]
0040b40amov [rax+72], rdx
0040b40emov rdx, [rbp-32]
0040b412mov rax, [rbp-1392]
0040b419mov rcx, [rdx]
0040b41cmov [rax], rcx
0040b41fmov rcx, [rdx+8]
0040b423mov [rax+8], rcx
0040b427mov rcx, [rdx+16]
0040b42bmov [rax+16], rcx
0040b42fmov rcx, [rdx+24]
0040b433mov [rax+24], rcx
0040b437mov rcx, [rdx+32]
0040b43bmov [rax+32], rcx
0040b43fmov rcx, [rdx+40]
0040b443mov [rax+40], rcx
0040b447mov rcx, [rdx+48]
0040b44bmov [rax+48], rcx
0040b44fmov rcx, [rdx+56]
0040b453mov [rax+56], rcx
0040b457mov rcx, [rdx+64]
0040b45bmov [rax+64], rcx
0040b45fmov rdx, [rdx+72]
0040b463mov [rax+72], rdx
0040b467leave
0040b468ret
0040b08c
0040b469
0040b469crecip:
0040b469push rbp
0040b46amov rbp, rsp
0040b46dsub rsp, 832
0040b474mov [rbp-824], rdi
0040b47bmov [rbp-832], rsi
0040b482mov rdx, [rbp-832]
0040b489lea rax, [rbp-96]
0040b48dmov rsi, rdx
0040b490mov rdi, rax
0040b493call fsquare
0040b498lea rdx, [rbp-96]
0040b49clea rax, [rbp-816]
0040b4a3mov rsi, rdx
0040b4a6mov rdi, rax
0040b4a9call fsquare
0040b4aelea rdx, [rbp-816]
0040b4b5lea rax, [rbp-736]
0040b4bcmov rsi, rdx
0040b4bfmov rdi, rax
0040b4c2call fsquare
0040b4c7mov rdx, [rbp-832]
0040b4celea rcx, [rbp-736]
0040b4d5lea rax, [rbp-176]
0040b4dcmov rsi, rcx
0040b4dfmov rdi, rax
0040b4e2call fmul
0040b4e7lea rdx, [rbp-96]
0040b4eblea rcx, [rbp-176]
0040b4f2lea rax, [rbp-256]
0040b4f9mov rsi, rcx
0040b4fcmov rdi, rax
0040b4ffcall fmul
0040b504lea rdx, [rbp-256]
0040b50blea rax, [rbp-736]
0040b512mov rsi, rdx
0040b515mov rdi, rax
0040b518call fsquare
0040b51dlea rdx, [rbp-176]
0040b524lea rcx, [rbp-736]
0040b52blea rax, [rbp-336]
0040b532mov rsi, rcx
0040b535mov rdi, rax
0040b538call fmul
0040b53dlea rdx, [rbp-336]
0040b544lea rax, [rbp-736]
0040b54bmov rsi, rdx
0040b54emov rdi, rax
0040b551call fsquare
0040b556lea rdx, [rbp-736]
0040b55dlea rax, [rbp-816]
0040b564mov rsi, rdx
0040b567mov rdi, rax
0040b56acall fsquare
0040b56flea rdx, [rbp-816]
0040b576lea rax, [rbp-736]
0040b57dmov rsi, rdx
0040b580mov rdi, rax
0040b583call fsquare
0040b588lea rdx, [rbp-736]
0040b58flea rax, [rbp-816]
0040b596mov rsi, rdx
0040b599mov rdi, rax
0040b59ccall fsquare
0040b5a1lea rdx, [rbp-816]
0040b5a8lea rax, [rbp-736]
0040b5afmov rsi, rdx
0040b5b2mov rdi, rax
0040b5b5call fsquare
0040b5balea rdx, [rbp-336]
0040b5c1lea rcx, [rbp-736]
0040b5c8lea rax, [rbp-416]
0040b5cfmov rsi, rcx
0040b5d2mov rdi, rax
0040b5d5call fmul
0040b5dalea rdx, [rbp-416]
0040b5e1lea rax, [rbp-736]
0040b5e8mov rsi, rdx
0040b5ebmov rdi, rax
0040b5eecall fsquare
0040b5f3lea rdx, [rbp-736]
0040b5falea rax, [rbp-816]
0040b601mov rsi, rdx
0040b604mov rdi, rax
0040b607call fsquare
0040b60cmov [rbp-4], 2
0040b613jmp 0x40b64b
0040b615
0040b615loc_40b615:
0040b615lea rdx, [rbp-816]
0040b61clea rax, [rbp-736]
0040b623mov rsi, rdx
0040b626mov rdi, rax
0040b629call fsquare
0040b62elea rdx, [rbp-736]
0040b635lea rax, [rbp-816]
0040b63cmov rsi, rdx
0040b63fmov rdi, rax
0040b642call fsquare
0040b647add [rbp-4], 2
0040b64b
0040b64bloc_40b64b:
0040b64bcmp [rbp-4], 9
0040b64fjle 0x40b615
0040b651lea rdx, [rbp-416]
0040b658lea rcx, [rbp-816]
0040b65flea rax, [rbp-496]
0040b666mov rsi, rcx
0040b669mov rdi, rax
0040b66ccall fmul
0040b671lea rdx, [rbp-496]
0040b678lea rax, [rbp-736]
0040b67fmov rsi, rdx
0040b682mov rdi, rax
0040b685call fsquare
0040b68alea rdx, [rbp-736]
0040b691lea rax, [rbp-816]
0040b698mov rsi, rdx
0040b69bmov rdi, rax
0040b69ecall fsquare
0040b6a3mov [rbp-4], 2
0040b6aajmp 0x40b6e2
0040b6ac
0040b6acloc_40b6ac:
0040b6aclea rdx, [rbp-816]
0040b6b3lea rax, [rbp-736]
0040b6bamov rsi, rdx
0040b6bdmov rdi, rax
0040b6c0call fsquare
0040b6c5lea rdx, [rbp-736]
0040b6cclea rax, [rbp-816]
0040b6d3mov rsi, rdx
0040b6d6mov rdi, rax
0040b6d9call fsquare
0040b6deadd [rbp-4], 2
0040b6e2
0040b6e2loc_40b6e2:
0040b6e2cmp [rbp-4], 19
0040b6e6jle 0x40b6ac
0040b6e8lea rdx, [rbp-496]
0040b6eflea rcx, [rbp-816]
0040b6f6lea rax, [rbp-736]
0040b6fdmov rsi, rcx
0040b700mov rdi, rax
0040b703call fmul
0040b708lea rdx, [rbp-736]
0040b70flea rax, [rbp-816]
0040b716mov rsi, rdx
0040b719mov rdi, rax
0040b71ccall fsquare
0040b721lea rdx, [rbp-816]
0040b728lea rax, [rbp-736]
0040b72fmov rsi, rdx
0040b732mov rdi, rax
0040b735call fsquare
0040b73amov [rbp-4], 2
0040b741jmp 0x40b779
0040b743
0040b743loc_40b743:
0040b743lea rdx, [rbp-736]
0040b74alea rax, [rbp-816]
0040b751mov rsi, rdx
0040b754mov rdi, rax
0040b757call fsquare
0040b75clea rdx, [rbp-816]
0040b763lea rax, [rbp-736]
0040b76amov rsi, rdx
0040b76dmov rdi, rax
0040b770call fsquare
0040b775add [rbp-4], 2
0040b779
0040b779loc_40b779:
0040b779cmp [rbp-4], 9
0040b77djle 0x40b743
0040b77flea rdx, [rbp-416]
0040b786lea rcx, [rbp-736]
0040b78dlea rax, [rbp-576]
0040b794mov rsi, rcx
0040b797mov rdi, rax
0040b79acall fmul
0040b79flea rdx, [rbp-576]
0040b7a6lea rax, [rbp-736]
0040b7admov rsi, rdx
0040b7b0mov rdi, rax
0040b7b3call fsquare
0040b7b8lea rdx, [rbp-736]
0040b7bflea rax, [rbp-816]
0040b7c6mov rsi, rdx
0040b7c9mov rdi, rax
0040b7cccall fsquare
0040b7d1mov [rbp-4], 2
0040b7d8jmp 0x40b810
0040b7da
0040b7daloc_40b7da:
0040b7dalea rdx, [rbp-816]
0040b7e1lea rax, [rbp-736]
0040b7e8mov rsi, rdx
0040b7ebmov rdi, rax
0040b7eecall fsquare
0040b7f3lea rdx, [rbp-736]
0040b7falea rax, [rbp-816]
0040b801mov rsi, rdx
0040b804mov rdi, rax
0040b807call fsquare
0040b80cadd [rbp-4], 2
0040b810
0040b810loc_40b810:
0040b810cmp [rbp-4], 49
0040b814jle 0x40b7da
0040b816lea rdx, [rbp-576]
0040b81dlea rcx, [rbp-816]
0040b824lea rax, [rbp-656]
0040b82bmov rsi, rcx
0040b82emov rdi, rax
0040b831call fmul
0040b836lea rdx, [rbp-656]
0040b83dlea rax, [rbp-816]
0040b844mov rsi, rdx
0040b847mov rdi, rax
0040b84acall fsquare
0040b84flea rdx, [rbp-816]
0040b856lea rax, [rbp-736]
0040b85dmov rsi, rdx
0040b860mov rdi, rax
0040b863call fsquare
0040b868mov [rbp-4], 2
0040b86fjmp 0x40b8a7
0040b871
0040b871loc_40b871:
0040b871lea rdx, [rbp-736]
0040b878lea rax, [rbp-816]
0040b87fmov rsi, rdx
0040b882mov rdi, rax
0040b885call fsquare
0040b88alea rdx, [rbp-816]
0040b891lea rax, [rbp-736]
0040b898mov rsi, rdx
0040b89bmov rdi, rax
0040b89ecall fsquare
0040b8a3add [rbp-4], 2
0040b8a7
0040b8a7loc_40b8a7:
0040b8a7cmp [rbp-4], 99
0040b8abjle 0x40b871
0040b8adlea rdx, [rbp-656]
0040b8b4lea rcx, [rbp-736]
0040b8bblea rax, [rbp-816]
0040b8c2mov rsi, rcx
0040b8c5mov rdi, rax
0040b8c8call fmul
0040b8cdlea rdx, [rbp-816]
0040b8d4lea rax, [rbp-736]
0040b8dbmov rsi, rdx
0040b8demov rdi, rax
0040b8e1call fsquare
0040b8e6lea rdx, [rbp-736]
0040b8edlea rax, [rbp-816]
0040b8f4mov rsi, rdx
0040b8f7mov rdi, rax
0040b8facall fsquare
0040b8ffmov [rbp-4], 2
0040b906jmp 0x40b93e
0040b908
0040b908loc_40b908:
0040b908lea rdx, [rbp-816]
0040b90flea rax, [rbp-736]
0040b916mov rsi, rdx
0040b919mov rdi, rax
0040b91ccall fsquare
0040b921lea rdx, [rbp-736]
0040b928lea rax, [rbp-816]
0040b92fmov rsi, rdx
0040b932mov rdi, rax
0040b935call fsquare
0040b93aadd [rbp-4], 2
0040b93e
0040b93eloc_40b93e:
0040b93ecmp [rbp-4], 49
0040b942jle 0x40b908
0040b944lea rdx, [rbp-576]
0040b94blea rcx, [rbp-816]
0040b952lea rax, [rbp-736]
0040b959mov rsi, rcx
0040b95cmov rdi, rax
0040b95fcall fmul
0040b964lea rdx, [rbp-736]
0040b96blea rax, [rbp-816]
0040b972mov rsi, rdx
0040b975mov rdi, rax
0040b978call fsquare
0040b97dlea rdx, [rbp-816]
0040b984lea rax, [rbp-736]
0040b98bmov rsi, rdx
0040b98emov rdi, rax
0040b991call fsquare
0040b996lea rdx, [rbp-736]
0040b99dlea rax, [rbp-816]
0040b9a4mov rsi, rdx
0040b9a7mov rdi, rax
0040b9aacall fsquare
0040b9aflea rdx, [rbp-816]
0040b9b6lea rax, [rbp-736]
0040b9bdmov rsi, rdx
0040b9c0mov rdi, rax
0040b9c3call fsquare
0040b9c8lea rdx, [rbp-736]
0040b9cflea rax, [rbp-816]
0040b9d6mov rsi, rdx
0040b9d9mov rdi, rax
0040b9dccall fsquare
0040b9e1lea rdx, [rbp-256]
0040b9e8lea rcx, [rbp-816]
0040b9efmov rax, [rbp-824]
0040b9f6mov rsi, rcx
0040b9f9mov rdi, rax
0040b9fccall fmul
0040ba01leave
0040ba02ret
0040b469
0040b469crecip:
0040b469push rbp
0040b46amov rbp, rsp
0040b46dsub rsp, 832
0040b474mov [rbp-824], rdi
0040b47bmov [rbp-832], rsi
0040b482mov rdx, [rbp-832]
0040b489lea rax, [rbp-96]
0040b48dmov rsi, rdx
0040b490mov rdi, rax
0040b493call fsquare
0040b498lea rdx, [rbp-96]
0040b49clea rax, [rbp-816]
0040b4a3mov rsi, rdx
0040b4a6mov rdi, rax
0040b4a9call fsquare
0040b4aelea rdx, [rbp-816]
0040b4b5lea rax, [rbp-736]
0040b4bcmov rsi, rdx
0040b4bfmov rdi, rax
0040b4c2call fsquare
0040b4c7mov rdx, [rbp-832]
0040b4celea rcx, [rbp-736]
0040b4d5lea rax, [rbp-176]
0040b4dcmov rsi, rcx
0040b4dfmov rdi, rax
0040b4e2call fmul
0040b4e7lea rdx, [rbp-96]
0040b4eblea rcx, [rbp-176]
0040b4f2lea rax, [rbp-256]
0040b4f9mov rsi, rcx
0040b4fcmov rdi, rax
0040b4ffcall fmul
0040b504lea rdx, [rbp-256]
0040b50blea rax, [rbp-736]
0040b512mov rsi, rdx
0040b515mov rdi, rax
0040b518call fsquare
0040b51dlea rdx, [rbp-176]
0040b524lea rcx, [rbp-736]
0040b52blea rax, [rbp-336]
0040b532mov rsi, rcx
0040b535mov rdi, rax
0040b538call fmul
0040b53dlea rdx, [rbp-336]
0040b544lea rax, [rbp-736]
0040b54bmov rsi, rdx
0040b54emov rdi, rax
0040b551call fsquare
0040b556lea rdx, [rbp-736]
0040b55dlea rax, [rbp-816]
0040b564mov rsi, rdx
0040b567mov rdi, rax
0040b56acall fsquare
0040b56flea rdx, [rbp-816]
0040b576lea rax, [rbp-736]
0040b57dmov rsi, rdx
0040b580mov rdi, rax
0040b583call fsquare
0040b588lea rdx, [rbp-736]
0040b58flea rax, [rbp-816]
0040b596mov rsi, rdx
0040b599mov rdi, rax
0040b59ccall fsquare
0040b5a1lea rdx, [rbp-816]
0040b5a8lea rax, [rbp-736]
0040b5afmov rsi, rdx
0040b5b2mov rdi, rax
0040b5b5call fsquare
0040b5balea rdx, [rbp-336]
0040b5c1lea rcx, [rbp-736]
0040b5c8lea rax, [rbp-416]
0040b5cfmov rsi, rcx
0040b5d2mov rdi, rax
0040b5d5call fmul
0040b5dalea rdx, [rbp-416]
0040b5e1lea rax, [rbp-736]
0040b5e8mov rsi, rdx
0040b5ebmov rdi, rax
0040b5eecall fsquare
0040b5f3lea rdx, [rbp-736]
0040b5falea rax, [rbp-816]
0040b601mov rsi, rdx
0040b604mov rdi, rax
0040b607call fsquare
0040b60cmov [rbp-4], 2
0040b613jmp 0x40b64b
0040b615
0040b615loc_40b615:
0040b615lea rdx, [rbp-816]
0040b61clea rax, [rbp-736]
0040b623mov rsi, rdx
0040b626mov rdi, rax
0040b629call fsquare
0040b62elea rdx, [rbp-736]
0040b635lea rax, [rbp-816]
0040b63cmov rsi, rdx
0040b63fmov rdi, rax
0040b642call fsquare
0040b647add [rbp-4], 2
0040b64b
0040b64bloc_40b64b:
0040b64bcmp [rbp-4], 9
0040b64fjle 0x40b615
0040b651lea rdx, [rbp-416]
0040b658lea rcx, [rbp-816]
0040b65flea rax, [rbp-496]
0040b666mov rsi, rcx
0040b669mov rdi, rax
0040b66ccall fmul
0040b671lea rdx, [rbp-496]
0040b678lea rax, [rbp-736]
0040b67fmov rsi, rdx
0040b682mov rdi, rax
0040b685call fsquare
0040b68alea rdx, [rbp-736]
0040b691lea rax, [rbp-816]
0040b698mov rsi, rdx
0040b69bmov rdi, rax
0040b69ecall fsquare
0040b6a3mov [rbp-4], 2
0040b6aajmp 0x40b6e2
0040b6ac
0040b6acloc_40b6ac:
0040b6aclea rdx, [rbp-816]
0040b6b3lea rax, [rbp-736]
0040b6bamov rsi, rdx
0040b6bdmov rdi, rax
0040b6c0call fsquare
0040b6c5lea rdx, [rbp-736]
0040b6cclea rax, [rbp-816]
0040b6d3mov rsi, rdx
0040b6d6mov rdi, rax
0040b6d9call fsquare
0040b6deadd [rbp-4], 2
0040b6e2
0040b6e2loc_40b6e2:
0040b6e2cmp [rbp-4], 19
0040b6e6jle 0x40b6ac
0040b6e8lea rdx, [rbp-496]
0040b6eflea rcx, [rbp-816]
0040b6f6lea rax, [rbp-736]
0040b6fdmov rsi, rcx
0040b700mov rdi, rax
0040b703call fmul
0040b708lea rdx, [rbp-736]
0040b70flea rax, [rbp-816]
0040b716mov rsi, rdx
0040b719mov rdi, rax
0040b71ccall fsquare
0040b721lea rdx, [rbp-816]
0040b728lea rax, [rbp-736]
0040b72fmov rsi, rdx
0040b732mov rdi, rax
0040b735call fsquare
0040b73amov [rbp-4], 2
0040b741jmp 0x40b779
0040b743
0040b743loc_40b743:
0040b743lea rdx, [rbp-736]
0040b74alea rax, [rbp-816]
0040b751mov rsi, rdx
0040b754mov rdi, rax
0040b757call fsquare
0040b75clea rdx, [rbp-816]
0040b763lea rax, [rbp-736]
0040b76amov rsi, rdx
0040b76dmov rdi, rax
0040b770call fsquare
0040b775add [rbp-4], 2
0040b779
0040b779loc_40b779:
0040b779cmp [rbp-4], 9
0040b77djle 0x40b743
0040b77flea rdx, [rbp-416]
0040b786lea rcx, [rbp-736]
0040b78dlea rax, [rbp-576]
0040b794mov rsi, rcx
0040b797mov rdi, rax
0040b79acall fmul
0040b79flea rdx, [rbp-576]
0040b7a6lea rax, [rbp-736]
0040b7admov rsi, rdx
0040b7b0mov rdi, rax
0040b7b3call fsquare
0040b7b8lea rdx, [rbp-736]
0040b7bflea rax, [rbp-816]
0040b7c6mov rsi, rdx
0040b7c9mov rdi, rax
0040b7cccall fsquare
0040b7d1mov [rbp-4], 2
0040b7d8jmp 0x40b810
0040b7da
0040b7daloc_40b7da:
0040b7dalea rdx, [rbp-816]
0040b7e1lea rax, [rbp-736]
0040b7e8mov rsi, rdx
0040b7ebmov rdi, rax
0040b7eecall fsquare
0040b7f3lea rdx, [rbp-736]
0040b7falea rax, [rbp-816]
0040b801mov rsi, rdx
0040b804mov rdi, rax
0040b807call fsquare
0040b80cadd [rbp-4], 2
0040b810
0040b810loc_40b810:
0040b810cmp [rbp-4], 49
0040b814jle 0x40b7da
0040b816lea rdx, [rbp-576]
0040b81dlea rcx, [rbp-816]
0040b824lea rax, [rbp-656]
0040b82bmov rsi, rcx
0040b82emov rdi, rax
0040b831call fmul
0040b836lea rdx, [rbp-656]
0040b83dlea rax, [rbp-816]
0040b844mov rsi, rdx
0040b847mov rdi, rax
0040b84acall fsquare
0040b84flea rdx, [rbp-816]
0040b856lea rax, [rbp-736]
0040b85dmov rsi, rdx
0040b860mov rdi, rax
0040b863call fsquare
0040b868mov [rbp-4], 2
0040b86fjmp 0x40b8a7
0040b871
0040b871loc_40b871:
0040b871lea rdx, [rbp-736]
0040b878lea rax, [rbp-816]
0040b87fmov rsi, rdx
0040b882mov rdi, rax
0040b885call fsquare
0040b88alea rdx, [rbp-816]
0040b891lea rax, [rbp-736]
0040b898mov rsi, rdx
0040b89bmov rdi, rax
0040b89ecall fsquare
0040b8a3add [rbp-4], 2
0040b8a7
0040b8a7loc_40b8a7:
0040b8a7cmp [rbp-4], 99
0040b8abjle 0x40b871
0040b8adlea rdx, [rbp-656]
0040b8b4lea rcx, [rbp-736]
0040b8bblea rax, [rbp-816]
0040b8c2mov rsi, rcx
0040b8c5mov rdi, rax
0040b8c8call fmul
0040b8cdlea rdx, [rbp-816]
0040b8d4lea rax, [rbp-736]
0040b8dbmov rsi, rdx
0040b8demov rdi, rax
0040b8e1call fsquare
0040b8e6lea rdx, [rbp-736]
0040b8edlea rax, [rbp-816]
0040b8f4mov rsi, rdx
0040b8f7mov rdi, rax
0040b8facall fsquare
0040b8ffmov [rbp-4], 2
0040b906jmp 0x40b93e
0040b908
0040b908loc_40b908:
0040b908lea rdx, [rbp-816]
0040b90flea rax, [rbp-736]
0040b916mov rsi, rdx
0040b919mov rdi, rax
0040b91ccall fsquare
0040b921lea rdx, [rbp-736]
0040b928lea rax, [rbp-816]
0040b92fmov rsi, rdx
0040b932mov rdi, rax
0040b935call fsquare
0040b93aadd [rbp-4], 2
0040b93e
0040b93eloc_40b93e:
0040b93ecmp [rbp-4], 49
0040b942jle 0x40b908
0040b944lea rdx, [rbp-576]
0040b94blea rcx, [rbp-816]
0040b952lea rax, [rbp-736]
0040b959mov rsi, rcx
0040b95cmov rdi, rax
0040b95fcall fmul
0040b964lea rdx, [rbp-736]
0040b96blea rax, [rbp-816]
0040b972mov rsi, rdx
0040b975mov rdi, rax
0040b978call fsquare
0040b97dlea rdx, [rbp-816]
0040b984lea rax, [rbp-736]
0040b98bmov rsi, rdx
0040b98emov rdi, rax
0040b991call fsquare
0040b996lea rdx, [rbp-736]
0040b99dlea rax, [rbp-816]
0040b9a4mov rsi, rdx
0040b9a7mov rdi, rax
0040b9aacall fsquare
0040b9aflea rdx, [rbp-816]
0040b9b6lea rax, [rbp-736]
0040b9bdmov rsi, rdx
0040b9c0mov rdi, rax
0040b9c3call fsquare
0040b9c8lea rdx, [rbp-736]
0040b9cflea rax, [rbp-816]
0040b9d6mov rsi, rdx
0040b9d9mov rdi, rax
0040b9dccall fsquare
0040b9e1lea rdx, [rbp-256]
0040b9e8lea rcx, [rbp-816]
0040b9efmov rax, [rbp-824]
0040b9f6mov rsi, rcx
0040b9f9mov rdi, rax
0040b9fccall fmul
0040ba01leave
0040ba02ret
0040b469
0040ba03
0040ba03curve25519_donna:
0040ba03push rbp
0040ba04mov rbp, rsp
0040ba07sub rsp, 408
0040ba0emov [rbp-392], rdi
0040ba15mov [rbp-400], rsi
0040ba1cmov [rbp-408], rdx
0040ba23mov [rbp-4], 0
0040ba2ajmp 0x40ba4b
0040ba2c
0040ba2cloc_40ba2c:
0040ba2cmov eax, [rbp-4]
0040ba2fcdqe
0040ba31add rax, [rbp-400]
0040ba38movzx edx, [rax]
0040ba3bmov eax, [rbp-4]
0040ba3ecdqe
0040ba40mov [rbp+rax-384], dl
0040ba47add [rbp-4], 1
0040ba4b
0040ba4bloc_40ba4b:
0040ba4bcmp [rbp-4], 31
0040ba4fjle 0x40ba2c
0040ba51movzx eax, [rbp-384]
0040ba58and eax, -8
0040ba5bmov [rbp-384], al
0040ba61movzx eax, [rbp-353]
0040ba68and eax, 127
0040ba6bmov [rbp-353], al
0040ba71movzx eax, [rbp-353]
0040ba78or eax, 64
0040ba7bmov [rbp-353], al
0040ba81mov rdx, [rbp-408]
0040ba88lea rax, [rbp-96]
0040ba8cmov rsi, rdx
0040ba8fmov rdi, rax
0040ba92call fexpand
0040ba97lea rcx, [rbp-96]
0040ba9blea rdx, [rbp-384]
0040baa2lea rsi, [rbp-272]
0040baa9lea rax, [rbp-176]
0040bab0mov rdi, rax
0040bab3call cmult
0040bab8lea rdx, [rbp-272]
0040babflea rax, [rbp-352]
0040bac6mov rsi, rdx
0040bac9mov rdi, rax
0040bacccall crecip
0040bad1lea rdx, [rbp-352]
0040bad8lea rcx, [rbp-176]
0040badflea rax, [rbp-272]
0040bae6mov rsi, rcx
0040bae9mov rdi, rax
0040baeccall fmul
0040baf1lea rdx, [rbp-272]
0040baf8mov rax, [rbp-392]
0040baffmov rsi, rdx
0040bb02mov rdi, rax
0040bb05call fcontract
0040bb0amov eax, 0
0040bb0fleave
0040bb10ret
0040ba03
0040ba03curve25519_donna:
0040ba03push rbp
0040ba04mov rbp, rsp
0040ba07sub rsp, 408
0040ba0emov [rbp-392], rdi
0040ba15mov [rbp-400], rsi
0040ba1cmov [rbp-408], rdx
0040ba23mov [rbp-4], 0
0040ba2ajmp 0x40ba4b
0040ba2c
0040ba2cloc_40ba2c:
0040ba2cmov eax, [rbp-4]
0040ba2fcdqe
0040ba31add rax, [rbp-400]
0040ba38movzx edx, [rax]
0040ba3bmov eax, [rbp-4]
0040ba3ecdqe
0040ba40mov [rbp+rax-384], dl
0040ba47add [rbp-4], 1
0040ba4b
0040ba4bloc_40ba4b:
0040ba4bcmp [rbp-4], 31
0040ba4fjle 0x40ba2c
0040ba51movzx eax, [rbp-384]
0040ba58and eax, -8
0040ba5bmov [rbp-384], al
0040ba61movzx eax, [rbp-353]
0040ba68and eax, 127
0040ba6bmov [rbp-353], al
0040ba71movzx eax, [rbp-353]
0040ba78or eax, 64
0040ba7bmov [rbp-353], al
0040ba81mov rdx, [rbp-408]
0040ba88lea rax, [rbp-96]
0040ba8cmov rsi, rdx
0040ba8fmov rdi, rax
0040ba92call fexpand
0040ba97lea rcx, [rbp-96]
0040ba9blea rdx, [rbp-384]
0040baa2lea rsi, [rbp-272]
0040baa9lea rax, [rbp-176]
0040bab0mov rdi, rax
0040bab3call cmult
0040bab8lea rdx, [rbp-272]
0040babflea rax, [rbp-352]
0040bac6mov rsi, rdx
0040bac9mov rdi, rax
0040bacccall crecip
0040bad1lea rdx, [rbp-352]
0040bad8lea rcx, [rbp-176]
0040badflea rax, [rbp-272]
0040bae6mov rsi, rcx
0040bae9mov rdi, rax
0040baeccall fmul
0040baf1lea rdx, [rbp-272]
0040baf8mov rax, [rbp-392]
0040baffmov rsi, rdx
0040bb02mov rdi, rax
0040bb05call fcontract
0040bb0amov eax, 0
0040bb0fleave
0040bb10ret
0040ba03
0040bb11
0040bb11 90 90 90 ...
0040bb11 90 90 90 ...
0040bb14
0040bb14base64_encode:
0040bb14push rbp
0040bb15mov rbp, rsp
0040bb18mov [rbp-24], rdi
0040bb1cmov [rbp-28], esi
0040bb1fmov [rbp-40], rdx
0040bb23mov [rbp-4], 0
0040bb2amov [rbp-13], 0
0040bb2emov [rbp-12], 0
0040bb35mov eax, [rbp-12]
0040bb38mov [rbp-8], eax
0040bb3bjmp 0x40bc32
0040bb40
0040bb40loc_40bb40:
0040bb40mov eax, [rbp-8]
0040bb43add rax, [rbp-24]
0040bb47movzx eax, [rax]
0040bb4amov [rbp-14], al
0040bb4dmov eax, [rbp-4]
0040bb50cmp eax, 1
0040bb53je 0x40bb92
0040bb55cmp eax, 2
0040bb58je 0x40bbcd
0040bb5atest eax, eax
0040bb5cjne 0x40bc27
0040bb62mov [rbp-4], 1
0040bb69mov eax, [rbp-12]
0040bb6cadd rax, [rbp-40]
0040bb70movzx edx, [rbp-14]
0040bb74shr dl, 2
0040bb77movzx edx, dl
0040bb7aand edx, 63
0040bb7dmovsxd rdx, edx
0040bb80movzx edx, [rdx+0x40ef80]
0040bb87mov [rax], dl
0040bb89add [rbp-12], 1
0040bb8djmp 0x40bc27
0040bb92
0040bb92loc_40bb92:
0040bb92mov [rbp-4], 2
0040bb99mov eax, [rbp-12]
0040bb9cadd rax, [rbp-40]
0040bba0movzx edx, [rbp-13]
0040bba4and edx, 3
0040bba7mov ecx, edx
0040bba9shl ecx, 4
0040bbacmovzx edx, [rbp-14]
0040bbb0shr dl, 4
0040bbb3movzx edx, dl
0040bbb6and edx, 15
0040bbb9or edx, ecx
0040bbbbmovsxd rdx, edx
0040bbbemovzx edx, [rdx+0x40ef80]
0040bbc5mov [rax], dl
0040bbc7add [rbp-12], 1
0040bbcbjmp 0x40bc27
0040bbcd
0040bbcdloc_40bbcd:
0040bbcdmov [rbp-4], 0
0040bbd4mov eax, [rbp-12]
0040bbd7add rax, [rbp-40]
0040bbdbmovzx edx, [rbp-13]
0040bbdfand edx, 15
0040bbe2lea ecx, [4*rdx]
0040bbe9movzx edx, [rbp-14]
0040bbedshr dl, 6
0040bbf0movzx edx, dl
0040bbf3and edx, 3
0040bbf6or edx, ecx
0040bbf8movsxd rdx, edx
0040bbfbmovzx edx, [rdx+0x40ef80]
0040bc02mov [rax], dl
0040bc04add [rbp-12], 1
0040bc08mov eax, [rbp-12]
0040bc0badd rax, [rbp-40]
0040bc0fmovzx edx, [rbp-14]
0040bc13and edx, 63
0040bc16movsxd rdx, edx
0040bc19movzx edx, [rdx+0x40ef80]
0040bc20mov [rax], dl
0040bc22add [rbp-12], 1
0040bc26nop
0040bc27
0040bc27loc_40bc27:
0040bc27movzx eax, [rbp-14]
0040bc2bmov [rbp-13], al
0040bc2eadd [rbp-8], 1
0040bc32
0040bc32loc_40bc32:
0040bc32mov eax, [rbp-8]
0040bc35cmp eax, [rbp-28]
0040bc38jb 0x40bb40
0040bc3emov eax, [rbp-4]
0040bc41cmp eax, 1
0040bc44je 0x40bc4d
0040bc46cmp eax, 2
0040bc49je 0x40bc8c
0040bc4bjmp 0x40bcbc
0040bc4d
0040bc4dloc_40bc4d:
0040bc4dmov eax, [rbp-12]
0040bc50add rax, [rbp-40]
0040bc54movzx edx, [rbp-13]
0040bc58and edx, 3
0040bc5bshl edx, 4
0040bc5emovsxd rdx, edx
0040bc61movzx edx, [rdx+0x40ef80]
0040bc68mov [rax], dl
0040bc6aadd [rbp-12], 1
0040bc6emov eax, [rbp-12]
0040bc71add rax, [rbp-40]
0040bc75mov [rax], 61
0040bc78add [rbp-12], 1
0040bc7cmov eax, [rbp-12]
0040bc7fadd rax, [rbp-40]
0040bc83mov [rax], 61
0040bc86add [rbp-12], 1
0040bc8ajmp 0x40bcbc
0040bc8c
0040bc8cloc_40bc8c:
0040bc8cmov eax, [rbp-12]
0040bc8fadd rax, [rbp-40]
0040bc93movzx edx, [rbp-13]
0040bc97and edx, 15
0040bc9ashl edx, 2
0040bc9dmovsxd rdx, edx
0040bca0movzx edx, [rdx+0x40ef80]
0040bca7mov [rax], dl
0040bca9add [rbp-12], 1
0040bcadmov eax, [rbp-12]
0040bcb0add rax, [rbp-40]
0040bcb4mov [rax], 61
0040bcb7add [rbp-12], 1
0040bcbbnop
0040bcbc
0040bcbcloc_40bcbc:
0040bcbcmov eax, [rbp-12]
0040bcbfadd rax, [rbp-40]
0040bcc3mov [rax], 0
0040bcc6mov eax, [rbp-12]
0040bcc9pop rbp
0040bccaret
0040bb14
0040bb14base64_encode:
0040bb14push rbp
0040bb15mov rbp, rsp
0040bb18mov [rbp-24], rdi
0040bb1cmov [rbp-28], esi
0040bb1fmov [rbp-40], rdx
0040bb23mov [rbp-4], 0
0040bb2amov [rbp-13], 0
0040bb2emov [rbp-12], 0
0040bb35mov eax, [rbp-12]
0040bb38mov [rbp-8], eax
0040bb3bjmp 0x40bc32
0040bb40
0040bb40loc_40bb40:
0040bb40mov eax, [rbp-8]
0040bb43add rax, [rbp-24]
0040bb47movzx eax, [rax]
0040bb4amov [rbp-14], al
0040bb4dmov eax, [rbp-4]
0040bb50cmp eax, 1
0040bb53je 0x40bb92
0040bb55cmp eax, 2
0040bb58je 0x40bbcd
0040bb5atest eax, eax
0040bb5cjne 0x40bc27
0040bb62mov [rbp-4], 1
0040bb69mov eax, [rbp-12]
0040bb6cadd rax, [rbp-40]
0040bb70movzx edx, [rbp-14]
0040bb74shr dl, 2
0040bb77movzx edx, dl
0040bb7aand edx, 63
0040bb7dmovsxd rdx, edx
0040bb80movzx edx, [rdx+0x40ef80]
0040bb87mov [rax], dl
0040bb89add [rbp-12], 1
0040bb8djmp 0x40bc27
0040bb92
0040bb92loc_40bb92:
0040bb92mov [rbp-4], 2
0040bb99mov eax, [rbp-12]
0040bb9cadd rax, [rbp-40]
0040bba0movzx edx, [rbp-13]
0040bba4and edx, 3
0040bba7mov ecx, edx
0040bba9shl ecx, 4
0040bbacmovzx edx, [rbp-14]
0040bbb0shr dl, 4
0040bbb3movzx edx, dl
0040bbb6and edx, 15
0040bbb9or edx, ecx
0040bbbbmovsxd rdx, edx
0040bbbemovzx edx, [rdx+0x40ef80]
0040bbc5mov [rax], dl
0040bbc7add [rbp-12], 1
0040bbcbjmp 0x40bc27
0040bbcd
0040bbcdloc_40bbcd:
0040bbcdmov [rbp-4], 0
0040bbd4mov eax, [rbp-12]
0040bbd7add rax, [rbp-40]
0040bbdbmovzx edx, [rbp-13]
0040bbdfand edx, 15
0040bbe2lea ecx, [4*rdx]
0040bbe9movzx edx, [rbp-14]
0040bbedshr dl, 6
0040bbf0movzx edx, dl
0040bbf3and edx, 3
0040bbf6or edx, ecx
0040bbf8movsxd rdx, edx
0040bbfbmovzx edx, [rdx+0x40ef80]
0040bc02mov [rax], dl
0040bc04add [rbp-12], 1
0040bc08mov eax, [rbp-12]
0040bc0badd rax, [rbp-40]
0040bc0fmovzx edx, [rbp-14]
0040bc13and edx, 63
0040bc16movsxd rdx, edx
0040bc19movzx edx, [rdx+0x40ef80]
0040bc20mov [rax], dl
0040bc22add [rbp-12], 1
0040bc26nop
0040bc27
0040bc27loc_40bc27:
0040bc27movzx eax, [rbp-14]
0040bc2bmov [rbp-13], al
0040bc2eadd [rbp-8], 1
0040bc32
0040bc32loc_40bc32:
0040bc32mov eax, [rbp-8]
0040bc35cmp eax, [rbp-28]
0040bc38jb 0x40bb40
0040bc3emov eax, [rbp-4]
0040bc41cmp eax, 1
0040bc44je 0x40bc4d
0040bc46cmp eax, 2
0040bc49je 0x40bc8c
0040bc4bjmp 0x40bcbc
0040bc4d
0040bc4dloc_40bc4d:
0040bc4dmov eax, [rbp-12]
0040bc50add rax, [rbp-40]
0040bc54movzx edx, [rbp-13]
0040bc58and edx, 3
0040bc5bshl edx, 4
0040bc5emovsxd rdx, edx
0040bc61movzx edx, [rdx+0x40ef80]
0040bc68mov [rax], dl
0040bc6aadd [rbp-12], 1
0040bc6emov eax, [rbp-12]
0040bc71add rax, [rbp-40]
0040bc75mov [rax], 61
0040bc78add [rbp-12], 1
0040bc7cmov eax, [rbp-12]
0040bc7fadd rax, [rbp-40]
0040bc83mov [rax], 61
0040bc86add [rbp-12], 1
0040bc8ajmp 0x40bcbc
0040bc8c
0040bc8cloc_40bc8c:
0040bc8cmov eax, [rbp-12]
0040bc8fadd rax, [rbp-40]
0040bc93movzx edx, [rbp-13]
0040bc97and edx, 15
0040bc9ashl edx, 2
0040bc9dmovsxd rdx, edx
0040bca0movzx edx, [rdx+0x40ef80]
0040bca7mov [rax], dl
0040bca9add [rbp-12], 1
0040bcadmov eax, [rbp-12]
0040bcb0add rax, [rbp-40]
0040bcb4mov [rax], 61
0040bcb7add [rbp-12], 1
0040bcbbnop
0040bcbc
0040bcbcloc_40bcbc:
0040bcbcmov eax, [rbp-12]
0040bcbfadd rax, [rbp-40]
0040bcc3mov [rax], 0
0040bcc6mov eax, [rbp-12]
0040bcc9pop rbp
0040bccaret
0040bb14
0040bccb
0040bccbbase64_decode:
0040bccbpush rbp
0040bcccmov rbp, rsp
0040bccfmov [rbp-24], rdi
0040bcd3mov [rbp-28], esi
0040bcd6mov [rbp-40], rdx
0040bcdamov eax, [rbp-28]
0040bcddand eax, 3
0040bce0test eax, eax
0040bce2je 0x40bcee
0040bce4mov eax, 0
0040bce9jmp 0x40be37
0040bcee
0040bceeloc_40bcee:
0040bceemov [rbp-8], 0
0040bcf5mov eax, [rbp-8]
0040bcf8mov [rbp-4], eax
0040bcfbjmp 0x40be25
0040bd00
0040bd00loc_40bd00:
0040bd00mov eax, [rbp-4]
0040bd03add rax, [rbp-24]
0040bd07movzx eax, [rax]
0040bd0acmp al, 61
0040bd0cje 0x40be33
0040bd12mov eax, [rbp-4]
0040bd15add rax, [rbp-24]
0040bd19movzx eax, [rax]
0040bd1ccmp al, 42
0040bd1ejle 0x40bd2e
0040bd20mov eax, [rbp-4]
0040bd23add rax, [rbp-24]
0040bd27movzx eax, [rax]
0040bd2acmp al, 122
0040bd2cjle 0x40bd38
0040bd2e
0040bd2eloc_40bd2e:
0040bd2emov eax, 0
0040bd33jmp 0x40be37
0040bd38
0040bd38loc_40bd38:
0040bd38mov eax, [rbp-4]
0040bd3badd rax, [rbp-24]
0040bd3fmovzx eax, [rax]
0040bd42movzx eax, al
0040bd45cdqe
0040bd47movzx eax, [rax+0x40efc0]
0040bd4emov [rbp-9], al
0040bd51cmp [rbp-9], -1
0040bd55jne 0x40bd61
0040bd57mov eax, 0
0040bd5cjmp 0x40be37
0040bd61
0040bd61loc_40bd61:
0040bd61mov eax, [rbp-4]
0040bd64and eax, 3
0040bd67cmp eax, 1
0040bd6aje 0x40bd99
0040bd6ccmp eax, 1
0040bd6fjb 0x40bd84
0040bd71cmp eax, 2
0040bd74je 0x40bdcf
0040bd76cmp eax, 3
0040bd79je 0x40be05
0040bd7fjmp 0x40be21
0040bd84
0040bd84loc_40bd84:
0040bd84mov eax, [rbp-8]
0040bd87add rax, [rbp-40]
0040bd8bmovzx edx, [rbp-9]
0040bd8fshl edx, 2
0040bd92mov [rax], dl
0040bd94jmp 0x40be21
0040bd99
0040bd99loc_40bd99:
0040bd99mov eax, [rbp-8]
0040bd9cmov edx, eax
0040bd9eadd rdx, [rbp-40]
0040bda2mov eax, eax
0040bda4add rax, [rbp-40]
0040bda8movzx eax, [rax]
0040bdabmovzx ecx, [rbp-9]
0040bdafshr cl, 4
0040bdb2and ecx, 3
0040bdb5or eax, ecx
0040bdb7mov [rdx], al
0040bdb9add [rbp-8], 1
0040bdbdmov eax, [rbp-8]
0040bdc0add rax, [rbp-40]
0040bdc4movzx edx, [rbp-9]
0040bdc8shl edx, 4
0040bdcbmov [rax], dl
0040bdcdjmp 0x40be21
0040bdcf
0040bdcfloc_40bdcf:
0040bdcfmov eax, [rbp-8]
0040bdd2mov edx, eax
0040bdd4add rdx, [rbp-40]
0040bdd8mov eax, eax
0040bddaadd rax, [rbp-40]
0040bddemovzx eax, [rax]
0040bde1movzx ecx, [rbp-9]
0040bde5shr cl, 2
0040bde8and ecx, 15
0040bdebor eax, ecx
0040bdedmov [rdx], al
0040bdefadd [rbp-8], 1
0040bdf3mov eax, [rbp-8]
0040bdf6add rax, [rbp-40]
0040bdfamovzx edx, [rbp-9]
0040bdfeshl edx, 6
0040be01mov [rax], dl
0040be03jmp 0x40be21
0040be05
0040be05loc_40be05:
0040be05mov eax, [rbp-8]
0040be08mov edx, eax
0040be0aadd rdx, [rbp-40]
0040be0emov eax, eax
0040be10add rax, [rbp-40]
0040be14movzx eax, [rax]
0040be17or al, [rbp-9]
0040be1amov [rdx], al
0040be1cadd [rbp-8], 1
0040be20nop
0040be21
0040be21loc_40be21:
0040be21add [rbp-4], 1
0040be25
0040be25loc_40be25:
0040be25mov eax, [rbp-4]
0040be28cmp eax, [rbp-28]
0040be2bjb 0x40bd00
0040be31jmp 0x40be34
0040be33
0040be33loc_40be33:
0040be33nop
0040be34
0040be34loc_40be34:
0040be34mov eax, [rbp-8]
0040be37
0040be37loc_40be37:
0040be37pop rbp
0040be38ret
0040bccb
0040bccbbase64_decode:
0040bccbpush rbp
0040bcccmov rbp, rsp
0040bccfmov [rbp-24], rdi
0040bcd3mov [rbp-28], esi
0040bcd6mov [rbp-40], rdx
0040bcdamov eax, [rbp-28]
0040bcddand eax, 3
0040bce0test eax, eax
0040bce2je 0x40bcee
0040bce4mov eax, 0
0040bce9jmp 0x40be37
0040bcee
0040bceeloc_40bcee:
0040bceemov [rbp-8], 0
0040bcf5mov eax, [rbp-8]
0040bcf8mov [rbp-4], eax
0040bcfbjmp 0x40be25
0040bd00
0040bd00loc_40bd00:
0040bd00mov eax, [rbp-4]
0040bd03add rax, [rbp-24]
0040bd07movzx eax, [rax]
0040bd0acmp al, 61
0040bd0cje 0x40be33
0040bd12mov eax, [rbp-4]
0040bd15add rax, [rbp-24]
0040bd19movzx eax, [rax]
0040bd1ccmp al, 42
0040bd1ejle 0x40bd2e
0040bd20mov eax, [rbp-4]
0040bd23add rax, [rbp-24]
0040bd27movzx eax, [rax]
0040bd2acmp al, 122
0040bd2cjle 0x40bd38
0040bd2e
0040bd2eloc_40bd2e:
0040bd2emov eax, 0
0040bd33jmp 0x40be37
0040bd38
0040bd38loc_40bd38:
0040bd38mov eax, [rbp-4]
0040bd3badd rax, [rbp-24]
0040bd3fmovzx eax, [rax]
0040bd42movzx eax, al
0040bd45cdqe
0040bd47movzx eax, [rax+0x40efc0]
0040bd4emov [rbp-9], al
0040bd51cmp [rbp-9], -1
0040bd55jne 0x40bd61
0040bd57mov eax, 0
0040bd5cjmp 0x40be37
0040bd61
0040bd61loc_40bd61:
0040bd61mov eax, [rbp-4]
0040bd64and eax, 3
0040bd67cmp eax, 1
0040bd6aje 0x40bd99
0040bd6ccmp eax, 1
0040bd6fjb 0x40bd84
0040bd71cmp eax, 2
0040bd74je 0x40bdcf
0040bd76cmp eax, 3
0040bd79je 0x40be05
0040bd7fjmp 0x40be21
0040bd84
0040bd84loc_40bd84:
0040bd84mov eax, [rbp-8]
0040bd87add rax, [rbp-40]
0040bd8bmovzx edx, [rbp-9]
0040bd8fshl edx, 2
0040bd92mov [rax], dl
0040bd94jmp 0x40be21
0040bd99
0040bd99loc_40bd99:
0040bd99mov eax, [rbp-8]
0040bd9cmov edx, eax
0040bd9eadd rdx, [rbp-40]
0040bda2mov eax, eax
0040bda4add rax, [rbp-40]
0040bda8movzx eax, [rax]
0040bdabmovzx ecx, [rbp-9]
0040bdafshr cl, 4
0040bdb2and ecx, 3
0040bdb5or eax, ecx
0040bdb7mov [rdx], al
0040bdb9add [rbp-8], 1
0040bdbdmov eax, [rbp-8]
0040bdc0add rax, [rbp-40]
0040bdc4movzx edx, [rbp-9]
0040bdc8shl edx, 4
0040bdcbmov [rax], dl
0040bdcdjmp 0x40be21
0040bdcf
0040bdcfloc_40bdcf:
0040bdcfmov eax, [rbp-8]
0040bdd2mov edx, eax
0040bdd4add rdx, [rbp-40]
0040bdd8mov eax, eax
0040bddaadd rax, [rbp-40]
0040bddemovzx eax, [rax]
0040bde1movzx ecx, [rbp-9]
0040bde5shr cl, 2
0040bde8and ecx, 15
0040bdebor eax, ecx
0040bdedmov [rdx], al
0040bdefadd [rbp-8], 1
0040bdf3mov eax, [rbp-8]
0040bdf6add rax, [rbp-40]
0040bdfamovzx edx, [rbp-9]
0040bdfeshl edx, 6
0040be01mov [rax], dl
0040be03jmp 0x40be21
0040be05
0040be05loc_40be05:
0040be05mov eax, [rbp-8]
0040be08mov edx, eax
0040be0aadd rdx, [rbp-40]
0040be0emov eax, eax
0040be10add rax, [rbp-40]
0040be14movzx eax, [rax]
0040be17or al, [rbp-9]
0040be1amov [rdx], al
0040be1cadd [rbp-8], 1
0040be20nop
0040be21
0040be21loc_40be21:
0040be21add [rbp-4], 1
0040be25
0040be25loc_40be25:
0040be25mov eax, [rbp-4]
0040be28cmp eax, [rbp-28]
0040be2bjb 0x40bd00
0040be31jmp 0x40be34
0040be33
0040be33loc_40be33:
0040be33nop
0040be34
0040be34loc_40be34:
0040be34mov eax, [rbp-8]
0040be37
0040be37loc_40be37:
0040be37pop rbp
0040be38ret
0040bccb
0040be39
0040be39 90 90 90 ...
0040be39 90 90 90 ...
0040be3c
0040be3cargz_option:
0040be3cpush rbp
0040be3dmov rbp, rsp
0040be40sub rsp, 48
0040be44mov [rbp-20], edi
0040be47mov [rbp-32], rsi
0040be4bmov [rbp-40], rdx
0040be4fcmp [rbp-20], 1
0040be53jg 0x40be5c
0040be55mov eax, 0
0040be5ajmp 0x40bea0
0040be5c
0040be5cloc_40be5c:
0040be5cmov [rbp-4], 1
0040be63jmp 0x40be93
0040be65
0040be65loc_40be65:
0040be65mov eax, [rbp-4]
0040be68cdqe
0040be6ashl rax, 3
0040be6eadd rax, [rbp-32]
0040be72mov rax, [rax]
0040be75mov rdx, [rbp-40]
0040be79mov rsi, rdx
0040be7cmov rdi, rax
0040be7fcall strcmp@plt
0040be84test eax, eax
0040be86jne 0x40be8f
0040be88mov eax, 1
0040be8djmp 0x40bea0
0040be8f
0040be8floc_40be8f:
0040be8fadd [rbp-4], 1
0040be93
0040be93loc_40be93:
0040be93mov eax, [rbp-4]
0040be96cmp eax, [rbp-20]
0040be99jl 0x40be65
0040be9bmov eax, 0
0040bea0
0040bea0loc_40bea0:
0040bea0leave
0040bea1ret
0040be3c
0040be3cargz_option:
0040be3cpush rbp
0040be3dmov rbp, rsp
0040be40sub rsp, 48
0040be44mov [rbp-20], edi
0040be47mov [rbp-32], rsi
0040be4bmov [rbp-40], rdx
0040be4fcmp [rbp-20], 1
0040be53jg 0x40be5c
0040be55mov eax, 0
0040be5ajmp 0x40bea0
0040be5c
0040be5cloc_40be5c:
0040be5cmov [rbp-4], 1
0040be63jmp 0x40be93
0040be65
0040be65loc_40be65:
0040be65mov eax, [rbp-4]
0040be68cdqe
0040be6ashl rax, 3
0040be6eadd rax, [rbp-32]
0040be72mov rax, [rax]
0040be75mov rdx, [rbp-40]
0040be79mov rsi, rdx
0040be7cmov rdi, rax
0040be7fcall strcmp@plt
0040be84test eax, eax
0040be86jne 0x40be8f
0040be88mov eax, 1
0040be8djmp 0x40bea0
0040be8f
0040be8floc_40be8f:
0040be8fadd [rbp-4], 1
0040be93
0040be93loc_40be93:
0040be93mov eax, [rbp-4]
0040be96cmp eax, [rbp-20]
0040be99jl 0x40be65
0040be9bmov eax, 0
0040bea0
0040bea0loc_40bea0:
0040bea0leave
0040bea1ret
0040be3c
0040bea2
0040bea2argz_value:
0040bea2push rbp
0040bea3mov rbp, rsp
0040bea6sub rsp, 48
0040beaamov [rbp-20], edi
0040beadmov [rbp-32], rsi
0040beb1mov [rbp-40], rdx
0040beb5cmp [rbp-20], 1
0040beb9jg 0x40bec2
0040bebbmov eax, 0
0040bec0jmp 0x40bf20
0040bec2
0040bec2loc_40bec2:
0040bec2mov [rbp-4], 1
0040bec9jmp 0x40bf13
0040becb
0040becbloc_40becb:
0040becbmov eax, [rbp-4]
0040bececdqe
0040bed0shl rax, 3
0040bed4add rax, [rbp-32]
0040bed8mov rax, [rax]
0040bedbmov rdx, [rbp-40]
0040bedfmov rsi, rdx
0040bee2mov rdi, rax
0040bee5call strcmp@plt
0040beeatest eax, eax
0040beecjne 0x40bf0f
0040beeemov eax, [rbp-4]
0040bef1add eax, 1
0040bef4cmp eax, [rbp-20]
0040bef7jge 0x40bf0f
0040bef9mov eax, [rbp-4]
0040befccdqe
0040befeadd rax, 1
0040bf02shl rax, 3
0040bf06add rax, [rbp-32]
0040bf0amov rax, [rax]
0040bf0djmp 0x40bf20
0040bf0f
0040bf0floc_40bf0f:
0040bf0fadd [rbp-4], 1
0040bf13
0040bf13loc_40bf13:
0040bf13mov eax, [rbp-4]
0040bf16cmp eax, [rbp-20]
0040bf19jl 0x40becb
0040bf1bmov eax, 0
0040bf20
0040bf20loc_40bf20:
0040bf20leave
0040bf21ret
0040bea2
0040bea2argz_value:
0040bea2push rbp
0040bea3mov rbp, rsp
0040bea6sub rsp, 48
0040beaamov [rbp-20], edi
0040beadmov [rbp-32], rsi
0040beb1mov [rbp-40], rdx
0040beb5cmp [rbp-20], 1
0040beb9jg 0x40bec2
0040bebbmov eax, 0
0040bec0jmp 0x40bf20
0040bec2
0040bec2loc_40bec2:
0040bec2mov [rbp-4], 1
0040bec9jmp 0x40bf13
0040becb
0040becbloc_40becb:
0040becbmov eax, [rbp-4]
0040bececdqe
0040bed0shl rax, 3
0040bed4add rax, [rbp-32]
0040bed8mov rax, [rax]
0040bedbmov rdx, [rbp-40]
0040bedfmov rsi, rdx
0040bee2mov rdi, rax
0040bee5call strcmp@plt
0040beeatest eax, eax
0040beecjne 0x40bf0f
0040beeemov eax, [rbp-4]
0040bef1add eax, 1
0040bef4cmp eax, [rbp-20]
0040bef7jge 0x40bf0f
0040bef9mov eax, [rbp-4]
0040befccdqe
0040befeadd rax, 1
0040bf02shl rax, 3
0040bf06add rax, [rbp-32]
0040bf0amov rax, [rax]
0040bf0djmp 0x40bf20
0040bf0f
0040bf0floc_40bf0f:
0040bf0fadd [rbp-4], 1
0040bf13
0040bf13loc_40bf13:
0040bf13mov eax, [rbp-4]
0040bf16cmp eax, [rbp-20]
0040bf19jl 0x40becb
0040bf1bmov eax, 0
0040bf20
0040bf20loc_40bf20:
0040bf20leave
0040bf21ret
0040bea2
0040bf22
0040bf22ParseArgs:
0040bf22push rbp
0040bf23mov rbp, rsp
0040bf26sub rsp, 48
0040bf2amov [rbp-36], edi
0040bf2dmov [rbp-48], rsi
0040bf31mov rcx, [rbp-48]
0040bf35mov eax, [rbp-36]
0040bf38mov edx, 0x40f040
0040bf3dmov rsi, rcx
0040bf40mov edi, eax
0040bf42call argz_value
0040bf47mov [rbp-8], rax
0040bf4bmov rcx, [rbp-48]
0040bf4fmov eax, [rbp-36]
0040bf52mov edx, 0x40f047
0040bf57mov rsi, rcx
0040bf5amov edi, eax
0040bf5ccall argz_value
0040bf61mov [rbp-16], rax
0040bf65mov rcx, [rbp-48]
0040bf69mov eax, [rbp-36]
0040bf6cmov edx, 0x40f04d
0040bf71mov rsi, rcx
0040bf74mov edi, eax
0040bf76call argz_value
0040bf7bmov [rbp-24], rax
0040bf7fcmp [rbp-24], 0
0040bf84je 0x40bfe8
0040bf86mov rax, [rbp-24]
0040bf8amovzx eax, [rax]
0040bf8dmovsx eax, al
0040bf90cmp eax, 102
0040bf93je 0x40bfad
0040bf95cmp eax, 102
0040bf98jg 0x40bfa1
0040bf9acmp eax, 101
0040bf9dje 0x40bfd1
0040bf9fjmp 0x40bfdd
0040bfa1
0040bfa1loc_40bfa1:
0040bfa1cmp eax, 109
0040bfa4je 0x40bfb9
0040bfa6cmp eax, 115
0040bfa9je 0x40bfc5
0040bfabjmp 0x40bfdd
0040bfad
0040bfadloc_40bfad:
0040bfadmov [rip+0x204a01], 19
0040bfb7jmp 0x40bfe8
0040bfb9
0040bfb9loc_40bfb9:
0040bfb9mov [rip+0x2049f5], 5
0040bfc3jmp 0x40bfe8
0040bfc5
0040bfc5loc_40bfc5:
0040bfc5mov [rip+0x2049e9], 3
0040bfcfjmp 0x40bfe8
0040bfd1
0040bfd1loc_40bfd1:
0040bfd1mov [rip+0x2049dd], 0
0040bfdbjmp 0x40bfe8
0040bfdd
0040bfddloc_40bfdd:
0040bfddmov [rip+0x2049d1], 5
0040bfe7nop
0040bfe8
0040bfe8loc_40bfe8:
0040bfe8cmp [rbp-8], 0
0040bfedje 0x40c007
0040bfefmov rax, [rbp-8]
0040bff3mov edx, 0x6109e0
0040bff8mov esi, 44
0040bffdmov rdi, rax
0040c000call SplitString
0040c005jmp 0x40c00c
0040c007
0040c007loc_40c007:
0040c007mov eax, 0
0040c00c
0040c00cloc_40c00c:
0040c00cmov [rip+0x2049c5], rax
0040c013cmp [rbp-16], 0
0040c018je 0x40c032
0040c01amov rax, [rbp-16]
0040c01emov edx, 0x6109f0
0040c023mov esi, 44
0040c028mov rdi, rax
0040c02bcall SplitString
0040c030jmp 0x40c037
0040c032
0040c032loc_40c032:
0040c032mov eax, 0
0040c037
0040c037loc_40c037:
0040c037mov [rip+0x2049aa], rax
0040c03emov rcx, [rbp-48]
0040c042mov eax, [rbp-36]
0040c045mov edx, 0x40f054
0040c04amov rsi, rcx
0040c04dmov edi, eax
0040c04fcall argz_option
0040c054mov [rip+0x20499a], eax
0040c05amov rcx, [rbp-48]
0040c05emov eax, [rbp-36]
0040c061mov edx, 0x40f05b
0040c066mov rsi, rcx
0040c069mov edi, eax
0040c06bcall argz_option
0040c070mov [rip+0x20495a], eax
0040c076mov rcx, [rbp-48]
0040c07amov eax, [rbp-36]
0040c07dmov edx, 0x40f065
0040c082mov rsi, rcx
0040c085mov edi, eax
0040c087call argz_option
0040c08cmov [rip+0x204966], eax
0040c092mov rcx, [rbp-48]
0040c096mov eax, [rbp-36]
0040c099mov edx, 0x40f06c
0040c09emov rsi, rcx
0040c0a1mov edi, eax
0040c0a3call argz_value
0040c0a8mov [rbp-32], rax
0040c0accmp [rbp-32], 0
0040c0b1je 0x40c0c5
0040c0b3mov rax, [rbp-32]
0040c0b7mov rdi, rax
0040c0bacall atoi@plt
0040c0bfmov [rip+0x204937], eax
0040c0c5
0040c0c5loc_40c0c5:
0040c0c5mov rcx, [rbp-48]
0040c0c9mov eax, [rbp-36]
0040c0ccmov edx, 0x40f074
0040c0d1mov rsi, rcx
0040c0d4mov edi, eax
0040c0d6call argz_option
0040c0dbmov [rip+0x20491f], eax
0040c0e1mov rcx, [rbp-48]
0040c0e5mov eax, [rbp-36]
0040c0e8mov edx, 0x40f07b
0040c0edmov rsi, rcx
0040c0f0mov edi, eax
0040c0f2call argz_option
0040c0f7mov [rip+0x204907], eax
0040c0fdleave
0040c0feret
0040bf22
0040bf22ParseArgs:
0040bf22push rbp
0040bf23mov rbp, rsp
0040bf26sub rsp, 48
0040bf2amov [rbp-36], edi
0040bf2dmov [rbp-48], rsi
0040bf31mov rcx, [rbp-48]
0040bf35mov eax, [rbp-36]
0040bf38mov edx, 0x40f040
0040bf3dmov rsi, rcx
0040bf40mov edi, eax
0040bf42call argz_value
0040bf47mov [rbp-8], rax
0040bf4bmov rcx, [rbp-48]
0040bf4fmov eax, [rbp-36]
0040bf52mov edx, 0x40f047
0040bf57mov rsi, rcx
0040bf5amov edi, eax
0040bf5ccall argz_value
0040bf61mov [rbp-16], rax
0040bf65mov rcx, [rbp-48]
0040bf69mov eax, [rbp-36]
0040bf6cmov edx, 0x40f04d
0040bf71mov rsi, rcx
0040bf74mov edi, eax
0040bf76call argz_value
0040bf7bmov [rbp-24], rax
0040bf7fcmp [rbp-24], 0
0040bf84je 0x40bfe8
0040bf86mov rax, [rbp-24]
0040bf8amovzx eax, [rax]
0040bf8dmovsx eax, al
0040bf90cmp eax, 102
0040bf93je 0x40bfad
0040bf95cmp eax, 102
0040bf98jg 0x40bfa1
0040bf9acmp eax, 101
0040bf9dje 0x40bfd1
0040bf9fjmp 0x40bfdd
0040bfa1
0040bfa1loc_40bfa1:
0040bfa1cmp eax, 109
0040bfa4je 0x40bfb9
0040bfa6cmp eax, 115
0040bfa9je 0x40bfc5
0040bfabjmp 0x40bfdd
0040bfad
0040bfadloc_40bfad:
0040bfadmov [rip+0x204a01], 19
0040bfb7jmp 0x40bfe8
0040bfb9
0040bfb9loc_40bfb9:
0040bfb9mov [rip+0x2049f5], 5
0040bfc3jmp 0x40bfe8
0040bfc5
0040bfc5loc_40bfc5:
0040bfc5mov [rip+0x2049e9], 3
0040bfcfjmp 0x40bfe8
0040bfd1
0040bfd1loc_40bfd1:
0040bfd1mov [rip+0x2049dd], 0
0040bfdbjmp 0x40bfe8
0040bfdd
0040bfddloc_40bfdd:
0040bfddmov [rip+0x2049d1], 5
0040bfe7nop
0040bfe8
0040bfe8loc_40bfe8:
0040bfe8cmp [rbp-8], 0
0040bfedje 0x40c007
0040bfefmov rax, [rbp-8]
0040bff3mov edx, 0x6109e0
0040bff8mov esi, 44
0040bffdmov rdi, rax
0040c000call SplitString
0040c005jmp 0x40c00c
0040c007
0040c007loc_40c007:
0040c007mov eax, 0
0040c00c
0040c00cloc_40c00c:
0040c00cmov [rip+0x2049c5], rax
0040c013cmp [rbp-16], 0
0040c018je 0x40c032
0040c01amov rax, [rbp-16]
0040c01emov edx, 0x6109f0
0040c023mov esi, 44
0040c028mov rdi, rax
0040c02bcall SplitString
0040c030jmp 0x40c037
0040c032
0040c032loc_40c032:
0040c032mov eax, 0
0040c037
0040c037loc_40c037:
0040c037mov [rip+0x2049aa], rax
0040c03emov rcx, [rbp-48]
0040c042mov eax, [rbp-36]
0040c045mov edx, 0x40f054
0040c04amov rsi, rcx
0040c04dmov edi, eax
0040c04fcall argz_option
0040c054mov [rip+0x20499a], eax
0040c05amov rcx, [rbp-48]
0040c05emov eax, [rbp-36]
0040c061mov edx, 0x40f05b
0040c066mov rsi, rcx
0040c069mov edi, eax
0040c06bcall argz_option
0040c070mov [rip+0x20495a], eax
0040c076mov rcx, [rbp-48]
0040c07amov eax, [rbp-36]
0040c07dmov edx, 0x40f065
0040c082mov rsi, rcx
0040c085mov edi, eax
0040c087call argz_option
0040c08cmov [rip+0x204966], eax
0040c092mov rcx, [rbp-48]
0040c096mov eax, [rbp-36]
0040c099mov edx, 0x40f06c
0040c09emov rsi, rcx
0040c0a1mov edi, eax
0040c0a3call argz_value
0040c0a8mov [rbp-32], rax
0040c0accmp [rbp-32], 0
0040c0b1je 0x40c0c5
0040c0b3mov rax, [rbp-32]
0040c0b7mov rdi, rax
0040c0bacall atoi@plt
0040c0bfmov [rip+0x204937], eax
0040c0c5
0040c0c5loc_40c0c5:
0040c0c5mov rcx, [rbp-48]
0040c0c9mov eax, [rbp-36]
0040c0ccmov edx, 0x40f074
0040c0d1mov rsi, rcx
0040c0d4mov edi, eax
0040c0d6call argz_option
0040c0dbmov [rip+0x20491f], eax
0040c0e1mov rcx, [rbp-48]
0040c0e5mov eax, [rbp-36]
0040c0e8mov edx, 0x40f07b
0040c0edmov rsi, rcx
0040c0f0mov edi, eax
0040c0f2call argz_option
0040c0f7mov [rip+0x204907], eax
0040c0fdleave
0040c0feret
0040bf22
0040c0ff
0040c0ffPrintHelp:
0040c0ffpush rbp
0040c100mov rbp, rsp
0040c103sub rsp, 16
0040c107mov [rbp-4], edi
0040c10amov [rbp-16], rsi
0040c10emov rax, [rbp-16]
0040c112mov rdx, [rax]
0040c115mov eax, 0x40f082
0040c11amov rsi, rdx
0040c11dmov rdi, rax
0040c120mov eax, 0
0040c125call printf@plt
0040c12amov edi, 0x40f099
0040c12fcall puts@plt
0040c134mov edi, 0x40f0a8
0040c139call puts@plt
0040c13emov edi, 0x40f0de
0040c143call puts@plt
0040c148mov edi, 0x40f0f8
0040c14dcall puts@plt
0040c152mov edi, 0x40f120
0040c157call puts@plt
0040c15cmov edi, 0x40f15b
0040c161call puts@plt
0040c166mov edi, 0x40f16a
0040c16bcall puts@plt
0040c170mov edi, 0x40f188
0040c175call puts@plt
0040c17amov eax, 0x40f1b0
0040c17fmov rdi, rax
0040c182mov eax, 0
0040c187call printf@plt
0040c18cmov eax, 0x40f1e0
0040c191mov rdi, rax
0040c194mov eax, 0
0040c199call printf@plt
0040c19emov eax, 0x40f220
0040c1a3mov rdi, rax
0040c1a6mov eax, 0
0040c1abcall printf@plt
0040c1b0mov eax, 0x40f258
0040c1b5mov rdi, rax
0040c1b8mov eax, 0
0040c1bdcall printf@plt
0040c1c2mov edi, 0x40f290
0040c1c7call puts@plt
0040c1ccmov edi, 0x40f2b8
0040c1d1call puts@plt
0040c1d6mov edi, 0x40f2e0
0040c1dbcall puts@plt
0040c1e0mov edi, 0x40f308
0040c1e5call puts@plt
0040c1eamov edi, 0x40f33b
0040c1efcall puts@plt
0040c1f4mov edi, 0x40f358
0040c1f9call puts@plt
0040c1feleave
0040c1ffret
0040c0ff
0040c0ffPrintHelp:
0040c0ffpush rbp
0040c100mov rbp, rsp
0040c103sub rsp, 16
0040c107mov [rbp-4], edi
0040c10amov [rbp-16], rsi
0040c10emov rax, [rbp-16]
0040c112mov rdx, [rax]
0040c115mov eax, 0x40f082
0040c11amov rsi, rdx
0040c11dmov rdi, rax
0040c120mov eax, 0
0040c125call printf@plt
0040c12amov edi, 0x40f099
0040c12fcall puts@plt
0040c134mov edi, 0x40f0a8
0040c139call puts@plt
0040c13emov edi, 0x40f0de
0040c143call puts@plt
0040c148mov edi, 0x40f0f8
0040c14dcall puts@plt
0040c152mov edi, 0x40f120
0040c157call puts@plt
0040c15cmov edi, 0x40f15b
0040c161call puts@plt
0040c166mov edi, 0x40f16a
0040c16bcall puts@plt
0040c170mov edi, 0x40f188
0040c175call puts@plt
0040c17amov eax, 0x40f1b0
0040c17fmov rdi, rax
0040c182mov eax, 0
0040c187call printf@plt
0040c18cmov eax, 0x40f1e0
0040c191mov rdi, rax
0040c194mov eax, 0
0040c199call printf@plt
0040c19emov eax, 0x40f220
0040c1a3mov rdi, rax
0040c1a6mov eax, 0
0040c1abcall printf@plt
0040c1b0mov eax, 0x40f258
0040c1b5mov rdi, rax
0040c1b8mov eax, 0
0040c1bdcall printf@plt
0040c1c2mov edi, 0x40f290
0040c1c7call puts@plt
0040c1ccmov edi, 0x40f2b8
0040c1d1call puts@plt
0040c1d6mov edi, 0x40f2e0
0040c1dbcall puts@plt
0040c1e0mov edi, 0x40f308
0040c1e5call puts@plt
0040c1eamov edi, 0x40f33b
0040c1efcall puts@plt
0040c1f4mov edi, 0x40f358
0040c1f9call puts@plt
0040c1feleave
0040c1ffret
0040c0ff
0040c200
0040c200PrintArgs:
0040c200push rbp
0040c201mov rbp, rsp
0040c204mov edi, 0x40f382
0040c209call puts@plt
0040c20emov eax, [rip+0x2047bc]
0040c214test eax, eax
0040c216je 0x40c21f
0040c218mov eax, 0x40f38c
0040c21djmp 0x40c224
0040c21f
0040c21floc_40c21f:
0040c21fmov eax, 0x40f38e
0040c224
0040c224loc_40c224:
0040c224mov edx, 0x40f390
0040c229mov rsi, rax
0040c22cmov rdi, rdx
0040c22fmov eax, 0
0040c234call printf@plt
0040c239mov eax, [rip+0x2047b9]
0040c23ftest eax, eax
0040c241je 0x40c24a
0040c243mov eax, 0x40f38c
0040c248jmp 0x40c24f
0040c24a
0040c24aloc_40c24a:
0040c24amov eax, 0x40f38e
0040c24f
0040c24floc_40c24f:
0040c24fmov edx, 0x40f3a8
0040c254mov rsi, rax
0040c257mov rdi, rdx
0040c25amov eax, 0
0040c25fcall printf@plt
0040c264mov edx, [rip+0x204792]
0040c26amov eax, [rip+0x20478c]
0040c270test eax, eax
0040c272je 0x40c27b
0040c274mov eax, 0x40f38c
0040c279jmp 0x40c280
0040c27b
0040c27bloc_40c27b:
0040c27bmov eax, 0x40f38e
0040c280
0040c280loc_40c280:
0040c280mov ecx, 0x40f3c8
0040c285mov rsi, rax
0040c288mov rdi, rcx
0040c28bmov eax, 0
0040c290call printf@plt
0040c295mov eax, [rip+0x204765]
0040c29btest eax, eax
0040c29dje 0x40c2a6
0040c29fmov eax, 0x40f38c
0040c2a4jmp 0x40c2ab
0040c2a6
0040c2a6loc_40c2a6:
0040c2a6mov eax, 0x40f38e
0040c2ab
0040c2abloc_40c2ab:
0040c2abmov edx, 0x40f3ef
0040c2b0mov rsi, rax
0040c2b3mov rdi, rdx
0040c2b6mov eax, 0
0040c2bbcall printf@plt
0040c2c0mov eax, [rip+0x20473e]
0040c2c6test eax, eax
0040c2c8je 0x40c2d1
0040c2camov eax, 0x40f38c
0040c2cfjmp 0x40c2d6
0040c2d1
0040c2d1loc_40c2d1:
0040c2d1mov eax, 0x40f38e
0040c2d6
0040c2d6loc_40c2d6:
0040c2d6mov edx, 0x40f408
0040c2dbmov rsi, rax
0040c2demov rdi, rdx
0040c2e1mov eax, 0
0040c2e6call printf@plt
0040c2ebpop rbp
0040c2ecret
0040c200
0040c200PrintArgs:
0040c200push rbp
0040c201mov rbp, rsp
0040c204mov edi, 0x40f382
0040c209call puts@plt
0040c20emov eax, [rip+0x2047bc]
0040c214test eax, eax
0040c216je 0x40c21f
0040c218mov eax, 0x40f38c
0040c21djmp 0x40c224
0040c21f
0040c21floc_40c21f:
0040c21fmov eax, 0x40f38e
0040c224
0040c224loc_40c224:
0040c224mov edx, 0x40f390
0040c229mov rsi, rax
0040c22cmov rdi, rdx
0040c22fmov eax, 0
0040c234call printf@plt
0040c239mov eax, [rip+0x2047b9]
0040c23ftest eax, eax
0040c241je 0x40c24a
0040c243mov eax, 0x40f38c
0040c248jmp 0x40c24f
0040c24a
0040c24aloc_40c24a:
0040c24amov eax, 0x40f38e
0040c24f
0040c24floc_40c24f:
0040c24fmov edx, 0x40f3a8
0040c254mov rsi, rax
0040c257mov rdi, rdx
0040c25amov eax, 0
0040c25fcall printf@plt
0040c264mov edx, [rip+0x204792]
0040c26amov eax, [rip+0x20478c]
0040c270test eax, eax
0040c272je 0x40c27b
0040c274mov eax, 0x40f38c
0040c279jmp 0x40c280
0040c27b
0040c27bloc_40c27b:
0040c27bmov eax, 0x40f38e
0040c280
0040c280loc_40c280:
0040c280mov ecx, 0x40f3c8
0040c285mov rsi, rax
0040c288mov rdi, rcx
0040c28bmov eax, 0
0040c290call printf@plt
0040c295mov eax, [rip+0x204765]
0040c29btest eax, eax
0040c29dje 0x40c2a6
0040c29fmov eax, 0x40f38c
0040c2a4jmp 0x40c2ab
0040c2a6
0040c2a6loc_40c2a6:
0040c2a6mov eax, 0x40f38e
0040c2ab
0040c2abloc_40c2ab:
0040c2abmov edx, 0x40f3ef
0040c2b0mov rsi, rax
0040c2b3mov rdi, rdx
0040c2b6mov eax, 0
0040c2bbcall printf@plt
0040c2c0mov eax, [rip+0x20473e]
0040c2c6test eax, eax
0040c2c8je 0x40c2d1
0040c2camov eax, 0x40f38c
0040c2cfjmp 0x40c2d6
0040c2d1
0040c2d1loc_40c2d1:
0040c2d1mov eax, 0x40f38e
0040c2d6
0040c2d6loc_40c2d6:
0040c2d6mov edx, 0x40f408
0040c2dbmov rsi, rax
0040c2demov rdi, rdx
0040c2e1mov eax, 0
0040c2e6call printf@plt
0040c2ebpop rbp
0040c2ecret
0040c200
0040c2ed
0040c2ed // align 0x10
0040c2ed // align 0x10
0040c2f0
0040c2f0ThreadWorker:
0040c2f0push rbp
0040c2f1mov rbp, rsp
0040c2f4sub rsp, 32
0040c2f8mov [rbp-24], rdi
0040c2fcjmp 0x40c2ff
0040c2fe
0040c2feloc_40c2fe:
0040c2fenop
0040c2ff
0040c2ffloc_40c2ff:
0040c2ffmov rax, [rip+0x204702]
0040c306lea rdx, [rbp-16]
0040c30amov rsi, rdx
0040c30dmov rdi, rax
0040c310call queue_get
0040c315movsx eax, al
0040c318mov [rbp-4], eax
0040c31bcmp [rbp-4], 0
0040c31fjs 0x40c2fe
0040c321mov rax, [rbp-16]
0040c325test rax, rax
0040c328je 0x40c37b
0040c32amov edi, 0x610a20
0040c32fcall pthread_mutex_lock@plt
0040c334mov eax, [rip+0x204696]
0040c33atest eax, eax
0040c33cje 0x40c357
0040c33emov rdx, [rbp-16]
0040c342mov eax, 0x40f42b
0040c347mov rsi, rdx
0040c34amov rdi, rax
0040c34dmov eax, 0
0040c352call printf@plt
0040c357
0040c357loc_40c357:
0040c357mov edi, 0x610a20
0040c35ccall pthread_mutex_unlock@plt
0040c361mov rax, [rbp-16]
0040c365mov rdi, rax
0040c368call ProcessFile
0040c36dmov rax, [rbp-16]
0040c371mov rdi, rax
0040c374call free@plt
0040c379jmp 0x40c2fe
0040c37b
0040c37bloc_40c37b:
0040c37bnop
0040c37cmov edi, 0
0040c381call pthread_exit@plt
0040c2f0
0040c2f0ThreadWorker:
0040c2f0push rbp
0040c2f1mov rbp, rsp
0040c2f4sub rsp, 32
0040c2f8mov [rbp-24], rdi
0040c2fcjmp 0x40c2ff
0040c2fe
0040c2feloc_40c2fe:
0040c2fenop
0040c2ff
0040c2ffloc_40c2ff:
0040c2ffmov rax, [rip+0x204702]
0040c306lea rdx, [rbp-16]
0040c30amov rsi, rdx
0040c30dmov rdi, rax
0040c310call queue_get
0040c315movsx eax, al
0040c318mov [rbp-4], eax
0040c31bcmp [rbp-4], 0
0040c31fjs 0x40c2fe
0040c321mov rax, [rbp-16]
0040c325test rax, rax
0040c328je 0x40c37b
0040c32amov edi, 0x610a20
0040c32fcall pthread_mutex_lock@plt
0040c334mov eax, [rip+0x204696]
0040c33atest eax, eax
0040c33cje 0x40c357
0040c33emov rdx, [rbp-16]
0040c342mov eax, 0x40f42b
0040c347mov rsi, rdx
0040c34amov rdi, rax
0040c34dmov eax, 0
0040c352call printf@plt
0040c357
0040c357loc_40c357:
0040c357mov edi, 0x610a20
0040c35ccall pthread_mutex_unlock@plt
0040c361mov rax, [rbp-16]
0040c365mov rdi, rax
0040c368call ProcessFile
0040c36dmov rax, [rbp-16]
0040c371mov rdi, rax
0040c374call free@plt
0040c379jmp 0x40c2fe
0040c37b
0040c37bloc_40c37b:
0040c37bnop
0040c37cmov edi, 0
0040c381call pthread_exit@plt
0040c2f0
0040c386
0040c386SaveNote:
0040c386push rbp
0040c387mov rbp, rsp
0040c38asub rsp, 288
0040c391mov [rbp-280], rdi
0040c398mov rax, [rbp-280]
0040c39fmov [rbp-288], -1
0040c3aamov rdx, rax
0040c3admov eax, 0
0040c3b2mov rcx, [rbp-288]
0040c3b9mov rdi, rdx
0040c3bcrepne scasb [rdi], al
0040c3bemov rax, rcx
0040c3c1not rax
0040c3c4sub rax, 1
0040c3c8sub rax, 1
0040c3ccadd rax, [rbp-280]
0040c3d3movzx eax, [rax]
0040c3d6cmp al, 47
0040c3d8jne 0x40c401
0040c3damov edx, 0x40f43f
0040c3dfmov rcx, [rbp-280]
0040c3e6lea rax, [rbp-272]
0040c3edmov esi, 260
0040c3f2mov rdi, rax
0040c3f5mov eax, 0
0040c3facall snprintf@plt
0040c3ffjmp 0x40c426
0040c401
0040c401loc_40c401:
0040c401mov edx, 0x40f44c
0040c406mov rcx, [rbp-280]
0040c40dlea rax, [rbp-272]
0040c414mov esi, 260
0040c419mov rdi, rax
0040c41cmov eax, 0
0040c421call snprintf@plt
0040c426
0040c426loc_40c426:
0040c426mov edx, 0x40f45a
0040c42blea rax, [rbp-272]
0040c432mov rsi, rdx
0040c435mov rdi, rax
0040c438call fopen@plt
0040c43dmov [rbp-8], rax
0040c441cmp [rbp-8], 0
0040c446je 0x40c4a2
0040c448mov rax, [rip+0x2045c9]
0040c44fmov [rbp-288], -1
0040c45amov rdx, rax
0040c45dmov eax, 0
0040c462mov rcx, [rbp-288]
0040c469mov rdi, rdx
0040c46crepne scasb [rdi], al
0040c46emov rax, rcx
0040c471not rax
0040c474lea rsi, [rax-1]
0040c478mov rax, [rip+0x204599]
0040c47fmov rdx, [rbp-8]
0040c483mov rcx, rdx
0040c486mov rdx, rsi
0040c489mov esi, 1
0040c48emov rdi, rax
0040c491call fwrite@plt
0040c496mov rax, [rbp-8]
0040c49amov rdi, rax
0040c49dcall fclose@plt
0040c4a2
0040c4a2loc_40c4a2:
0040c4a2leave
0040c4a3ret
0040c386
0040c386SaveNote:
0040c386push rbp
0040c387mov rbp, rsp
0040c38asub rsp, 288
0040c391mov [rbp-280], rdi
0040c398mov rax, [rbp-280]
0040c39fmov [rbp-288], -1
0040c3aamov rdx, rax
0040c3admov eax, 0
0040c3b2mov rcx, [rbp-288]
0040c3b9mov rdi, rdx
0040c3bcrepne scasb [rdi], al
0040c3bemov rax, rcx
0040c3c1not rax
0040c3c4sub rax, 1
0040c3c8sub rax, 1
0040c3ccadd rax, [rbp-280]
0040c3d3movzx eax, [rax]
0040c3d6cmp al, 47
0040c3d8jne 0x40c401
0040c3damov edx, 0x40f43f
0040c3dfmov rcx, [rbp-280]
0040c3e6lea rax, [rbp-272]
0040c3edmov esi, 260
0040c3f2mov rdi, rax
0040c3f5mov eax, 0
0040c3facall snprintf@plt
0040c3ffjmp 0x40c426
0040c401
0040c401loc_40c401:
0040c401mov edx, 0x40f44c
0040c406mov rcx, [rbp-280]
0040c40dlea rax, [rbp-272]
0040c414mov esi, 260
0040c419mov rdi, rax
0040c41cmov eax, 0
0040c421call snprintf@plt
0040c426
0040c426loc_40c426:
0040c426mov edx, 0x40f45a
0040c42blea rax, [rbp-272]
0040c432mov rsi, rdx
0040c435mov rdi, rax
0040c438call fopen@plt
0040c43dmov [rbp-8], rax
0040c441cmp [rbp-8], 0
0040c446je 0x40c4a2
0040c448mov rax, [rip+0x2045c9]
0040c44fmov [rbp-288], -1
0040c45amov rdx, rax
0040c45dmov eax, 0
0040c462mov rcx, [rbp-288]
0040c469mov rdi, rdx
0040c46crepne scasb [rdi], al
0040c46emov rax, rcx
0040c471not rax
0040c474lea rsi, [rax-1]
0040c478mov rax, [rip+0x204599]
0040c47fmov rdx, [rbp-8]
0040c483mov rcx, rdx
0040c486mov rdx, rsi
0040c489mov esi, 1
0040c48emov rdi, rax
0040c491call fwrite@plt
0040c496mov rax, [rbp-8]
0040c49amov rdi, rax
0040c49dcall fclose@plt
0040c4a2
0040c4a2loc_40c4a2:
0040c4a2leave
0040c4a3ret
0040c386
Loading..