File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    00108286
    00108286 // align 0x10
    00108290
    00108290core::num::flt2dec::strategy::grisu::format_exact_opt:
    00108290push rbp
    00108291push r15
    00108293push r14
    00108295push r13
    00108297push r12
    00108299push rbx
    0010829asub rsp, 40
    0010829etest rsi, rsi
    001082a1je 0x1086e9
    001082a7mov rax, rsi
    001082aashr rax, 61
    001082aejne 0x108703
    001082b4mov r10, rcx
    001082b7mov rax, rsi
    001082bashr rax, 32
    001082bemov rcx, rsi
    001082c1shl rcx, 32
    001082c5lea r11l, [rdx-32]
    001082c9test rax, rax
    001082cccmovne rcx, rsi
    001082d0cmovne r11l, edx
    001082d4mov rax, rcx
    001082d7shr rax, 48
    001082dbmov rdx, rcx
    001082deshl rdx, 16
    001082e2lea esi, [r11-16]
    001082e6test rax, rax
    001082e9cmovne rdx, rcx
    001082edcmovne esi, r11l
    001082f1mov rax, rdx
    001082f4shr rax, 56
    001082f8mov rcx, rdx
    001082fbshl rcx, 8
    001082fflea r11l, [rsi-8]
    00108303test rax, rax
    00108306cmovne rcx, rdx
    0010830acmovne r11l, esi
    0010830emov rax, rcx
    00108311shr rax, 60
    00108315mov rsi, rcx
    00108318shl rsi, 4
    0010831clea ebx, [r11-4]
    00108320test rax, rax
    00108323cmovne rsi, rcx
    00108327cmovne ebx, r11l
    0010832bmov rcx, rsi
    0010832eshr rcx, 62
    00108332lea rax, [4*rsi]
    0010833alea edx, [rbx-2]
    0010833dtest rcx, rcx
    00108340cmovne rax, rsi
    00108344cmovne edx, ebx
    00108347xor ecx, ecx
    00108349test rax, rax
    0010834csetns cl
    0010834fsub edx, ecx
    00108351mov ecx, -96
    00108356sub ecx, edx
    00108358movsx ecx, cx
    0010835blea ecx, [rcx+4*rcx]
    0010835eshl ecx, 4
    00108361add ecx, 0x153b0
    00108367movsxd rcx, ecx
    0010836aimul rcx, rcx, 0x7b4dc993
    00108371mov rsi, rcx
    00108374shr rsi, 63
    00108378sar rcx, 42
    0010837cadd ecx, esi
    0010837emovsxd rbx, ecx
    00108381cmp ebx, 81
    00108384jae 0x1086d3
    0010838atest rax, rax
    0010838dsetns cl
    00108390shl rax, cl
    00108393shl rbx, 4
    00108397lea r14, [rip-0xc518e]
    0010839emov rsi, [rbx+r14]
    001083a2mov rcx, rax
    001083a5shr rcx, 32
    001083a9mov eax, eax
    001083abmov r15l, esi
    001083aeshr rsi, 32
    001083b2mov r12, rsi
    001083b5imul r12, rcx
    001083b9imul rsi, rax
    001083bdimul rcx, r15
    001083c1imul r15, rax
    001083c5shr r15, 32
    001083c9mov r11l, ecx
    001083ccadd r11, r15
    001083cfmov eax, esi
    001083d1add rax, r11
    001083d4sub rax, 0xffffffff80000000
    001083dashr rcx, 32
    001083deadd rcx, r12
    001083e1shr rsi, 32
    001083e5add rsi, rcx
    001083e8shr rax, 32
    001083ecadd dx, [rbx+r14+8]
    001083f2add rax, rsi
    001083f5mov ecx, -64
    001083fasub ecx, edx
    001083fcmovzx r11l, cx
    00108400mov esi, r11l
    00108403and esi, 63
    00108406mov rdx, rax
    00108409mov ecx, esi
    0010840bshr rdx, cl
    0010840emov r15l, 1
    00108414shl r15, cl
    00108417lea rcx, [r15-1]
    0010841bmov r13, rax
    0010841eand r13, rcx
    00108421je 0x108693
    00108427movzx r14l, [rbx+r14+10]
    0010842dcmp edx, 10000
    00108433mov [rsp+24], rdi
    00108438mov [rsp+16], r15
    0010843dmov [rsp+32], rcx
    00108442mov r15, r8
    00108445jae 0x108460
    00108447cmp edx, 100
    0010844ajae 0x108486
    0010844cxor ecx, ecx
    0010844ecmp edx, 10
    00108451setae cl
    00108454lea r12l, [rcx+8*rcx]
    00108458inc r12l
    0010845bjmp 0x1084e6
    00108460
    00108460loc_108460:
    00108460cmp edx, 0xf4240
    00108466jae 0x1084a4
    00108468cmp edx, 0x186a0
    0010846esetb cl
    00108471mov r8l, 10000
    00108477mov r12l, 0x186a0
    0010847dcmovb r12l, r8l
    00108481xor cl, 5
    00108484jmp 0x1084e6
    00108486
    00108486loc_108486:
    00108486cmp edx, 1000
    0010848csetb cl
    0010848fmov r8l, 100
    00108495mov r12l, 1000
    0010849bcmovb r12l, r8l
    0010849fxor cl, 3
    001084a2jmp 0x1084e6
    001084a4
    001084a4loc_1084a4:
    001084a4cmp edx, 0x5f5e100
    001084aajae 0x1084ca
    001084accmp edx, 0x989680
    001084b2setb cl
    001084b5mov r8l, 0xf4240
    001084bbmov r12l, 0x989680
    001084c1cmovb r12l, r8l
    001084c5xor cl, 7
    001084c8jmp 0x1084e6
    001084ca
    001084caloc_1084ca:
    001084cacmp edx, 0x3b9aca00
    001084d0setb cl
    001084d3mov r8l, 0x5f5e100
    001084d9mov r12l, 0x3b9aca00
    001084dfcmovb r12l, r8l
    001084e3xor cl, 9
    001084e6
    001084e6loc_1084e6:
    001084e6movzx ecx, cl
    001084e9mov ebx, ecx
    001084ebsub ebx, r14l
    001084eeinc ebx
    001084f0cmp bx, r9w
    001084f4jle 0x1085a0
    001084famovsx rax, bx
    001084femov r8l, ebx
    00108501sub r8l, r9l
    00108504mov [rsp+4], r9l
    00108509movsx r9, r9w
    0010850dsub rax, r9
    00108510cmp rax, r15
    00108513movsx r14, r8w
    00108517cmovae r14, r15
    0010851bneg rcx
    0010851emov [rsp+8], r15
    00108523mov r8, r15
    00108526neg r8
    00108529mov r15l, 1
    0010852fmov r9l, 0xffffffffcccccccd
    00108535nop [rax+rax]
    00108540
    00108540loc_108540:
    00108540lea rbp, [r8+r15]
    00108544mov eax, edx
    00108546xor edx, edx
    00108548div r12l
    0010854bcmp rbp, 1
    0010854fje 0x1086a9
    00108555add al, 48
    00108557mov [r10+r15-1], al
    0010855ccmp r14, r15
    0010855fje 0x1085d2
    00108561lea rax, [rcx+r15]
    00108565cmp rax, 1
    00108569je 0x108613
    0010856fmov eax, r12l
    00108572imul rax, r9
    00108576shr rax, 35
    0010857ainc r15
    0010857dcmp r12l, 10
    00108581mov r12l, eax
    00108584jae 0x108540
    00108586lea rdi, [rip-0xc4e0d]
    0010858dlea rdx, [rip+0xe256c]
    00108594mov esi, 25
    00108599call core::panicking::panic
    0010859eud2
    001085a0
    001085a0loc_1085a0:
    001085a0mov rcx, 0xcccccccccccccccd
    001085aamul rcx
    001085admov rax, rdx
    001085b0shr rax, 3
    001085b4mov r11l, r12l
    001085b7mov ecx, esi
    001085b9shl r11, cl
    001085bcsub rsp, 8
    001085c0mov rdi, [rsp+32]
    001085c5mov rsi, r10
    001085c8mov rdx, r15
    001085cbxor ecx, ecx
    001085cdmov r8l, ebx
    001085d0jmp 0x1085fe
    001085d2
    001085d2loc_1085d2:
    001085d2mov eax, edx
    001085d4mov ecx, esi
    001085d6shl rax, cl
    001085d9add rax, r13
    001085dcmov r11l, r12l
    001085dfshl r11, cl
    001085e2sub rsp, 8
    001085e6mov rdi, [rsp+32]
    001085ebmov rsi, r10
    001085eemov rdx, [rsp+16]
    001085f3mov rcx, r14
    001085f6mov r8l, ebx
    001085f9mov r9l, [rsp+12]
    001085fe
    001085feloc_1085fe:
    001085fepush [rsp+24]
    00108602push r11
    00108604push rax
    00108605
    00108605loc_108605:
    00108605call core::num::flt2dec::strategy::grisu::format_exact_opt::possibly_round
    0010860aadd rsp, 72
    0010860ejmp 0x10869e
    00108613
    00108613loc_108613:
    00108613dec r11l
    00108616and r11l, 63
    0010861amov eax, 1
    0010861fmov r8, [rsp+8]
    00108624mov rdi, [rsp+24]
    00108629mov r9, [rsp+32]
    0010862enop
    00108630
    00108630loc_108630:
    00108630mov rdx, rax
    00108633mov ecx, r11l
    00108636shr rdx, cl
    00108639test rdx, rdx
    0010863cjne 0x108693
    0010863ecmp r15, r8
    00108641jae 0x1086bf
    00108643add r13, r13
    00108646lea rdx, [4*r13]
    0010864eadd rdx, r13
    00108651mov r13, rdx
    00108654and r13, r9
    00108657add rax, rax
    0010865alea rax, [rax+4*rax]
    0010865emov ecx, esi
    00108660shr rdx, cl
    00108663add dl, 48
    00108666mov [r10+r15], dl
    0010866ainc r15
    0010866dcmp r14, r15
    00108670jne 0x108630
    00108672sub rsp, 8
    00108676mov rsi, r10
    00108679mov rdx, r8
    0010867cmov rcx, r14
    0010867fmov r8l, ebx
    00108682mov r9l, [rsp+12]
    00108687push rax
    00108688push [rsp+32]
    0010868cpush r13
    0010868ejmp 0x108605
    00108693
    00108693loc_108693:
    00108693mov [rdi], 0
    0010869aadd rsp, 40
    0010869e
    0010869eloc_10869e:
    0010869epop rbx
    0010869fpop r12
    001086a1pop r13
    001086a3pop r14
    001086a5pop r15
    001086a7pop rbp
    001086a8ret
    001086a9
    001086a9loc_1086a9:
    001086a9lea rdx, [rip+0xe2468]
    001086b0mov rdi, [rsp+8]
    001086b5mov rsi, rdi
    001086b8call core::panicking::panic_bounds_check
    001086bdud2
    001086bf
    001086bfloc_1086bf:
    001086bflea rdx, [rip+0xe246a]
    001086c6mov rdi, r15
    001086c9mov rsi, r8
    001086cccall core::panicking::panic_bounds_check
    001086d1ud2
    001086d3
    001086d3loc_1086d3:
    001086d3lea rdx, [rip+0xe231e]
    001086damov esi, 81
    001086dfmov rdi, rbx
    001086e2call core::panicking::panic_bounds_check
    001086e7ud2
    001086e9
    001086e9loc_1086e9:
    001086e9lea rdi, [rip-0xc55a5]
    001086f0lea rdx, [rip+0xe23d9]
    001086f7mov esi, 28
    001086fccall core::panicking::panic
    00108701ud2
    00108703
    00108703loc_108703:
    00108703lea rdi, [rip-0xc4f50]
    0010870alea rdx, [rip+0xe23d7]
    00108711mov esi, 36
    00108716call core::panicking::panic
    0010871bud2
    00108290
    0010871d
    0010871d // align 0x10
    00108720
    00108720core::num::flt2dec::strategy::grisu::format_exact_opt::possibly_round:
    00108720push rbp
    00108721push r15
    00108723push r14
    00108725push r13
    00108727push r12
    00108729push rbx
    0010872apush rax
    0010872bmov rbx, rcx
    0010872emov r14, rdx
    00108731mov r15, rdi
    00108734mov rcx, [rsp+80]
    00108739mov rax, [rsp+72]
    0010873emov rdx, rax
    00108741sub rdx, rcx
    00108744jbe 0x108783
    00108746cmp rdx, rcx
    00108749jbe 0x108783
    0010874bmov r13l, r9l
    0010874emov ebp, r8l
    00108751mov r12, rsi
    00108754mov rdx, [rsp+64]
    00108759mov rsi, rax
    0010875csub rsi, rdx
    0010875fcmp rsi, rdx
    00108762jbe 0x108776
    00108764mov rdi, rax
    00108767sub rdi, rdx
    0010876asub rdi, rdx
    0010876dlea rsi, [rcx+rcx]
    00108771cmp rdi, rsi
    00108774jae 0x108799
    00108776
    00108776loc_108776:
    00108776sub rdx, rcx
    00108779jbe 0x108783
    0010877bsub rax, rdx
    0010877ecmp rax, rdx
    00108781jbe 0x1087ae
    00108783
    00108783loc_108783:
    00108783mov [r15], 0
    0010878a
    0010878aloc_10878a:
    0010878aadd rsp, 8
    0010878epop rbx
    0010878fpop r12
    00108791pop r13
    00108793pop r14
    00108795pop r15
    00108797pop rbp
    00108798ret
    00108799
    00108799loc_108799:
    00108799cmp rbx, r14
    0010879cjbe 0x108844
    001087a2lea rdx, [rip+0xe23cf]
    001087a9jmp 0x108865
    001087ae
    001087aeloc_1087ae:
    001087aecmp rbx, r14
    001087b1ja 0x108855
    001087b7mov rdx, -1
    001087bemov rax, rbx
    001087c1nop [rax+rax]
    001087d0
    001087d0loc_1087d0:
    001087d0test rax, rax
    001087d3je 0x1087ff
    001087d5mov rdi, rax
    001087d8dec rax
    001087dbinc rdx
    001087decmp [r12+rdi-1], 57
    001087e4je 0x1087d0
    001087e6inc [r12+rax]
    001087eacmp rdi, rbx
    001087edjae 0x10883f
    001087efadd rdi, r12
    001087f2mov esi, 48
    001087f7call [rip+0x10930b]
    001087fdjmp 0x10883f
    001087ff
    001087ffloc_1087ff:
    001087fftest rbx, rbx
    00108802je 0x108829
    00108804mov [r12], 49
    00108809mov al, 48
    0010880bcmp rbx, 1
    0010880fje 0x10882b
    00108811lea rdi, [r12+1]
    00108816lea rdx, [rbx-1]
    0010881amov esi, 48
    0010881fcall [rip+0x1092e3]
    00108825mov al, 48
    00108827jmp 0x10882b
    00108829
    00108829loc_108829:
    00108829mov al, 49
    0010882b
    0010882bloc_10882b:
    0010882binc ebp
    0010882dcmp rbx, r14
    00108830jae 0x10883f
    00108832cmp bp, r13w
    00108836jle 0x10883f
    00108838mov [r12+rbx], al
    0010883cinc rbx
    0010883f
    0010883floc_10883f:
    0010883fcmp rbx, r14
    00108842ja 0x10885e
    00108844
    00108844loc_108844:
    00108844mov [r15], r12
    00108847mov [r15+8], rbx
    0010884bmov [r15+16], bp
    00108850jmp 0x10878a
    00108855
    00108855loc_108855:
    00108855lea rdx, [rip+0xe22ec]
    0010885cjmp 0x108865
    0010885e
    0010885eloc_10885e:
    0010885elea rdx, [rip+0xe22fb]
    00108865
    00108865loc_108865:
    00108865mov rdi, rbx
    00108868mov rsi, r14
    0010886bcall core::slice::index::slice_end_index_len_fail
    00108870ud2
    00108720
    00108872
    00108872 // align 0x10
    00108880
    00108880core::num::flt2dec::digits_to_dec_str:
    00108880push rax
    00108881test rsi, rsi
    00108884je 0x108992
    0010888acmp [rdi], 48
    0010888djbe 0x1089a2
    00108893test dx, dx
    00108896jle 0x1088f7
    00108898movzx eax, dx
    0010889bmov rdx, rax
    0010889emov [r8], 2
    001088a4mov [r8+8], rdi
    001088a8sub rdx, rsi
    001088abjae 0x108948
    001088b1mov [r8+16], rax
    001088b5mov [r8+24], 2
    001088bclea rdx, [rip-0x786f6]
    001088c3mov [r8+32], rdx
    001088c7mov [r8+40], 1
    001088cfsub rsi, rax
    001088d2add rdi, rax
    001088d5mov [r8+48], 2
    001088dcmov [r8+56], rdi
    001088e0mov [r8+64], rsi
    001088e4mov edx, 3
    001088e9sub rcx, rsi
    001088ecja 0x108976
    001088f2jmp 0x108986
    001088f7
    001088f7loc_1088f7:
    001088f7movsx rax, dx
    001088fbmov r9, rax
    001088feneg r9
    00108901mov [r8], 2
    00108907lea rdx, [rip-0xc50c2]
    0010890emov [r8+8], rdx
    00108912mov [r8+16], 2
    0010891amov [r8+24], 0
    00108921mov [r8+32], r9
    00108925mov [r8+48], 2
    0010892cmov [r8+56], rdi
    00108930mov [r8+64], rsi
    00108934mov edx, 3
    00108939sub rcx, rsi
    0010893cjbe 0x108986
    0010893ecmp rcx, r9
    00108941jbe 0x108986
    00108943add rcx, rax
    00108946jmp 0x108976
    00108948
    00108948loc_108948:
    00108948mov [r8+16], rsi
    0010894cmov [r8+24], 0
    00108953mov [r8+32], rdx
    00108957test rcx, rcx
    0010895aje 0x10898b
    0010895cmov [r8+48], 2
    00108963lea rax, [rip-0x7879d]
    0010896amov [r8+56], rax
    0010896emov [r8+64], 1
    00108976
    00108976loc_108976:
    00108976mov [r8+72], 0
    0010897dmov [r8+80], rcx
    00108981mov edx, 4
    00108986
    00108986loc_108986:
    00108986mov rax, r8
    00108989pop rcx
    0010898aret
    0010898b
    0010898bloc_10898b:
    0010898bmov edx, 2
    00108990jmp 0x108986
    00108992
    00108992loc_108992:
    00108992lea rdi, [rip-0xc5200]
    00108999lea rdx, [rip+0xe21f0]
    001089a0jmp 0x1089b0
    001089a2
    001089a2loc_1089a2:
    001089a2lea rdi, [rip-0xc517e]
    001089a9lea rdx, [rip+0xe21f8]
    001089b0
    001089b0loc_1089b0:
    001089b0mov esi, 33
    001089b5call core::panicking::panic
    001089baud2
    00108880
    001089bc
    001089bc // align 0x10
    001089c0
    001089c0core::ascii::escape_default:
    001089c0movzx esi, dil
    001089c4mov cl, 2
    001089c6xor edx, edx
    001089c8mov al, 92
    001089calea r8l, [rsi-9]
    001089cecmp r8l, 30
    001089d2ja 0x1089ee
    001089d4lea r9, [rip-0xcb337]
    001089dbmovsxd r8, [r9+4*r8]
    001089dfadd r8, r9
    001089e2jmp r8
    001089e5mov esi, 29696
    001089eaxor edi, edi
    001089ecjmp 0x108a61
    001089ee
    001089eeloc_1089ee:
    001089eecmp esi, 92
    001089f1jne 0x1089fc
    001089f3mov esi, 23552
    001089f8xor edi, edi
    001089fajmp 0x108a61
    001089fc
    001089fcloc_1089fc:
    001089fctest dil, dil
    001089ffjs 0x108a3d
    00108a01cmp dil, 32
    00108a05jb 0x108a3d
    00108a07cmp dil, 127
    00108a0bje 0x108a3d
    00108a0dxor esi, esi
    00108a0fmov cl, 1
    00108a11mov eax, edi
    00108a13xor edx, edx
    00108a15xor edi, edi
    00108a17jmp 0x108a61
    00108a19mov esi, 28160
    00108a1exor edi, edi
    00108a20jmp 0x108a61
    00108a22mov esi, 29184
    00108a27xor edi, edi
    00108a29jmp 0x108a61
    00108a2bmov esi, 8704
    00108a30xor edi, edi
    00108a32jmp 0x108a61
    00108a34mov esi, 9984
    00108a39xor edi, edi
    00108a3bjmp 0x108a61
    00108a3d
    00108a3dloc_108a3d:
    00108a3dmov ecx, esi
    00108a3fand ecx, 15
    00108a42shr esi, 4
    00108a45lea rdi, [rip-0xcfc1c]
    00108a4cmovzx edx, [rsi+rdi]
    00108a50movzx edi, [rcx+rdi]
    00108a54shl edi, 24
    00108a57shl edx, 16
    00108a5amov cl, 4
    00108a5cmov esi, 30720
    00108a61
    00108a61loc_108a61:
    00108a61or esi, edx
    00108a63movzx eax, al
    00108a66or eax, esi
    00108a68or eax, edi
    00108a6amovzx ecx, cl
    00108a6dshl rcx, 40
    00108a71or rax, rcx
    00108a74ret
    001089c0
    00108a75
    00108a75 // align 0x10
    00108a80
    00108a80core::slice::index::slice_index_order_fail:
    00108a80sub rsp, 104
    00108a84mov [rsp+8], rdi
    00108a89mov [rsp+16], rsi
    00108a8elea rax, [rsp+8]
    00108a93mov [rsp+24], rax
    00108a98lea rax, [rip-18991]
    00108a9fmov [rsp+32], rax
    00108aa4lea rcx, [rsp+16]
    00108aa9mov [rsp+40], rcx
    00108aaemov [rsp+48], rax
    00108ab3lea rax, [rip+0xe241e]
    00108abamov [rsp+56], rax
    00108abfmov [rsp+64], 2
    00108ac8mov [rsp+88], 0
    00108ad1lea rax, [rsp+24]
    00108ad6mov [rsp+72], rax
    00108adbmov [rsp+80], 2
    00108ae4lea rdi, [rsp+56]
    00108ae9mov rsi, rdx
    00108aeccall core::panicking::panic_fmt
    00108af1ud2
    00108a80
    00108af3
    00108af3 // align 0x10
    00108b00
    00108b00_<core::cell::BorrowError as core::fmt::Debug>::fmt:
    00108b00mov rdi, [rsi+32]
    00108b04mov rax, [rsi+40]
    00108b08mov rax, [rax+24]
    00108b0clea rsi, [rip-0xc5228]
    00108b13mov edx, 11
    00108b18jmp rax
    00108b00
    00108b1a
    00108b1a // align 0x10
    00108b20
    00108b20_<core::cell::BorrowMutError as core::fmt::Debug>::fmt:
    00108b20mov rdi, [rsi+32]
    00108b24mov rax, [rsi+40]
    00108b28mov rax, [rax+24]
    00108b2clea rsi, [rip-0xc523d]
    00108b33mov edx, 14
    00108b38jmp rax
    00108b20
    00108b3a
    00108b3a // align 0x10
    00108b40
    00108b40core::cell::panic_already_borrowed:
    00108b40sub rsp, 72
    00108b44mov rsi, rdi
    00108b47lea rax, [rsp+7]
    00108b4cmov [rsp+8], rax
    00108b51lea rax, [rip-56]
    00108b58mov [rsp+16], rax
    00108b5dlea rax, [rip+0xe20ac]
    00108b64mov [rsp+24], rax
    00108b69mov [rsp+32], 1
    00108b72mov [rsp+56], 0
    00108b7blea rax, [rsp+8]
    00108b80mov [rsp+40], rax
    00108b85mov [rsp+48], 1
    00108b8elea rdi, [rsp+24]
    00108b93call core::panicking::panic_fmt
    00108b98ud2
    00108b40
    00108b9a
    00108b9a // align 0x10
    00108ba0
    00108ba0core::cell::panic_already_mutably_borrowed:
    00108ba0sub rsp, 72
    00108ba4mov rsi, rdi
    00108ba7lea rax, [rsp+7]
    00108bacmov [rsp+8], rax
    00108bb1lea rax, [rip-184]
    00108bb8mov [rsp+16], rax
    00108bbdlea rax, [rip+0xe205c]
    00108bc4mov [rsp+24], rax
    00108bc9mov [rsp+32], 1
    00108bd2mov [rsp+56], 0
    00108bdblea rax, [rsp+8]
    00108be0mov [rsp+40], rax
    00108be5mov [rsp+48], 1
    00108beelea rdi, [rsp+24]
    00108bf3call core::panicking::panic_fmt
    00108bf8ud2
    00108ba0
    00108bfa
    00108bfa // align 0x10
    00108c00
    00108c00core::char::EscapeUnicode::new:
    00108c00sub rsp, 24
    00108c04mov [rsp+16], 0
    00108c09mov [rsp+14], 0
    00108c10mov [rsp+23], 125
    00108c15mov ecx, esi
    00108c17shr ecx, 20
    00108c1aand ecx, 15
    00108c1dlea rax, [rip-0xcfdf4]
    00108c24movzx ecx, [rcx+rax]
    00108c28mov [rsp+17], cl
    00108c2cmov ecx, esi
    00108c2eshr ecx, 16
    00108c31and ecx, 15
    00108c34movzx ecx, [rcx+rax]
    00108c38mov [rsp+18], cl
    00108c3cmov ecx, esi
    00108c3eshr ecx, 12
    00108c41and ecx, 15
    00108c44movzx ecx, [rcx+rax]
    00108c48mov [rsp+19], cl
    00108c4cmov ecx, esi
    00108c4eshr ecx, 8
    00108c51and ecx, 15
    00108c54movzx ecx, [rcx+rax]
    00108c58mov [rsp+20], cl
    00108c5cmov ecx, esi
    00108c5eshr ecx, 4
    00108c61and ecx, 15
    00108c64movzx ecx, [rcx+rax]
    00108c68mov [rsp+21], cl
    00108c6cmov ecx, esi
    00108c6eand ecx, 15
    00108c71movzx eax, [rcx+rax]
    00108c75mov [rsp+22], al
    00108c79or esi, 1
    00108c7cbsr eax, esi
    00108c7fxor eax, 28
    00108c82shr eax, 2
    00108c85add rax, -2
    00108c89cmp rax, 11
    00108c8djae 0x108cb8
    00108c8fmov [rsp+rax+16], 123
    00108c94mov [rsp+rax+14], 30044
    00108c9bmovzx ecx, [rsp+22]
    00108ca0mov [rdi+8], cx
    00108ca4mov rcx, [rsp+14]
    00108ca9mov [rdi], rcx
    00108cacmov [rdi+10], al
    00108cafmov [rdi+11], 10
    00108cb3add rsp, 24
    00108cb7ret
    00108cb8
    00108cb8loc_108cb8:
    00108cb8lea rdx, [rip+0xe24e1]
    00108cbfmov esi, 10
    00108cc4mov rdi, rax
    00108cc7call core::slice::index::slice_start_index_len_fail
    00108cccud2
    00108c00
    00108cce
    00108cce // align 0x10
    00108cd0
    00108cd0_<core::char::EscapeDebug as core::fmt::Display>::fmt:
    00108cd0push rax
    00108cd1mov rax, rdi
    00108cd4cmp [rdi], -128
    00108cd7jne 0x108ced
    00108cd9mov eax, [rax+4]
    00108cdcmov rdi, [rsi+32]
    00108ce0mov rcx, [rsi+40]
    00108ce4mov rcx, [rcx+32]
    00108ce8mov esi, eax
    00108ceapop rax
    00108cebjmp rcx
    00108ced
    00108cedloc_108ced:
    00108cedmovzx edi, [rax+10]
    00108cf1movzx edx, [rax+11]
    00108cf5cmp dil, dl
    00108cf8ja 0x108d17
    00108cfacmp dl, 10
    00108cfdja 0x108d2b
    00108cffsub rdx, rdi
    00108d02add rax, rdi
    00108d05mov rdi, [rsi+32]
    00108d09mov rcx, [rsi+40]
    00108d0dmov rcx, [rcx+24]
    00108d11mov rsi, rax
    00108d14pop rax
    00108d15jmp rcx
    00108d17
    00108d17loc_108d17:
    00108d17lea rax, [rip+0xe249a]
    00108d1emov rsi, rdx
    00108d21mov rdx, rax
    00108d24call core::slice::index::slice_index_order_fail
    00108d29ud2
    00108d2b
    00108d2bloc_108d2b:
    00108d2blea rax, [rip+0xe2486]
    00108d32mov esi, 10
    00108d37mov rdi, rdx
    00108d3amov rdx, rax
    00108d3dcall core::slice::index::slice_end_index_len_fail
    00108d42ud2
    00108cd0
    00108d44
    00108d44 // align 0x10
    00108d50
    00108d50core::ffi::c_str::CStr::from_bytes_with_nul:
    00108d50cmp rdx, 16
    00108d54jae 0x108d87
    00108d56test rdx, rdx
    00108d59je 0x108e2f
    00108d5fxor ecx, ecx
    00108d61nop [rax+rax]
    00108d70
    00108d70loc_108d70:
    00108d70cmp [rsi+rcx], 0
    00108d74je 0x108e3c
    00108d7ainc rcx
    00108d7dcmp rdx, rcx
    00108d80jne 0x108d70
    00108d82jmp 0x108e2f
    00108d87
    00108d87loc_108d87:
    00108d87lea rax, [rsi+7]
    00108d8band rax, -8
    00108d8fsub rax, rsi
    00108d92je 0x108dbd
    00108d94je 0x108dbd
    00108d96xor ecx, ecx
    00108d98nop [rax+rax]
    00108da0
    00108da0loc_108da0:
    00108da0cmp [rsi+rcx], 0
    00108da4je 0x108e3c
    00108daainc rcx
    00108dadcmp rax, rcx
    00108db0jne 0x108da0
    00108db2lea rcx, [rdx-16]
    00108db6cmp rax, rcx
    00108db9jbe 0x108dc3
    00108dbbjmp 0x108e0d
    00108dbd
    00108dbdloc_108dbd:
    00108dbdlea rcx, [rdx-16]
    00108dc1xor eax, eax
    00108dc3
    00108dc3loc_108dc3:
    00108dc3movdqa x0, [rip-0xd056b]
    00108dcbmov r8, 0x8080808080808080
    00108dd5nop [rax+rax]
    00108de0
    00108de0loc_108de0:
    00108de0movdqu x1, [rsi+rax]
    00108de5movdqa x2, x1
    00108de9paddq x2, x0
    00108dedpandn x1, x2
    00108df1pshufd x2, x1, -18
    00108df6por x2, x1
    00108dfamovq r9, x2
    00108dfftest r9, r8
    00108e02jne 0x108e0d
    00108e04add rax, 16
    00108e08cmp rax, rcx
    00108e0bjbe 0x108de0
    00108e0d
    00108e0dloc_108e0d:
    00108e0dmov r8, rdx
    00108e10sub r8, rax
    00108e13je 0x108e2f
    00108e15lea r9, [rsi+rax]
    00108e19xor ecx, ecx
    00108e1bnop [rax+rax]
    00108e20
    00108e20loc_108e20:
    00108e20cmp [r9+rcx], 0
    00108e25je 0x108e39
    00108e27inc rcx
    00108e2acmp r8, rcx
    00108e2djne 0x108e20
    00108e2f
    00108e2floc_108e2f:
    00108e2fmov [rdi+8], 1
    00108e37jmp 0x108e5f
    00108e39
    00108e39loc_108e39:
    00108e39add rcx, rax
    00108e3c
    00108e3cloc_108e3c:
    00108e3clea rax, [rcx+1]
    00108e40cmp rax, rdx
    00108e43jne 0x108e53
    00108e45mov [rdi+8], rsi
    00108e49mov [rdi+16], rdx
    00108e4dxor eax, eax
    00108e4fmov [rdi], rax
    00108e52ret
    00108e53
    00108e53loc_108e53:
    00108e53mov [rdi+8], 0
    00108e5bmov [rdi+16], rcx
    00108e5f
    00108e5floc_108e5f:
    00108e5fmov eax, 1
    00108e64mov [rdi], rax
    00108e67ret
    00108d50
    00108e68
    00108e68 // align 0x10
    00108e70
    00108e70core::str::converts::from_utf8:
    00108e70push rbp
    00108e71push r14
    00108e73push rbx
    00108e74xor ecx, ecx
    00108e76mov rax, rdx
    00108e79sub rax, 15
    00108e7dcmovae rcx, rax
    00108e81test rdx, rdx
    00108e84je 0x109034
    00108e8alea r8, [rsi+7]
    00108e8eand r8, -8
    00108e92sub r8, rsi
    00108e95xor eax, eax
    00108e97lea r10, [rip-0xc52e9]
    00108e9emov r11, 0x8080808080808080
    00108ea8jmp 0x108ebf
    00108eaa
    00108eaa 66 0f 1f 44 00 00 f..D..
    00108eb0
    00108eb0loc_108eb0:
    00108eb0inc r14
    00108eb3mov rax, r14
    00108eb6
    00108eb6loc_108eb6:
    00108eb6cmp rax, rdx
    00108eb9jae 0x109034
    00108ebf
    00108ebfloc_108ebf:
    00108ebfmovzx ebx, [rsi+rax]
    00108ec3test bl, bl
    00108ec5js 0x108f20
    00108ec7mov r9l, r8l
    00108ecasub r9l, eax
    00108ecdtest r9b, 7
    00108ed1je 0x108ee4
    00108ed3inc rax
    00108ed6jmp 0x108eb6
    00108ed8
    00108ed8 0f 1f 84 00 00 00 00 00 ........
    00108ee0
    00108ee0loc_108ee0:
    00108ee0add rax, 16
    00108ee4
    00108ee4loc_108ee4:
    00108ee4cmp rax, rcx
    00108ee7jae 0x108ef7
    00108ee9mov r9, [rsi+rax+8]
    00108eeeor r9, [rsi+rax]
    00108ef2test r9, r11
    00108ef5je 0x108ee0
    00108ef7
    00108ef7loc_108ef7:
    00108ef7cmp rax, rdx
    00108efajae 0x108eb6
    00108efcnop [rax]
    00108f00
    00108f00loc_108f00:
    00108f00cmp [rsi+rax], 0
    00108f04js 0x108eb6
    00108f06inc rax
    00108f09cmp rdx, rax
    00108f0cjne 0x108f00
    00108f0ejmp 0x109034
    00108f13nop [rax+rax]
    00108f20
    00108f20loc_108f20:
    00108f20movzx ebp, [rbx+r10]
    00108f25mov r9b, 1
    00108f28cmp ebp, 4
    00108f2bje 0x108f5a
    00108f2dcmp ebp, 3
    00108f30je 0x108f88
    00108f32cmp ebp, 2
    00108f35jne 0x109045
    00108f3blea r14, [rax+1]
    00108f3fcmp r14, rdx
    00108f42jae 0x109040
    00108f48cmp [rsi+r14], -65
    00108f4dmov bl, 1
    00108f4fjle 0x108eb0
    00108f55jmp 0x10904b
    00108f5a
    00108f5aloc_108f5a:
    00108f5alea r14, [rax+1]
    00108f5ecmp r14, rdx
    00108f61jae 0x109040
    00108f67movzx ebp, [rsi+r14]
    00108f6ccmp rbx, 240
    00108f73je 0x108fb6
    00108f75cmp ebx, 244
    00108f7bjne 0x108fc5
    00108f7dcmp bpl, -113
    00108f81jle 0x108fd3
    00108f83jmp 0x109045
    00108f88
    00108f88loc_108f88:
    00108f88lea r14, [rax+1]
    00108f8ccmp r14, rdx
    00108f8fjae 0x109040
    00108f95movzx ebp, [rsi+r14]
    00108f9acmp rbx, 224
    00108fa1je 0x108ff8
    00108fa3cmp ebx, 237
    00108fa9jne 0x109004
    00108fabcmp bpl, -97
    00108fafjle 0x10901c
    00108fb1jmp 0x109045
    00108fb6
    00108fb6loc_108fb6:
    00108fb6add bpl, 112
    00108fbacmp bpl, 48
    00108fbejb 0x108fd3
    00108fc0jmp 0x109045
    00108fc5
    00108fc5loc_108fc5:
    00108fc5add bl, 15
    00108fc8cmp bl, 2
    00108fcbja 0x109045
    00108fcdcmp bpl, -64
    00108fd1jge 0x109045
    00108fd3
    00108fd3loc_108fd3:
    00108fd3lea rbx, [rax+2]
    00108fd7cmp rbx, rdx
    00108fdajae 0x109040
    00108fdccmp [rsi+rbx], -65
    00108fe0jg 0x109030
    00108fe2lea r14, [rax+3]
    00108fe6cmp r14, rdx
    00108fe9jae 0x109040
    00108febcmp [rsi+r14], -65
    00108ff0jle 0x108eb0
    00108ff6jmp 0x109049
    00108ff8
    00108ff8loc_108ff8:
    00108ff8and bpl, 224
    00108ffccmp bpl, -96
    00109000je 0x10901c
    00109002jmp 0x109045
    00109004
    00109004loc_109004:
    00109004lea r14l, [rbx+31]
    00109008cmp r14b, 12
    0010900cjb 0x109016
    0010900eand bl, 254
    00109011cmp bl, -18
    00109014jne 0x109045
    00109016
    00109016loc_109016:
    00109016cmp bpl, -64
    0010901ajge 0x109045
    0010901c
    0010901cloc_10901c:
    0010901clea r14, [rax+2]
    00109020cmp r14, rdx
    00109023jae 0x109040
    00109025cmp [rsi+r14], -65
    0010902ajle 0x108eb0
    00109030
    00109030loc_109030:
    00109030mov bl, 2
    00109032jmp 0x10904b
    00109034
    00109034loc_109034:
    00109034mov [rdi+8], rsi
    00109038mov [rdi+16], rdx
    0010903cxor eax, eax
    0010903ejmp 0x10905b
    00109040
    00109040loc_109040:
    00109040xor r9l, r9l
    00109043jmp 0x10904b
    00109045
    00109045loc_109045:
    00109045mov bl, 1
    00109047jmp 0x10904b
    00109049
    00109049loc_109049:
    00109049mov bl, 3
    0010904b
    0010904bloc_10904b:
    0010904bmov [rdi+8], rax
    0010904fmov [rdi+16], r9b
    00109053mov [rdi+17], bl
    00109056mov eax, 1
    0010905b
    0010905bloc_10905b:
    0010905bmov [rdi], rax
    0010905epop rbx
    0010905fpop r14
    00109061pop rbp
    00109062ret
    00108e70
    00109063
    00109063 // align 0x10
    00109070
    00109070core::result::unwrap_failed:
    00109070sub rsp, 120
    00109074mov [rsp+8], rdi
    00109079mov [rsp+16], rsi
    0010907emov [rsp+24], rdx
    00109083mov [rsp+32], rcx
    00109088lea rax, [rsp+8]
    0010908dmov [rsp+40], rax
    00109092lea rax, [rip-16329]
    00109099mov [rsp+48], rax
    0010909elea rax, [rsp+24]
    001090a3mov [rsp+56], rax
    001090a8lea rax, [rip-16319]
    001090afmov [rsp+64], rax
    001090b4lea rax, [rip+0x107bfd]
    001090bbmov [rsp+72], rax
    001090c0mov [rsp+80], 2
    001090c9mov [rsp+104], 0
    001090d2lea rax, [rsp+40]
    001090d7mov [rsp+88], rax
    001090dcmov [rsp+96], 2
    001090e5lea rdi, [rsp+72]
    001090eamov rsi, r8
    001090edcall core::panicking::panic_fmt
    001090f2ud2
    00109070
    001090f4
    001090f4 // align 0x10
    00109100
    00109100_<core::fmt::Error as core::fmt::Debug>::fmt:
    00109100mov rdi, [rsi+32]
    00109104mov rax, [rsi+40]
    00109108mov rax, [rax+24]
    0010910clea rsi, [rip-0x790ee]
    00109113mov edx, 5
    00109118jmp rax
    00109100
    0010911a
    0010911a // align 0x10
    00109120
    00109120core::fmt::num::imp::_<impl core::fmt::Display for u8>::fmt:
    00109120sub rsp, 40
    00109124movzx eax, [rdi]
    00109127cmp rax, 100
    0010912bjb 0x10915a
    0010912dmovzx ecx, al
    00109130lea edx, [rcx+4*rcx]
    00109133lea edx, [rcx+8*rdx]
    00109136shr edx, 12
    00109139imul ecx, edx, 100
    0010913csub al, cl
    0010913emovzx eax, al
    00109141lea rcx, [rip-0x7a0f6]
    00109148movzx eax, [rcx+2*rax]
    0010914cmov [rsp+38], ax
    00109151mov ecx, 36
    00109156mov eax, edx
    00109158jmp 0x109163
    0010915a
    0010915aloc_10915a:
    0010915amov ecx, 38
    0010915fcmp al, 10
    00109161jae 0x10916b
    00109163
    00109163loc_109163:
    00109163or al, 48
    00109165mov [rsp+rcx+1], al
    00109169jmp 0x109180
    0010916b
    0010916bloc_10916b:
    0010916blea rcx, [rip-0x7a120]
    00109172movzx eax, [rcx+2*rax]
    00109176mov [rsp+38], ax
    0010917bmov ecx, 37
    00109180
    00109180loc_109180:
    00109180lea r8, [rsp+rcx]
    00109184inc r8
    00109187mov r9l, 39
    0010918dsub r9, rcx
    00109190lea rdx, [rip-0x77e9f]
    00109197mov rdi, rsi
    0010919amov esi, 1
    0010919fxor ecx, ecx
    001091a1call core::fmt::Formatter::pad_integral
    001091a6add rsp, 40
    001091aaret
    00109120
    001091ab
    001091ab // align 0x10
    001091b0
    001091b0core::fmt::num::imp::_<impl core::fmt::Display for u32>::fmt:
    001091b0sub rsp, 40
    001091b4mov ecx, [rdi]
    001091b6mov eax, 39
    001091bblea rdi, [rip-0x7a170]
    001091c2cmp rcx, 10000
    001091c9jb 0x109275
    001091cfmov r9l, 39
    001091d5mov r8, 0x346dc5d63886594b
    001091dfnop
    001091e0
    001091e0loc_1091e0:
    001091e0mov rax, rcx
    001091e3mul r8
    001091e6shr rdx, 11
    001091eaimul eax, edx, 10000
    001091f0mov r10l, ecx
    001091f3sub r10l, eax
    001091f6imul r11l, r10l, 5243
    001091fdshr r11l, 19
    00109201imul eax, r11l, 100
    00109205sub r10l, eax
    00109208movzx r10l, r10w
    0010920clea rax, [r9-4]
    00109210movzx r11l, [rdi+2*r11]
    00109215mov [rsp+r9-3], r11w
    0010921bmovzx r10l, [rdi+2*r10]
    00109220mov [rsp+r9-1], r10w
    00109226mov r9, rax
    00109229cmp rcx, 0x5f5e0ff
    00109230mov rcx, rdx
    00109233ja 0x1091e0
    00109235cmp rdx, 99
    00109239jbe 0x109264
    0010923b
    0010923bloc_10923b:
    0010923bmovzx ecx, dx
    0010923eshr ecx, 2
    00109241imul ecx, ecx, 5243
    00109247shr ecx, 17
    0010924aimul r8l, ecx, 100
    0010924esub edx, r8l
    00109251movzx edx, dx
    00109254movzx edx, [rdi+2*rdx]
    00109258mov [rsp+rax-1], dx
    0010925dadd rax, -2
    00109261mov rdx, rcx
    00109264
    00109264loc_109264:
    00109264cmp rdx, 10
    00109268jae 0x109280
    0010926aadd dl, 48
    0010926dmov [rsp+rax], dl
    00109270dec rax
    00109273jmp 0x10928d
    00109275
    00109275loc_109275:
    00109275mov rdx, rcx
    00109278cmp rdx, 99
    0010927cja 0x10923b
    0010927ejmp 0x109264
    00109280
    00109280loc_109280:
    00109280movzx ecx, [rdi+2*rdx]
    00109284mov [rsp+rax-1], cx
    00109289add rax, -2
    0010928d
    0010928dloc_10928d:
    0010928dlea r8, [rsp+rax]
    00109291inc r8
    00109294mov r9l, 39
    0010929asub r9, rax
    0010929dlea rdx, [rip-0x77fac]
    001092a4mov rdi, rsi
    001092a7mov esi, 1
    001092acxor ecx, ecx
    001092aecall core::fmt::Formatter::pad_integral
    001092b3add rsp, 40
    001092b7ret
    001091b0
    001092b8
    001092b8 // align 0x10
    001092c0
    001092c0core::option::expect_failed:
    001092c0sub rsp, 88
    001092c4mov [rsp+8], rdi
    001092c9mov [rsp+16], rsi
    001092celea rax, [rsp+8]
    001092d3mov [rsp+24], rax
    001092d8lea rax, [rip-16911]
    001092dfmov [rsp+32], rax
    001092e4lea rax, [rip+0x1082a5]
    001092ebmov [rsp+40], rax
    001092f0mov [rsp+48], 1
    001092f9mov [rsp+72], 0
    00109302lea rax, [rsp+24]
    00109307mov [rsp+56], rax
    0010930cmov [rsp+64], 1
    00109315lea rdi, [rsp+40]
    0010931amov rsi, rdx
    0010931dcall core::panicking::panic_fmt
    00109322ud2
    001092c0
    00109324
    00109324 // align 0x10
    00109330
    00109330_<core::panic::panic_info::PanicInfo as core::fmt::Display>::fmt:
    00109330push rbp
    00109331push r15
    00109333push r14
    00109335push r13
    00109337push r12
    00109339push rbx
    0010933asub rsp, 104
    0010933emov r12, rdi
    00109341mov r14, [rsi+32]
    00109345mov r15, [rsi+40]
    00109349mov r13, [r15+24]
    0010934dlea rsi, [rip-0xc5a24]
    00109354mov edx, 12
    00109359mov rdi, r14
    0010935ccall r13
    0010935fmov bl, 1
    00109361test al, al
    00109363jne 0x109491
    00109369mov rax, [r12+24]
    0010936elea rcx, [rax+16]
    00109372mov [rsp], rax
    00109376add rax, 20
    0010937alea rdx, [rip-17073]
    00109381mov [rsp+8], rdx
    00109386mov [rsp+16], rcx
    0010938blea rcx, [rip-482]
    00109392mov [rsp+24], rcx
    00109397mov [rsp+32], rax
    0010939cmov [rsp+40], rcx
    001093a1lea rax, [rip+0xe2710]
    001093a8mov [rsp+56], rax
    001093admov [rsp+64], 3
    001093b6mov [rsp+88], 0
    001093bfmov rax, rsp
    001093c2mov [rsp+72], rax
    001093c7mov [rsp+80], 3
    001093d0lea rdx, [rsp+56]
    001093d5mov rdi, r14
    001093d8mov rsi, r15
    001093dbcall core::fmt::write
    001093e0test al, al
    001093e2jne 0x109491
    001093e8mov rbp, [r12+16]
    001093edtest rbp, rbp
    001093f0je 0x10943a
    001093f2lea rsi, [rip-0x78ff0]
    001093f9mov edx, 2
    001093femov rdi, r14
    00109401call r13
    00109404test al, al
    00109406jne 0x109491
    0010940cmovups x0, [rbp]
    00109410movups x1, [rbp+16]
    00109414movups x2, [rbp+32]
    00109418movaps [rsp+32], x2
    0010941dmovaps [rsp+16], x1
    00109422movaps [rsp], x0
    00109426mov rdx, rsp
    00109429mov rdi, r14
    0010942cmov rsi, r15
    0010942fcall core::fmt::write
    00109434test al, al
    00109436je 0x10948f
    00109438jmp 0x109491
    0010943a
    0010943aloc_10943a:
    0010943amov r15, [r12]
    0010943emov rax, [r12+8]
    00109443mov rdi, r15
    00109446call [rax+24]
    00109449mov rcx, 0xfdbc168100b1ef64
    00109453xor rcx, rdx
    00109456mov rdx, 0xc1a2c89ccd1e7bc1
    00109460xor rdx, rax
    00109463or rdx, rcx
    00109466jne 0x10948f
    00109468lea rsi, [rip-0x79066]
    0010946fmov edx, 2
    00109474mov rdi, r14
    00109477call r13
    0010947atest al, al
    0010947cjne 0x109491
    0010947emov rsi, [r15]
    00109481mov rdx, [r15+8]
    00109485mov rdi, r14
    00109488call r13
    0010948btest al, al
    0010948djne 0x109491
    0010948f
    0010948floc_10948f:
    0010948fxor ebx, ebx
    00109491
    00109491loc_109491:
    00109491mov eax, ebx
    00109493add rsp, 104
    00109497pop rbx
    00109498pop r12
    0010949apop r13
    0010949cpop r14
    0010949epop r15
    001094a0pop rbp
    001094a1ret
    00109330
    001094a2
    001094a2 // align 0x10
    001094b0
    001094b0core::panicking::panic_nounwind_fmt:
    001094b0sub rsp, 40
    001094b4lea rax, [rip-0x781c3]
    001094bbmov [rsp], rax
    001094bflea rax, [rip+0xe176a]
    001094c6mov [rsp+8], rax
    001094cbmov [rsp+16], rdi
    001094d0mov [rsp+24], rdx
    001094d5mov [rsp+32], 0
    001094damov [rsp+33], sil
    001094dfmov rdi, rsp
    001094e2call rust_begin_unwind
    001094e7jmp 0x1094ee
    001094e9call core::panicking::panic_cannot_unwind
    001094ee
    001094eeloc_1094ee:
    001094eeud2
    001094b0
    001094f0
    001094f0core::panicking::panic_cannot_unwind:
    001094f0push rax
    001094f1call core::panicking::panic_nounwind
    001094f6ud2
    001094f0
    001094f8
    001094f8 // align 0x10
    00109500
    00109500core::panicking::panic_nounwind:
    00109500sub rsp, 72
    00109504lea rax, [rip-0xc5ba0]
    0010950bmov [rsp+8], rax
    00109510mov [rsp+16], 38
    00109519lea rax, [rsp+8]
    0010951emov [rsp+24], rax
    00109523mov [rsp+32], 1
    0010952clea rax, [rip-0x7823b]
    00109533mov [rsp+40], rax
    00109538xorps x0, x0
    0010953bmovups [rsp+48], x0
    00109540lea rdx, [rip+0xe1709]
    00109547lea rdi, [rsp+24]
    0010954cxor esi, esi
    0010954ecall core::panicking::panic_nounwind_fmt
    00109553ud2
    00109500
    00109555
    00109555 // align 0x10
    00109560
    00109560core::panicking::panic_nounwind_nobacktrace:
    00109560sub rsp, 72
    00109564lea rax, [rip-0xc5bda]
    0010956bmov [rsp+8], rax
    00109570mov [rsp+16], 36
    00109579lea rax, [rsp+8]
    0010957emov [rsp+24], rax
    00109583mov [rsp+32], 1
    0010958clea rax, [rip-0x7829b]
    00109593mov [rsp+40], rax
    00109598xorps x0, x0
    0010959bmovups [rsp+48], x0
    001095a0lea rdx, [rip+0xe16c1]
    001095a7lea rdi, [rsp+24]
    001095acmov esi, 1
    001095b1call core::panicking::panic_nounwind_fmt
    001095b6ud2
    00109560
    001095b8
    001095b8 // align 0x10
    001095c0
    001095c0core::fmt::num::_<impl core::fmt::LowerHex for i64>::fmt:
    001095c0sub rsp, 136
    001095c7mov rax, rdi
    001095camov edx, 129
    001095cfmov ecx, 48
    001095d4mov r8, rdi
    001095d7nop [rax+rax]
    001095e0
    001095e0loc_1095e0:
    001095e0mov rdi, rdx
    001095e3shr r8, 4
    001095e7mov edx, eax
    001095e9and dl, 15
    001095eccmp dl, 10
    001095efmov r9l, 87
    001095f5cmovb r9l, ecx
    001095f9add r9b, dl
    001095fcmov [rsp+rdi+6], r9b
    00109601lea rdx, [rdi-1]
    00109605cmp rax, 16
    00109609mov rax, r8
    0010960cjae 0x1095e0
    0010960eadd rdi, -2
    00109612cmp rdi, 128
    00109619ja 0x10964d
    0010961bmov r9l, 129
    00109621sub r9, rdx
    00109624lea r8, [rsp+rdi]
    00109628add r8, 8
    0010962clea rdx, [rip-0x7aa39]
    00109633mov ecx, 2
    00109638mov rdi, rsi
    0010963bmov esi, 1
    00109640call core::fmt::Formatter::pad_integral
    00109645add rsp, 136
    0010964cret
    0010964d
    0010964dloc_10964d:
    0010964dlea rdx, [rip+0xe177c]
    00109654mov esi, 128
    00109659call core::slice::index::slice_start_index_len_fail
    0010965eud2
    001095c0
    00109660
    00109660core::panicking::panic_in_cleanup:
    00109660push rax
    00109661call core::panicking::panic_nounwind_nobacktrace
    00109666ud2
    00109660
    00109668
    00109668 // align 0x10
    00109670
    00109670_<core::fmt::builders::PadAdapter as core::fmt::Write>::write_str:
    00109670push rbp
    00109671push r15
    00109673push r14
    00109675push r13
    00109677push r12
    00109679push rbx
    0010967asub rsp, 40
    0010967emov [rsp], rsi
    00109682mov rax, [rdi+16]
    00109686mov [rsp+24], rax
    0010968bmov rax, [rdi]
    0010968emov [rsp+16], rax
    00109693mov rax, [rdi+8]
    00109697mov [rsp+8], rax
    0010969cxor ebp, ebp
    0010969emovdqa x2, [rip-0xd0e36]
    001096a6movdqa x3, [rip-0xd0e2e]
    001096aemov r12, 0x8080808080808080
    001096b8xor r13l, r13l
    001096bbxor r14l, r14l
    001096bemov [rsp+32], rdx
    001096c3jmp 0x10970c
    001096c5
    001096c5 66 66 2e 0f 1f 84 00 00 00 00 00 ff.........
    001096d0
    001096d0loc_1096d0:
    001096d0cmp [rdx+rsi-1], 10
    001096d5sete al
    001096d8
    001096d8loc_1096d8:
    001096d8mov rcx, [rsp+24]
    001096ddmov [rcx], al
    001096dfmov rdi, [rsp+16]
    001096e4mov rax, [rsp+8]
    001096e9call [rax+24]
    001096ecmov r13, r15
    001096eftest al, al
    001096f1movdqa x2, [rip-0xd0e89]
    001096f9movdqa x3, [rip-0xd0e81]
    00109701mov rdx, [rsp+32]
    00109706jne 0x1098cd
    0010970c
    0010970cloc_10970c:
    0010970ctest r14b, r14b
    0010970fjne 0x1098c9
    00109715cmp rbp, rdx
    00109718jbe 0x10973c
    0010971amov r15, rbp
    0010971djmp 0x109873
    00109722
    00109722 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 fffff.........
    00109730
    00109730loc_109730:
    00109730mov rbp, r15
    00109733cmp r15, rdx
    00109736ja 0x109873
    0010973c
    0010973cloc_10973c:
    0010973cmov rcx, rdx
    0010973fsub rcx, rbp
    00109742mov rax, [rsp]
    00109746add rax, rbp
    00109749cmp rcx, 16
    0010974djae 0x109780
    0010974fcmp rdx, rbp
    00109752je 0x109870
    00109758xor esi, esi
    0010975anop [rax+rax]
    00109760
    00109760loc_109760:
    00109760cmp [rax+rsi], 10
    00109764je 0x109843
    0010976ainc rsi
    0010976dcmp rcx, rsi
    00109770jne 0x109760
    00109772jmp 0x109870
    00109777
    00109777 66 0f 1f 84 00 00 00 00 00 f........
    00109780
    00109780loc_109780:
    00109780lea r8, [rax+7]
    00109784and r8, -8
    00109788sub r8, rax
    0010978bje 0x1097c0
    0010978dje 0x1097c0
    0010978fxor esi, esi
    00109791nop [rax+rax]
    001097a0
    001097a0loc_1097a0:
    001097a0cmp [rax+rsi], 10
    001097a4je 0x109843
    001097aainc rsi
    001097adcmp r8, rsi
    001097b0jne 0x1097a0
    001097b2lea rsi, [rcx-16]
    001097b6jmp 0x1097d0
    001097b8
    001097b8 0f 1f 84 00 00 00 00 00 ........
    001097c0
    001097c0loc_1097c0:
    001097c0lea rsi, [rcx-16]
    001097c4xor r8l, r8l
    001097c7jmp 0x1097d5
    001097c9
    001097c9 0f 1f 80 00 00 00 00 .......
    001097d0
    001097d0loc_1097d0:
    001097d0cmp r8, rsi
    001097d3ja 0x109810
    001097d5
    001097d5loc_1097d5:
    001097d5movdqu x0, [rax+r8]
    001097dbmovdqa x1, x0
    001097dfpxor x1, x2
    001097e3paddq x1, x3
    001097e7pandn x0, x1
    001097ebpshufd x1, x0, -18
    001097f0por x1, x0
    001097f4movq rdi, x1
    001097f9test rdi, r12
    001097fcjne 0x109810
    001097feadd r8, 16
    00109802jmp 0x1097d0
    00109804
    00109804 66 66 66 2e 0f 1f 84 00 00 00 00 00 fff.........
    00109810
    00109810loc_109810:
    00109810cmp r8, rcx
    00109813je 0x109870
    00109815add rax, r8
    00109818mov rcx, rdx
    0010981bsub rcx, r8
    0010981esub rcx, rbp
    00109821xor esi, esi
    00109823nop [rax+rax]
    00109830
    00109830loc_109830:
    00109830cmp [rax+rsi], 10
    00109834je 0x109840
    00109836inc rsi
    00109839cmp rcx, rsi
    0010983cjne 0x109830
    0010983ejmp 0x109870
    00109840
    00109840loc_109840:
    00109840add rsi, r8
    00109843
    00109843loc_109843:
    00109843lea r15, [rsi+rbp]
    00109847inc r15
    0010984aadd rbp, rsi
    0010984dcmp rbp, rdx
    00109850jae 0x109730
    00109856mov rax, [rsp]
    0010985acmp [rax+rbp], 10
    0010985ejne 0x109730
    00109864xor r14l, r14l
    00109867mov rbp, r15
    0010986amov rbx, r15
    0010986djmp 0x109884
    0010986f
    0010986f 90 .
    00109870
    00109870loc_109870:
    00109870mov r15, rdx
    00109873
    00109873loc_109873:
    00109873mov r14b, 1
    00109876mov rbp, r15
    00109879mov r15, r13
    0010987cmov rbx, rdx
    0010987fcmp r13, rdx
    00109882je 0x1098c9
    00109884
    00109884loc_109884:
    00109884mov rax, [rsp+24]
    00109889cmp [rax], 0
    0010988cje 0x1098ab
    0010988emov edx, 4
    00109893mov rdi, [rsp+16]
    00109898lea rsi, [rip-0xcf887]
    0010989fmov rax, [rsp+8]
    001098a4call [rax+24]
    001098a7test al, al
    001098a9jne 0x1098cd
    001098ab
    001098abloc_1098ab:
    001098abmov rdx, rbx
    001098aesub rdx, r13
    001098b1mov rax, [rsp]
    001098b5lea rsi, [rax+r13]
    001098b9cmp rbx, r13
    001098bcjne 0x1096d0
    001098c2xor eax, eax
    001098c4jmp 0x1096d8
    001098c9
    001098c9loc_1098c9:
    001098c9xor eax, eax
    001098cbjmp 0x1098cf
    001098cd
    001098cdloc_1098cd:
    001098cdmov al, 1
    001098cf
    001098cfloc_1098cf:
    001098cfadd rsp, 40
    001098d3pop rbx
    001098d4pop r12
    001098d6pop r13
    001098d8pop r14
    001098dapop r15
    001098dcpop rbp
    001098ddret
    00109670