File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    001098de
    001098de // align 0x10
    001098e0
    001098e0_<core::fmt::builders::PadAdapter as core::fmt::Write>::write_char:
    001098e0push r15
    001098e2push r14
    001098e4push r12
    001098e6push rbx
    001098e7push rax
    001098e8mov ebx, esi
    001098eamov r15, [rdi+16]
    001098eecmp [r15], 0
    001098f2mov r14, [rdi]
    001098f5mov r12, [rdi+8]
    001098f9je 0x109921
    001098fblea rsi, [rip-0xcf8ea]
    00109902mov edx, 4
    00109907mov rdi, r14
    0010990acall [r12+24]
    0010990ftest al, al
    00109911je 0x109921
    00109913mov al, 1
    00109915add rsp, 8
    00109919pop rbx
    0010991apop r12
    0010991cpop r14
    0010991epop r15
    00109920ret
    00109921
    00109921loc_109921:
    00109921cmp ebx, 10
    00109924sete [r15]
    00109928mov rax, [r12+32]
    0010992dmov rdi, r14
    00109930mov esi, ebx
    00109932add rsp, 8
    00109936pop rbx
    00109937pop r12
    00109939pop r14
    0010993bpop r15
    0010993djmp rax
    001098e0
    0010993f
    0010993f // align 0x10
    00109940
    00109940core::fmt::builders::DebugStruct::field:
    00109940push rbp
    00109941push r15
    00109943push r14
    00109945push r13
    00109947push r12
    00109949push rbx
    0010994asub rsp, 120
    0010994emov rbx, rdi
    00109951mov r14b, 1
    00109954cmp [rdi+8], 0
    00109958je 0x109974
    0010995a
    0010995aloc_10995a:
    0010995amov [rbx+8], r14b
    0010995emov [rbx+9], 1
    00109962mov rax, rbx
    00109965add rsp, 120
    00109969pop rbx
    0010996apop r12
    0010996cpop r13
    0010996epop r14
    00109970pop r15
    00109972pop rbp
    00109973ret
    00109974
    00109974loc_109974:
    00109974mov r15, rcx
    00109977mov r13, rdx
    0010997amov rbp, rsi
    0010997dmov r12, [rbx]
    00109980mov eax, [r12+52]
    00109985movzx ecx, [rbx+9]
    00109989test al, 4
    0010998bmov [rsp+8], r8
    00109990jne 0x109a11
    00109992xor edx, edx
    00109994test cl, cl
    00109996lea rax, [rip-0x7ada9]
    0010999dlea rsi, [rip-0x7a788]
    001099a4cmove rsi, rax
    001099a8sete dl
    001099abor rdx, 2
    001099afmov rdi, [r12+32]
    001099b4mov rax, [r12+40]
    001099b9call [rax+24]
    001099bcmov r14b, 1
    001099bftest al, al
    001099c1jne 0x10995a
    001099c3mov rdi, [r12+32]
    001099c8mov rax, [r12+40]
    001099cdmov rsi, rbp
    001099d0mov rdx, r13
    001099d3call [rax+24]
    001099d6test al, al
    001099d8jne 0x10995a
    001099damov rdi, [r12+32]
    001099dfmov rax, [r12+40]
    001099e4lea rsi, [rip-0x79922]
    001099ebmov edx, 2
    001099f0call [rax+24]
    001099f3test al, al
    001099f5jne 0x10995a
    001099fbmov rdi, r15
    001099femov rsi, r12
    00109a01mov rax, [rsp+8]
    00109a06call [rax+24]
    00109a09mov r14l, eax
    00109a0cjmp 0x10995a
    00109a11
    00109a11loc_109a11:
    00109a11test cl, cl
    00109a13jne 0x109a3e
    00109a15mov rdi, [r12+32]
    00109a1amov rax, [r12+40]
    00109a1flea rsi, [rip-0xc6046]
    00109a26mov edx, 3
    00109a2bcall [rax+24]
    00109a2emov r14b, 1
    00109a31test al, al
    00109a33jne 0x10995a
    00109a39mov eax, [r12+52]
    00109a3e
    00109a3eloc_109a3e:
    00109a3emov [rsp+7], 1
    00109a43movups x0, [r12+32]
    00109a49movaps [rsp+16], x0
    00109a4elea rcx, [rsp+7]
    00109a53mov [rsp+32], rcx
    00109a58mov ecx, [r12+48]
    00109a5dmovzx edx, [r12+56]
    00109a63mov [rsp+100], eax
    00109a67mov [rsp+96], ecx
    00109a6bmov [rsp+104], dl
    00109a6fmovups x0, [r12]
    00109a74movaps [rsp+48], x0
    00109a79movups x0, [r12+16]
    00109a7fmovaps [rsp+64], x0
    00109a84lea rdi, [rsp+16]
    00109a89mov [rsp+80], rdi
    00109a8elea rax, [rip+0xe129b]
    00109a95mov [rsp+88], rax
    00109a9amov rsi, rbp
    00109a9dmov rdx, r13
    00109aa0call _<core::fmt::builders::PadAdapter as core::fmt::Write>::write_str
    00109aa5test al, al
    00109aa7jne 0x109ad7
    00109aa9lea rsi, [rip-0x799e7]
    00109ab0lea rdi, [rsp+16]
    00109ab5mov edx, 2
    00109abacall _<core::fmt::builders::PadAdapter as core::fmt::Write>::write_str
    00109abftest al, al
    00109ac1jne 0x109ad7
    00109ac3lea rsi, [rsp+48]
    00109ac8mov rdi, r15
    00109acbmov rax, [rsp+8]
    00109ad0call [rax+24]
    00109ad3test al, al
    00109ad5je 0x109adf
    00109ad7
    00109ad7loc_109ad7:
    00109ad7mov r14b, 1
    00109adajmp 0x10995a
    00109adf
    00109adfloc_109adf:
    00109adfmov rdi, [rsp+80]
    00109ae4mov rax, [rsp+88]
    00109ae9lea rsi, [rip-0xc610d]
    00109af0mov edx, 2
    00109af5call [rax+24]
    00109af8mov r14l, eax
    00109afbjmp 0x10995a
    00109940