File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    00109b00
    00109b00core::fmt::Write::write_fmt:
    00109b00mov rdx, rsi
    00109b03lea rsi, [rip+0xe1226]
    00109b0ajmp 0x105110
    00109b00
    00109b0f
    00109b0f // align 0x10
    00109b10
    00109b10core::fmt::builders::DebugStruct::finish_non_exhaustive:
    00109b10push rbp
    00109b11push r14
    00109b13push rbx
    00109b14sub rsp, 48
    00109b18mov rbx, rdi
    00109b1bmov bpl, 1
    00109b1ecmp [rdi+8], 0
    00109b22jne 0x109bb0
    00109b28mov r14, [rbx]
    00109b2bcmp [rbx+9], 0
    00109b2fje 0x109b4e
    00109b31test [r14+52], 4
    00109b36jne 0x109b64
    00109b38mov rdi, [r14+32]
    00109b3cmov rax, [r14+40]
    00109b40lea rsi, [rip-0xc615b]
    00109b47mov edx, 6
    00109b4cjmp 0x109bab
    00109b4e
    00109b4eloc_109b4e:
    00109b4emov rdi, [r14+32]
    00109b52mov rax, [r14+40]
    00109b56lea rsi, [rip-0xc6178]
    00109b5dmov edx, 7
    00109b62jmp 0x109bab
    00109b64
    00109b64loc_109b64:
    00109b64mov [rsp+15], 1
    00109b69movups x0, [r14+32]
    00109b6emovaps [rsp+16], x0
    00109b73lea rax, [rsp+15]
    00109b78mov [rsp+32], rax
    00109b7dlea rsi, [rip-0xc6192]
    00109b84lea rdi, [rsp+16]
    00109b89mov edx, 3
    00109b8ecall _<core::fmt::builders::PadAdapter as core::fmt::Write>::write_str
    00109b93test al, al
    00109b95jne 0x109bb0
    00109b97mov rdi, [r14+32]
    00109b9bmov rax, [r14+40]
    00109b9flea rsi, [rip-0x7b094]
    00109ba6mov edx, 1
    00109bab
    00109babloc_109bab:
    00109babcall [rax+24]
    00109baemov ebp, eax
    00109bb0
    00109bb0loc_109bb0:
    00109bb0mov [rbx+8], bpl
    00109bb4mov eax, ebp
    00109bb6add rsp, 48
    00109bbapop rbx
    00109bbbpop r14
    00109bbdpop rbp
    00109bberet
    00109b10
    00109bbf
    00109bbf // align 0x10
    00109bc0
    00109bc0core::fmt::builders::DebugStruct::finish:
    00109bc0cmp [rdi+9], 0
    00109bc4movzx ecx, [rdi+8]
    00109bc8je 0x109c10
    00109bcapush rbx
    00109bcbmov rbx, rdi
    00109bcemov al, 1
    00109bd0test cl, cl
    00109bd2jne 0x109c0a
    00109bd4mov rax, [rbx]
    00109bd7test [rax+52], 4
    00109bdbjne 0x109bf3
    00109bddmov rdi, [rax+32]
    00109be1mov rax, [rax+40]
    00109be5lea rsi, [rip-0x7aff5]
    00109becmov edx, 2
    00109bf1jmp 0x109c07
    00109bf3
    00109bf3loc_109bf3:
    00109bf3mov rdi, [rax+32]
    00109bf7mov rax, [rax+40]
    00109bfblea rsi, [rip-0x7b0f0]
    00109c02mov edx, 1
    00109c07
    00109c07loc_109c07:
    00109c07call [rax+24]
    00109c0a
    00109c0aloc_109c0a:
    00109c0amov [rbx+8], al
    00109c0dmov ecx, eax
    00109c0fpop rbx
    00109c10
    00109c10loc_109c10:
    00109c10test cl, cl
    00109c12setne al
    00109c15ret
    00109bc0
    00109c16
    00109c16 // align 0x10
    00109c20
    00109c20core::fmt::builders::DebugTuple::field:
    00109c20push r15
    00109c22push r14
    00109c24push r13
    00109c26push r12
    00109c28push rbx
    00109c29sub rsp, 112
    00109c2dmov rbx, rdi
    00109c30cmp [rdi+16], 0
    00109c34mov r13, [rdi]
    00109c37mov al, 1
    00109c39je 0x109c55
    00109c3b
    00109c3bloc_109c3b:
    00109c3bmov [rbx+16], al
    00109c3einc r13
    00109c41mov [rbx], r13
    00109c44mov rax, rbx
    00109c47add rsp, 112
    00109c4bpop rbx
    00109c4cpop r12
    00109c4epop r13
    00109c50pop r14
    00109c52pop r15
    00109c54ret
    00109c55
    00109c55loc_109c55:
    00109c55mov r14, rdx
    00109c58mov r15, rsi
    00109c5bmov r12, [rbx+8]
    00109c5fmov eax, [r12+52]
    00109c64test al, 4
    00109c66jne 0x109ca6
    00109c68xor edx, edx
    00109c6atest r13, r13
    00109c6dlea rax, [rip-0x7a82b]
    00109c74lea rsi, [rip-0x7aa5f]
    00109c7bcmove rsi, rax
    00109c7fsetne dl
    00109c82inc rdx
    00109c85mov rdi, [r12+32]
    00109c8amov rax, [r12+40]
    00109c8fcall [rax+24]
    00109c92mov ecx, eax
    00109c94mov al, 1
    00109c96test cl, cl
    00109c98jne 0x109c3b
    00109c9amov rdi, r15
    00109c9dmov rsi, r12
    00109ca0call [r14+24]
    00109ca4jmp 0x109c3b
    00109ca6
    00109ca6loc_109ca6:
    00109ca6test r13, r13
    00109ca9jne 0x109cd5
    00109cabmov rdi, [r12+32]
    00109cb0mov rax, [r12+40]
    00109cb5lea rsi, [rip-0xc62c7]
    00109cbcmov edx, 2
    00109cc1call [rax+24]
    00109cc4mov ecx, eax
    00109cc6mov al, 1
    00109cc8test cl, cl
    00109ccajne 0x109c3b
    00109cd0mov eax, [r12+52]
    00109cd5
    00109cd5loc_109cd5:
    00109cd5mov [rsp+15], 1
    00109cdamovups x0, [r12+32]
    00109ce0movaps [rsp+80], x0
    00109ce5lea rcx, [rsp+15]
    00109ceamov [rsp+96], rcx
    00109cefmov ecx, [r12+48]
    00109cf4movzx edx, [r12+56]
    00109cfamov [rsp+68], eax
    00109cfemov [rsp+64], ecx
    00109d02mov [rsp+72], dl
    00109d06movups x0, [r12]
    00109d0bmovaps [rsp+16], x0
    00109d10movups x0, [r12+16]
    00109d16movaps [rsp+32], x0
    00109d1blea rax, [rsp+80]
    00109d20mov [rsp+48], rax
    00109d25lea rax, [rip+0xe1004]
    00109d2cmov [rsp+56], rax
    00109d31lea rsi, [rsp+16]
    00109d36mov rdi, r15
    00109d39call [r14+24]
    00109d3dtest al, al
    00109d3fje 0x109d48
    00109d41mov al, 1
    00109d43jmp 0x109c3b
    00109d48
    00109d48loc_109d48:
    00109d48mov rdi, [rsp+48]
    00109d4dmov rax, [rsp+56]
    00109d52lea rsi, [rip-0xc6376]
    00109d59mov edx, 2
    00109d5ecall [rax+24]
    00109d61jmp 0x109c3b
    00109c20
    00109d66
    00109d66 // align 0x10
    00109d70
    00109d70core::fmt::builders::DebugTuple::finish:
    00109d70mov rcx, [rdi]
    00109d73movzx eax, [rdi+16]
    00109d77test rcx, rcx
    00109d7aje 0x109de5
    00109d7cpush rbp
    00109d7dpush r14
    00109d7fpush rbx
    00109d80mov rbx, rdi
    00109d83mov bpl, 1
    00109d86test al, al
    00109d88jne 0x109ddb
    00109d8acmp rcx, 1
    00109d8ejne 0x109dbe
    00109d90cmp [rbx+17], 0
    00109d94je 0x109dbe
    00109d96mov r14, [rbx+8]
    00109d9atest [r14+52], 4
    00109d9fjne 0x109dc2
    00109da1mov rdi, [r14+32]
    00109da5mov rax, [r14+40]
    00109da9lea rsi, [rip-0x7b33e]
    00109db0mov edx, 1
    00109db5call [rax+24]
    00109db8test al, al
    00109dbaje 0x109dc2
    00109dbcjmp 0x109ddb
    00109dbe
    00109dbeloc_109dbe:
    00109dbemov r14, [rbx+8]
    00109dc2
    00109dc2loc_109dc2:
    00109dc2mov rdi, [r14+32]
    00109dc6mov rax, [r14+40]
    00109dcalea rsi, [rip-0x79d9c]
    00109dd1mov edx, 1
    00109dd6call [rax+24]
    00109dd9mov ebp, eax
    00109ddb
    00109ddbloc_109ddb:
    00109ddbmov [rbx+16], bpl
    00109ddfmov eax, ebp
    00109de1pop rbx
    00109de2pop r14
    00109de4pop rbp
    00109de5
    00109de5loc_109de5:
    00109de5test al, al
    00109de7setne al
    00109dearet
    00109d70
    00109deb
    00109deb // align 0x10
    00109df0
    00109df0core::fmt::builders::DebugSet::entry:
    00109df0push r15
    00109df2push r14
    00109df4push r12
    00109df6push rbx
    00109df7sub rsp, 104
    00109dfbmov rbx, rdi
    00109dfemov al, 1
    00109e00cmp [rdi+8], 0
    00109e04je 0x109e1c
    00109e06
    00109e06loc_109e06:
    00109e06mov [rbx+8], al
    00109e09mov [rbx+9], 1
    00109e0dmov rax, rbx
    00109e10add rsp, 104
    00109e14pop rbx
    00109e15pop r12
    00109e17pop r14
    00109e19pop r15
    00109e1bret
    00109e1c
    00109e1cloc_109e1c:
    00109e1cmov r14, rdx
    00109e1fmov r15, rsi
    00109e22mov r12, [rbx]
    00109e25mov eax, [r12+52]
    00109e2amovzx ecx, [rbx+9]
    00109e2etest al, 4
    00109e30jne 0x109e62
    00109e32test cl, cl
    00109e34je 0x109e57
    00109e36mov rdi, [r12+32]
    00109e3bmov rax, [r12+40]
    00109e40lea rsi, [rip-0x7ac2b]
    00109e47mov edx, 2
    00109e4ccall [rax+24]
    00109e4fmov ecx, eax
    00109e51mov al, 1
    00109e53test cl, cl
    00109e55jne 0x109e06
    00109e57
    00109e57loc_109e57:
    00109e57mov rdi, r15
    00109e5amov rsi, r12
    00109e5dcall r14
    00109e60jmp 0x109e06
    00109e62
    00109e62loc_109e62:
    00109e62test cl, cl
    00109e64jne 0x109e90
    00109e66mov rdi, [r12+32]
    00109e6bmov rax, [r12+40]
    00109e70lea rsi, [rip-0x7a316]
    00109e77mov edx, 1
    00109e7ccall [rax+24]
    00109e7fmov ecx, eax
    00109e81mov al, 1
    00109e83test cl, cl
    00109e85jne 0x109e06
    00109e8bmov eax, [r12+52]
    00109e90
    00109e90loc_109e90:
    00109e90mov [rsp+15], 1
    00109e95movups x0, [r12+32]
    00109e9bmovaps [rsp+80], x0
    00109ea0lea rcx, [rsp+15]
    00109ea5mov [rsp+96], rcx
    00109eaamov ecx, [r12+48]
    00109eafmovzx edx, [r12+56]
    00109eb5mov [rsp+68], eax
    00109eb9mov [rsp+64], ecx
    00109ebdmov [rsp+72], dl
    00109ec1movups x0, [r12]
    00109ec6movaps [rsp+16], x0
    00109ecbmovups x0, [r12+16]
    00109ed1movaps [rsp+32], x0
    00109ed6lea rax, [rsp+80]
    00109edbmov [rsp+48], rax
    00109ee0lea rax, [rip+0xe0e49]
    00109ee7mov [rsp+56], rax
    00109eeclea rsi, [rsp+16]
    00109ef1mov rdi, r15
    00109ef4call r14
    00109ef7test al, al
    00109ef9je 0x109f02
    00109efbmov al, 1
    00109efdjmp 0x109e06
    00109f02
    00109f02loc_109f02:
    00109f02mov rdi, [rsp+48]
    00109f07mov rax, [rsp+56]
    00109f0clea rsi, [rip-0xc6530]
    00109f13mov edx, 2
    00109f18call [rax+24]
    00109f1bjmp 0x109e06
    00109df0
    00109f20
    00109f20core::fmt::builders::DebugSet::finish:
    00109f20test sil, sil
    00109f23je 0x109f28
    00109f25mov al, 1
    00109f27ret
    00109f28
    00109f28loc_109f28:
    00109f28mov rax, [rdi+32]
    00109f2cmov rcx, [rdi+40]
    00109f30mov rcx, [rcx+24]
    00109f34lea rsi, [rip-0x7b429]
    00109f3bmov edx, 1
    00109f40mov rdi, rax
    00109f43jmp rcx
    00109f20
    00109f45
    00109f45 // align 0x10
    00109f50
    00109f50core::fmt::builders::DebugList::finish:
    00109f50test sil, sil
    00109f53je 0x109f58
    00109f55mov al, 1
    00109f57ret
    00109f58
    00109f58loc_109f58:
    00109f58mov rax, [rdi+32]
    00109f5cmov rcx, [rdi+40]
    00109f60mov rcx, [rcx+24]
    00109f64lea rsi, [rip-0x7ab31]
    00109f6bmov edx, 1
    00109f70mov rdi, rax
    00109f73jmp rcx
    00109f50
    00109f75
    00109f75 // align 0x10
    00109f80
    00109f80core::fmt::Formatter::write_fmt:
    00109f80jmp 0x105110
    00109f80
    00109f85
    00109f85 // align 0x10
    00109f90
    00109f90core::fmt::Formatter::debug_struct_field1_finish:
    00109f90push r15
    00109f92push r14
    00109f94push r13
    00109f96push r12
    00109f98push rbx
    00109f99sub rsp, 16
    00109f9dmov rbx, r9
    00109fa0mov r14, r8
    00109fa3mov r15, rcx
    00109fa6mov r12, rdi
    00109fa9mov r13, [rsp+64]
    00109faemov rdi, [rdi+32]
    00109fb2mov rax, [r12+40]
    00109fb7call [rax+24]
    00109fbamov [rsp], r12
    00109fbemov [rsp+8], al
    00109fc2mov [rsp+9], 0
    00109fc7mov rdi, rsp
    00109fcamov rsi, r15
    00109fcdmov rdx, r14
    00109fd0mov rcx, rbx
    00109fd3mov r8, r13
    00109fd6call core::fmt::builders::DebugStruct::field
    00109fdbcmp [rsp+9], 0
    00109fe0movzx eax, [rsp+8]
    00109fe5je 0x10a024
    00109fe7test al, al
    00109fe9mov al, 1
    00109febjne 0x10a024
    00109fedmov rax, [rsp]
    00109ff1test [rax+52], 4
    00109ff5jne 0x10a00d
    00109ff7mov rdi, [rax+32]
    00109ffbmov rax, [rax+40]
    00109ffflea rsi, [rip-0x7b40f]
    0010a006mov edx, 2
    0010a00bjmp 0x10a021
    0010a00d
    0010a00dloc_10a00d:
    0010a00dmov rdi, [rax+32]
    0010a011mov rax, [rax+40]
    0010a015lea rsi, [rip-0x7b50a]
    0010a01cmov edx, 1
    0010a021
    0010a021loc_10a021:
    0010a021call [rax+24]
    0010a024
    0010a024loc_10a024:
    0010a024test al, al
    0010a026setne al
    0010a029add rsp, 16
    0010a02dpop rbx
    0010a02epop r12
    0010a030pop r13
    0010a032pop r14
    0010a034pop r15
    0010a036ret
    00109f90
    0010a037
    0010a037 // align 0x10
    0010a040
    0010a040core::fmt::Formatter::debug_struct_field2_finish:
    0010a040push rbp
    0010a041push r15
    0010a043push r14
    0010a045push r13
    0010a047push r12
    0010a049push rbx
    0010a04asub rsp, 24
    0010a04emov rbx, r9
    0010a051mov r14, r8
    0010a054mov r15, rcx
    0010a057mov r12, rdi
    0010a05amov rbp, [rsp+96]
    0010a05fmov r13, [rsp+80]
    0010a064mov rdi, [rdi+32]
    0010a068mov rax, [r12+40]
    0010a06dcall [rax+24]
    0010a070mov [rsp+8], r12
    0010a075mov [rsp+16], al
    0010a079mov [rsp+17], 0
    0010a07elea r12, [rsp+8]
    0010a083mov rdi, r12
    0010a086mov rsi, r15
    0010a089mov rdx, r14
    0010a08cmov rcx, rbx
    0010a08fmov r8, r13
    0010a092call core::fmt::builders::DebugStruct::field
    0010a097mov rdi, r12
    0010a09amov rsi, [rsp+88]
    0010a09fmov rdx, rbp
    0010a0a2mov rcx, [rsp+104]
    0010a0a7mov r8, [rsp+112]
    0010a0accall core::fmt::builders::DebugStruct::field
    0010a0b1cmp [rsp+17], 0
    0010a0b6movzx eax, [rsp+16]
    0010a0bbje 0x10a0fb
    0010a0bdtest al, al
    0010a0bfmov al, 1
    0010a0c1jne 0x10a0fb
    0010a0c3mov rax, [rsp+8]
    0010a0c8test [rax+52], 4
    0010a0ccjne 0x10a0e4
    0010a0cemov rdi, [rax+32]
    0010a0d2mov rax, [rax+40]
    0010a0d6lea rsi, [rip-0x7b4e6]
    0010a0ddmov edx, 2
    0010a0e2jmp 0x10a0f8
    0010a0e4
    0010a0e4loc_10a0e4:
    0010a0e4mov rdi, [rax+32]
    0010a0e8mov rax, [rax+40]
    0010a0eclea rsi, [rip-0x7b5e1]
    0010a0f3mov edx, 1
    0010a0f8
    0010a0f8loc_10a0f8:
    0010a0f8call [rax+24]
    0010a0fb
    0010a0fbloc_10a0fb:
    0010a0fbtest al, al
    0010a0fdsetne al
    0010a100add rsp, 24
    0010a104pop rbx
    0010a105pop r12
    0010a107pop r13
    0010a109pop r14
    0010a10bpop r15
    0010a10dpop rbp
    0010a10eret
    0010a040
    0010a10f
    0010a10f // align 0x10
    0010a110
    0010a110core::fmt::Formatter::debug_struct_field3_finish:
    0010a110push rbp
    0010a111push r15
    0010a113push r14
    0010a115push r13
    0010a117push r12
    0010a119push rbx
    0010a11asub rsp, 24
    0010a11emov r13, r9
    0010a121mov rbp, r8
    0010a124mov rbx, rcx
    0010a127mov r14, rdi
    0010a12amov r12, [rsp+96]
    0010a12fmov r15, [rsp+80]
    0010a134mov rdi, [rdi+32]
    0010a138mov rax, [r14+40]
    0010a13ccall [rax+24]
    0010a13fmov [rsp+8], r14
    0010a144mov [rsp+16], al
    0010a148mov [rsp+17], 0
    0010a14dlea r14, [rsp+8]
    0010a152mov rdi, r14
    0010a155mov rsi, rbx
    0010a158mov rdx, rbp
    0010a15bmov rcx, r13
    0010a15emov r8, r15
    0010a161call core::fmt::builders::DebugStruct::field
    0010a166mov rdi, r14
    0010a169mov rsi, [rsp+88]
    0010a16emov rdx, r12
    0010a171mov rcx, [rsp+104]
    0010a176mov r8, [rsp+112]
    0010a17bcall core::fmt::builders::DebugStruct::field
    0010a180mov rdi, r14
    0010a183mov rsi, [rsp+120]
    0010a188mov rdx, [rsp+128]
    0010a190mov rcx, [rsp+136]
    0010a198mov r8, [rsp+144]
    0010a1a0call core::fmt::builders::DebugStruct::field
    0010a1a5cmp [rsp+17], 0
    0010a1aamovzx eax, [rsp+16]
    0010a1afje 0x10a1ef
    0010a1b1test al, al
    0010a1b3mov al, 1
    0010a1b5jne 0x10a1ef
    0010a1b7mov rax, [rsp+8]
    0010a1bctest [rax+52], 4
    0010a1c0jne 0x10a1d8
    0010a1c2mov rdi, [rax+32]
    0010a1c6mov rax, [rax+40]
    0010a1calea rsi, [rip-0x7b5da]
    0010a1d1mov edx, 2
    0010a1d6jmp 0x10a1ec
    0010a1d8
    0010a1d8loc_10a1d8:
    0010a1d8mov rdi, [rax+32]
    0010a1dcmov rax, [rax+40]
    0010a1e0lea rsi, [rip-0x7b6d5]
    0010a1e7mov edx, 1
    0010a1ec
    0010a1ecloc_10a1ec:
    0010a1eccall [rax+24]
    0010a1ef
    0010a1efloc_10a1ef:
    0010a1eftest al, al
    0010a1f1setne al
    0010a1f4add rsp, 24
    0010a1f8pop rbx
    0010a1f9pop r12
    0010a1fbpop r13
    0010a1fdpop r14
    0010a1ffpop r15
    0010a201pop rbp
    0010a202ret
    0010a110
    0010a203
    0010a203 // align 0x10
    0010a210
    0010a210core::fmt::Formatter::debug_struct_field4_finish:
    0010a210push rbp
    0010a211push r15
    0010a213push r14
    0010a215push r13
    0010a217push r12
    0010a219push rbx
    0010a21asub rsp, 24
    0010a21emov r15, r9
    0010a221mov r12, r8
    0010a224mov rbx, rcx
    0010a227mov r14, rdi
    0010a22amov rbp, [rsp+96]
    0010a22fmov r13, [rsp+80]
    0010a234mov rdi, [rdi+32]
    0010a238mov rax, [r14+40]
    0010a23ccall [rax+24]
    0010a23fmov [rsp+8], r14
    0010a244mov [rsp+16], al
    0010a248mov [rsp+17], 0
    0010a24dlea r14, [rsp+8]
    0010a252mov rdi, r14
    0010a255mov rsi, rbx
    0010a258mov rdx, r12
    0010a25bmov rcx, r15
    0010a25emov r8, r13
    0010a261call core::fmt::builders::DebugStruct::field
    0010a266mov rdi, r14
    0010a269mov rsi, [rsp+88]
    0010a26emov rdx, rbp
    0010a271mov rcx, [rsp+104]
    0010a276mov r8, [rsp+112]
    0010a27bcall core::fmt::builders::DebugStruct::field
    0010a280mov rdi, r14
    0010a283mov rsi, [rsp+120]
    0010a288mov rdx, [rsp+128]
    0010a290mov rcx, [rsp+136]
    0010a298mov r8, [rsp+144]
    0010a2a0call core::fmt::builders::DebugStruct::field
    0010a2a5mov rdi, r14
    0010a2a8mov rsi, [rsp+152]
    0010a2b0mov rdx, [rsp+160]
    0010a2b8mov rcx, [rsp+168]
    0010a2c0mov r8, [rsp+176]
    0010a2c8call core::fmt::builders::DebugStruct::field
    0010a2cdcmp [rsp+17], 0
    0010a2d2movzx eax, [rsp+16]
    0010a2d7je 0x10a317
    0010a2d9test al, al
    0010a2dbmov al, 1
    0010a2ddjne 0x10a317
    0010a2dfmov rax, [rsp+8]
    0010a2e4test [rax+52], 4
    0010a2e8jne 0x10a300
    0010a2eamov rdi, [rax+32]
    0010a2eemov rax, [rax+40]
    0010a2f2lea rsi, [rip-0x7b702]
    0010a2f9mov edx, 2
    0010a2fejmp 0x10a314
    0010a300
    0010a300loc_10a300:
    0010a300mov rdi, [rax+32]
    0010a304mov rax, [rax+40]
    0010a308lea rsi, [rip-0x7b7fd]
    0010a30fmov edx, 1
    0010a314
    0010a314loc_10a314:
    0010a314call [rax+24]
    0010a317
    0010a317loc_10a317:
    0010a317test al, al
    0010a319setne al
    0010a31cadd rsp, 24
    0010a320pop rbx
    0010a321pop r12
    0010a323pop r13
    0010a325pop r14
    0010a327pop r15
    0010a329pop rbp
    0010a32aret
    0010a210
    0010a32b
    0010a32b // align 0x10
    0010a330
    0010a330core::fmt::Formatter::debug_struct_field5_finish:
    0010a330push rbp
    0010a331push r15
    0010a333push r14
    0010a335push r13
    0010a337push r12
    0010a339push rbx
    0010a33asub rsp, 24
    0010a33emov r15, r9
    0010a341mov rbp, r8
    0010a344mov rbx, rcx
    0010a347mov r14, rdi
    0010a34amov r12, [rsp+80]
    0010a34fmov r13, [rsp+88]
    0010a354mov rdi, [rdi+32]
    0010a358mov rax, [r14+40]
    0010a35ccall [rax+24]
    0010a35fmov [rsp+8], r14
    0010a364mov [rsp+16], al
    0010a368mov [rsp+17], 0
    0010a36dlea r14, [rsp+8]
    0010a372mov edx, 4
    0010a377mov rdi, r14
    0010a37amov rsi, rbx
    0010a37dmov rcx, rbp
    0010a380mov r8, r15
    0010a383call core::fmt::builders::DebugStruct::field
    0010a388mov rdi, r14
    0010a38bmov rsi, r12
    0010a38emov rdx, r13
    0010a391mov rcx, [rsp+96]
    0010a396mov r8, [rsp+104]
    0010a39bcall core::fmt::builders::DebugStruct::field
    0010a3a0mov rdi, r14
    0010a3a3mov rsi, [rsp+112]
    0010a3a8mov rdx, [rsp+120]
    0010a3admov rcx, [rsp+128]
    0010a3b5mov r8, [rsp+136]
    0010a3bdcall core::fmt::builders::DebugStruct::field
    0010a3c2mov rdi, r14
    0010a3c5mov rsi, [rsp+144]
    0010a3cdmov rdx, [rsp+152]
    0010a3d5mov rcx, [rsp+160]
    0010a3ddmov r8, [rsp+168]
    0010a3e5call core::fmt::builders::DebugStruct::field
    0010a3eamov rdi, r14
    0010a3edmov rsi, [rsp+176]
    0010a3f5mov rdx, [rsp+184]
    0010a3fdmov rcx, [rsp+192]
    0010a405mov r8, [rsp+200]
    0010a40dcall core::fmt::builders::DebugStruct::field
    0010a412cmp [rsp+17], 0
    0010a417movzx eax, [rsp+16]
    0010a41cje 0x10a45c
    0010a41etest al, al
    0010a420mov al, 1
    0010a422jne 0x10a45c
    0010a424mov rax, [rsp+8]
    0010a429test [rax+52], 4
    0010a42djne 0x10a445
    0010a42fmov rdi, [rax+32]
    0010a433mov rax, [rax+40]
    0010a437lea rsi, [rip-0x7b847]
    0010a43emov edx, 2
    0010a443jmp 0x10a459
    0010a445
    0010a445loc_10a445:
    0010a445mov rdi, [rax+32]
    0010a449mov rax, [rax+40]
    0010a44dlea rsi, [rip-0x7b942]
    0010a454mov edx, 1
    0010a459
    0010a459loc_10a459:
    0010a459call [rax+24]
    0010a45c
    0010a45cloc_10a45c:
    0010a45ctest al, al
    0010a45esetne al
    0010a461add rsp, 24
    0010a465pop rbx
    0010a466pop r12
    0010a468pop r13
    0010a46apop r14
    0010a46cpop r15
    0010a46epop rbp
    0010a46fret
    0010a330
    0010a470
    0010a470core::fmt::Formatter::debug_struct_fields_finish:
    0010a470push r15
    0010a472push r14
    0010a474push r13
    0010a476push r12
    0010a478push rbx
    0010a479sub rsp, 64
    0010a47dmov rax, [rsp+112]
    0010a482mov [rsp], r8
    0010a486mov [rsp+8], rax
    0010a48bcmp r8, rax
    0010a48ejne 0x10a54f
    0010a494mov rbx, r9
    0010a497mov r14, r8
    0010a49amov r15, rcx
    0010a49dmov r12, rdi
    0010a4a0mov rdi, [rdi+32]
    0010a4a4mov rax, [r12+40]
    0010a4a9call [rax+24]
    0010a4acmov [rsp+16], r12
    0010a4b1mov [rsp+24], al
    0010a4b5mov [rsp+25], 0
    0010a4baadd r15, 8
    0010a4belea r12, [rip+0xe0953]
    0010a4c5lea r13, [rsp+16]
    0010a4canop [rax+rax]
    0010a4d0
    0010a4d0loc_10a4d0:
    0010a4d0mov rsi, [r15-8]
    0010a4d4mov rdx, [r15]
    0010a4d7mov rdi, r13
    0010a4damov rcx, rbx
    0010a4ddmov r8, r12
    0010a4e0call core::fmt::builders::DebugStruct::field
    0010a4e5add r15, 16
    0010a4e9add rbx, 16
    0010a4eddec r14
    0010a4f0jne 0x10a4d0
    0010a4f2movzx eax, [rsp+24]
    0010a4f7cmp [rsp+25], 0
    0010a4fcje 0x10a53c
    0010a4fetest al, al
    0010a500mov al, 1
    0010a502jne 0x10a53c
    0010a504mov rax, [rsp+16]
    0010a509test [rax+52], 4
    0010a50djne 0x10a525
    0010a50fmov rdi, [rax+32]
    0010a513mov rax, [rax+40]
    0010a517lea rsi, [rip-0x7b927]
    0010a51emov edx, 2
    0010a523jmp 0x10a539
    0010a525
    0010a525loc_10a525:
    0010a525mov rdi, [rax+32]
    0010a529mov rax, [rax+40]
    0010a52dlea rsi, [rip-0x7ba22]
    0010a534mov edx, 1
    0010a539
    0010a539loc_10a539:
    0010a539call [rax+24]
    0010a53c
    0010a53cloc_10a53c:
    0010a53ctest al, al
    0010a53esetne al
    0010a541add rsp, 64
    0010a545pop rbx
    0010a546pop r12
    0010a548pop r13
    0010a54apop r14
    0010a54cpop r15
    0010a54eret
    0010a54f
    0010a54floc_10a54f:
    0010a54fmov [rsp+16], 0
    0010a558mov rdi, rsp
    0010a55blea rsi, [rsp+8]
    0010a560lea rdx, [rsp+16]
    0010a565call core::panicking::assert_failed
    0010a56aud2
    0010a470