File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    0010a56c
    0010a56c // align 0x10
    0010a570
    0010a570core::panicking::assert_failed:
    0010a570sub rsp, 24
    0010a574mov r9, rdx
    0010a577mov [rsp+8], rdi
    0010a57cmov [rsp+16], rsi
    0010a581lea rax, [rip+0xe0878]
    0010a588mov [rsp], rax
    0010a58clea rdx, [rip+0xe070d]
    0010a593lea rsi, [rsp+8]
    0010a598lea rcx, [rsp+16]
    0010a59dxor edi, edi
    0010a59fmov r8, rdx
    0010a5a2call core::panicking::assert_failed_inner
    0010a5a7ud2
    0010a570
    0010a5a9
    0010a5a9 // align 0x10
    0010a5b0
    0010a5b0core::fmt::Formatter::debug_tuple_field1_finish:
    0010a5b0push r15
    0010a5b2push r14
    0010a5b4push rbx
    0010a5b5sub rsp, 32
    0010a5b9mov rbx, r8
    0010a5bcmov r14, rcx
    0010a5bfmov r15, rdi
    0010a5c2mov rdi, [rdi+32]
    0010a5c6mov rax, [r15+40]
    0010a5cacall [rax+24]
    0010a5cdmov [rsp+16], r15
    0010a5d2mov [rsp+24], al
    0010a5d6mov [rsp+8], 0
    0010a5dfmov [rsp+25], 0
    0010a5e4lea rdi, [rsp+8]
    0010a5e9mov rsi, r14
    0010a5ecmov rdx, rbx
    0010a5efcall core::fmt::builders::DebugTuple::field
    0010a5f4mov rax, [rsp+8]
    0010a5f9movzx ecx, [rsp+24]
    0010a5fetest rax, rax
    0010a601je 0x10a658
    0010a603mov bl, 1
    0010a605test cl, cl
    0010a607jne 0x10a65a
    0010a609mov r14, [rsp+16]
    0010a60ecmp rax, 1
    0010a612jne 0x10a63d
    0010a614cmp [rsp+25], 0
    0010a619je 0x10a63d
    0010a61btest [r14+52], 4
    0010a620jne 0x10a63d
    0010a622mov rdi, [r14+32]
    0010a626mov rax, [r14+40]
    0010a62alea rsi, [rip-0x7bbbf]
    0010a631mov edx, 1
    0010a636call [rax+24]
    0010a639test al, al
    0010a63bjne 0x10a65a
    0010a63d
    0010a63dloc_10a63d:
    0010a63dmov rdi, [r14+32]
    0010a641mov rax, [r14+40]
    0010a645lea rsi, [rip-0x7a617]
    0010a64cmov edx, 1
    0010a651call [rax+24]
    0010a654mov ebx, eax
    0010a656jmp 0x10a65a
    0010a658
    0010a658loc_10a658:
    0010a658mov ebx, ecx
    0010a65a
    0010a65aloc_10a65a:
    0010a65atest bl, bl
    0010a65csetne al
    0010a65fadd rsp, 32
    0010a663pop rbx
    0010a664pop r14
    0010a666pop r15
    0010a668ret
    0010a5b0
    0010a669
    0010a669 // align 0x10
    0010a670
    0010a670core::fmt::Formatter::debug_tuple_field2_finish:
    0010a670push r15
    0010a672push r14
    0010a674push r13
    0010a676push r12
    0010a678push rbx
    0010a679sub rsp, 32
    0010a67dmov rbx, r9
    0010a680mov r14, r8
    0010a683mov r15, rcx
    0010a686mov r12, rdi
    0010a689mov r13, [rsp+80]
    0010a68emov rdi, [rdi+32]
    0010a692mov rax, [r12+40]
    0010a697call [rax+24]
    0010a69amov [rsp+16], r12
    0010a69fmov [rsp+24], al
    0010a6a3mov [rsp+8], 0
    0010a6acmov [rsp+25], 0
    0010a6b1lea r12, [rsp+8]
    0010a6b6mov rdi, r12
    0010a6b9mov rsi, r15
    0010a6bcmov rdx, r14
    0010a6bfcall core::fmt::builders::DebugTuple::field
    0010a6c4mov rdi, r12
    0010a6c7mov rsi, rbx
    0010a6camov rdx, r13
    0010a6cdcall core::fmt::builders::DebugTuple::field
    0010a6d2mov rax, [rsp+8]
    0010a6d7movzx ecx, [rsp+24]
    0010a6dctest rax, rax
    0010a6dfje 0x10a736
    0010a6e1mov bl, 1
    0010a6e3test cl, cl
    0010a6e5jne 0x10a738
    0010a6e7mov r14, [rsp+16]
    0010a6eccmp rax, 1
    0010a6f0jne 0x10a71b
    0010a6f2cmp [rsp+25], 0
    0010a6f7je 0x10a71b
    0010a6f9test [r14+52], 4
    0010a6fejne 0x10a71b
    0010a700mov rdi, [r14+32]
    0010a704mov rax, [r14+40]
    0010a708lea rsi, [rip-0x7bc9d]
    0010a70fmov edx, 1
    0010a714call [rax+24]
    0010a717test al, al
    0010a719jne 0x10a738
    0010a71b
    0010a71bloc_10a71b:
    0010a71bmov rdi, [r14+32]
    0010a71fmov rax, [r14+40]
    0010a723lea rsi, [rip-0x7a6f5]
    0010a72amov edx, 1
    0010a72fcall [rax+24]
    0010a732mov ebx, eax
    0010a734jmp 0x10a738
    0010a736
    0010a736loc_10a736:
    0010a736mov ebx, ecx
    0010a738
    0010a738loc_10a738:
    0010a738test bl, bl
    0010a73asetne al
    0010a73dadd rsp, 32
    0010a741pop rbx
    0010a742pop r12
    0010a744pop r13
    0010a746pop r14
    0010a748pop r15
    0010a74aret
    0010a670
    0010a74b
    0010a74b // align 0x10
    0010a750
    0010a750_<bool as core::fmt::Display>::fmt:
    0010a750mov rax, rsi
    0010a753test dil, dil
    0010a756je 0x10a76c
    0010a758lea rsi, [rip-0xcd7b3]
    0010a75fmov edx, 4
    0010a764mov rdi, rax
    0010a767jmp 0x104b90
    0010a76c
    0010a76cloc_10a76c:
    0010a76clea rsi, [rip-0x7bb84]
    0010a773mov edx, 5
    0010a778mov rdi, rax
    0010a77bjmp 0x104b90
    0010a750
    0010a780
    0010a780_<str as core::fmt::Debug>::fmt:
    0010a780push rbp
    0010a781push r15
    0010a783push r14
    0010a785push r13
    0010a787push r12
    0010a789push rbx
    0010a78asub rsp, 88
    0010a78emov r13, rcx
    0010a791mov rbx, rdx
    0010a794mov r15, rsi
    0010a797mov r14, rdi
    0010a79amov rax, [rcx+32]
    0010a79emov rdi, rdx
    0010a7a1mov esi, 34
    0010a7a6mov r12, rax
    0010a7a9call rax
    0010a7abtest al, al
    0010a7adje 0x10a7c0
    0010a7af
    0010a7afloc_10a7af:
    0010a7afmov al, 1
    0010a7b1add rsp, 88
    0010a7b5pop rbx
    0010a7b6pop r12
    0010a7b8pop r13
    0010a7bapop r14
    0010a7bcpop r15
    0010a7bepop rbp
    0010a7bfret
    0010a7c0
    0010a7c0loc_10a7c0:
    0010a7c0test r15, r15
    0010a7c3je 0x10aa29
    0010a7c9mov [rsp+48], r13
    0010a7cemov [rsp+24], r15
    0010a7d3lea rax, [r14+r15]
    0010a7d7mov [rsp+80], rax
    0010a7dcxor r15l, r15l
    0010a7dfmov rcx, r14
    0010a7e2xor r13l, r13l
    0010a7e5mov [rsp+72], r14
    0010a7eajmp 0x10a813
    0010a7ecnop [rax]
    0010a7f0
    0010a7f0loc_10a7f0:
    0010a7f0add r15, r13
    0010a7f3mov r14, [rsp+72]
    0010a7f8
    0010a7f8loc_10a7f8:
    0010a7f8mov rax, [rsp+40]
    0010a7fdsub r13, rax
    0010a800mov rcx, [rsp+32]
    0010a805add r13, rcx
    0010a808cmp rcx, [rsp+80]
    0010a80dje 0x10aa5e
    0010a813
    0010a813loc_10a813:
    0010a813movzx ebp, [rcx]
    0010a816test bpl, bpl
    0010a819mov [rsp+40], rcx
    0010a81ejs 0x10a830
    0010a820lea rax, [rcx+1]
    0010a824
    0010a824loc_10a824:
    0010a824mov [rsp+32], rax
    0010a829jmp 0x10a8a0
    0010a82bnop [rax+rax]
    0010a830
    0010a830loc_10a830:
    0010a830mov eax, ebp
    0010a832and eax, 31
    0010a835movzx edx, [rcx+1]
    0010a839and edx, 63
    0010a83ccmp bpl, -33
    0010a840jbe 0x10a882
    0010a842lea rsi, [rcx+3]
    0010a846movzx ecx, [rcx+2]
    0010a84ashl edx, 6
    0010a84dand ecx, 63
    0010a850or ecx, edx
    0010a852cmp bpl, -16
    0010a856jb 0x10a894
    0010a858movzx ebp, [rsi]
    0010a85band eax, 7
    0010a85eshl eax, 18
    0010a861shl ecx, 6
    0010a864and ebp, 63
    0010a867or ebp, ecx
    0010a869or ebp, eax
    0010a86bcmp ebp, 0x110000
    0010a871je 0x10aa5e
    0010a877mov rax, [rsp+40]
    0010a87cadd rax, 4
    0010a880jmp 0x10a824
    0010a882
    0010a882loc_10a882:
    0010a882add rcx, 2
    0010a886mov [rsp+32], rcx
    0010a88bshl eax, 6
    0010a88eor eax, edx
    0010a890mov ebp, eax
    0010a892jmp 0x10a8a0
    0010a894
    0010a894loc_10a894:
    0010a894mov [rsp+32], rsi
    0010a899shl eax, 12
    0010a89cor ecx, eax
    0010a89emov ebp, ecx
    0010a8a0
    0010a8a0loc_10a8a0:
    0010a8a0lea rdi, [rsp+60]
    0010a8a5mov esi, ebp
    0010a8a7mov edx, 0x10001
    0010a8accall core::char::methods::_<impl char>::escape_debug_ext
    0010a8b1cmp [rsp+60], -128
    0010a8b6je 0x10a7f8
    0010a8bcmovzx eax, [rsp+71]
    0010a8c1sub al, [rsp+70]
    0010a8c5cmp al, 1
    0010a8c7je 0x10a7f8
    0010a8cdmov rdx, r13
    0010a8d0sub rdx, r15
    0010a8d3jb 0x10aab0
    0010a8d9test r15, r15
    0010a8dcje 0x10a8f7
    0010a8decmp r15, [rsp+24]
    0010a8e3jae 0x10a8f1
    0010a8e5cmp [r14+r15], -64
    0010a8eajge 0x10a8f7
    0010a8ecjmp 0x10aab0
    0010a8f1
    0010a8f1loc_10a8f1:
    0010a8f1jne 0x10aab0
    0010a8f7
    0010a8f7loc_10a8f7:
    0010a8f7test r13, r13
    0010a8faje 0x10a915
    0010a8fccmp r13, [rsp+24]
    0010a901jae 0x10a90f
    0010a903cmp [r14+r13], -65
    0010a908jg 0x10a915
    0010a90ajmp 0x10aab0
    0010a90f
    0010a90floc_10a90f:
    0010a90fjne 0x10aab0
    0010a915
    0010a915loc_10a915:
    0010a915add r15, r14
    0010a918mov rdi, rbx
    0010a91bmov rsi, r15
    0010a91emov rax, [rsp+48]
    0010a923call [rax+24]
    0010a926test al, al
    0010a928jne 0x10a7af
    0010a92emov eax, [rsp+68]
    0010a932mov [rsp+16], eax
    0010a936mov rax, [rsp+60]
    0010a93bmov [rsp+8], rax
    0010a940cmp al, -128
    0010a942jne 0x10a9b0
    0010a944mov r14b, 128
    0010a947jmp 0x10a976
    0010a949nop [rax]
    0010a950
    0010a950loc_10a950:
    0010a950mov esi, [rsp+12]
    0010a954mov [rsp+16], 0
    0010a95cmov [rsp+8], 0
    0010a965xor r14l, r14l
    0010a968
    0010a968loc_10a968:
    0010a968mov rdi, rbx
    0010a96bcall r12
    0010a96etest al, al
    0010a970jne 0x10a7af
    0010a976
    0010a976loc_10a976:
    0010a976cmp r14b, -128
    0010a97aje 0x10a950
    0010a97cmovzx r15l, [rsp+18]
    0010a982cmp r15b, [rsp+19]
    0010a987jae 0x10a9f0
    0010a989lea eax, [r15+1]
    0010a98dmov [rsp+18], al
    0010a991cmp r15b, 10
    0010a995jae 0x10aa9a
    0010a99bmovzx esi, [rsp+r15+8]
    0010a9a1jmp 0x10a968
    0010a9a3nop [rax+rax]
    0010a9b0
    0010a9b0loc_10a9b0:
    0010a9b0movzx r14l, [rsp+19]
    0010a9b6movzx r15l, [rsp+18]
    0010a9bcnop [rax]
    0010a9c0
    0010a9c0loc_10a9c0:
    0010a9c0cmp r15, r14
    0010a9c3jae 0x10a9f0
    0010a9c5lea eax, [r15+1]
    0010a9c9mov [rsp+18], al
    0010a9cdcmp r15, 9
    0010a9d1ja 0x10aa9a
    0010a9d7movzx esi, [rsp+r15+8]
    0010a9ddmov rdi, rbx
    0010a9e0call r12
    0010a9e3inc r15
    0010a9e6test al, al
    0010a9e8je 0x10a9c0
    0010a9eajmp 0x10a7af
    0010a9efnop
    0010a9f0
    0010a9f0loc_10a9f0:
    0010a9f0mov r15l, 1
    0010a9f6cmp ebp, 128
    0010a9fcjb 0x10a7f0
    0010aa02mov r15l, 2
    0010aa08cmp ebp, 2048
    0010aa0ejb 0x10a7f0
    0010aa14cmp ebp, 0x10000
    0010aa1amov r15l, 4
    0010aa20sbb r15, 0
    0010aa24jmp 0x10a7f0
    0010aa29
    0010aa29loc_10aa29:
    0010aa29xor r15l, r15l
    0010aa2cxor edx, edx
    0010aa2e
    0010aa2eloc_10aa2e:
    0010aa2eadd r14, r15
    0010aa31mov rdi, rbx
    0010aa34mov rsi, r14
    0010aa37call [r13+24]
    0010aa3btest al, al
    0010aa3djne 0x10a7af
    0010aa43mov rdi, rbx
    0010aa46mov esi, 34
    0010aa4bmov rax, r12
    0010aa4eadd rsp, 88
    0010aa52pop rbx
    0010aa53pop r12
    0010aa55pop r13
    0010aa57pop r14
    0010aa59pop r15
    0010aa5bpop rbp
    0010aa5cjmp rax
    0010aa5e
    0010aa5eloc_10aa5e:
    0010aa5etest r15, r15
    0010aa61je 0x10aa81
    0010aa63mov rcx, [rsp+24]
    0010aa68mov rax, rcx
    0010aa6bsub rax, r15
    0010aa6emov r13, [rsp+48]
    0010aa73jbe 0x10aa90
    0010aa75cmp [r14+r15], -65
    0010aa7ajle 0x10aacc
    0010aa7cmov rdx, rax
    0010aa7fjmp 0x10aa2e
    0010aa81
    0010aa81loc_10aa81:
    0010aa81xor r15l, r15l
    0010aa84mov rdx, [rsp+24]
    0010aa89mov r13, [rsp+48]
    0010aa8ejmp 0x10aa2e
    0010aa90
    0010aa90loc_10aa90:
    0010aa90jne 0x10aacc
    0010aa92mov r15, rcx
    0010aa95mov rdx, rax
    0010aa98jmp 0x10aa2e
    0010aa9a
    0010aa9aloc_10aa9a:
    0010aa9alea rdx, [rip+0xe072f]
    0010aaa1mov esi, 10
    0010aaa6mov rdi, r15
    0010aaa9call core::panicking::panic_bounds_check
    0010aaaeud2
    0010aab0
    0010aab0loc_10aab0:
    0010aab0lea r8, [rip+0xe0399]
    0010aab7mov rdi, r14
    0010aabamov rsi, [rsp+24]
    0010aabfmov rdx, r15
    0010aac2mov rcx, r13
    0010aac5call core::str::slice_error_fail
    0010aacaud2
    0010aacc
    0010aaccloc_10aacc:
    0010aacclea r8, [rip+0xe0365]
    0010aad3mov rdi, r14
    0010aad6mov rsi, rcx
    0010aad9mov rdx, r15
    0010aadccall core::str::slice_error_fail
    0010aae1ud2
    0010a780
    0010aae3
    0010aae3 // align 0x10
    0010aaf0
    0010aaf0core::char::methods::_<impl char>::escape_debug_ext:
    0010aaf0push rbp
    0010aaf1push rbx
    0010aaf2sub rsp, 24
    0010aaf6mov ebp, esi
    0010aaf8mov rbx, rdi
    0010aafbcmp esi, 39
    0010aafeja 0x10ab1c
    0010ab00mov eax, ebp
    0010ab02lea rcx, [rip-0xcd3e9]
    0010ab09movsxd rax, [rcx+4*rax]
    0010ab0dadd rax, rcx
    0010ab10jmp rax
    0010ab12mov [rbx], 12380
    0010ab17jmp 0x10ac3d
    0010ab1c
    0010ab1cloc_10ab1c:
    0010ab1ccmp ebp, 92
    0010ab1fjne 0x10ab67
    0010ab21mov [rbx], 23644
    0010ab26jmp 0x10ac3d
    0010ab2bmov [rbx], 29788
    0010ab30jmp 0x10ac3d
    0010ab35mov [rbx], 28252
    0010ab3ajmp 0x10ac3d
    0010ab3fmov [rbx], 29276
    0010ab44jmp 0x10ac3d
    0010ab49test edx, 0x10000
    0010ab4fje 0x10ab67
    0010ab51mov [rbx], 8796
    0010ab56jmp 0x10ac3d
    0010ab5btest edx, 256
    0010ab61jne 0x10ac38
    0010ab67
    0010ab67loc_10ab67:
    0010ab67test dl, 1
    0010ab6aje 0x10ab77
    0010ab6cmov edi, ebp
    0010ab6ecall core::unicode::unicode_data::grapheme_extend::lookup
    0010ab73test al, al
    0010ab75jne 0x10ab8d
    0010ab77
    0010ab77loc_10ab77:
    0010ab77mov edi, ebp
    0010ab79call core::unicode::printable::is_printable
    0010ab7etest al, al
    0010ab80je 0x10ab8d
    0010ab82mov [rbx], -128
    0010ab85mov [rbx+4], ebp
    0010ab88jmp 0x10ac4b
    0010ab8d
    0010ab8dloc_10ab8d:
    0010ab8dmov [rsp+16], 0
    0010ab92mov [rsp+14], 0
    0010ab99mov [rsp+23], 125
    0010ab9emov ecx, ebp
    0010aba0shr ecx, 20
    0010aba3and ecx, 15
    0010aba6lea rax, [rip-0xd1d7d]
    0010abadmovzx ecx, [rcx+rax]
    0010abb1mov [rsp+17], cl
    0010abb5mov ecx, ebp
    0010abb7shr ecx, 16
    0010abbaand ecx, 15
    0010abbdmovzx ecx, [rcx+rax]
    0010abc1mov [rsp+18], cl
    0010abc5mov ecx, ebp
    0010abc7shr ecx, 12
    0010abcaand ecx, 15
    0010abcdmovzx ecx, [rcx+rax]
    0010abd1mov [rsp+19], cl
    0010abd5mov ecx, ebp
    0010abd7shr ecx, 8
    0010abdaand ecx, 15
    0010abddmovzx ecx, [rcx+rax]
    0010abe1mov [rsp+20], cl
    0010abe5mov ecx, ebp
    0010abe7shr ecx, 4
    0010abeaand ecx, 15
    0010abedmovzx ecx, [rcx+rax]
    0010abf1mov [rsp+21], cl
    0010abf5mov ecx, ebp
    0010abf7and ecx, 15
    0010abfamovzx eax, [rcx+rax]
    0010abfemov [rsp+22], al
    0010ac02or ebp, 1
    0010ac05bsr eax, ebp
    0010ac08xor eax, 28
    0010ac0bshr eax, 2
    0010ac0elea rcx, [rax-2]
    0010ac12mov [rsp+rax+14], 123
    0010ac17mov [rsp+rax+12], 30044
    0010ac1emovzx eax, [rsp+22]
    0010ac23mov [rbx+8], ax
    0010ac27mov rax, [rsp+14]
    0010ac2cmov [rbx], rax
    0010ac2fmov [rbx+10], cl
    0010ac32mov [rbx+11], 10
    0010ac36jmp 0x10ac4b
    0010ac38
    0010ac38loc_10ac38:
    0010ac38mov [rbx], 10076
    0010ac3d
    0010ac3dloc_10ac3d:
    0010ac3dmov [rbx+2], 0
    0010ac45mov [rbx+10], 512
    0010ac4b
    0010ac4bloc_10ac4b:
    0010ac4badd rsp, 24
    0010ac4fpop rbx
    0010ac50pop rbp
    0010ac51ret
    0010aaf0
    0010ac52
    0010ac52 // align 0x10
    0010ac60
    0010ac60core::str::slice_error_fail:
    0010ac60push rax
    0010ac61call core::str::slice_error_fail_rt
    0010ac66ud2
    0010ac60
    0010ac68
    0010ac68 // align 0x10
    0010ac70
    0010ac70core::str::slice_error_fail_rt:
    0010ac70sub rsp, 216
    0010ac77mov [rsp+192], rdx
    0010ac7fmov [rsp+200], rcx
    0010ac87cmp rsi, 257
    0010ac8ejb 0x10ace4
    0010ac90mov eax, 256
    0010ac95cmp [rdi+256], -65
    0010ac9cjg 0x10accc
    0010ac9emov eax, 255
    0010aca3cmp [rdi+255], -65
    0010acaajg 0x10accc
    0010acacmov eax, 254
    0010acb1cmp [rdi+254], -65
    0010acb8jg 0x10accc
    0010acbamov eax, 253
    0010acbfcmp [rdi+253], -65
    0010acc6jle 0x10aea9
    0010accc
    0010acccloc_10accc:
    0010acccmov [rsp+16], rdi
    0010acd1mov [rsp+24], rax
    0010acd6mov eax, 5
    0010acdblea r9, [rip-0xc6ff1]
    0010ace2jmp 0x10acf7
    0010ace4
    0010ace4loc_10ace4:
    0010ace4mov [rsp+16], rdi
    0010ace9mov [rsp+24], rsi
    0010aceelea r9, [rip-0x799fd]
    0010acf5xor eax, eax
    0010acf7
    0010acf7loc_10acf7:
    0010acf7mov [rsp+160], r9
    0010acffmov [rsp+168], rax
    0010ad07cmp rdx, rsi
    0010ad0aja 0x10adb1
    0010ad10cmp rcx, rsi
    0010ad13ja 0x10adb1
    0010ad19cmp rdx, rcx
    0010ad1cjbe 0x10ae41
    0010ad22lea rax, [rsp+192]
    0010ad2amov [rsp+80], rax
    0010ad2flea rax, [rip-27846]
    0010ad36mov [rsp+88], rax
    0010ad3blea rcx, [rsp+200]
    0010ad43mov [rsp+96], rcx
    0010ad48mov [rsp+104], rax
    0010ad4dlea rax, [rsp+16]
    0010ad52mov [rsp+112], rax
    0010ad57lea rax, [rip-23694]
    0010ad5emov [rsp+120], rax
    0010ad63lea rcx, [rsp+160]
    0010ad6bmov [rsp+128], rcx
    0010ad73mov [rsp+136], rax
    0010ad7blea rax, [rip+0xe026e]
    0010ad82mov [rsp+32], rax
    0010ad87mov [rsp+40], 4
    0010ad90mov [rsp+64], 0
    0010ad99lea rax, [rsp+80]
    0010ad9emov [rsp+48], rax
    0010ada3mov [rsp+56], 4
    0010adacjmp 0x10ae32
    0010adb1
    0010adb1loc_10adb1:
    0010adb1cmp rdx, rsi
    0010adb4cmova rcx, rdx
    0010adb8mov [rsp+176], rcx
    0010adc0lea rax, [rsp+176]
    0010adc8mov [rsp+80], rax
    0010adcdlea rax, [rip-28004]
    0010add4mov [rsp+88], rax
    0010add9lea rax, [rsp+16]
    0010addemov [rsp+96], rax
    0010ade3lea rax, [rip-23834]
    0010adeamov [rsp+104], rax
    0010adeflea rcx, [rsp+160]
    0010adf7mov [rsp+112], rcx
    0010adfcmov [rsp+120], rax
    0010ae01lea rax, [rip+0xe0278]
    0010ae08mov [rsp+32], rax
    0010ae0dmov [rsp+40], 3
    0010ae16mov [rsp+64], 0
    0010ae1flea rax, [rsp+80]
    0010ae24mov [rsp+48], rax
    0010ae29mov [rsp+56], 3
    0010ae32
    0010ae32loc_10ae32:
    0010ae32lea rdi, [rsp+32]
    0010ae37mov rsi, r8
    0010ae3acall core::panicking::panic_fmt
    0010ae3fud2
    0010ae41
    0010ae41loc_10ae41:
    0010ae41test rdx, rdx
    0010ae44je 0x10ae51
    0010ae46cmp rdx, rsi
    0010ae49jae 0x10ae51
    0010ae4bcmp [rdi+rdx], -64
    0010ae4fjl 0x10ae54
    0010ae51
    0010ae51loc_10ae51:
    0010ae51mov rdx, rcx
    0010ae54
    0010ae54loc_10ae54:
    0010ae54mov [rsp+208], rdx
    0010ae5cmov rax, rsi
    0010ae5fcmp rdx, rsi
    0010ae62jae 0x10af05
    0010ae68xor ecx, ecx
    0010ae6amov rax, rdx
    0010ae6dsub rax, 3
    0010ae71cmovae rcx, rax
    0010ae75lea rax, [rdx+1]
    0010ae79cmp rcx, rax
    0010ae7cjbe 0x10ae92
    0010ae7elea rdx, [rip+0xe022b]
    0010ae85mov rdi, rcx
    0010ae88mov rsi, rax
    0010ae8bcall core::slice::index::slice_index_order_fail
    0010ae90ud2
    0010ae92
    0010ae92loc_10ae92:
    0010ae92je 0x10af02
    0010ae94lea r9, [rdi+rcx]
    0010ae98add rax, rdi
    0010ae9bsub rax, r9
    0010ae9ecmp [rdi+rdx], -65
    0010aea2jle 0x10aeb7
    0010aea4dec rax
    0010aea7jmp 0x10af02
    0010aea9
    0010aea9loc_10aea9:
    0010aea9mov ecx, 253
    0010aeaexor edx, edx
    0010aeb0call core::str::slice_error_fail
    0010aeb5ud2
    0010aeb7
    0010aeb7loc_10aeb7:
    0010aeb7cmp rcx, rdx
    0010aebaje 0x10af02
    0010aebcadd rdx, rdi
    0010aebfcmp [rdx-1], -65
    0010aec3jle 0x10aecb
    0010aec5add rax, -2
    0010aec9jmp 0x10af02
    0010aecb
    0010aecbloc_10aecb:
    0010aecblea r10, [rdx-1]
    0010aecfcmp r9, r10
    0010aed2je 0x10af02
    0010aed4cmp [rdx-2], -65
    0010aed8jle 0x10aee0
    0010aedaadd rax, -3
    0010aedejmp 0x10af02
    0010aee0
    0010aee0loc_10aee0:
    0010aee0lea r10, [rdx-2]
    0010aee4cmp r9, r10
    0010aee7je 0x10af02
    0010aee9cmp [rdx-3], -65
    0010aeedjle 0x10aef5
    0010aeefadd rax, -4
    0010aef3jmp 0x10af02
    0010aef5
    0010aef5loc_10aef5:
    0010aef5add rdx, -3
    0010aef9cmp r9, rdx
    0010aefcje 0x10af02
    0010aefeadd rax, -5
    0010af02
    0010af02loc_10af02:
    0010af02add rax, rcx
    0010af05
    0010af05loc_10af05:
    0010af05test rax, rax
    0010af08jne 0x10af0f
    0010af0amov rcx, rsi
    0010af0djmp 0x10af2c
    0010af0f
    0010af0floc_10af0f:
    0010af0fmov rcx, rsi
    0010af12sub rcx, rax
    0010af15jbe 0x10af2a
    0010af17cmp [rdi+rax], -65
    0010af1bjg 0x10af2c
    0010af1d
    0010af1dloc_10af1d:
    0010af1dmov rdx, rax
    0010af20mov rcx, rsi
    0010af23call core::str::slice_error_fail
    0010af28ud2
    0010af2a
    0010af2aloc_10af2a:
    0010af2ajne 0x10af1d
    0010af2c
    0010af2cloc_10af2c:
    0010af2ctest rcx, rcx
    0010af2fjne 0x10af47
    0010af31
    0010af31loc_10af31:
    0010af31lea rdi, [rip-0x79f3a]
    0010af38mov esi, 43
    0010af3dmov rdx, r8
    0010af40call core::panicking::panic
    0010af45ud2
    0010af47
    0010af47loc_10af47:
    0010af47movzx edx, [rdi+rax]
    0010af4btest dl, dl
    0010af4djs 0x10af5d
    0010af4fmov [rsp+12], edx
    0010af53mov ecx, 1
    0010af58jmp 0x10afe2
    0010af5d
    0010af5dloc_10af5d:
    0010af5dmov ecx, edx
    0010af5fand ecx, 31
    0010af62movzx r9l, [rdi+rax+1]
    0010af68and r9l, 63
    0010af6ccmp dl, -33
    0010af6fjbe 0x10afa4
    0010af71movzx esi, [rdi+rax+2]
    0010af76shl r9l, 6
    0010af7aand esi, 63
    0010af7dor esi, r9l
    0010af80cmp dl, -16
    0010af83jb 0x10afae
    0010af85movzx edx, [rdi+rax+3]
    0010af8aand ecx, 7
    0010af8dshl ecx, 18
    0010af90shl esi, 6
    0010af93and edx, 63
    0010af96or edx, esi
    0010af98or edx, ecx
    0010af9acmp edx, 0x110000
    0010afa0je 0x10af31
    0010afa2jmp 0x10afb5
    0010afa4
    0010afa4loc_10afa4:
    0010afa4shl ecx, 6
    0010afa7or ecx, r9l
    0010afaamov edx, ecx
    0010afacjmp 0x10afb5
    0010afae
    0010afaeloc_10afae:
    0010afaeshl ecx, 12
    0010afb1or esi, ecx
    0010afb3mov edx, esi
    0010afb5
    0010afb5loc_10afb5:
    0010afb5mov [rsp+12], edx
    0010afb9mov ecx, 1
    0010afbecmp edx, 128
    0010afc4jb 0x10afe2
    0010afc6mov ecx, 2
    0010afcbcmp edx, 2048
    0010afd1jb 0x10afe2
    0010afd3cmp edx, 0x10000
    0010afd9mov ecx, 4
    0010afdesbb rcx, 0
    0010afe2
    0010afe2loc_10afe2:
    0010afe2add rcx, rax
    0010afe5mov [rsp+176], rax
    0010afedmov [rsp+184], rcx
    0010aff5lea rax, [rsp+208]
    0010affdmov [rsp+80], rax
    0010b002lea rax, [rip-28569]
    0010b009mov [rsp+88], rax
    0010b00elea rax, [rsp+12]
    0010b013mov [rsp+96], rax
    0010b018lea rax, [rip+145]
    0010b01fmov [rsp+104], rax
    0010b024lea rax, [rsp+176]
    0010b02cmov [rsp+112], rax
    0010b031lea rax, [rip+408]
    0010b038mov [rsp+120], rax
    0010b03dlea rax, [rsp+16]
    0010b042mov [rsp+128], rax
    0010b04alea rax, [rip-24449]
    0010b051mov [rsp+136], rax
    0010b059lea rcx, [rsp+160]
    0010b061mov [rsp+144], rcx
    0010b069mov [rsp+152], rax
    0010b071lea rax, [rip+0xdffb8]
    0010b078mov [rsp+32], rax
    0010b07dmov [rsp+40], 5
    0010b086mov [rsp+64], 0
    0010b08flea rax, [rsp+80]
    0010b094mov [rsp+48], rax
    0010b099mov [rsp+56], 5
    0010b0a2jmp 0x10ae32
    0010ac70
    0010b0a7
    0010b0a7 // align 0x10
    0010b0b0
    0010b0b0_<char as core::fmt::Debug>::fmt:
    0010b0b0push rbp
    0010b0b1push r15
    0010b0b3push r14
    0010b0b5push r12
    0010b0b7push rbx
    0010b0b8sub rsp, 16
    0010b0bcmov r14, rdi
    0010b0bfmov rbx, [rsi+32]
    0010b0c3mov rax, [rsi+40]
    0010b0c7mov rax, [rax+32]
    0010b0cbmov rdi, rbx
    0010b0cemov esi, 39
    0010b0d3mov r12, rax
    0010b0d6call rax
    0010b0d8test al, al
    0010b0daje 0x10b0eb
    0010b0dc
    0010b0dcloc_10b0dc:
    0010b0dcmov al, 1
    0010b0deadd rsp, 16
    0010b0e2pop rbx
    0010b0e3pop r12
    0010b0e5pop r14
    0010b0e7pop r15
    0010b0e9pop rbp
    0010b0earet
    0010b0eb
    0010b0ebloc_10b0eb:
    0010b0ebmov esi, [r14]
    0010b0eemov rdi, rsp
    0010b0f1mov edx, 257
    0010b0f6call core::char::methods::_<impl char>::escape_debug_ext
    0010b0fbcmp [rsp], -128
    0010b0ffjne 0x10b158
    0010b101mov bpl, 128
    0010b104jmp 0x10b130
    0010b106nop [rax+rax]
    0010b110
    0010b110loc_10b110:
    0010b110mov esi, [rsp+4]
    0010b114mov [rsp+8], 0
    0010b11cmov [rsp], 0
    0010b124xor ebp, ebp
    0010b126
    0010b126loc_10b126:
    0010b126mov rdi, rbx
    0010b129call r12
    0010b12ctest al, al
    0010b12ejne 0x10b0dc
    0010b130
    0010b130loc_10b130:
    0010b130cmp bpl, -128
    0010b134je 0x10b110
    0010b136movzx r14l, [rsp+10]
    0010b13ccmp r14b, [rsp+11]
    0010b141jae 0x10b19a
    0010b143lea eax, [r14+1]
    0010b147mov [rsp+10], al
    0010b14bcmp r14b, 10
    0010b14fjae 0x10b1b3
    0010b151movzx esi, [rsp+r14]
    0010b156jmp 0x10b126
    0010b158
    0010b158loc_10b158:
    0010b158movzx r15l, [rsp+11]
    0010b15emovzx r14l, [rsp+10]
    0010b164nop [rax+rax]
    0010b170
    0010b170loc_10b170:
    0010b170cmp r14, r15
    0010b173jae 0x10b19a
    0010b175lea eax, [r14+1]
    0010b179mov [rsp+10], al
    0010b17dcmp r14, 9
    0010b181ja 0x10b1b3
    0010b183movzx esi, [rsp+r14]
    0010b188mov rdi, rbx
    0010b18bcall r12
    0010b18einc r14
    0010b191test al, al
    0010b193je 0x10b170
    0010b195jmp 0x10b0dc
    0010b19a
    0010b19aloc_10b19a:
    0010b19amov rdi, rbx
    0010b19dmov esi, 39
    0010b1a2mov rax, r12
    0010b1a5add rsp, 16
    0010b1a9pop rbx
    0010b1aapop r12
    0010b1acpop r14
    0010b1aepop r15
    0010b1b0pop rbp
    0010b1b1jmp rax
    0010b1b3
    0010b1b3loc_10b1b3:
    0010b1b3lea rdx, [rip+0xe0016]
    0010b1bamov esi, 10
    0010b1bfmov rdi, r14
    0010b1c2call core::panicking::panic_bounds_check
    0010b1c7ud2
    0010b0b0
    0010b1c9
    0010b1c9 // align 0x10
    0010b1d0
    0010b1d0_<core::ops::range::Range<Idx> as core::fmt::Debug>::fmt:
    0010b1d0push r14
    0010b1d2push rbx
    0010b1d3sub rsp, 56
    0010b1d7mov rbx, rsi
    0010b1damov r14, rdi
    0010b1ddcall _ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17hfd34c49f95dd23e5E.84
    0010b1e2test al, al
    0010b1e4jne 0x10b225
    0010b1e6lea rax, [rip+0xdfa13]
    0010b1edmov [rsp+8], rax
    0010b1f2mov [rsp+16], 1
    0010b1fblea rax, [rip-0x79f0a]
    0010b202mov [rsp+24], rax
    0010b207xorps x0, x0
    0010b20amovups [rsp+32], x0
    0010b20fmov rdi, [rbx+32]
    0010b213mov rsi, [rbx+40]
    0010b217lea rdx, [rsp+8]
    0010b21ccall core::fmt::write
    0010b221test al, al
    0010b223je 0x10b22f
    0010b225
    0010b225loc_10b225:
    0010b225mov al, 1
    0010b227add rsp, 56
    0010b22bpop rbx
    0010b22cpop r14
    0010b22eret
    0010b22f
    0010b22floc_10b22f:
    0010b22fadd r14, 8
    0010b233mov rdi, r14
    0010b236mov rsi, rbx
    0010b239add rsp, 56
    0010b23dpop rbx
    0010b23epop r14
    0010b240jmp 0x105340
    0010b1d0
    0010b245
    0010b245 // align 0x10
    0010b250
    0010b250core::unicode::unicode_data::grapheme_extend::lookup:
    0010b250push rax
    0010b251mov esi, edi
    0010b253shl esi, 11
    0010b256mov eax, 33
    0010b25bxor edx, edx
    0010b25dlea rcx, [rip-0xc3ea0]
    0010b264mov r8l, 255
    0010b26amov r9l, 33
    0010b270jmp 0x10b288
    0010b272
    0010b272 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 fffff.........
    0010b280
    0010b280loc_10b280:
    0010b280mov r9, rax
    0010b283
    0010b283loc_10b283:
    0010b283sub rax, rdx
    0010b286jbe 0x10b2c4
    0010b288
    0010b288loc_10b288:
    0010b288shr rax, 1
    0010b28badd rax, rdx
    0010b28emov r11l, [rcx+4*rax]
    0010b292shl r11l, 11
    0010b296xor r10l, r10l
    0010b299cmp r11l, esi
    0010b29csetne r10b
    0010b2a0cmovb r10l, r8l
    0010b2a4cmp r10b, 1
    0010b2a8je 0x10b280
    0010b2aamovzx edx, r10b
    0010b2aeinc rax
    0010b2b1cmp edx, 255
    0010b2b7jne 0x10b2c1
    0010b2b9mov rdx, rax
    0010b2bcmov rax, r9
    0010b2bfjmp 0x10b283
    0010b2c1
    0010b2c1loc_10b2c1:
    0010b2c1mov rdx, rax
    0010b2c4
    0010b2c4loc_10b2c4:
    0010b2c4cmp rdx, 32
    0010b2c8ja 0x10b373
    0010b2cemov eax, [rcx+4*rdx]
    0010b2d1shr eax, 21
    0010b2d4cmp rdx, 32
    0010b2d8jne 0x10b2e6
    0010b2damov edx, 31
    0010b2dfmov esi, 727
    0010b2e4jmp 0x10b2f5
    0010b2e6
    0010b2e6loc_10b2e6:
    0010b2e6mov esi, [rcx+4*rdx+4]
    0010b2eashr esi, 21
    0010b2edtest rdx, rdx
    0010b2f0je 0x10b349
    0010b2f2dec rdx
    0010b2f5
    0010b2f5loc_10b2f5:
    0010b2f5mov r8l, 0x1fffff
    0010b2fband r8l, [rcx+4*rdx]
    0010b2ff
    0010b2ffloc_10b2ff:
    0010b2ffmov rcx, rax
    0010b302not rcx
    0010b305add rcx, rsi
    0010b308je 0x10b345
    0010b30asub edi, r8l
    0010b30ddec rsi
    0010b310xor ecx, ecx
    0010b312lea r8, [rip-0xc3ed1]
    0010b319mov rdx, rax
    0010b31cnop [rax]
    0010b320
    0010b320loc_10b320:
    0010b320cmp rdx, 726
    0010b327ja 0x10b34e
    0010b329movzx r9l, [rdx+r8]
    0010b32eadd ecx, r9l
    0010b331cmp ecx, edi
    0010b333ja 0x10b342
    0010b335inc rdx
    0010b338cmp rsi, rdx
    0010b33bjne 0x10b320
    0010b33dmov rax, rsi
    0010b340jmp 0x10b345
    0010b342
    0010b342loc_10b342:
    0010b342mov rax, rdx
    0010b345
    0010b345loc_10b345:
    0010b345and al, 1
    0010b347pop rcx
    0010b348ret
    0010b349
    0010b349loc_10b349:
    0010b349xor r8l, r8l
    0010b34cjmp 0x10b2ff
    0010b34e
    0010b34eloc_10b34e:
    0010b34ecmp rax, 728
    0010b354mov ecx, 727
    0010b359cmovb rax, rcx
    0010b35dlea rdx, [rip+0xdfe24]
    0010b364mov esi, 727
    0010b369mov rdi, rax
    0010b36ccall core::panicking::panic_bounds_check
    0010b371ud2
    0010b373
    0010b373loc_10b373:
    0010b373lea rdx, [rip+0xdfdf6]
    0010b37amov edi, 33
    0010b37fmov esi, 33
    0010b384call core::panicking::panic_bounds_check
    0010b389ud2
    0010b250