File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    00105990
    00105990core::num::flt2dec::strategy::dragon::format_shortest:
    00105990push rbp
    00105991push r15
    00105993push r14
    00105995push r13
    00105997push r12
    00105999push rbx
    0010599asub rsp, 1416
    001059a1mov r13, rdx
    001059a4mov rdx, [rsi]
    001059a7test rdx, rdx
    001059aaje 0x1069dd
    001059b0mov rcx, [rsi+8]
    001059b4test rcx, rcx
    001059b7je 0x1069ed
    001059bdmov rax, [rsi+16]
    001059c1test rax, rax
    001059c4je 0x106a07
    001059camov r14, rdi
    001059cdmov rdi, rdx
    001059d0add rdi, rax
    001059d3jb 0x106a21
    001059d9cmp rdx, rcx
    001059dcjb 0x106a3b
    001059e2movsx rbx, [rsi+24]
    001059e7dec rdi
    001059eaje 0x1059f6
    001059ecbsr rdi, rdi
    001059f0xor rdi, 63
    001059f4jmp 0x1059fb
    001059f6
    001059f6loc_1059f6:
    001059f6mov edi, 64
    001059fb
    001059fbloc_1059fb:
    001059fbmovzx esi, [rsi+26]
    001059ffmov [rsp+15], sil
    00105a04mov rsi, rbx
    00105a07sub rsi, rdi
    00105a0aimul rsi, rsi, 0x4d104d42
    00105a11mov r15, 0x1344135080
    00105a1badd r15, rsi
    00105a1eshr r15, 32
    00105a22xor esi, esi
    00105a24xor edi, edi
    00105a26mov r8, rdx
    00105a29shr r8, 32
    00105a2dcmove r8l, esi
    00105a31setne dil
    00105a35inc rdi
    00105a38mov [rsp+208], rdi
    00105a40mov [rsp+48], edx
    00105a44mov [rsp+52], r8l
    00105a49xorps x0, x0
    00105a4cmovups [rsp+56], x0
    00105a51movups [rsp+72], x0
    00105a56movups [rsp+88], x0
    00105a5bmovups [rsp+104], x0
    00105a60movups [rsp+120], x0
    00105a65movups [rsp+136], x0
    00105a6dmovups [rsp+152], x0
    00105a75movups [rsp+168], x0
    00105a7dmovups [rsp+184], x0
    00105a85mov [rsp+200], 0
    00105a91xor edx, edx
    00105a93mov rdi, rcx
    00105a96shr rdi, 32
    00105a9acmove edi, esi
    00105a9dsetne dl
    00105aa0inc rdx
    00105aa3mov [rsp+736], rdx
    00105aabmov [rsp+576], ecx
    00105ab2mov [rsp+580], edi
    00105ab9movups [rsp+584], x0
    00105ac1movups [rsp+600], x0
    00105ac9movups [rsp+616], x0
    00105ad1movups [rsp+632], x0
    00105ad9movups [rsp+648], x0
    00105ae1movups [rsp+664], x0
    00105ae9movups [rsp+680], x0
    00105af1movups [rsp+696], x0
    00105af9movups [rsp+712], x0
    00105b01mov [rsp+728], 0
    00105b0dxor ecx, ecx
    00105b0fmov rdx, rax
    00105b12shr rdx, 32
    00105b16cmove edx, esi
    00105b19setne cl
    00105b1cinc rcx
    00105b1fmov [rsp+400], rcx
    00105b27mov [rsp+240], eax
    00105b2emov [rsp+244], edx
    00105b35movups [rsp+248], x0
    00105b3dmovups [rsp+264], x0
    00105b45movups [rsp+280], x0
    00105b4dmovups [rsp+296], x0
    00105b55movups [rsp+312], x0
    00105b5dmovups [rsp+328], x0
    00105b65movups [rsp+344], x0
    00105b6dmovups [rsp+360], x0
    00105b75movups [rsp+376], x0
    00105b7dmov [rsp+392], 0
    00105b89movups [rsp+552], x0
    00105b91movups [rsp+540], x0
    00105b99movups [rsp+524], x0
    00105ba1movups [rsp+508], x0
    00105ba9movups [rsp+492], x0
    00105bb1movups [rsp+476], x0
    00105bb9movups [rsp+460], x0
    00105bc1movups [rsp+444], x0
    00105bc9movups [rsp+428], x0
    00105bd1movups [rsp+412], x0
    00105bd9mov [rsp+568], 1
    00105be5mov [rsp+408], 1
    00105bf0test bx, bx
    00105bf3js 0x105c1f
    00105bf5movzx esi, bx
    00105bf8lea rdi, [rsp+48]
    00105bfdcall core::num::bignum::Big32x40::mul_pow2
    00105c02lea rdi, [rsp+576]
    00105c0amov rsi, rbx
    00105c0dcall core::num::bignum::Big32x40::mul_pow2
    00105c12lea rdi, [rsp+240]
    00105c1amov rsi, rbx
    00105c1djmp 0x105c2d
    00105c1f
    00105c1floc_105c1f:
    00105c1fneg ebx
    00105c21movsx rsi, bx
    00105c25lea rdi, [rsp+408]
    00105c2d
    00105c2dloc_105c2d:
    00105c2dcall core::num::bignum::Big32x40::mul_pow2
    00105c32test r15w, r15w
    00105c36js 0x105c46
    00105c38movzx esi, r15w
    00105c3clea rdi, [rsp+408]
    00105c44jmp 0x105c76
    00105c46
    00105c46loc_105c46:
    00105c46mov eax, r15l
    00105c49neg eax
    00105c4bmovzx ebx, ax
    00105c4elea rdi, [rsp+48]
    00105c53mov rsi, rbx
    00105c56call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c5blea rdi, [rsp+576]
    00105c63mov rsi, rbx
    00105c66call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c6blea rdi, [rsp+240]
    00105c73mov rsi, rbx
    00105c76
    00105c76loc_105c76:
    00105c76call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c7bmov rbx, [rsp+208]
    00105c83mov [rsp+904], rbx
    00105c8blea rdi, [rsp+744]
    00105c93lea rsi, [rsp+48]
    00105c98mov edx, 160
    00105c9dcall [rip+0x10be7d]
    00105ca3mov rdi, [rsp+400]
    00105cabcmp rbx, rdi
    00105caemov rax, rdi
    00105cb1cmova rax, rbx
    00105cb5cmp rax, 40
    00105cb9ja 0x106984
    00105cbftest rax, rax
    00105cc2je 0x105cd0
    00105cc4cmp rax, 1
    00105cc8jne 0x105cd7
    00105ccaxor ecx, ecx
    00105cccxor edx, edx
    00105ccejmp 0x105d2b
    00105cd0
    00105cd0loc_105cd0:
    00105cd0xor eax, eax
    00105cd2jmp 0x105d71
    00105cd7
    00105cd7loc_105cd7:
    00105cd7mov rsi, rax
    00105cdaand rsi, -2
    00105cdexor edx, edx
    00105ce0xor ecx, ecx
    00105ce2nop [rax+rax]
    00105cf0
    00105cf0loc_105cf0:
    00105cf0movzx edx, dl
    00105cf3bt rdx, 0
    00105cf7mov edx, [rsp+4*rcx+240]
    00105cfemov r8l, [rsp+4*rcx+244]
    00105d06adc [rsp+4*rcx+744], edx
    00105d0dadc [rsp+4*rcx+748], r8l
    00105d15lea rcx, [rcx+2]
    00105d19setb dl
    00105d1ccmp rsi, rcx
    00105d1fjne 0x105cf0
    00105d21test al, 1
    00105d23jne 0x105d2b
    00105d25test dl, dl
    00105d27jne 0x105d59
    00105d29jmp 0x105d71
    00105d2b
    00105d2bloc_105d2b:
    00105d2bmov esi, [rsp+4*rcx+744]
    00105d32mov r8l, [rsp+4*rcx+240]
    00105d3alea r9l, [rsi+r8]
    00105d3emovzx r10l, dl
    00105d42add r10l, r9l
    00105d45setb dl
    00105d48mov [rsp+4*rcx+744], r10l
    00105d50add esi, r8l
    00105d53jb 0x105d59
    00105d55test dl, dl
    00105d57je 0x105d71
    00105d59
    00105d59loc_105d59:
    00105d59cmp rax, 39
    00105d5dja 0x106940
    00105d63mov [rsp+4*rax+744], 1
    00105d6einc rax
    00105d71
    00105d71loc_105d71:
    00105d71mov [rsp+904], rax
    00105d79mov rcx, [rsp+568]
    00105d81cmp rcx, rax
    00105d84cmova rax, rcx
    00105d88cmp rax, 41
    00105d8cjae 0x106984
    00105d92shl rax, 2
    00105d96mov edx, 255
    00105d9bnop [rax+rax]
    00105da0
    00105da0loc_105da0:
    00105da0test rax, rax
    00105da3je 0x105ddb
    00105da5mov r8l, [rsp+rax+740]
    00105dadxor esi, esi
    00105dafcmp r8l, [rsp+rax+404]
    00105db7setne sil
    00105dbbcmova esi, edx
    00105dbeadd rax, -4
    00105dc2test sil, sil
    00105dc5je 0x105da0
    00105dc7cmp sil, [rsp+15]
    00105dccjge 0x105dfd
    00105dce
    00105dceloc_105dce:
    00105dceinc r15l
    00105dd1mov [rsp+32], r15
    00105dd6jmp 0x105f2e
    00105ddb
    00105ddbloc_105ddb:
    00105ddbadd rax, rsp
    00105ddeadd rax, 744
    00105de4lea rdx, [rsp+744]
    00105deccmp rax, rdx
    00105defsetne sil
    00105df3neg sil
    00105df6cmp sil, [rsp+15]
    00105dfbjl 0x105dce
    00105dfd
    00105dfdloc_105dfd:
    00105dfdtest rbx, rbx
    00105e00je 0x105e46
    00105e02lea rdx, [4*rbx]
    00105e0axor esi, esi
    00105e0cxor eax, eax
    00105e0enop
    00105e10
    00105e10loc_105e10:
    00105e10mov r8l, [rsp+rsi+48]
    00105e15lea r8, [r8+4*r8]
    00105e19lea rax, [rax+2*r8]
    00105e1dmov [rsp+rsi+48], eax
    00105e21shr rax, 32
    00105e25add rsi, 4
    00105e29cmp rdx, rsi
    00105e2cjne 0x105e10
    00105e2etest rax, rax
    00105e31je 0x105e48
    00105e33cmp rbx, 39
    00105e37ja 0x106958
    00105e3dmov [rsp+4*rbx+48], eax
    00105e41inc rbx
    00105e44jmp 0x105e48
    00105e46
    00105e46loc_105e46:
    00105e46xor ebx, ebx
    00105e48
    00105e48loc_105e48:
    00105e48mov [rsp+208], rbx
    00105e50mov rax, [rsp+736]
    00105e58cmp rax, 41
    00105e5cjae 0x106984
    00105e62test rax, rax
    00105e65je 0x105ec0
    00105e67lea rsi, [4*rax]
    00105e6fxor r8l, r8l
    00105e72xor edx, edx
    00105e74nop [rax+rax]
    00105e80
    00105e80loc_105e80:
    00105e80mov r9l, [rsp+r8+576]
    00105e88lea r9, [r9+4*r9]
    00105e8clea rdx, [rdx+2*r9]
    00105e90mov [rsp+r8+576], edx
    00105e98shr rdx, 32
    00105e9cadd r8, 4
    00105ea0cmp rsi, r8
    00105ea3jne 0x105e80
    00105ea5test rdx, rdx
    00105ea8je 0x105ec2
    00105eaacmp rax, 39
    00105eaeja 0x106940
    00105eb4mov [rsp+4*rax+576], edx
    00105ebbinc rax
    00105ebejmp 0x105ec2
    00105ec0
    00105ec0loc_105ec0:
    00105ec0xor eax, eax
    00105ec2
    00105ec2loc_105ec2:
    00105ec2mov [rsp+736], rax
    00105ecatest rdi, rdi
    00105ecdje 0x105f1f
    00105ecflea rdx, [4*rdi]
    00105ed7xor esi, esi
    00105ed9xor eax, eax
    00105edbnop [rax+rax]
    00105ee0
    00105ee0loc_105ee0:
    00105ee0mov r8l, [rsp+rsi+240]
    00105ee8lea r8, [r8+4*r8]
    00105eeclea rax, [rax+2*r8]
    00105ef0mov [rsp+rsi+240], eax
    00105ef7shr rax, 32
    00105efbadd rsi, 4
    00105effcmp rdx, rsi
    00105f02jne 0x105ee0
    00105f04test rax, rax
    00105f07je 0x105f21
    00105f09cmp rdi, 39
    00105f0dja 0x10690b
    00105f13mov [rsp+4*rdi+240], eax
    00105f1ainc rdi
    00105f1djmp 0x105f21
    00105f1f
    00105f1floc_105f1f:
    00105f1fxor edi, edi
    00105f21
    00105f21loc_105f21:
    00105f21mov [rsp+32], r15
    00105f26mov [rsp+400], rdi
    00105f2e
    00105f2eloc_105f2e:
    00105f2emov [rsp+1072], rcx
    00105f36lea r15, [rsp+912]
    00105f3elea rbx, [rsp+408]
    00105f46mov r12, [rip+0x10bbd3]
    00105f4dmov edx, 160
    00105f52mov rdi, r15
    00105f55mov rsi, rbx
    00105f58call r12
    00105f5bmov esi, 1
    00105f60mov rdi, r15
    00105f63call core::num::bignum::Big32x40::mul_pow2
    00105f68mov rax, [rsp+568]
    00105f70mov [rsp+1240], rax
    00105f78lea r15, [rsp+1080]
    00105f80mov edx, 160
    00105f85mov rdi, r15
    00105f88mov rsi, rbx
    00105f8bcall r12
    00105f8emov esi, 2
    00105f93mov rdi, r15
    00105f96call core::num::bignum::Big32x40::mul_pow2
    00105f9bmov rax, [rsp+568]
    00105fa3mov [rsp+1408], rax
    00105fablea r15, [rsp+1248]
    00105fb3mov edx, 160
    00105fb8mov rdi, r15
    00105fbbmov rsi, rbx
    00105fbecall r12
    00105fc1mov esi, 3
    00105fc6mov rdi, r15
    00105fc9call core::num::bignum::Big32x40::mul_pow2
    00105fcemov rdi, [rsp+1408]
    00105fd6mov rbp, [rsp+208]
    00105fdecmp rbp, rdi
    00105fe1mov [rsp+216], rdi
    00105fe9cmova rdi, rbp
    00105fedcmp rdi, 40
    00105ff1ja 0x10699a
    00105ff7mov [rsp+24], r14
    00105ffcmov rax, [rsp+1240]
    00106004mov [rsp+232], rax
    0010600cmov rax, [rsp+1072]
    00106014mov [rsp+224], rax
    0010601cmov r11, [rsp+568]
    00106024xor r12l, r12l
    00106027mov r14l, 255
    0010602dmov [rsp+16], r13
    00106032jmp 0x106068
    00106034
    00106034 66 66 66 2e 0f 1f 84 00 00 00 00 00 fff.........
    00106040
    00106040loc_106040:
    00106040xor edi, edi
    00106042mov r13, [rsp+16]
    00106047
    00106047loc_106047:
    00106047mov [rsp+400], rdi
    0010604fmov rdi, [rsp+216]
    00106057cmp rbp, rdi
    0010605acmova rdi, rbp
    0010605ecmp rdi, 40
    00106062ja 0x10699a
    00106068
    00106068loc_106068:
    00106068mov rbx, r12
    0010606blea rax, [4*rdi]
    00106073nop [rax+rax]
    00106080
    00106080loc_106080:
    00106080test rax, rax
    00106083je 0x1060c0
    00106085mov edx, [rsp+rax+1244]
    0010608cxor ecx, ecx
    0010608ecmp edx, [rsp+rax+44]
    00106092setne cl
    00106095cmova ecx, r14l
    00106099add rax, -4
    0010609dtest cl, cl
    0010609fje 0x106080
    001060a1cmp cl, 1
    001060a4ja 0x1060de
    001060a6
    001060a6loc_1060a6:
    001060a6test rdi, rdi
    001060a9je 0x10614f
    001060afcmp rdi, 1
    001060b3jne 0x1060e5
    001060b5mov al, 1
    001060b7xor ecx, ecx
    001060b9jmp 0x106123
    001060bb
    001060bb 0f 1f 44 00 00 ..D..
    001060c0
    001060c0loc_1060c0:
    001060c0add rax, rsp
    001060c3add rax, 1248
    001060c9lea rcx, [rsp+1248]
    001060d1cmp rax, rcx
    001060d4setne cl
    001060d7neg cl
    001060d9cmp cl, 1
    001060dcjbe 0x1060a6
    001060de
    001060deloc_1060de:
    001060dexor ecx, ecx
    001060e0mov rdi, rbp
    001060e3jmp 0x106159
    001060e5
    001060e5loc_1060e5:
    001060e5mov rdx, rdi
    001060e8and rdx, -2
    001060ecmov al, 1
    001060eexor ecx, ecx
    001060f0
    001060f0loc_1060f0:
    001060f0mov esi, [rsp+4*rcx+1248]
    001060f7not esi
    001060f9movzx eax, al
    001060fcbt rax, 0
    00106100adc [rsp+4*rcx+48], esi
    00106104mov eax, [rsp+4*rcx+1252]
    0010610bnot eax
    0010610dadc [rsp+4*rcx+52], eax
    00106111lea rcx, [rcx+2]
    00106115setb al
    00106118cmp rdx, rcx
    0010611bjne 0x1060f0
    0010611dtest dil, 1
    00106121je 0x106147
    00106123
    00106123loc_106123:
    00106123mov edx, [rsp+4*rcx+1248]
    0010612anot edx
    0010612cmov esi, [rsp+4*rcx+48]
    00106130lea r8l, [rdx+rsi]
    00106134movzx r9l, al
    00106138add r9l, r8l
    0010613bsetb al
    0010613emov [rsp+4*rcx+48], r9l
    00106143add edx, esi
    00106145jb 0x10614f
    00106147
    00106147loc_106147:
    00106147test al, al
    00106149je 0x1069ad
    0010614f
    0010614floc_10614f:
    0010614fmov [rsp+208], rdi
    00106157mov cl, 8
    00106159
    00106159loc_106159:
    00106159mov rax, [rsp+232]
    00106161cmp rdi, rax
    00106164cmova rax, rdi
    00106168cmp rax, 41
    0010616cjae 0x106984
    00106172lea rdx, [4*rax]
    0010617anop [rax+rax]
    00106180
    00106180loc_106180:
    00106180test rdx, rdx
    00106183je 0x1061c0
    00106185mov r8l, [rsp+rdx+1076]
    0010618dxor esi, esi
    0010618fcmp r8l, [rsp+rdx+44]
    00106194setne sil
    00106198cmova esi, r14l
    0010619cadd rdx, -4
    001061a0test sil, sil
    001061a3je 0x106180
    001061a5cmp sil, 1
    001061a9ja 0x1061e2
    001061ab
    001061abloc_1061ab:
    001061abtest rax, rax
    001061aeje 0x106262
    001061b4cmp rax, 1
    001061b8jne 0x1061ea
    001061bamov dl, 1
    001061bcxor esi, esi
    001061bejmp 0x106234
    001061c0
    001061c0loc_1061c0:
    001061c0add rdx, rsp
    001061c3add rdx, 1080
    001061calea rsi, [rsp+1080]
    001061d2cmp rdx, rsi
    001061d5setne sil
    001061d9neg sil
    001061dccmp sil, 1
    001061e0jbe 0x1061ab
    001061e2
    001061e2loc_1061e2:
    001061e2mov rax, rdi
    001061e5jmp 0x10626d
    001061ea
    001061ealoc_1061ea:
    001061eamov rdi, rax
    001061edand rdi, -2
    001061f1mov dl, 1
    001061f3xor esi, esi
    001061f5nop [rax+rax]
    00106200
    00106200loc_106200:
    00106200mov r8l, [rsp+4*rsi+1080]
    00106208not r8l
    0010620bmovzx edx, dl
    0010620ebt rdx, 0
    00106212adc [rsp+4*rsi+48], r8l
    00106217mov edx, [rsp+4*rsi+1084]
    0010621enot edx
    00106220adc [rsp+4*rsi+52], edx
    00106224lea rsi, [rsi+2]
    00106228setb dl
    0010622bcmp rdi, rsi
    0010622ejne 0x106200
    00106230test al, 1
    00106232je 0x10625a
    00106234
    00106234loc_106234:
    00106234mov edi, [rsp+4*rsi+1080]
    0010623bnot edi
    0010623dmov r8l, [rsp+4*rsi+48]
    00106242lea r9l, [rdi+r8]
    00106246movzx r10l, dl
    0010624aadd r10l, r9l
    0010624dsetb dl
    00106250mov [rsp+4*rsi+48], r10l
    00106255add edi, r8l
    00106258jb 0x106262
    0010625a
    0010625aloc_10625a:
    0010625atest dl, dl
    0010625cje 0x1069ad
    00106262
    00106262loc_106262:
    00106262mov [rsp+208], rax
    0010626aor cl, 4
    0010626d
    0010626dloc_10626d:
    0010626dmov rdi, [rsp+224]
    00106275cmp rax, rdi
    00106278cmova rdi, rax
    0010627ccmp rdi, 41
    00106280jae 0x10699a
    00106286lea rdx, [4*rdi]
    0010628enop
    00106290
    00106290loc_106290:
    00106290test rdx, rdx
    00106293je 0x1062d0
    00106295mov r8l, [rsp+rdx+908]
    0010629dxor esi, esi
    0010629fcmp r8l, [rsp+rdx+44]
    001062a4setne sil
    001062a8cmova esi, r14l
    001062acadd rdx, -4
    001062b0test sil, sil
    001062b3je 0x106290
    001062b5cmp sil, 1
    001062b9ja 0x1062f2
    001062bb
    001062bbloc_1062bb:
    001062bbtest rdi, rdi
    001062beje 0x106374
    001062c4cmp rdi, 1
    001062c8jne 0x1062fa
    001062camov al, 1
    001062ccxor edx, edx
    001062cejmp 0x106346
    001062d0
    001062d0loc_1062d0:
    001062d0add rdx, rsp
    001062d3add rdx, 912
    001062dalea rsi, [rsp+912]
    001062e2cmp rdx, rsi
    001062e5setne sil
    001062e9neg sil
    001062eccmp sil, 1
    001062f0jbe 0x1062bb
    001062f2
    001062f2loc_1062f2:
    001062f2mov rdi, rax
    001062f5jmp 0x10637f
    001062fa
    001062faloc_1062fa:
    001062famov rsi, rdi
    001062fdand rsi, -2
    00106301mov al, 1
    00106303xor edx, edx
    00106305nop [rax+rax]
    00106310
    00106310loc_106310:
    00106310mov r8l, [rsp+4*rdx+912]
    00106318not r8l
    0010631bmovzx eax, al
    0010631ebt rax, 0
    00106322adc [rsp+4*rdx+48], r8l
    00106327mov eax, [rsp+4*rdx+916]
    0010632enot eax
    00106330adc [rsp+4*rdx+52], eax
    00106334lea rdx, [rdx+2]
    00106338setb al
    0010633bcmp rsi, rdx
    0010633ejne 0x106310
    00106340test dil, 1
    00106344je 0x10636c
    00106346
    00106346loc_106346:
    00106346mov esi, [rsp+4*rdx+912]
    0010634dnot esi
    0010634fmov r8l, [rsp+4*rdx+48]
    00106354lea r9l, [rsi+r8]
    00106358movzx r10l, al
    0010635cadd r10l, r9l
    0010635fsetb al
    00106362mov [rsp+4*rdx+48], r10l
    00106367add esi, r8l
    0010636ajb 0x106374
    0010636c
    0010636cloc_10636c:
    0010636ctest al, al
    0010636eje 0x1069ad
    00106374
    00106374loc_106374:
    00106374mov [rsp+208], rdi
    0010637cadd cl, 2
    0010637f
    0010637floc_10637f:
    0010637fcmp rdi, r11
    00106382mov rbp, r11
    00106385cmova rbp, rdi
    00106389cmp rbp, 41
    0010638djae 0x1069c7
    00106393lea rax, [4*rbp]
    0010639bnop [rax+rax]
    001063a0
    001063a0loc_1063a0:
    001063a0test rax, rax
    001063a3je 0x1063e0
    001063a5mov esi, [rsp+rax+404]
    001063acxor edx, edx
    001063aecmp esi, [rsp+rax+44]
    001063b2setne dl
    001063b5cmova edx, r14l
    001063b9add rax, -4
    001063bdtest dl, dl
    001063bfje 0x1063a0
    001063c1cmp dl, 1
    001063c4ja 0x1063fe
    001063c6
    001063c6loc_1063c6:
    001063c6test rbp, rbp
    001063c9je 0x10646f
    001063cfcmp rbp, 1
    001063d3jne 0x106403
    001063d5mov al, 1
    001063d7xor edx, edx
    001063d9jmp 0x106443
    001063db
    001063db 0f 1f 44 00 00 ..D..
    001063e0
    001063e0loc_1063e0:
    001063e0add rax, rsp
    001063e3add rax, 408
    001063e9lea rdx, [rsp+408]
    001063f1cmp rax, rdx
    001063f4setne dl
    001063f7neg dl
    001063f9cmp dl, 1
    001063fcjbe 0x1063c6
    001063fe
    001063feloc_1063fe:
    001063femov rbp, rdi
    00106401jmp 0x106479
    00106403
    00106403loc_106403:
    00106403mov rsi, rbp
    00106406and rsi, -2
    0010640amov al, 1
    0010640cxor edx, edx
    0010640enop
    00106410
    00106410loc_106410:
    00106410mov edi, [rsp+4*rdx+408]
    00106417not edi
    00106419movzx eax, al
    0010641cbt rax, 0
    00106420adc [rsp+4*rdx+48], edi
    00106424mov eax, [rsp+4*rdx+412]
    0010642bnot eax
    0010642dadc [rsp+4*rdx+52], eax
    00106431lea rdx, [rdx+2]
    00106435setb al
    00106438cmp rsi, rdx
    0010643bjne 0x106410
    0010643dtest bpl, 1
    00106441je 0x106467
    00106443
    00106443loc_106443:
    00106443mov esi, [rsp+4*rdx+408]
    0010644anot esi
    0010644cmov edi, [rsp+4*rdx+48]
    00106450lea r8l, [rsi+rdi]
    00106454movzx r9l, al
    00106458add r9l, r8l
    0010645bsetb al
    0010645emov [rsp+4*rdx+48], r9l
    00106463add esi, edi
    00106465jb 0x10646f
    00106467
    00106467loc_106467:
    00106467test al, al
    00106469je 0x1069ad
    0010646f
    0010646floc_10646f:
    0010646fmov [rsp+208], rbp
    00106477inc cl
    00106479
    00106479loc_106479:
    00106479cmp rbx, 17
    0010647dje 0x1068f3
    00106483add cl, 48
    00106486mov [r13+rbx], cl
    0010648bmov r13, [rsp+736]
    00106493cmp rbp, r13
    00106496mov rdi, r13
    00106499cmova rdi, rbp
    0010649dcmp rdi, 41
    001064a1jae 0x10699a
    001064a7mov r12, r11
    001064aamov [rsp+40], rbx
    001064aflea r15, [rbx+1]
    001064b3shl rdi, 2
    001064b7nop [rax+rax]
    001064c0
    001064c0loc_1064c0:
    001064c0test rdi, rdi
    001064c3je 0x1064f0
    001064c5mov eax, [rsp+rdi+572]
    001064ccxor ebx, ebx
    001064cecmp eax, [rsp+rdi+44]
    001064d2setne bl
    001064d5cmova ebx, r14l
    001064d9add rdi, -4
    001064ddtest bl, bl
    001064dfje 0x1064c0
    001064e1jmp 0x10650a
    001064e3
    001064e3 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffff.........
    001064f0
    001064f0loc_1064f0:
    001064f0lea rax, [rsp+rdi]
    001064f4add rax, 576
    001064falea rcx, [rsp+576]
    00106502cmp rax, rcx
    00106505setne bl
    00106508neg bl
    0010650a
    0010650aloc_10650a:
    0010650amov [rsp+904], rbp
    00106512mov edx, 160
    00106517lea rdi, [rsp+744]
    0010651flea rsi, [rsp+48]
    00106524call [rip+0x10b5f6]
    0010652amov rdi, [rsp+400]
    00106532cmp rbp, rdi
    00106535mov rax, rdi
    00106538cmova rax, rbp
    0010653ccmp rax, 40
    00106540ja 0x106984
    00106546test rax, rax
    00106549mov r11, r12
    0010654cje 0x106560
    0010654ecmp rax, 1
    00106552mov r12, r15
    00106555jne 0x106570
    00106557xor ecx, ecx
    00106559xor edx, edx
    0010655bjmp 0x1065c0
    0010655d
    0010655d 0f 1f 00 ...
    00106560
    00106560loc_106560:
    00106560xor eax, eax
    00106562mov r12, r15
    00106565jmp 0x106606
    0010656a
    0010656a 66 0f 1f 44 00 00 f..D..
    00106570
    00106570loc_106570:
    00106570mov rsi, rax
    00106573and rsi, -2
    00106577xor edx, edx
    00106579xor ecx, ecx
    0010657bnop [rax+rax]
    00106580
    00106580loc_106580:
    00106580movzx edx, dl
    00106583bt rdx, 0
    00106587mov edx, [rsp+4*rcx+240]
    0010658emov r8l, [rsp+4*rcx+244]
    00106596adc [rsp+4*rcx+744], edx
    0010659dadc [rsp+4*rcx+748], r8l
    001065a5lea rcx, [rcx+2]
    001065a9setb dl
    001065accmp rsi, rcx
    001065afjne 0x106580
    001065b1test al, 1
    001065b3jne 0x1065c0
    001065b5test dl, dl
    001065b7jne 0x1065ee
    001065b9jmp 0x106606
    001065bb
    001065bb 0f 1f 44 00 00 ..D..
    001065c0
    001065c0loc_1065c0:
    001065c0mov esi, [rsp+4*rcx+744]
    001065c7mov r8l, [rsp+4*rcx+240]
    001065cflea r9l, [rsi+r8]
    001065d3movzx r10l, dl
    001065d7add r10l, r9l
    001065dasetb dl
    001065ddmov [rsp+4*rcx+744], r10l
    001065e5add esi, r8l
    001065e8jb 0x1065ee
    001065eatest dl, dl
    001065ecje 0x106606
    001065ee
    001065eeloc_1065ee:
    001065eecmp rax, 39
    001065f2ja 0x106940
    001065f8mov [rsp+4*rax+744], 1
    00106603inc rax
    00106606
    00106606loc_106606:
    00106606mov [rsp+904], rax
    0010660ecmp r11, rax
    00106611cmova rax, r11
    00106615cmp rax, 41
    00106619jae 0x106984
    0010661fshl rax, 2
    00106623nop [rax+rax]
    00106630
    00106630loc_106630:
    00106630test rax, rax
    00106633je 0x106660
    00106635mov edx, [rsp+rax+740]
    0010663cxor ecx, ecx
    0010663ecmp edx, [rsp+rax+404]
    00106645setne cl
    00106648cmova ecx, r14l
    0010664cadd rax, -4
    00106650test cl, cl
    00106652je 0x106630
    00106654jmp 0x106679
    00106656
    00106656 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00106660
    00106660loc_106660:
    00106660add rax, rsp
    00106663add rax, 744
    00106669lea rcx, [rsp+744]
    00106671cmp rax, rcx
    00106674setne cl
    00106677neg cl
    00106679
    00106679loc_106679:
    00106679movzx eax, [rsp+15]
    0010667ecmp bl, al
    00106680jl 0x1067b5
    00106686cmp cl, al
    00106688jl 0x1067b5
    0010668etest rbp, rbp
    00106691je 0x1066e0
    00106693lea rcx, [4*rbp]
    0010669bxor edx, edx
    0010669dxor eax, eax
    0010669fnop
    001066a0
    001066a0loc_1066a0:
    001066a0mov esi, [rsp+rdx+48]
    001066a4lea rsi, [rsi+4*rsi]
    001066a8lea rax, [rax+2*rsi]
    001066acmov [rsp+rdx+48], eax
    001066b0shr rax, 32
    001066b4add rdx, 4
    001066b8cmp rcx, rdx
    001066bbjne 0x1066a0
    001066bdtest rax, rax
    001066c0je 0x1066e2
    001066c2cmp rbp, 39
    001066c6ja 0x106914
    001066ccmov [rsp+4*rbp+48], eax
    001066d0inc rbp
    001066d3jmp 0x1066e2
    001066d5
    001066d5 66 66 2e 0f 1f 84 00 00 00 00 00 ff.........
    001066e0
    001066e0loc_1066e0:
    001066e0xor ebp, ebp
    001066e2
    001066e2loc_1066e2:
    001066e2mov [rsp+208], rbp
    001066eatest r13, r13
    001066edje 0x106740
    001066eflea rcx, [4*r13]
    001066f7xor edx, edx
    001066f9xor eax, eax
    001066fbnop [rax+rax]
    00106700
    00106700loc_106700:
    00106700mov esi, [rsp+rdx+576]
    00106707lea rsi, [rsi+4*rsi]
    0010670blea rax, [rax+2*rsi]
    0010670fmov [rsp+rdx+576], eax
    00106716shr rax, 32
    0010671aadd rdx, 4
    0010671ecmp rcx, rdx
    00106721jne 0x106700
    00106723test rax, rax
    00106726je 0x106743
    00106728cmp r13, 39
    0010672cja 0x10692a
    00106732mov [rsp+4*r13+576], eax
    0010673ainc r13
    0010673djmp 0x106743
    0010673f
    0010673f 90 .
    00106740
    00106740loc_106740:
    00106740xor r13l, r13l
    00106743
    00106743loc_106743:
    00106743mov [rsp+736], r13
    0010674btest rdi, rdi
    0010674eje 0x106040
    00106754lea rcx, [4*rdi]
    0010675cxor edx, edx
    0010675exor eax, eax
    00106760mov r13, [rsp+16]
    00106765nop [rax+rax]
    00106770
    00106770loc_106770:
    00106770mov esi, [rsp+rdx+240]
    00106777lea rsi, [rsi+4*rsi]
    0010677blea rax, [rax+2*rsi]
    0010677fmov [rsp+rdx+240], eax
    00106786shr rax, 32
    0010678aadd rdx, 4
    0010678ecmp rcx, rdx
    00106791jne 0x106770
    00106793test rax, rax
    00106796je 0x106047
    0010679ccmp rdi, 39
    001067a0ja 0x10690b
    001067a6mov [rsp+4*rdi+240], eax
    001067adinc rdi
    001067b0jmp 0x106047
    001067b5
    001067b5loc_1067b5:
    001067b5cmp cl, al
    001067b7mov r15, [rsp+16]
    001067bcmov r14, [rsp+32]
    001067c1jge 0x10688d
    001067c7cmp bl, al
    001067c9jge 0x106851
    001067cflea rdi, [rsp+48]
    001067d4mov esi, 1
    001067d9call core::num::bignum::Big32x40::mul_pow2
    001067demov rax, [rsp+208]
    001067e6mov rdi, [rsp+568]
    001067eecmp rax, rdi
    001067f1cmova rdi, rax
    001067f5cmp rdi, 41
    001067f9jae 0x10699a
    001067ffshl rdi, 2
    00106803mov eax, 255
    00106808nop [rax+rax]
    00106810
    00106810loc_106810:
    00106810test rdi, rdi
    00106813je 0x106832
    00106815mov edx, [rsp+rdi+404]
    0010681cxor ecx, ecx
    0010681ecmp edx, [rsp+rdi+44]
    00106822setne cl
    00106825cmova ecx, eax
    00106828add rdi, -4
    0010682ctest cl, cl
    0010682eje 0x106810
    00106830jmp 0x10684c
    00106832
    00106832loc_106832:
    00106832lea rax, [rsp+rdi]
    00106836add rax, 408
    0010683clea rcx, [rsp+408]
    00106844cmp rax, rcx
    00106847setne cl
    0010684aneg cl
    0010684c
    0010684cloc_10684c:
    0010684ccmp cl, 2
    0010684fjae 0x10688d
    00106851
    00106851loc_106851:
    00106851mov rdx, -1
    00106858mov rax, r12
    0010685bmov rbx, [rsp+40]
    00106860
    00106860loc_106860:
    00106860test rax, rax
    00106863je 0x1068bc
    00106865mov rdi, rax
    00106868dec rax
    0010686binc rdx
    0010686ecmp [r15+rdi-1], 57
    00106874je 0x106860
    00106876inc [r15+rax]
    0010687acmp rdi, rbx
    0010687dja 0x10688d
    0010687fadd rdi, r15
    00106882mov esi, 48
    00106887call [rip+0x10b27b]
    0010688d
    0010688dloc_10688d:
    0010688dcmp [rsp+40], 17
    00106893jae 0x106a55
    00106899
    00106899loc_106899:
    00106899mov rax, [rsp+24]
    0010689emov [rax], r15
    001068a1mov [rax+8], r12
    001068a5mov [rax+16], r14w
    001068aaadd rsp, 1416
    001068b1pop rbx
    001068b2pop r12
    001068b4pop r13
    001068b6pop r14
    001068b8pop r15
    001068bapop rbp
    001068bbret
    001068bc
    001068bcloc_1068bc:
    001068bcmov [r15], 49
    001068c0test rbx, rbx
    001068c3je 0x1068e1
    001068c5lea rdi, [r15+1]
    001068c9mov esi, 48
    001068cemov rdx, rbx
    001068d1call [rip+0x10b231]
    001068d7cmp rbx, 15
    001068dbja 0x10696e
    001068e1
    001068e1loc_1068e1:
    001068e1mov [r15+rbx+1], 48
    001068e7add rbx, 2
    001068ebinc r14l
    001068eemov r12, rbx
    001068f1jmp 0x106899
    001068f3
    001068f3loc_1068f3:
    001068f3lea rdx, [rip+0xe3f96]
    001068famov edi, 17
    001068ffmov esi, 17
    00106904call core::panicking::panic_bounds_check
    00106909ud2
    0010690b
    0010690bloc_10690b:
    0010690blea rdx, [rip+0xe48d6]
    00106912jmp 0x10694c
    00106914
    00106914loc_106914:
    00106914lea rdx, [rip+0xe48cd]
    0010691bmov esi, 40
    00106920mov rdi, rbp
    00106923call core::panicking::panic_bounds_check
    00106928ud2
    0010692a
    0010692aloc_10692a:
    0010692alea rdx, [rip+0xe48b7]
    00106931mov esi, 40
    00106936mov rdi, r13
    00106939call core::panicking::panic_bounds_check
    0010693eud2
    00106940
    00106940loc_106940:
    00106940lea rdx, [rip+0xe48a1]
    00106947mov edi, 40
    0010694c
    0010694cloc_10694c:
    0010694cmov esi, 40
    00106951call core::panicking::panic_bounds_check
    00106956ud2
    00106958
    00106958loc_106958:
    00106958lea rdx, [rip+0xe4889]
    0010695fmov esi, 40
    00106964mov rdi, rbx
    00106967call core::panicking::panic_bounds_check
    0010696cud2
    0010696e
    0010696eloc_10696e:
    0010696elea rdx, [rip+0xe3f33]
    00106975mov esi, 17
    0010697amov rdi, r12
    0010697dcall core::panicking::panic_bounds_check
    00106982ud2
    00106984
    00106984loc_106984:
    00106984lea rdx, [rip+0xe485d]
    0010698bmov esi, 40
    00106990mov rdi, rax
    00106993call core::slice::index::slice_end_index_len_fail
    00106998ud2
    0010699a
    0010699aloc_10699a:
    0010699alea rdx, [rip+0xe4847]
    001069a1mov esi, 40
    001069a6call core::slice::index::slice_end_index_len_fail
    001069abud2
    001069ad
    001069adloc_1069ad:
    001069adlea rdi, [rip-0xc25f5]
    001069b4lea rdx, [rip+0xe482d]
    001069bbmov esi, 26
    001069c0call core::panicking::panic
    001069c5ud2
    001069c7
    001069c7loc_1069c7:
    001069c7lea rdx, [rip+0xe481a]
    001069cemov esi, 40
    001069d3mov rdi, rbp
    001069d6call core::slice::index::slice_end_index_len_fail
    001069dbud2
    001069dd
    001069ddloc_1069dd:
    001069ddlea rdi, [rip-0xc3899]
    001069e4lea rdx, [rip+0xe3e5d]
    001069ebjmp 0x106a15
    001069ed
    001069edloc_1069ed:
    001069edlea rdi, [rip-0xc388d]
    001069f4lea rdx, [rip+0xe3e65]
    001069fbmov esi, 29
    00106a00call core::panicking::panic
    00106a05ud2
    00106a07
    00106a07loc_106a07:
    00106a07lea rdi, [rip-0xc388a]
    00106a0elea rdx, [rip+0xe3e63]
    00106a15
    00106a15loc_106a15:
    00106a15mov esi, 28
    00106a1acall core::panicking::panic
    00106a1fud2
    00106a21
    00106a21loc_106a21:
    00106a21lea rdi, [rip-0xc3851]
    00106a28lea rdx, [rip+0xe3ec1]
    00106a2fmov esi, 54
    00106a34call core::panicking::panic
    00106a39ud2
    00106a3b
    00106a3bloc_106a3b:
    00106a3blea rdi, [rip-0xc38a2]
    00106a42lea rdx, [rip+0xe3e8f]
    00106a49mov esi, 55
    00106a4ecall core::panicking::panic
    00106a53ud2
    00106a55
    00106a55loc_106a55:
    00106a55lea rdx, [rip+0xe3e64]
    00106a5cmov esi, 17
    00106a61mov rdi, r12
    00106a64call core::slice::index::slice_end_index_len_fail
    00106a69ud2
    00105990
    00106a6b
    00106a6b // align 0x10
    00106a70
    00106a70core::num::bignum::Big32x40::mul_pow2:
    00106a70push r15
    00106a72push r14
    00106a74push rbx
    00106a75cmp rsi, 1280
    00106a7cjae 0x106bd2
    00106a82mov r14, rsi
    00106a85mov rbx, rdi
    00106a88mov r15, rsi
    00106a8bshr r15, 5
    00106a8fmov rcx, [rdi+160]
    00106a96test rcx, rcx
    00106a99je 0x106ac6
    00106a9bmov rdi, rcx
    00106a9enop
    00106aa0
    00106aa0loc_106aa0:
    00106aa0dec rdi
    00106aa3cmp rcx, 41
    00106aa7jae 0x106ba5
    00106aadlea rax, [rdi+r15]
    00106ab1cmp rax, 40
    00106ab5jae 0x106b8f
    00106abbmov edx, [rbx+4*rdi]
    00106abemov [rbx+4*rax], edx
    00106ac1test rdi, rdi
    00106ac4jne 0x106aa0
    00106ac6
    00106ac6loc_106ac6:
    00106ac6cmp r14, 32
    00106acajb 0x106ae6
    00106acccmp r15, 1
    00106ad0mov rdx, r15
    00106ad3adc rdx, 0
    00106ad7shl rdx, 2
    00106adbmov rdi, rbx
    00106adexor esi, esi
    00106ae0call [rip+0x10b022]
    00106ae6
    00106ae6loc_106ae6:
    00106ae6mov rdi, [rbx+160]
    00106aedadd rdi, r15
    00106af0test r14b, 31
    00106af4je 0x106b7c
    00106afalea rax, [rdi-1]
    00106afecmp rax, 39
    00106b02ja 0x106b8f
    00106b08mov edx, [rbx+4*rdi-4]
    00106b0cmov eax, r14l
    00106b0fneg eax
    00106b11and eax, 31
    00106b14mov r8l, edx
    00106b17mov ecx, eax
    00106b19shr r8l, cl
    00106b1cmov rsi, rdi
    00106b1ftest r8l, r8l
    00106b22je 0x106b32
    00106b24cmp rdi, 39
    00106b28ja 0x106ba5
    00106b2amov [rbx+4*rdi], r8l
    00106b2elea rsi, [rdi+1]
    00106b32
    00106b32loc_106b32:
    00106b32lea r8, [r15+1]
    00106b36and r14l, 31
    00106b3acmp r8, rdi
    00106b3djae 0x106b73
    00106b3fnop
    00106b40
    00106b40loc_106b40:
    00106b40lea rcx, [rdi-2]
    00106b44cmp rcx, 40
    00106b48jae 0x106bb8
    00106b4amov ecx, r14l
    00106b4dshl edx, cl
    00106b4fmov r9l, [rbx+4*rdi-8]
    00106b54mov r10l, r9l
    00106b57mov ecx, eax
    00106b59shr r10l, cl
    00106b5cor r10l, edx
    00106b5fmov [rbx+4*rdi-4], r10l
    00106b64lea rcx, [rdi-1]
    00106b68mov edx, r9l
    00106b6bmov rdi, rcx
    00106b6ecmp r8, rcx
    00106b71jb 0x106b40
    00106b73
    00106b73loc_106b73:
    00106b73mov ecx, r14l
    00106b76shl [rbx+4*r15], cl
    00106b7ajmp 0x106b7f
    00106b7c
    00106b7cloc_106b7c:
    00106b7cmov rsi, rdi
    00106b7f
    00106b7floc_106b7f:
    00106b7fmov [rbx+160], rsi
    00106b86mov rax, rbx
    00106b89pop rbx
    00106b8apop r14
    00106b8cpop r15
    00106b8eret
    00106b8f
    00106b8floc_106b8f:
    00106b8flea rdx, [rip+0xe4652]
    00106b96mov esi, 40
    00106b9bmov rdi, rax
    00106b9ecall core::panicking::panic_bounds_check
    00106ba3ud2
    00106ba5
    00106ba5loc_106ba5:
    00106ba5lea rdx, [rip+0xe463c]
    00106bacmov esi, 40
    00106bb1call core::panicking::panic_bounds_check
    00106bb6ud2
    00106bb8
    00106bb8loc_106bb8:
    00106bb8lea rdx, [rip+0xe4629]
    00106bbfmov esi, 40
    00106bc4mov rdi, -1
    00106bcbcall core::panicking::panic_bounds_check
    00106bd0ud2
    00106bd2
    00106bd2loc_106bd2:
    00106bd2lea rdi, [rip-0xc2800]
    00106bd9lea rdx, [rip+0xe4608]
    00106be0mov esi, 29
    00106be5call core::panicking::panic
    00106beaud2
    00106a70
    00106bec
    00106bec // align 0x10
    00106bf0
    00106bf0core::num::flt2dec::strategy::dragon::format_exact:
    00106bf0push rbp
    00106bf1push r15
    00106bf3push r14
    00106bf5push r13
    00106bf7push r12
    00106bf9push rbx
    00106bfasub rsp, 888
    00106c01mov rbx, rcx
    00106c04mov [rsp+40], rdi
    00106c09mov rcx, [rsi]
    00106c0ctest rcx, rcx
    00106c0fje 0x10790c
    00106c15mov rax, [rsi+8]
    00106c19test rax, rax
    00106c1cje 0x10791c
    00106c22mov r15, rdx
    00106c25mov rdx, [rsi+16]
    00106c29test rdx, rdx
    00106c2cje 0x107936
    00106c32add rdx, rcx
    00106c35jb 0x107950
    00106c3bcmp rcx, rax
    00106c3ejb 0x10796a
    00106c44mov r12l, r8l
    00106c47movsx rax, [rsi+24]
    00106c4cmov rdx, rcx
    00106c4fdec rdx
    00106c52je 0x106c5e
    00106c54bsr rdx, rdx
    00106c58xor rdx, 63
    00106c5cjmp 0x106c63
    00106c5e
    00106c5eloc_106c5e:
    00106c5emov edx, 64
    00106c63
    00106c63loc_106c63:
    00106c63mov rsi, rax
    00106c66sub rsi, rdx
    00106c69imul rdx, rsi, 0x4d104d42
    00106c70mov rbp, 0x1344135080
    00106c7aadd rbp, rdx
    00106c7dshr rbp, 32
    00106c81xor edx, edx
    00106c83xor esi, esi
    00106c85mov rdi, rcx
    00106c88shr rdi, 32
    00106c8ccmove edi, edx
    00106c8fsetne sil
    00106c93inc rsi
    00106c96mov [rsp+208], rsi
    00106c9emov [rsp+48], ecx
    00106ca2mov [rsp+52], edi
    00106ca6xorps x0, x0
    00106ca9movups [rsp+56], x0
    00106caemovups [rsp+72], x0
    00106cb3movups [rsp+88], x0
    00106cb8movups [rsp+104], x0
    00106cbdmovups [rsp+120], x0
    00106cc2movups [rsp+136], x0
    00106ccamovups [rsp+152], x0
    00106cd2movups [rsp+168], x0
    00106cdamovups [rsp+184], x0
    00106ce2mov [rsp+200], 0
    00106ceemovups [rsp+360], x0
    00106cf6movups [rsp+348], x0
    00106cfemovups [rsp+332], x0
    00106d06movups [rsp+316], x0
    00106d0emovups [rsp+300], x0
    00106d16movups [rsp+284], x0
    00106d1emovups [rsp+268], x0
    00106d26movups [rsp+252], x0
    00106d2emovups [rsp+236], x0
    00106d36movups [rsp+220], x0
    00106d3emov [rsp+376], 1
    00106d4amov [rsp+216], 1
    00106d55test ax, ax
    00106d58js 0x106d64
    00106d5amovzx esi, ax
    00106d5dlea rdi, [rsp+48]
    00106d62jmp 0x106d72
    00106d64
    00106d64loc_106d64:
    00106d64neg eax
    00106d66movsx rsi, ax
    00106d6alea rdi, [rsp+216]
    00106d72
    00106d72loc_106d72:
    00106d72call core::num::bignum::Big32x40::mul_pow2
    00106d77mov eax, ebp
    00106d79neg eax
    00106d7btest bp, bp
    00106d7ecmovns rax, rbp
    00106d82lea r14, [rsp+216]
    00106d8alea rdi, [rsp+48]
    00106d8fcmovns rdi, r14
    00106d93movzx esi, ax
    00106d96call core::num::flt2dec::strategy::dragon::mul_pow10
    00106d9bmov r13, [rsp+376]
    00106da3mov [rsp+544], r13
    00106dablea rdi, [rsp+384]
    00106db3mov edx, 160
    00106db8mov rsi, r14
    00106dbbcall [rip+0x10ad5f]
    00106dc1cmp r13, 40
    00106dc5ja 0x107984
    00106dcbmov rsi, 0x44b82fa09b5a53
    00106dd5mov rcx, rbx
    00106dd8mov rdi, r13
    00106ddbnop [rax+rax]
    00106de0
    00106de0loc_106de0:
    00106de0test rdi, rdi
    00106de3je 0x106e23
    00106de5shl rdi, 2
    00106de9xor r8l, r8l
    00106decnop [rax]
    00106df0
    00106df0loc_106df0:
    00106df0mov eax, [rsp+rdi+380]
    00106df7shl r8, 32
    00106dfbor r8, rax
    00106dfemov rax, r8
    00106e01shr rax, 9
    00106e05mul rsi
    00106e08shr rdx, 11
    00106e0cimul rax, rdx, 0x3b9aca00
    00106e13sub r8, rax
    00106e16mov [rsp+rdi+380], edx
    00106e1dadd rdi, -4
    00106e21jne 0x106df0
    00106e23
    00106e23loc_106e23:
    00106e23add rcx, -9
    00106e27cmp rcx, 9
    00106e2bjbe 0x106e4e
    00106e2dmov rdi, [rsp+544]
    00106e35cmp rdi, 41
    00106e39jb 0x106de0
    00106e3b
    00106e3bloc_106e3b:
    00106e3blea rdx, [rip+0xe43a6]
    00106e42mov esi, 40
    00106e47call core::slice::index::slice_end_index_len_fail
    00106e4cud2
    00106e4e
    00106e4eloc_106e4e:
    00106e4elea rax, [rip-0xc3e39]
    00106e55mov esi, [rax+4*rcx]
    00106e58test rsi, rsi
    00106e5bje 0x10798c
    00106e61mov rdi, [rsp+544]
    00106e69cmp rdi, 41
    00106e6djae 0x106e3b
    00106e6ftest rdi, rdi
    00106e72je 0x106ec3
    00106e74shl rdi, 2
    00106e78xor eax, eax
    00106e7ajmp 0x106e98
    00106e7cnop [rax]
    00106e80
    00106e80loc_106e80:
    00106e80xor edx, edx
    00106e82div rsi
    00106e85mov rcx, rax
    00106e88mov rax, rdx
    00106e8b
    00106e8bloc_106e8b:
    00106e8bmov [rsp+rdi+380], ecx
    00106e92add rdi, -4
    00106e96je 0x106eb9
    00106e98
    00106e98loc_106e98:
    00106e98mov ecx, [rsp+rdi+380]
    00106e9fshl rax, 32
    00106ea3or rax, rcx
    00106ea6mov rcx, rax
    00106ea9shr rcx, 32
    00106eadjne 0x106e80
    00106eafxor edx, edx
    00106eb1div esi
    00106eb3mov ecx, eax
    00106eb5mov eax, edx
    00106eb7jmp 0x106e8b
    00106eb9
    00106eb9loc_106eb9:
    00106eb9mov rax, [rsp+544]
    00106ec1jmp 0x106ec5
    00106ec3
    00106ec3loc_106ec3:
    00106ec3xor eax, eax
    00106ec5
    00106ec5loc_106ec5:
    00106ec5mov rdi, [rsp+208]
    00106ecdcmp rax, rdi
    00106ed0cmovbe rax, rdi
    00106ed4cmp rax, 40
    00106ed8ja 0x1078e0
    00106edetest rax, rax
    00106ee1je 0x106eef
    00106ee3cmp rax, 1
    00106ee7jne 0x106ef6
    00106ee9xor ecx, ecx
    00106eebxor edx, edx
    00106eedjmp 0x106f45
    00106eef
    00106eefloc_106eef:
    00106eefxor eax, eax
    00106ef1jmp 0x106f88
    00106ef6
    00106ef6loc_106ef6:
    00106ef6mov rsi, rax
    00106ef9and rsi, -2
    00106efdxor edx, edx
    00106effxor ecx, ecx
    00106f01nop [rax+rax]
    00106f10
    00106f10loc_106f10:
    00106f10movzx edx, dl
    00106f13bt rdx, 0
    00106f17mov edx, [rsp+4*rcx+48]
    00106f1bmov r8l, [rsp+4*rcx+52]
    00106f20adc [rsp+4*rcx+384], edx
    00106f27adc [rsp+4*rcx+388], r8l
    00106f2flea rcx, [rcx+2]
    00106f33setb dl
    00106f36cmp rsi, rcx
    00106f39jne 0x106f10
    00106f3btest al, 1
    00106f3djne 0x106f45
    00106f3ftest dl, dl
    00106f41je 0x106f88
    00106f43jmp 0x106f70
    00106f45
    00106f45loc_106f45:
    00106f45mov esi, [rsp+4*rcx+384]
    00106f4cmov r8l, [rsp+4*rcx+48]
    00106f51lea r9l, [rsi+r8]
    00106f55movzx r10l, dl
    00106f59add r10l, r9l
    00106f5csetb dl
    00106f5fmov [rsp+4*rcx+384], r10l
    00106f67add esi, r8l
    00106f6ajb 0x106f70
    00106f6ctest dl, dl
    00106f6eje 0x106f88
    00106f70
    00106f70loc_106f70:
    00106f70cmp rax, 39
    00106f74ja 0x10789d
    00106f7amov [rsp+4*rax+384], 1
    00106f85inc rax
    00106f88
    00106f88loc_106f88:
    00106f88mov [rsp+544], rax
    00106f90cmp rax, r13
    00106f93cmovbe rax, r13
    00106f97cmp rax, 41
    00106f9bjae 0x1078e0
    00106fa1shl rax, 2
    00106fa5mov ecx, 255
    00106faanop [rax+rax]
    00106fb0
    00106fb0loc_106fb0:
    00106fb0test rax, rax
    00106fb3je 0x106fdc
    00106fb5mov esi, [rsp+rax+212]
    00106fbcxor edx, edx
    00106fbecmp esi, [rsp+rax+380]
    00106fc5setne dl
    00106fc8cmova edx, ecx
    00106fcbadd rax, -4
    00106fcftest dl, dl
    00106fd1je 0x106fb0
    00106fd3cmp dl, 1
    00106fd6ja 0x106ffa
    00106fd8
    00106fd8loc_106fd8:
    00106fd8inc ebp
    00106fdajmp 0x10704f
    00106fdc
    00106fdcloc_106fdc:
    00106fdcadd rax, rsp
    00106fdfadd rax, 216
    00106fe5lea rcx, [rsp+216]
    00106fedcmp rax, rcx
    00106ff0setne dl
    00106ff3neg dl
    00106ff5cmp dl, 1
    00106ff8jbe 0x106fd8
    00106ffa
    00106ffaloc_106ffa:
    00106ffatest rdi, rdi
    00106ffdje 0x107045
    00106ffflea rcx, [4*rdi]
    00107007xor edx, edx
    00107009xor eax, eax
    0010700bnop [rax+rax]
    00107010
    00107010loc_107010:
    00107010mov esi, [rsp+rdx+48]
    00107014lea rsi, [rsi+4*rsi]
    00107018lea rax, [rax+2*rsi]
    0010701cmov [rsp+rdx+48], eax
    00107020shr rax, 32
    00107024add rdx, 4
    00107028cmp rcx, rdx
    0010702bjne 0x107010
    0010702dtest rax, rax
    00107030je 0x107047
    00107032cmp rdi, 39
    00107036ja 0x1078bc
    0010703cmov [rsp+4*rdi+48], eax
    00107040inc rdi
    00107043jmp 0x107047
    00107045
    00107045loc_107045:
    00107045xor edi, edi
    00107047
    00107047loc_107047:
    00107047mov [rsp+208], rdi
    0010704f
    0010704floc_10704f:
    0010704fcmp bp, r12w
    00107053mov [rsp+28], r12l
    00107058jl 0x1076b6
    0010705emovsx rax, bp
    00107062mov ecx, ebp
    00107064sub ecx, r12l
    00107067movsx rdx, r12w
    0010706bsub rax, rdx
    0010706ecmp rax, rbx
    00107071movsx r12, cx
    00107075cmovae r12, rbx
    00107079test r12, r12
    0010707cje 0x1076b6
    00107082mov [rsp+16], rbx
    00107087mov [rsp+712], r13
    0010708flea rbx, [rsp+552]
    00107097mov r13, [rip+0x10aa82]
    0010709emov edx, 160
    001070a3mov rdi, rbx
    001070a6lea r14, [rsp+216]
    001070aemov rsi, r14
    001070b1call r13
    001070b4mov esi, 1
    001070b9mov rdi, rbx
    001070bccall core::num::bignum::Big32x40::mul_pow2
    001070c1mov rax, [rsp+376]
    001070c9mov [rsp+880], rax
    001070d1lea rbx, [rsp+720]
    001070d9mov edx, 160
    001070demov rdi, rbx
    001070e1mov rsi, r14
    001070e4call r13
    001070e7mov esi, 2
    001070ecmov rdi, rbx
    001070efcall core::num::bignum::Big32x40::mul_pow2
    001070f4mov rax, [rsp+376]
    001070fcmov [rsp+544], rax
    00107104mov edx, 160
    00107109lea rbx, [rsp+384]
    00107111mov rdi, rbx
    00107114mov rsi, r14
    00107117call r13
    0010711amov esi, 3
    0010711fmov rdi, rbx
    00107122call core::num::bignum::Big32x40::mul_pow2
    00107127mov r10, [rsp+544]
    0010712fmov rbx, [rsp+880]
    00107137mov r14, [rsp+712]
    0010713fmov r13, [rsp+376]
    00107147xor r8l, r8l
    0010714amov rdi, [rsp+208]
    00107152mov r9l, 255
    00107158
    00107158loc_107158:
    00107158cmp rdi, 41
    0010715cjae 0x106e3b
    00107162mov rax, r8
    00107165inc r8
    00107168lea rcx, [4*rdi]
    00107170xor edx, edx
    00107172mov rsi, [rsp+16]
    00107177nop [rax+rax]
    00107180
    00107180loc_107180:
    00107180cmp rcx, rdx
    00107183je 0x107723
    00107189cmp [rsp+rdx+48], 0
    0010718elea rdx, [rdx+4]
    00107192je 0x107180
    00107194mov [rsp+32], r8
    00107199cmp rdi, r10
    0010719cmov rcx, r10
    0010719fcmova rcx, rdi
    001071a3cmp rcx, 41
    001071a7jae 0x1079af
    001071adlea rdx, [4*rcx]
    001071b5nop [rax+rax]
    001071c0
    001071c0loc_1071c0:
    001071c0test rdx, rdx
    001071c3je 0x107206
    001071c5mov r11l, [rsp+rdx+380]
    001071cdxor r8l, r8l
    001071d0cmp r11l, [rsp+rdx+44]
    001071d5setne r8b
    001071d9cmova r8l, r9l
    001071ddadd rdx, -4
    001071e1test r8b, r8b
    001071e4je 0x1071c0
    001071e6cmp r8b, 2
    001071eajae 0x107228
    001071ec
    001071ecloc_1071ec:
    001071ectest rcx, rcx
    001071efje 0x1072b1
    001071f5cmp rcx, 1
    001071f9jne 0x107233
    001071fbmov dil, 1
    001071fexor r11l, r11l
    00107201jmp 0x107282
    00107206
    00107206loc_107206:
    00107206add rdx, rsp
    00107209add rdx, 384
    00107210lea rsi, [rsp+384]
    00107218cmp rdx, rsi
    0010721bsetne r8b
    0010721fneg r8b
    00107222cmp r8b, 2
    00107226jb 0x1071ec
    00107228
    00107228loc_107228:
    00107228xor r11l, r11l
    0010722bmov rcx, rdi
    0010722ejmp 0x1072bc
    00107233
    00107233loc_107233:
    00107233mov rdx, rcx
    00107236and rdx, -2
    0010723amov dil, 1
    0010723dxor r11l, r11l
    00107240
    00107240loc_107240:
    00107240mov esi, [rsp+4*r11+384]
    00107248not esi
    0010724amovzx edi, dil
    0010724ebt rdi, 0
    00107252adc [rsp+4*r11+48], esi
    00107257mov esi, [rsp+4*r11+388]
    0010725fnot esi
    00107261adc [rsp+4*r11+52], esi
    00107266lea r11, [r11+2]
    0010726asetb dil
    0010726ecmp rdx, r11
    00107271jne 0x107240
    00107273test cl, 1
    00107276jne 0x107282
    00107278test dil, dil
    0010727bjne 0x1072b1
    0010727djmp 0x1079db
    00107282
    00107282loc_107282:
    00107282mov r8l, [rsp+4*r11+384]
    0010728anot r8l
    0010728dmov esi, [rsp+4*r11+48]
    00107292lea edx, [r8+rsi]
    00107296movzx edi, dil
    0010729aadd edi, edx
    0010729csetb dl
    0010729fmov [rsp+4*r11+48], edi
    001072a4add r8l, esi
    001072a7jb 0x1072b1
    001072a9test dl, dl
    001072abje 0x1079db
    001072b1
    001072b1loc_1072b1:
    001072b1mov [rsp+208], rcx
    001072b9mov r11b, 8
    001072bc
    001072bcloc_1072bc:
    001072bccmp rcx, rbx
    001072bfmov r8, rbx
    001072c2cmova r8, rcx
    001072c6cmp r8, 41
    001072cajae 0x1079c5
    001072d0lea rdx, [4*r8]
    001072d8nop [rax+rax]
    001072e0
    001072e0loc_1072e0:
    001072e0test rdx, rdx
    001072e3je 0x107327
    001072e5mov esi, [rsp+rdx+716]
    001072ecxor edi, edi
    001072eecmp esi, [rsp+rdx+44]
    001072f2setne dil
    001072f6cmova edi, r9l
    001072faadd rdx, -4
    001072fetest dil, dil
    00107301je 0x1072e0
    00107303cmp dil, 1
    00107307ja 0x107349
    00107309
    00107309loc_107309:
    00107309test r8, r8
    0010730cje 0x1073d1
    00107312cmp r8, 1
    00107316jne 0x107351
    00107318mov [rsp], r14
    0010731cmov [rsp+8], r10
    00107321mov cl, 1
    00107323xor edx, edx
    00107325jmp 0x10739c
    00107327
    00107327loc_107327:
    00107327add rdx, rsp
    0010732aadd rdx, 720
    00107331lea rsi, [rsp+720]
    00107339cmp rdx, rsi
    0010733csetne dil
    00107340neg dil
    00107343cmp dil, 1
    00107347jbe 0x107309
    00107349
    00107349loc_107349:
    00107349mov r8, rcx
    0010734cjmp 0x1073dd
    00107351
    00107351loc_107351:
    00107351mov rdi, r8
    00107354and rdi, -2
    00107358mov cl, 1
    0010735axor edx, edx
    0010735cnop [rax]
    00107360
    00107360loc_107360:
    00107360mov esi, [rsp+4*rdx+720]
    00107367not esi
    00107369movzx ecx, cl
    0010736cbt rcx, 0
    00107370adc [rsp+4*rdx+48], esi
    00107374mov ecx, [rsp+4*rdx+724]
    0010737bnot ecx
    0010737dadc [rsp+4*rdx+52], ecx
    00107381lea rdx, [rdx+2]
    00107385setb cl
    00107388cmp rdi, rdx
    0010738bjne 0x107360
    0010738dtest r8b, 1
    00107391je 0x1073c9
    00107393mov [rsp], r14
    00107397mov [rsp+8], r10
    0010739c
    0010739cloc_10739c:
    0010739cmov esi, [rsp+4*rdx+720]
    001073a3not esi
    001073a5mov edi, [rsp+4*rdx+48]
    001073a9lea r14l, [rsi+rdi]
    001073admovzx r10l, cl
    001073b1add r10l, r14l
    001073b4setb cl
    001073b7mov [rsp+4*rdx+48], r10l
    001073bcadd esi, edi
    001073bemov r10, [rsp+8]
    001073c3mov r14, [rsp]
    001073c7jb 0x1073d1
    001073c9
    001073c9loc_1073c9:
    001073c9test cl, cl
    001073cbje 0x1079db
    001073d1
    001073d1loc_1073d1:
    001073d1mov [rsp+208], r8
    001073d9or r11b, 4
    001073dd
    001073ddloc_1073dd:
    001073ddcmp r8, r14
    001073e0mov rcx, r14
    001073e3cmova rcx, r8
    001073e7cmp rcx, 41
    001073ebjae 0x1079af
    001073f1lea rdx, [4*rcx]
    001073f9nop [rax]
    00107400
    00107400loc_107400:
    00107400test rdx, rdx
    00107403je 0x107448
    00107405mov esi, [rsp+rdx+548]
    0010740cxor edi, edi
    0010740ecmp esi, [rsp+rdx+44]
    00107412setne dil
    00107416cmova edi, r9l
    0010741aadd rdx, -4
    0010741etest dil, dil
    00107421je 0x107400
    00107423cmp dil, 1
    00107427ja 0x10746a
    00107429
    00107429loc_107429:
    00107429test rcx, rcx
    0010742cje 0x1074f6
    00107432cmp rcx, 1
    00107436jne 0x107472
    00107438mov [rsp], r14
    0010743cmov [rsp+8], r10
    00107441mov dil, 1
    00107444xor edx, edx
    00107446jmp 0x1074bd
    00107448
    00107448loc_107448:
    00107448add rdx, rsp
    0010744badd rdx, 552
    00107452lea rsi, [rsp+552]
    0010745acmp rdx, rsi
    0010745dsetne dil
    00107461neg dil
    00107464cmp dil, 1
    00107468jbe 0x107429
    0010746a
    0010746aloc_10746a:
    0010746amov rcx, r8
    0010746djmp 0x107502
    00107472
    00107472loc_107472:
    00107472mov r8, rcx
    00107475and r8, -2
    00107479mov dil, 1
    0010747cxor edx, edx
    0010747enop
    00107480
    00107480loc_107480:
    00107480mov esi, [rsp+4*rdx+552]
    00107487not esi
    00107489movzx edi, dil
    0010748dbt rdi, 0
    00107491adc [rsp+4*rdx+48], esi
    00107495mov esi, [rsp+4*rdx+556]
    0010749cnot esi
    0010749eadc [rsp+4*rdx+52], esi
    001074a2lea rdx, [rdx+2]
    001074a6setb dil
    001074aacmp r8, rdx
    001074adjne 0x107480
    001074aftest cl, 1
    001074b2je 0x1074ed
    001074b4mov [rsp], r14
    001074b8mov [rsp+8], r10
    001074bd
    001074bdloc_1074bd:
    001074bdmov esi, [rsp+4*rdx+552]
    001074c4not esi
    001074c6mov r8l, [rsp+4*rdx+48]
    001074cblea r10l, [rsi+r8]
    001074cfmovzx r14l, dil
    001074d3add r14l, r10l
    001074d6setb dil
    001074damov [rsp+4*rdx+48], r14l
    001074dfadd esi, r8l
    001074e2mov r10, [rsp+8]
    001074e7mov r14, [rsp]
    001074ebjb 0x1074f6
    001074ed
    001074edloc_1074ed:
    001074edtest dil, dil
    001074f0je 0x1079db
    001074f6
    001074f6loc_1074f6:
    001074f6mov [rsp+208], rcx
    001074feadd r11b, 2
    00107502
    00107502loc_107502:
    00107502cmp rcx, r13
    00107505mov rdi, r13
    00107508cmova rdi, rcx
    0010750ccmp rdi, 41
    00107510jae 0x106e3b
    00107516lea rdx, [4*rdi]
    0010751enop
    00107520
    00107520loc_107520:
    00107520test rdx, rdx
    00107523je 0x107570
    00107525mov esi, [rsp+rdx+212]
    0010752cxor r8l, r8l
    0010752fcmp esi, [rsp+rdx+44]
    00107533setne r8b
    00107537cmova r8l, r9l
    0010753badd rdx, -4
    0010753ftest r8b, r8b
    00107542je 0x107520
    00107544cmp r8b, 1
    00107548ja 0x107592
    0010754a
    0010754aloc_10754a:
    0010754atest rdi, rdi
    0010754dmov rsi, [rsp+16]
    00107552je 0x10762d
    00107558cmp rdi, 1
    0010755cjne 0x10759f
    0010755emov [rsp], r14
    00107562mov [rsp+8], r10
    00107567mov cl, 1
    00107569xor edx, edx
    0010756bjmp 0x1075f1
    00107570
    00107570loc_107570:
    00107570add rdx, rsp
    00107573add rdx, 216
    0010757alea rsi, [rsp+216]
    00107582cmp rdx, rsi
    00107585setne r8b
    00107589neg r8b
    0010758ccmp r8b, 1
    00107590jbe 0x10754a
    00107592
    00107592loc_107592:
    00107592mov rdi, rcx
    00107595mov rsi, [rsp+16]
    0010759ajmp 0x107638
    0010759f
    0010759floc_10759f:
    0010759fmov r8, rdi
    001075a2and r8, -2
    001075a6mov cl, 1
    001075a8xor edx, edx
    001075aanop [rax+rax]
    001075b0
    001075b0loc_1075b0:
    001075b0mov esi, [rsp+4*rdx+216]
    001075b7not esi
    001075b9movzx ecx, cl
    001075bcbt rcx, 0
    001075c0adc [rsp+4*rdx+48], esi
    001075c4mov ecx, [rsp+4*rdx+220]
    001075cbnot ecx
    001075cdadc [rsp+4*rdx+52], ecx
    001075d1lea rdx, [rdx+2]
    001075d5setb cl
    001075d8cmp r8, rdx
    001075dbjne 0x1075b0
    001075ddtest dil, 1
    001075e1mov rsi, [rsp+16]
    001075e6je 0x107625
    001075e8mov [rsp], r14
    001075ecmov [rsp+8], r10
    001075f1
    001075f1loc_1075f1:
    001075f1mov esi, [rsp+4*rdx+216]
    001075f8not esi
    001075famov r8l, [rsp+4*rdx+48]
    001075fflea r10l, [rsi+r8]
    00107603movzx r14l, cl
    00107607add r14l, r10l
    0010760asetb cl
    0010760dmov [rsp+4*rdx+48], r14l
    00107612add esi, r8l
    00107615mov r10, [rsp+8]
    0010761amov r14, [rsp]
    0010761emov rsi, [rsp+16]
    00107623jb 0x10762d
    00107625
    00107625loc_107625:
    00107625test cl, cl
    00107627je 0x1079db
    0010762d
    0010762dloc_10762d:
    0010762dmov [rsp+208], rdi
    00107635inc r11b
    00107638
    00107638loc_107638:
    00107638cmp rax, rsi
    0010763bje 0x1078ab
    00107641add r11b, 48
    00107645mov [r15+rax], r11b
    00107649test rdi, rdi
    0010764cje 0x107695
    0010764elea rcx, [4*rdi]
    00107656xor edx, edx
    00107658xor eax, eax
    0010765amov r8, [rsp+32]
    0010765fnop
    00107660
    00107660loc_107660:
    00107660mov esi, [rsp+rdx+48]
    00107664lea rsi, [rsi+4*rsi]
    00107668lea rax, [rax+2*rsi]
    0010766cmov [rsp+rdx+48], eax
    00107670shr rax, 32
    00107674add rdx, 4
    00107678cmp rcx, rdx
    0010767bjne 0x107660
    0010767dtest rax, rax
    00107680je 0x10769c
    00107682cmp rdi, 39
    00107686ja 0x10789d
    0010768cmov [rsp+4*rdi+48], eax
    00107690inc rdi
    00107693jmp 0x10769c
    00107695
    00107695loc_107695:
    00107695xor edi, edi
    00107697mov r8, [rsp+32]
    0010769c
    0010769cloc_10769c:
    0010769cmov [rsp+208], rdi
    001076a4cmp r8, r12
    001076a7jne 0x107158
    001076admov al, 1
    001076afmov rbx, [rsp+16]
    001076b4jmp 0x1076bb
    001076b6
    001076b6loc_1076b6:
    001076b6xor eax, eax
    001076b8xor r12l, r12l
    001076bb
    001076bbloc_1076bb:
    001076bbcmp r13, 41
    001076bfjae 0x1078f6
    001076c5test r13, r13
    001076c8je 0x10774e
    001076celea rdx, [4*r13]
    001076d6xor esi, esi
    001076d8xor ecx, ecx
    001076danop [rax+rax]
    001076e0
    001076e0loc_1076e0:
    001076e0mov r8l, [rsp+rsi+216]
    001076e8lea r8, [r8+4*r8]
    001076ecadd r8, rcx
    001076efmov rcx, r8
    001076f2shr rcx, 32
    001076f6mov [rsp+rsi+216], r8l
    001076feadd rsi, 4
    00107702cmp rdx, rsi
    00107705jne 0x1076e0
    00107707test rcx, rcx
    0010770aje 0x107751
    0010770ccmp r13, 39
    00107710ja 0x10789d
    00107716mov [rsp+4*r13+216], ecx
    0010771einc r13
    00107721jmp 0x107751
    00107723
    00107723loc_107723:
    00107723cmp r12, rsi
    00107726ja 0x1079f5
    0010772cmov rdx, r12
    0010772fsub rdx, rax
    00107732je 0x10787b
    00107738add rax, r15
    0010773bmov rdi, rax
    0010773emov esi, 48
    00107743call [rip+0x10a3bf]
    00107749jmp 0x10787b
    0010774e
    0010774eloc_10774e:
    0010774exor r13l, r13l
    00107751
    00107751loc_107751:
    00107751mov [rsp+376], r13
    00107759cmp rdi, r13
    0010775ccmova r13, rdi
    00107760cmp r13, 41
    00107764jae 0x1078f6
    0010776ashl r13, 2
    0010776emov ecx, 255
    00107773nop [rax+rax]
    00107780
    00107780loc_107780:
    00107780test r13, r13
    00107783je 0x1077af
    00107785mov esi, [rsp+r13+212]
    0010778dxor edx, edx
    0010778fcmp esi, [rsp+r13+44]
    00107794setne dl
    00107797cmova edx, ecx
    0010779aadd r13, -4
    0010779etest dl, dl
    001077a0je 0x107780
    001077a2movzx eax, dl
    001077a5cmp eax, 1
    001077a8je 0x1077e9
    001077aajmp 0x107872
    001077af
    001077afloc_1077af:
    001077aflea rcx, [rsp+r13]
    001077b3add rcx, 216
    001077balea rdx, [rsp+216]
    001077c2cmp rcx, rdx
    001077c5sete cl
    001077c8test al, cl
    001077caje 0x107872
    001077d0lea rdi, [r12-1]
    001077d5cmp rdi, rbx
    001077d8jae 0x1078cf
    001077detest [r15+rdi], 1
    001077e3je 0x107872
    001077e9
    001077e9loc_1077e9:
    001077e9cmp r12, rbx
    001077ecja 0x107a06
    001077f2mov rdx, -1
    001077f9mov rax, r12
    001077fcnop [rax]
    00107800
    00107800loc_107800:
    00107800test rax, rax
    00107803je 0x10782f
    00107805mov rdi, rax
    00107808dec rax
    0010780binc rdx
    0010780ecmp [r15+rdi-1], 57
    00107814je 0x107800
    00107816inc [r15+rax]
    0010781acmp rdi, r12
    0010781djae 0x107872
    0010781fadd rdi, r15
    00107822mov esi, 48
    00107827call [rip+0x10a2db]
    0010782djmp 0x107872
    0010782f
    0010782floc_10782f:
    0010782ftest r12, r12
    00107832je 0x107857
    00107834mov [r15], 49
    00107838mov r13b, 48
    0010783bcmp r12, 1
    0010783fje 0x10785a
    00107841lea rdi, [r15+1]
    00107845lea rdx, [r12-1]
    0010784amov esi, 48
    0010784fcall [rip+0x10a2b3]
    00107855jmp 0x10785a
    00107857
    00107857loc_107857:
    00107857mov r13b, 49
    0010785a
    0010785aloc_10785a:
    0010785alea eax, [rbp+1]
    0010785dcmp bp, [rsp+28]
    00107862jl 0x107870
    00107864cmp r12, rbx
    00107867jae 0x107870
    00107869mov [r15+r12], r13b
    0010786dinc r12
    00107870
    00107870loc_107870:
    00107870mov ebp, eax
    00107872
    00107872loc_107872:
    00107872cmp r12, rbx
    00107875ja 0x1079a6
    0010787b
    0010787bloc_10787b:
    0010787bmov rax, [rsp+40]
    00107880mov [rax], r15
    00107883mov [rax+8], r12
    00107887mov [rax+16], bp
    0010788badd rsp, 888
    00107892pop rbx
    00107893pop r12
    00107895pop r13
    00107897pop r14
    00107899pop r15
    0010789bpop rbp
    0010789cret
    0010789d
    0010789dloc_10789d:
    0010789dlea rdx, [rip+0xe3944]
    001078a4mov edi, 40
    001078a9jmp 0x1078c3
    001078ab
    001078abloc_1078ab:
    001078ablea rdx, [rip+0xe30e6]
    001078b2mov rdi, rsi
    001078b5call core::panicking::panic_bounds_check
    001078baud2
    001078bc
    001078bcloc_1078bc:
    001078bclea rdx, [rip+0xe3925]
    001078c3
    001078c3loc_1078c3:
    001078c3mov esi, 40
    001078c8call core::panicking::panic_bounds_check
    001078cdud2
    001078cf
    001078cfloc_1078cf:
    001078cflea rdx, [rip+0xe307a]
    001078d6mov rsi, rbx
    001078d9call core::panicking::panic_bounds_check
    001078deud2
    001078e0
    001078e0loc_1078e0:
    001078e0lea rdx, [rip+0xe3901]
    001078e7mov esi, 40
    001078ecmov rdi, rax
    001078efcall core::slice::index::slice_end_index_len_fail
    001078f4ud2
    001078f6
    001078f6loc_1078f6:
    001078f6lea rdx, [rip+0xe38eb]
    001078fdmov esi, 40
    00107902mov rdi, r13
    00107905call core::slice::index::slice_end_index_len_fail
    0010790aud2
    0010790c
    0010790cloc_10790c:
    0010790clea rdi, [rip-0xc47c8]
    00107913lea rdx, [rip+0xe2fee]
    0010791ajmp 0x107944
    0010791c
    0010791cloc_10791c:
    0010791clea rdi, [rip-0xc47bc]
    00107923lea rdx, [rip+0xe2ff6]
    0010792amov esi, 29
    0010792fcall core::panicking::panic
    00107934ud2
    00107936
    00107936loc_107936:
    00107936lea rdi, [rip-0xc47b9]
    0010793dlea rdx, [rip+0xe2ff4]
    00107944
    00107944loc_107944:
    00107944mov esi, 28
    00107949call core::panicking::panic
    0010794eud2
    00107950
    00107950loc_107950:
    00107950lea rdi, [rip-0xc4780]
    00107957lea rdx, [rip+0xe3082]
    0010795emov esi, 54
    00107963call core::panicking::panic
    00107968ud2
    0010796a
    0010796aloc_10796a:
    0010796alea rdi, [rip-0xc47d1]
    00107971lea rdx, [rip+0xe3050]
    00107978mov esi, 55
    0010797dcall core::panicking::panic
    00107982ud2
    00107984
    00107984loc_107984:
    00107984mov rdi, r13
    00107987jmp 0x106e3b
    0010798c
    0010798cloc_10798c:
    0010798clea rdi, [rip-0xc359d]
    00107993lea rdx, [rip+0xe384e]
    0010799amov esi, 27
    0010799fcall core::panicking::panic
    001079a4ud2
    001079a6
    001079a6loc_1079a6:
    001079a6lea rdx, [rip+0xe2fd3]
    001079adjmp 0x107a0d
    001079af
    001079afloc_1079af:
    001079aflea rdx, [rip+0xe3832]
    001079b6mov esi, 40
    001079bbmov rdi, rcx
    001079becall core::slice::index::slice_end_index_len_fail
    001079c3ud2
    001079c5
    001079c5loc_1079c5:
    001079c5lea rdx, [rip+0xe381c]
    001079ccmov esi, 40
    001079d1mov rdi, r8
    001079d4call core::slice::index::slice_end_index_len_fail
    001079d9ud2
    001079db
    001079dbloc_1079db:
    001079dblea rdi, [rip-0xc3623]
    001079e2lea rdx, [rip+0xe37ff]
    001079e9mov esi, 26
    001079eecall core::panicking::panic
    001079f3ud2
    001079f5
    001079f5loc_1079f5:
    001079f5lea rdx, [rip+0xe2fb4]
    001079fcmov rdi, r12
    001079ffcall core::slice::index::slice_end_index_len_fail
    00107a04ud2
    00107a06
    00107a06loc_107a06:
    00107a06lea rdx, [rip+0xe2f5b]
    00107a0d
    00107a0dloc_107a0d:
    00107a0dmov rdi, r12
    00107a10mov rsi, rbx
    00107a13call core::slice::index::slice_end_index_len_fail
    00107a18ud2
    00106bf0
    00107a1a
    00107a1a // align 0x10
    00107a20
    00107a20core::num::flt2dec::strategy::grisu::format_shortest_opt:
    00107a20push rbp
    00107a21push r15
    00107a23push r14
    00107a25push r13
    00107a27push r12
    00107a29push rbx
    00107a2asub rsp, 232
    00107a31mov rbp, rdx
    00107a34mov rdx, [rsi]
    00107a37test rdx, rdx
    00107a3aje 0x1081e4
    00107a40mov rax, [rsi+8]
    00107a44test rax, rax
    00107a47je 0x1081f4
    00107a4dmov rcx, [rsi+16]
    00107a51test rcx, rcx
    00107a54je 0x108204
    00107a5aadd rcx, rdx
    00107a5djb 0x10821e
    00107a63mov r12, rdx
    00107a66sub r12, rax
    00107a69jb 0x108238
    00107a6fmov rax, rcx
    00107a72shr rax, 61
    00107a76jne 0x108252
    00107a7cmov eax, [rsi+24]
    00107a7fmov rsi, rcx
    00107a82shr rsi, 32
    00107a86mov r8, rcx
    00107a89shl r8, 32
    00107a8dlea r9l, [rax-32]
    00107a91test rsi, rsi
    00107a94cmovne r8, rcx
    00107a98cmovne r9l, eax
    00107a9cmov rcx, r8
    00107a9fshr rcx, 48
    00107aa3mov rsi, r8
    00107aa6shl rsi, 16
    00107aaalea r10l, [r9-16]
    00107aaetest rcx, rcx
    00107ab1cmovne rsi, r8
    00107ab5cmovne r10l, r9l
    00107ab9mov rcx, rsi
    00107abcshr rcx, 56
    00107ac0mov r8, rsi
    00107ac3shl r8, 8
    00107ac7lea r9l, [r10-8]
    00107acbtest rcx, rcx
    00107acecmovne r8, rsi
    00107ad2cmovne r9l, r10l
    00107ad6mov rcx, r8
    00107ad9shr rcx, 60
    00107addmov rsi, r8
    00107ae0shl rsi, 4
    00107ae4test rcx, rcx
    00107ae7cmovne rsi, r8
    00107aeblea ecx, [r9-4]
    00107aefcmovne ecx, r9l
    00107af3mov r8, rsi
    00107af6shr r8, 62
    00107afalea r9, [4*rsi]
    00107b02lea r15l, [rcx-2]
    00107b06test r8, r8
    00107b09cmovne r9, rsi
    00107b0dcmovne r15l, ecx
    00107b11xor ecx, ecx
    00107b13test r9, r9
    00107b16setns cl
    00107b19shl r9, cl
    00107b1csub r15l, ecx
    00107b1fmov [rsp+112], r12
    00107b24mov [rsp+120], ax
    00107b29mov ecx, eax
    00107b2bsub cx, r15w
    00107b2fjs 0x10826c
    00107b35and ecx, 63
    00107b38mov r8, -1
    00107b3fshr r8, cl
    00107b42mov rsi, r8
    00107b45and rsi, r12
    00107b48mov [rsp+80], rsi
    00107b4dcmp r12, r8
    00107b50ja 0x1081bf
    00107b56shl r12, cl
    00107b59mov [rsp+112], rdx
    00107b5emov [rsp+120], ax
    00107b63mov rax, r8
    00107b66and rax, rdx
    00107b69mov [rsp+80], rax
    00107b6ecmp rdx, r8
    00107b71ja 0x1081bf
    00107b77mov eax, -96
    00107b7csub eax, r15l
    00107b7fcwde
    00107b80lea eax, [rax+4*rax]
    00107b83shl eax, 4
    00107b86add eax, 0x153b0
    00107b8bcdqe
    00107b8dimul rax, rax, 0x7b4dc993
    00107b94mov rsi, rax
    00107b97shr rsi, 63
    00107b9bsar rax, 42
    00107b9fadd eax, esi
    00107ba1cdqe
    00107ba3cmp eax, 81
    00107ba6jae 0x1081a9
    00107bacmov [rsp+24], rdi
    00107bb1shl rdx, cl
    00107bb4shl rax, 4
    00107bb8lea rdi, [rip-0xc49af]
    00107bbfmov r10, [rax+rdi]
    00107bc3movzx ecx, [rax+rdi+10]
    00107bc8mov [rsp+8], ecx
    00107bccmov rcx, r9
    00107bcfshr rcx, 32
    00107bd3mov rbx, rcx
    00107bd6mov [rsp+104], rcx
    00107bdbmov esi, r9l
    00107bdemov ecx, r10l
    00107be1shr r10, 32
    00107be5mov r8, r10
    00107be8imul r8, rsi
    00107becmov r11, r8
    00107befmov [rsp+72], r8
    00107bf4mov r8, rcx
    00107bf7imul r8, rbx
    00107bfbimul rsi, rcx
    00107bffshr rsi, 32
    00107c03mov r9l, r8l
    00107c06add r9, rsi
    00107c09mov r13l, r11l
    00107c0cadd r13, r9
    00107c0fadd r15w, [rax+rdi+8]
    00107c15mov rbx, r12
    00107c18shr rbx, 32
    00107c1cmov esi, r12l
    00107c1fmov rax, r10
    00107c22imul rax, rbx
    00107c26mov [rsp+16], rax
    00107c2bmov rax, r15
    00107c2emov r15, r10
    00107c31imul r15, rsi
    00107c35imul rbx, rcx
    00107c39imul rsi, rcx
    00107c3dshr rsi, 32
    00107c41mov edi, ebx
    00107c43add rdi, rsi
    00107c46mov esi, r15l
    00107c49add rsi, rdi
    00107c4cmov r14, rdx
    00107c4fshr r14, 32
    00107c53mov edx, edx
    00107c55mov r11, r10
    00107c58imul r11, rdx
    00107c5cmov r9, rcx
    00107c5fimul r9, r14
    00107c63imul rcx, rdx
    00107c67shr rcx, 32
    00107c6bmov edx, r9l
    00107c6eadd rdx, rcx
    00107c71mov r12l, r11l
    00107c74add r12, rdx
    00107c77mov rcx, r10
    00107c7aimul rcx, [rsp+104]
    00107c80sub r13, 0xffffffff80000000
    00107c87shr r8, 32
    00107c8bmov rdx, [rsp+72]
    00107c90shr rdx, 32
    00107c94shr r13, 32
    00107c98neg eax
    00107c9asub rsi, 0xffffffff80000000
    00107ca1shr rbx, 32
    00107ca5mov [rsp+48], rbx
    00107caashr r15, 32
    00107caemov [rsp+32], r15
    00107cb3shr rsi, 32
    00107cb7mov [rsp+56], rsi
    00107cbcmov [rsp+168], r10
    00107cc4mov r15, r10
    00107cc7imul r15, r14
    00107ccbsub r12, 0xffffffff80000000
    00107cd2shr r9, 32
    00107cd6add r15, r9
    00107cd9shr r11, 32
    00107cddmov [rsp+160], r8
    00107ce5mov [rsp+128], rcx
    00107cedadd rcx, r8
    00107cf0mov [rsp+72], rdx
    00107cf5add rcx, rdx
    00107cf8mov [rsp+88], r13
    00107cfdlea r8, [rcx+r13]
    00107d01inc r8
    00107d04and eax, 63
    00107d07mov rdi, r8
    00107d0amov ecx, eax
    00107d0cshr rdi, cl
    00107d0fmov edx, 1
    00107d14mov r10, rax
    00107d17mov ecx, eax
    00107d19shl rdx, cl
    00107d1cmov [rsp+136], r11
    00107d24add r15, r11
    00107d27shr r12, 32
    00107d2bmov [rsp+96], r12
    00107d30mov [rsp+176], rdx
    00107d38lea rcx, [rdx-1]
    00107d3cmov [rsp+64], rcx
    00107d41cmp edi, 10000
    00107d47mov [rsp+152], r14
    00107d4fmov [rsp+144], r9
    00107d57jae 0x107d71
    00107d59mov rcx, r10
    00107d5ccmp edi, 100
    00107d5fjae 0x107d9d
    00107d61xor esi, esi
    00107d63cmp edi, 10
    00107d66setae sil
    00107d6alea ebx, [rsi+8*rsi]
    00107d6dinc ebx
    00107d6fjmp 0x107db8
    00107d71
    00107d71loc_107d71:
    00107d71cmp edi, 0xf4240
    00107d77jae 0x10807d
    00107d7dmov rcx, r10
    00107d80cmp edi, 0x186a0
    00107d86setb sil
    00107d8amov edx, 10000
    00107d8fmov ebx, 0x186a0
    00107d94cmovb ebx, edx
    00107d97xor sil, 5
    00107d9bjmp 0x107db8
    00107d9d
    00107d9dloc_107d9d:
    00107d9dcmp edi, 1000
    00107da3setb sil
    00107da7mov edx, 100
    00107dacmov ebx, 1000
    00107db1cmovb ebx, edx
    00107db4xor sil, 3
    00107db8
    00107db8loc_107db8:
    00107db8mov r11l, [rsp+8]
    00107dbdmov r12, [rsp+32]
    00107dc2mov rax, [rsp+48]
    00107dc7
    00107dc7loc_107dc7:
    00107dc7mov r9, [rsp+16]
    00107dccadd r15, [rsp+96]
    00107dd1mov [rsp+8], r15
    00107dd6mov r10, r8
    00107dd9mov r14, [rsp+64]
    00107ddeand r10, r14
    00107de1movzx r13l, sil
    00107de5mov edx, r13l
    00107de8sub edx, r11l
    00107debinc edx
    00107dedmov [rsp+44], edx
    00107df1add r9, rax
    00107df4add r9, r12
    00107df7add r9, [rsp+56]
    00107dfcmov [rsp+56], r8
    00107e01mov [rsp+16], r9
    00107e06sub r8, r9
    00107e09mov [rsp+32], r8
    00107e0elea rsi, [r8+1]
    00107e12mov r12, rsi
    00107e15and r12, r14
    00107e18xor r14l, r14l
    00107e1bmov r9l, 0xffffffffcccccccd
    00107e21nop [rax+rax]
    00107e30
    00107e30loc_107e30:
    00107e30mov eax, edi
    00107e32xor edx, edx
    00107e34div ebx
    00107e36add al, 48
    00107e38mov r11, rbp
    00107e3bmov [rbp+r14], al
    00107e40mov edi, edx
    00107e42mov rdx, rdi
    00107e45shl rdx, cl
    00107e48lea r15, [r14+1]
    00107e4clea r8, [rdx+r10]
    00107e50mov rbp, rsi
    00107e53sub rbp, r8
    00107e56ja 0x107e92
    00107e58cmp r13, r14
    00107e5bje 0x107f91
    00107e61mov eax, ebx
    00107e63imul rax, r9
    00107e67shr rax, 35
    00107e6bmov r14, r15
    00107e6ecmp ebx, 10
    00107e71mov ebx, eax
    00107e73mov rbp, r11
    00107e76jae 0x107e30
    00107e78lea rdi, [rip-0xc46ff]
    00107e7flea rdx, [rip+0xe2bea]
    00107e86mov esi, 25
    00107e8bcall core::panicking::panic
    00107e90ud2
    00107e92
    00107e92loc_107e92:
    00107e92mov edi, ebx
    00107e94shl rdi, cl
    00107e97mov r13, [rsp+56]
    00107e9csub r13, [rsp+8]
    00107ea1lea rcx, [r13+1]
    00107ea5dec r13
    00107ea8cmp rbp, rdi
    00107eabsetb r12b
    00107eafcmp r13, r8
    00107eb2jbe 0x1080e0
    00107eb8cmp rbp, rdi
    00107ebbjb 0x1080e0
    00107ec1mov r12, [rsp+160]
    00107ec9mov rsi, [rsp+72]
    00107eceadd rsi, r12
    00107ed1add rsi, [rsp+88]
    00107ed6add rsi, [rsp+128]
    00107edemov r9, rsi
    00107ee1sub r9, [rsp+8]
    00107ee6sub r9, r8
    00107ee9lea rbx, [r10+rdi]
    00107eedmov [rsp+64], rcx
    00107ef2mov rcx, [rsp+144]
    00107efaadd rcx, rbx
    00107efdadd rcx, [rsp+136]
    00107f05add rcx, [rsp+96]
    00107f0amov r8, [rsp+152]
    00107f12sub r8, [rsp+104]
    00107f17mov rbp, [rsp+168]
    00107f1fimul rbp, r8
    00107f23add rbp, rcx
    00107f26mov rcx, [rsp+64]
    00107f2bsub rbp, r12
    00107f2esub rbp, [rsp+72]
    00107f33sub rbp, [rsp+88]
    00107f38sub rsi, [rsp+16]
    00107f3dsub rsi, rbx
    00107f40sub rsi, rdx
    00107f43add rsi, 2
    00107f47nop [rax+rax]
    00107f50
    00107f50loc_107f50:
    00107f50lea r8, [rdx+rbx]
    00107f54cmp r8, r13
    00107f57jb 0x107f66
    00107f59lea r12, [rdx+rbp]
    00107f5dcmp r9, r12
    00107f60jb 0x1080d7
    00107f66
    00107f66loc_107f66:
    00107f66dec al
    00107f68mov [r11+r14], al
    00107f6csub rsi, rdi
    00107f6fsetb r12b
    00107f73add r10, rdi
    00107f76cmp r8, r13
    00107f79jae 0x107f89
    00107f7bsub r9, rdi
    00107f7eadd rbp, rdi
    00107f81add rbx, rdi
    00107f84test r12b, r12b
    00107f87je 0x107f50
    00107f89
    00107f89loc_107f89:
    00107f89add rdx, r10
    00107f8cjmp 0x1080dd
    00107f91
    00107f91loc_107f91:
    00107f91inc r14
    00107f94mov edi, 1
    00107f99mov rbx, r11
    00107f9cmov r15, [rsp+56]
    00107fa1mov r13, [rsp+176]
    00107fa9mov r8, [rsp+8]
    00107faemov r9, [rsp+64]
    00107fb3nop [rax+rax]
    00107fc0
    00107fc0loc_107fc0:
    00107fc0cmp r14, 16
    00107fc4ja 0x108191
    00107fcamov rax, rdi
    00107fcdadd r10, r10
    00107fd0lea rdx, [r10+4*r10]
    00107fd4mov r10, rdx
    00107fd7and r10, r9
    00107fdalea rsi, [rdi+rdi]
    00107fdelea rdi, [rsi+4*rsi]
    00107fe2add r12, r12
    00107fe5lea r12, [r12+4*r12]
    00107fe9shr rdx, cl
    00107feclea esi, [rdx+48]
    00107fefmov [rbx+r14], sil
    00107ff3inc r14
    00107ff6mov rsi, r12
    00107ff9sub rsi, r10
    00107ffcjbe 0x107fc0
    00107ffesub r15, r8
    00108001imul r15, rdi
    00108005lea rcx, [r15+rdi]
    00108009cmp rsi, r13
    0010800csetb r8b
    00108010jb 0x10811f
    00108016sub r15, rdi
    00108019mov rdi, r15
    0010801csub rdi, r10
    0010801fjbe 0x10811f
    00108025add dl, 47
    00108028mov r9, r13
    0010802bsub r9, r15
    0010802emov r11, r12
    00108031sub r11, r13
    00108034sub r11, r10
    00108037nop [rax+rax]
    00108040
    00108040loc_108040:
    00108040lea rsi, [r10+r13]
    00108044cmp rsi, r15
    00108047jb 0x108056
    00108049lea r8, [r9+r10]
    0010804dcmp rdi, r8
    00108050jb 0x10811c
    00108056
    00108056loc_108056:
    00108056mov [rbx+r14-1], dl
    0010805bsub r11, r13
    0010805esetb r8b
    00108062cmp rsi, r15
    00108065jae 0x108122
    0010806bdec dl
    0010806dsub rdi, r13
    00108070mov r10, rsi
    00108073test r8b, r8b
    00108076je 0x108040
    00108078jmp 0x108122
    0010807d
    0010807dloc_10807d:
    0010807dcmp edi, 0x5f5e100
    00108083mov r11l, [rsp+8]
    00108088mov r12, [rsp+32]
    0010808dmov rax, [rsp+48]
    00108092mov rcx, r10
    00108095jae 0x1080b7
    00108097cmp edi, 0x989680
    0010809dsetb sil
    001080a1mov edx, 0xf4240
    001080a6mov ebx, 0x989680
    001080abcmovb ebx, edx
    001080aexor sil, 7
    001080b2jmp 0x107dc7
    001080b7
    001080b7loc_1080b7:
    001080b7cmp edi, 0x3b9aca00
    001080bdsetb sil
    001080c1mov edx, 0x5f5e100
    001080c6mov ebx, 0x3b9aca00
    001080cbcmovb ebx, edx
    001080cexor sil, 9
    001080d2jmp 0x107dc7
    001080d7
    001080d7loc_1080d7:
    001080d7add rdx, r10
    001080daxor r12l, r12l
    001080dd
    001080ddloc_1080dd:
    001080ddmov r8, rdx
    001080e0
    001080e0loc_1080e0:
    001080e0mov rax, rcx
    001080e3sub rax, r8
    001080e6jbe 0x1080fa
    001080e8test r12b, r12b
    001080ebjne 0x1080fa
    001080edadd rdi, r8
    001080f0sub rdi, rcx
    001080f3jb 0x10815d
    001080f5cmp rax, rdi
    001080f8jae 0x10815d
    001080fa
    001080faloc_1080fa:
    001080facmp r8, 2
    001080fejb 0x10815d
    00108100mov rax, [rsp+32]
    00108105add rax, -3
    00108109cmp r8, rax
    0010810cja 0x10815d
    0010810emov rax, [rsp+24]
    00108113mov [rax], r11
    00108116mov [rax+8], r15
    0010811ajmp 0x108177
    0010811c
    0010811cloc_10811c:
    0010811cxor r8l, r8l
    0010811f
    0010811floc_10811f:
    0010811fmov rsi, r10
    00108122
    00108122loc_108122:
    00108122mov rdx, rcx
    00108125sub rdx, rsi
    00108128jbe 0x10813c
    0010812atest r8b, r8b
    0010812djne 0x10813c
    0010812fadd r13, rsi
    00108132sub r13, rcx
    00108135jb 0x10815d
    00108137cmp rdx, r13
    0010813ajae 0x10815d
    0010813c
    0010813cloc_10813c:
    0010813clea rcx, [4*rax]
    00108144lea rcx, [rcx+4*rcx]
    00108148cmp rcx, rsi
    0010814bja 0x10815d
    0010814dshl rax, 3
    00108151lea rax, [rax+4*rax]
    00108155sub r12, rax
    00108158cmp rsi, r12
    0010815bjbe 0x10816b
    0010815d
    0010815dloc_10815d:
    0010815dmov rax, [rsp+24]
    00108162mov [rax], 0
    00108169jmp 0x10817f
    0010816b
    0010816bloc_10816b:
    0010816bmov rax, [rsp+24]
    00108170mov [rax], rbx
    00108173mov [rax+8], r14
    00108177
    00108177loc_108177:
    00108177mov ecx, [rsp+44]
    0010817bmov [rax+16], cx
    0010817f
    0010817floc_10817f:
    0010817fadd rsp, 232
    00108186pop rbx
    00108187pop r12
    00108189pop r13
    0010818bpop r14
    0010818dpop r15
    0010818fpop rbp
    00108190ret
    00108191
    00108191loc_108191:
    00108191lea rdx, [rip+0xe28f0]
    00108198mov edi, 17
    0010819dmov esi, 17
    001081a2call core::panicking::panic_bounds_check
    001081a7ud2
    001081a9
    001081a9loc_1081a9:
    001081a9lea rdx, [rip+0xe2848]
    001081b0mov esi, 81
    001081b5mov rdi, rax
    001081b8call core::panicking::panic_bounds_check
    001081bdud2
    001081bf
    001081bfloc_1081bf:
    001081bfmov [rsp+184], 0
    001081cblea rdi, [rsp+80]
    001081d0lea rsi, [rsp+112]
    001081d5lea rdx, [rsp+184]
    001081ddcall core::panicking::assert_failed
    001081e2ud2
    001081e4
    001081e4loc_1081e4:
    001081e4lea rdi, [rip-0xc50a0]
    001081eblea rdx, [rip+0xe281e]
    001081f2jmp 0x108212
    001081f4
    001081f4loc_1081f4:
    001081f4lea rdi, [rip-0xc5094]
    001081fblea rdx, [rip+0xe2826]
    00108202jmp 0x10827a
    00108204
    00108204loc_108204:
    00108204lea rdi, [rip-0xc5087]
    0010820blea rdx, [rip+0xe282e]
    00108212
    00108212loc_108212:
    00108212mov esi, 28
    00108217call core::panicking::panic
    0010821cud2
    0010821e
    0010821eloc_10821e:
    0010821elea rdi, [rip-0xc504e]
    00108225lea rdx, [rip+0xe288c]
    0010822cmov esi, 54
    00108231call core::panicking::panic
    00108236ud2
    00108238
    00108238loc_108238:
    00108238lea rdi, [rip-0xc509f]
    0010823flea rdx, [rip+0xe285a]
    00108246mov esi, 55
    0010824bcall core::panicking::panic
    00108250ud2
    00108252
    00108252loc_108252:
    00108252lea rdi, [rip-0xc4b0b]
    00108259lea rdx, [rip+0xe27f8]
    00108260mov esi, 45
    00108265call core::panicking::panic
    0010826aud2
    0010826c
    0010826cloc_10826c:
    0010826clea rdi, [rip-0xc5296]
    00108273lea rdx, [rip+0xe259e]
    0010827a
    0010827aloc_10827a:
    0010827amov esi, 29
    0010827fcall core::panicking::panic
    00108284ud2
    00107a20