File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    001c6020
    001c6020std::fs::write::inner:
    001c6020push rbp
    001c6021push r15
    001c6023push r14
    001c6025push r13
    001c6027push r12
    001c6029push rbx
    001c602asub rsp, 440
    001c6031mov rbx, rcx
    001c6034mov r14, rdx
    001c6037mov r15, rsi
    001c603amov rsi, rdi
    001c603dmov [rsp+8], 0
    001c6045mov [rsp+12], 0
    001c604cmov rax, 0x1b600000000
    001c6056mov [rsp], rax
    001c605amov [rsp+9], 1
    001c605fmov [rsp+12], 1
    001c6064mov [rsp+11], 1
    001c6069cmp r15, 383
    001c6070ja 0x1c60e4
    001c6072lea r12, [rsp+56]
    001c6077mov rdi, r12
    001c607amov rdx, r15
    001c607dcall [rip+0x4ba9d]
    001c6083mov [rsp+r15+56], 0
    001c6089inc r15
    001c608clea rdi, [rsp+32]
    001c6091mov rsi, r12
    001c6094mov rdx, r15
    001c6097call core::ffi::c_str::CStr::from_bytes_with_nul
    001c609ccmp [rsp+32], 0
    001c60a2je 0x1c60c1
    001c60a4lea rax, [rip+0x4a8f5]
    001c60abmov [rsp+24], rax
    001c60b0mov [rsp+16], 1
    001c60b8cmp [rsp+16], 0
    001c60bdjne 0x1c60da
    001c60bfjmp 0x1c60fb
    001c60c1
    001c60c1loc_1c60c1:
    001c60c1mov rsi, [rsp+40]
    001c60c6lea rdi, [rsp+16]
    001c60cbmov rdx, rsp
    001c60cecall std::sys::unix::fs::File::open_c
    001c60d3cmp [rsp+16], 0
    001c60d8je 0x1c60fb
    001c60da
    001c60daloc_1c60da:
    001c60damov r15, [rsp+24]
    001c60dfjmp 0x1c617c
    001c60e4
    001c60e4loc_1c60e4:
    001c60e4lea rdi, [rsp+16]
    001c60e9mov rcx, rsp
    001c60ecmov rdx, r15
    001c60efcall std::sys::common::small_c_string::run_with_cstr_allocating
    001c60f4cmp [rsp+16], 0
    001c60f9jne 0x1c60da
    001c60fb
    001c60fbloc_1c60fb:
    001c60fbmov ebp, [rsp+20]
    001c60ffmov r12, 0x7fffffffffffffff
    001c6109mov r13, [rip+0x4bbf0]
    001c6110lea r15, [rip+0x4a661]
    001c6117jmp 0x1c6134
    001c6119nop [rax]
    001c6120
    001c6120loc_1c6120:
    001c6120call [rip+0x4ba1a]
    001c6126movsxd rax, [rax]
    001c6129cmp rax, 4
    001c612djne 0x1c6169
    001c612ftest rbx, rbx
    001c6132je 0x1c6164
    001c6134
    001c6134loc_1c6134:
    001c6134cmp rbx, r12
    001c6137mov rdx, r12
    001c613acmovb rdx, rbx
    001c613emov edi, ebp
    001c6140mov rsi, r14
    001c6143call r13
    001c6146cmp rax, -1
    001c614aje 0x1c6120
    001c614ctest rax, rax
    001c614fje 0x1c6174
    001c6151mov rcx, rbx
    001c6154sub rcx, rax
    001c6157jb 0x1c6191
    001c6159add r14, rax
    001c615cmov rbx, rcx
    001c615ftest rbx, rbx
    001c6162jne 0x1c6134
    001c6164
    001c6164loc_1c6164:
    001c6164xor r15l, r15l
    001c6167jmp 0x1c6174
    001c6169
    001c6169loc_1c6169:
    001c6169shl rax, 32
    001c616dor rax, 2
    001c6171mov r15, rax
    001c6174
    001c6174loc_1c6174:
    001c6174mov edi, ebp
    001c6176call [rip+0x4b99c]
    001c617c
    001c617cloc_1c617c:
    001c617cmov rax, r15
    001c617fadd rsp, 440
    001c6186pop rbx
    001c6187pop r12
    001c6189pop r13
    001c618bpop r14
    001c618dpop r15
    001c618fpop rbp
    001c6190ret
    001c6191
    001c6191loc_1c6191:
    001c6191lea rdx, [rip+0x4a5f8]
    001c6198mov rdi, rax
    001c619bmov rsi, rbx
    001c619ecall core::slice::index::slice_start_index_len_fail
    001c61a3ud2
    001c61a5mov rbx, rax
    001c61a8mov edi, ebp
    001c61aacall core::ptr::drop_in_place<std::fs::File>
    001c61afmov rdi, rbx
    001c61b2call _Unwind_Resume
    001c61b7ud2
    001c6020
    001c61b9
    001c61b9 // align 0x10
    001c61c0
    001c61c0core::ptr::drop_in_place<alloc::boxed::Box<dyn core::ops::function::FnOnce<()>+Output = ()>>:
    001c61c0push r15
    001c61c2push r14
    001c61c4push rbx
    001c61c5mov r14, rsi
    001c61c8mov rbx, rdi
    001c61cbcall [rsi]
    001c61cdcmp [r14+8], 0
    001c61d2je 0x1c61e2
    001c61d4mov rdi, rbx
    001c61d7pop rbx
    001c61d8pop r14
    001c61dapop r15
    001c61dcjmp [rip+0x4b916]
    001c61e2
    001c61e2loc_1c61e2:
    001c61e2pop rbx
    001c61e3pop r14
    001c61e5pop r15
    001c61e7ret
    001c61e8mov r15, rax
    001c61ebmov rdi, rbx
    001c61eemov rsi, r14
    001c61f1call _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c61f6mov rdi, r15
    001c61f9call _Unwind_Resume
    001c61feud2
    001c61c0
    001c6200
    001c6200_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h44e1dfc291390313E.1445:
    001c6200push r15
    001c6202push r14
    001c6204push r12
    001c6206push rbx
    001c6207push rax
    001c6208mov rbx, rdx
    001c620bmov r15, rsi
    001c620emov r14, rdi
    001c6211mov rax, [rdi+8]
    001c6215mov r12, [rdi+16]
    001c6219sub rax, r12
    001c621ccmp rax, rdx
    001c621fjb 0x1c6248
    001c6221
    001c6221loc_1c6221:
    001c6221mov rdi, [r14]
    001c6224add rdi, r12
    001c6227mov rsi, r15
    001c622amov rdx, rbx
    001c622dcall [rip+0x4b8ed]
    001c6233add r12, rbx
    001c6236mov [r14+16], r12
    001c623axor eax, eax
    001c623cadd rsp, 8
    001c6240pop rbx
    001c6241pop r12
    001c6243pop r14
    001c6245pop r15
    001c6247ret
    001c6248
    001c6248loc_1c6248:
    001c6248mov rdi, r14
    001c624bmov rsi, r12
    001c624emov rdx, rbx
    001c6251call alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c6256mov r12, [r14+16]
    001c625ajmp 0x1c6221
    001c6200
    001c625c
    001c625c // align 0x10
    001c6260
    001c6260_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17hd2e549cf9908dce6E.1446:
    001c6260push rbp
    001c6261push r15
    001c6263push r14
    001c6265push rbx
    001c6266push rax
    001c6267mov ebp, esi
    001c6269mov rbx, rdi
    001c626ccmp esi, 128
    001c6272jae 0x1c629d
    001c6274mov rsi, [rbx+16]
    001c6278cmp rsi, [rbx+8]
    001c627cjne 0x1c628a
    001c627emov rdi, rbx
    001c6281call alloc::raw_vec::RawVec<T,A>::reserve_for_push
    001c6286mov rsi, [rbx+16]
    001c628a
    001c628aloc_1c628a:
    001c628amov rax, [rbx]
    001c628dmov [rax+rsi], bpl
    001c6291inc rsi
    001c6294mov [rbx+16], rsi
    001c6298jmp 0x1c6363
    001c629d
    001c629dloc_1c629d:
    001c629dmov [rsp+4], 0
    001c62a5mov eax, ebp
    001c62a7cmp ebp, 2048
    001c62adjae 0x1c62cd
    001c62afshr eax, 6
    001c62b2or al, 192
    001c62b4mov [rsp+4], al
    001c62b8and bpl, 63
    001c62bcor bpl, 128
    001c62c0mov [rsp+5], bpl
    001c62c5mov r14l, 2
    001c62cbjmp 0x1c6338
    001c62cd
    001c62cdloc_1c62cd:
    001c62cdcmp ebp, 0x10000
    001c62d3jae 0x1c6300
    001c62d5shr eax, 12
    001c62d8or al, 224
    001c62damov [rsp+4], al
    001c62demov eax, ebp
    001c62e0shr eax, 6
    001c62e3and al, 63
    001c62e5or al, 128
    001c62e7mov [rsp+5], al
    001c62eband bpl, 63
    001c62efor bpl, 128
    001c62f3mov [rsp+6], bpl
    001c62f8mov r14l, 3
    001c62fejmp 0x1c6338
    001c6300
    001c6300loc_1c6300:
    001c6300shr eax, 18
    001c6303and al, 7
    001c6305or al, 240
    001c6307mov [rsp+4], al
    001c630bmov eax, ebp
    001c630dshr eax, 12
    001c6310and al, 63
    001c6312or al, 128
    001c6314mov [rsp+5], al
    001c6318mov eax, ebp
    001c631ashr eax, 6
    001c631dand al, 63
    001c631for al, 128
    001c6321mov [rsp+6], al
    001c6325and bpl, 63
    001c6329or bpl, 128
    001c632dmov [rsp+7], bpl
    001c6332mov r14l, 4
    001c6338
    001c6338loc_1c6338:
    001c6338mov rax, [rbx+8]
    001c633cmov r15, [rbx+16]
    001c6340sub rax, r15
    001c6343cmp rax, r14
    001c6346jb 0x1c6370
    001c6348
    001c6348loc_1c6348:
    001c6348mov rdi, [rbx]
    001c634badd rdi, r15
    001c634elea rsi, [rsp+4]
    001c6353mov rdx, r14
    001c6356call [rip+0x4b7c4]
    001c635cadd r15, r14
    001c635fmov [rbx+16], r15
    001c6363
    001c6363loc_1c6363:
    001c6363xor eax, eax
    001c6365add rsp, 8
    001c6369pop rbx
    001c636apop r14
    001c636cpop r15
    001c636epop rbp
    001c636fret
    001c6370
    001c6370loc_1c6370:
    001c6370mov rdi, rbx
    001c6373mov rsi, r15
    001c6376mov rdx, r14
    001c6379call alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c637emov r15, [rbx+16]
    001c6382jmp 0x1c6348
    001c6260
    001c6384
    001c6384 // align 0x10
    001c6390
    001c6390core::fmt::Write::write_fmt:
    001c6390mov rdx, rsi
    001c6393lea rsi, [rip+0x4998e]
    001c639ajmp 0x105110
    001c6390
    001c639f
    001c639f // align 0x10
    001c63a0
    001c63a0_<std::fs::File as std::io::Write>::write:
    001c63a0push rbx
    001c63a1mov rbx, rdi
    001c63a4mov rax, 0x7fffffffffffffff
    001c63aecmp rcx, rax
    001c63b1cmovb rax, rcx
    001c63b5mov edi, esi
    001c63b7mov rsi, rdx
    001c63bamov rdx, rax
    001c63bdcall [rip+0x4b93d]
    001c63c3cmp rax, -1
    001c63c7je 0x1c63d1
    001c63c9mov [rbx+8], rax
    001c63cdxor eax, eax
    001c63cfjmp 0x1c63ea
    001c63d1
    001c63d1loc_1c63d1:
    001c63d1call [rip+0x4b769]
    001c63d7mov eax, [rax]
    001c63d9shl rax, 32
    001c63ddor rax, 2
    001c63e1mov [rbx+8], rax
    001c63e5mov eax, 1
    001c63ea
    001c63ealoc_1c63ea:
    001c63eamov [rbx], rax
    001c63edpop rbx
    001c63eeret
    001c63a0
    001c63ef
    001c63ef // align 0x10
    001c63f0
    001c63f0_<std::fs::File as std::io::Seek>::seek:
    001c63f0push rbx
    001c63f1mov rbx, rdi
    001c63f4lea rax, [rip-0x1356ff]
    001c63fbmov edx, [rax+4*rdx]
    001c63femov edi, esi
    001c6400mov rsi, rcx
    001c6403call [rip+0x4b937]
    001c6409cmp rax, -1
    001c640dje 0x1c6417
    001c640fmov [rbx+8], rax
    001c6413xor eax, eax
    001c6415jmp 0x1c6430
    001c6417
    001c6417loc_1c6417:
    001c6417call [rip+0x4b723]
    001c641dmov eax, [rax]
    001c641fshl rax, 32
    001c6423or rax, 2
    001c6427mov [rbx+8], rax
    001c642bmov eax, 1
    001c6430
    001c6430loc_1c6430:
    001c6430mov [rbx], rax
    001c6433pop rbx
    001c6434ret
    001c63f0
    001c6435
    001c6435 // align 0x10
    001c6440
    001c6440std::fs::OpenOptions::_open:
    001c6440push r15
    001c6442push r14
    001c6444push r12
    001c6446push rbx
    001c6447sub rsp, 424
    001c644emov r15, rcx
    001c6451mov r14, rsi
    001c6454mov rbx, rdi
    001c6457cmp rcx, 383
    001c645eja 0x1c64d6
    001c6460lea r12, [rsp+40]
    001c6465mov rdi, r12
    001c6468mov rsi, rdx
    001c646bmov rdx, r15
    001c646ecall [rip+0x4b6ac]
    001c6474mov [rsp+r15+40], 0
    001c647ainc r15
    001c647dlea rdi, [rsp+16]
    001c6482mov rsi, r12
    001c6485mov rdx, r15
    001c6488call core::ffi::c_str::CStr::from_bytes_with_nul
    001c648dcmp [rsp+16], 0
    001c6493je 0x1c64b0
    001c6495lea rax, [rip+0x4a504]
    001c649cmov [rsp+8], rax
    001c64a1mov [rsp], 1
    001c64a8cmp [rsp], 0
    001c64acjne 0x1c64c6
    001c64aejmp 0x1c64ed
    001c64b0
    001c64b0loc_1c64b0:
    001c64b0mov rsi, [rsp+24]
    001c64b5mov rdi, rsp
    001c64b8mov rdx, r14
    001c64bbcall std::sys::unix::fs::File::open_c
    001c64c0cmp [rsp], 0
    001c64c4je 0x1c64ed
    001c64c6
    001c64c6loc_1c64c6:
    001c64c6mov rax, [rsp+8]
    001c64cbmov [rbx+8], rax
    001c64cfmov eax, 1
    001c64d4jmp 0x1c64f6
    001c64d6
    001c64d6loc_1c64d6:
    001c64d6mov rdi, rsp
    001c64d9mov rsi, rdx
    001c64dcmov rdx, r15
    001c64dfmov rcx, r14
    001c64e2call std::sys::common::small_c_string::run_with_cstr_allocating
    001c64e7cmp [rsp], 0
    001c64ebjne 0x1c64c6
    001c64ed
    001c64edloc_1c64ed:
    001c64edmov eax, [rsp+4]
    001c64f1mov [rbx+4], eax
    001c64f4xor eax, eax
    001c64f6
    001c64f6loc_1c64f6:
    001c64f6mov [rbx], eax
    001c64f8add rsp, 424
    001c64ffpop rbx
    001c6500pop r12
    001c6502pop r14
    001c6504pop r15
    001c6506ret
    001c6440
    001c6507
    001c6507 // align 0x10
    001c6510
    001c6510std::path::Path::_join:
    001c6510push rbp
    001c6511push r15
    001c6513push r14
    001c6515push r13
    001c6517push r12
    001c6519push rbx
    001c651asub rsp, 24
    001c651emov r14, r8
    001c6521mov r15, rcx
    001c6524mov r12, rdx
    001c6527mov rbx, rdi
    001c652atest rdx, rdx
    001c652dje 0x1c6585
    001c652fjs 0x1c6634
    001c6535mov rbp, rsi
    001c6538movzx eax, [rip+0x4cb89]
    001c653fmov esi, 1
    001c6544mov rdi, r12
    001c6547call __rust_alloc
    001c654ctest rax, rax
    001c654fje 0x1c663b
    001c6555mov r13, rax
    001c6558mov rdi, rax
    001c655bmov rsi, rbp
    001c655emov rdx, r12
    001c6561call [rip+0x4b5b9]
    001c6567mov [rsp], r13
    001c656bmov [rsp+8], r12
    001c6570mov [rsp+16], r12
    001c6575cmp [r12+r13-1], 47
    001c657bsetne al
    001c657etest r14, r14
    001c6581jne 0x1c65a2
    001c6583jmp 0x1c65ac
    001c6585
    001c6585loc_1c6585:
    001c6585mov [rsp], 1
    001c658dxorps x0, x0
    001c6590movups [rsp+8], x0
    001c6595mov r13l, 1
    001c659bxor eax, eax
    001c659dtest r14, r14
    001c65a0je 0x1c65ac
    001c65a2
    001c65a2loc_1c65a2:
    001c65a2cmp [r15], 47
    001c65a6jne 0x1c65ac
    001c65a8xor ebp, ebp
    001c65aajmp 0x1c65d7
    001c65ac
    001c65acloc_1c65ac:
    001c65actest al, al
    001c65aeje 0x1c65de
    001c65b0mov rdi, rsp
    001c65b3mov edx, 1
    001c65b8mov rsi, r12
    001c65bbcall alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c65c0mov r13, [rsp]
    001c65c4mov r12, [rsp+8]
    001c65c9mov rbp, [rsp+16]
    001c65cemov [r13+rbp], 47
    001c65d4inc rbp
    001c65d7
    001c65d7loc_1c65d7:
    001c65d7mov [rsp+16], rbp
    001c65dcjmp 0x1c65e1
    001c65de
    001c65deloc_1c65de:
    001c65demov rbp, r12
    001c65e1
    001c65e1loc_1c65e1:
    001c65e1sub r12, rbp
    001c65e4cmp r12, r14
    001c65e7jae 0x1c6600
    001c65e9mov rdi, rsp
    001c65ecmov rsi, rbp
    001c65efmov rdx, r14
    001c65f2call alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c65f7mov r13, [rsp]
    001c65fbmov rbp, [rsp+16]
    001c6600
    001c6600loc_1c6600:
    001c6600add r13, rbp
    001c6603mov rdi, r13
    001c6606mov rsi, r15
    001c6609mov rdx, r14
    001c660ccall [rip+0x4b50e]
    001c6612add rbp, r14
    001c6615mov [rsp+16], rbp
    001c661amovups x0, [rsp]
    001c661emovups [rbx], x0
    001c6621mov [rbx+16], rbp
    001c6625add rsp, 24
    001c6629pop rbx
    001c662apop r12
    001c662cpop r13
    001c662epop r14
    001c6630pop r15
    001c6632pop rbp
    001c6633ret
    001c6634
    001c6634loc_1c6634:
    001c6634call alloc::raw_vec::capacity_overflow
    001c6639ud2
    001c663b
    001c663bloc_1c663b:
    001c663bmov edi, 1
    001c6640mov rsi, r12
    001c6643call alloc::alloc::handle_alloc_error
    001c6648ud2
    001c664amov rbx, rax
    001c664dmov rdi, [rsp]
    001c6651mov rsi, [rsp+8]
    001c6656call core::ptr::drop_in_place<alloc::vec::Vec<(gimli::common::DebugInfoOffset,gimli::common::DebugArangesOffset)>>
    001c665bmov rdi, rbx
    001c665ecall _Unwind_Resume
    001c6663ud2
    001c6510
    001c6665
    001c6665 // align 0x10
    001c6670
    001c6670std::io::buffered::bufwriter::BufWriter<W>::flush_buf::BufGuard::remaining:
    001c6670mov rax, [rdi+16]
    001c6674mov rdx, rax
    001c6677sub rdx, rsi
    001c667ajb 0x1c6683
    001c667cadd rsi, [rdi]
    001c667fmov rax, rsi
    001c6682ret
    001c6683
    001c6683loc_1c6683:
    001c6683push rax
    001c6684lea rdx, [rip+0x49dd5]
    001c668bmov rdi, rsi
    001c668emov rsi, rax
    001c6691call core::slice::index::slice_start_index_len_fail
    001c6696ud2
    001c6670
    001c6698
    001c6698 // align 0x10
    001c66a0
    001c66a0_<std::io::buffered::bufwriter::BufWriter<W>::flush_buf::BufGuard as core::ops::drop::Drop>::drop:
    001c66a0push r14
    001c66a2push rbx
    001c66a3push rax
    001c66a4test rsi, rsi
    001c66a7je 0x1c66d5
    001c66a9mov rbx, rdi
    001c66acmov rax, [rdi+16]
    001c66b0mov r14, rax
    001c66b3sub r14, rsi
    001c66b6jb 0x1c66dd
    001c66b8mov [rbx+16], 0
    001c66c0je 0x1c66d5
    001c66c2mov rdi, [rbx]
    001c66c5add rsi, rdi
    001c66c8mov rdx, r14
    001c66cbcall [rip+0x4b43f]
    001c66d1mov [rbx+16], r14
    001c66d5
    001c66d5loc_1c66d5:
    001c66d5add rsp, 8
    001c66d9pop rbx
    001c66dapop r14
    001c66dcret
    001c66dd
    001c66ddloc_1c66dd:
    001c66ddlea rdx, [rip+0x499d4]
    001c66e4mov rdi, rsi
    001c66e7mov rsi, rax
    001c66eacall core::slice::index::slice_end_index_len_fail
    001c66efud2
    001c66a0
    001c66f1
    001c66f1 // align 0x10
    001c6700
    001c6700std::io::Write::write_all_vectored:
    001c6700push r15
    001c6702push r14
    001c6704push r13
    001c6706push r12
    001c6708push rbx
    001c6709sub rsp, 48
    001c670dtest rdx, rdx
    001c6710je 0x1c684f
    001c6716mov rbx, rdx
    001c6719mov r14, rsi
    001c671cmov rax, rdx
    001c671fshl rax, 4
    001c6723xor ecx, ecx
    001c6725xor edi, edi
    001c6727nop [rax+rax]
    001c6730
    001c6730loc_1c6730:
    001c6730cmp [r14+rcx+8], 0
    001c6736jne 0x1c6744
    001c6738inc rdi
    001c673badd rcx, 16
    001c673fcmp rax, rcx
    001c6742jne 0x1c6730
    001c6744
    001c6744loc_1c6744:
    001c6744cmp rbx, rdi
    001c6747jb 0x1c6870
    001c674dsub rbx, rdi
    001c6750je 0x1c684f
    001c6756shl rdi, 4
    001c675aadd r14, rdi
    001c675dmov r12, [rip+0x4b614]
    001c6764lea r15, [rip+0x4a00d]
    001c676bmov r13, [rip+0x4b3ce]
    001c6772jmp 0x1c6799
    001c6774nop [rax+rax]
    001c6780
    001c6780loc_1c6780:
    001c6780call r13
    001c6783movsxd rax, [rax]
    001c6786cmp rax, 4
    001c678ajne 0x1c6863
    001c6790
    001c6790loc_1c6790:
    001c6790test rbx, rbx
    001c6793je 0x1c684f
    001c6799
    001c6799loc_1c6799:
    001c6799cmp rbx, 1024
    001c67a0mov edx, 1024
    001c67a5cmovb rdx, rbx
    001c67a9mov edi, 2
    001c67aemov rsi, r14
    001c67b1call r12
    001c67b4cmp rax, -1
    001c67b8je 0x1c6780
    001c67batest rax, rax
    001c67bdje 0x1c6852
    001c67c3mov rdx, rbx
    001c67c6shl rdx, 4
    001c67caxor esi, esi
    001c67ccxor edi, edi
    001c67cemov rcx, rax
    001c67d1nop [rax+rax]
    001c67e0
    001c67e0loc_1c67e0:
    001c67e0sub rcx, [r14+rsi+8]
    001c67e5jb 0x1c6800
    001c67e7inc rdi
    001c67eaadd rsi, 16
    001c67eemov rax, rcx
    001c67f1cmp rdx, rsi
    001c67f4jne 0x1c67e0
    001c67f6jmp 0x1c6803
    001c67f8nop [rax+rax]
    001c6800
    001c6800loc_1c6800:
    001c6800mov rcx, rax
    001c6803
    001c6803loc_1c6803:
    001c6803cmp rbx, rdi
    001c6806jb 0x1c6870
    001c6808mov rdx, rdi
    001c680bshl rdx, 4
    001c680flea rax, [r14+rdx]
    001c6813sub rbx, rdi
    001c6816jne 0x1c6830
    001c6818mov r14, rax
    001c681btest rcx, rcx
    001c681eje 0x1c6790
    001c6824jmp 0x1c6881
    001c6826
    001c6826 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001c6830
    001c6830loc_1c6830:
    001c6830mov rsi, [r14+rdx+8]
    001c6835sub rsi, rcx
    001c6838jb 0x1c68b2
    001c683aadd rdx, r14
    001c683dadd rdx, 8
    001c6841mov [rdx], rsi
    001c6844add [rax], rcx
    001c6847mov r14, rax
    001c684ajmp 0x1c6790
    001c684f
    001c684floc_1c684f:
    001c684fxor r15l, r15l
    001c6852
    001c6852loc_1c6852:
    001c6852mov rax, r15
    001c6855add rsp, 48
    001c6859pop rbx
    001c685apop r12
    001c685cpop r13
    001c685epop r14
    001c6860pop r15
    001c6862ret
    001c6863
    001c6863loc_1c6863:
    001c6863shl rax, 32
    001c6867or rax, 2
    001c686bmov r15, rax
    001c686ejmp 0x1c6852
    001c6870
    001c6870loc_1c6870:
    001c6870lea rdx, [rip+0x49e99]
    001c6877mov rsi, rbx
    001c687acall core::slice::index::slice_start_index_len_fail
    001c687fud2
    001c6881
    001c6881loc_1c6881:
    001c6881lea rax, [rip+0x49ea0]
    001c6888mov [rsp], rax
    001c688cmov [rsp+8], 1
    001c6895lea rax, [rip-0x1355a4]
    001c689cmov [rsp+16], rax
    001c68a1xorps x0, x0
    001c68a4movups [rsp+24], x0
    001c68a9lea rsi, [rip+0x49e88]
    001c68b0jmp 0x1c68e1
    001c68b2
    001c68b2loc_1c68b2:
    001c68b2lea rax, [rip+0x49e97]
    001c68b9mov [rsp], rax
    001c68bdmov [rsp+8], 1
    001c68c6lea rax, [rip-0x1355d5]
    001c68cdmov [rsp+16], rax
    001c68d2xorps x0, x0
    001c68d5movups [rsp+24], x0
    001c68dalea rsi, [rip+0x49e7f]
    001c68e1
    001c68e1loc_1c68e1:
    001c68e1mov rdi, rsp
    001c68e4call core::panicking::panic_fmt
    001c68e9ud2
    001c6700
    001c68eb
    001c68eb // align 0x10
    001c68f0
    001c68f0std::io::stdio::stdout:
    001c68f0mov eax, [rip+0x4c6ea]
    001c68f6cmp eax, 4
    001c68f9jne 0x1c6900
    001c68ffret
    001c68f0
    001c6900
    001c6900std::sync::once_lock::OnceLock<T>::initialize:
    001c6900mov eax, [rip+0x4c6da]
    001c6906cmp eax, 4
    001c6909jne 0x1c690c
    001c690bret
    001c690c
    001c690cloc_1c690c:
    001c690csub rsp, 40
    001c6910lea rax, [rip+0x4c691]
    001c6917mov [rsp+24], rax
    001c691clea rax, [rsp+15]
    001c6921mov [rsp+32], rax
    001c6926lea rax, [rsp+24]
    001c692bmov [rsp+16], rax
    001c6930lea rdi, [rsp+16]
    001c6935call std::sys_common::once::futex::Once::call
    001c693aadd rsp, 40
    001c693eret
    001c6900
    001c693f
    001c693f // align 0x10
    001c6940
    001c6940std::sys_common::once::futex::Once::call:
    001c6940push rbp
    001c6941push r15
    001c6943push r14
    001c6945push r13
    001c6947push r12
    001c6949push rbx
    001c694asub rsp, 72
    001c694emov [rsp+64], rdi
    001c6953mov eax, [rip+0x4c687]
    001c6959lea r15, [rsp+24]
    001c695elea r12, [rip-0x1866c5]
    001c6965mov ebp, 2
    001c696alea r14, [rip+0x4c66f]
    001c6971mov rbx, [rip+0x4b230]
    001c6978mov r13, [rip+0x4b1c1]
    001c697fjmp 0x1c6996
    001c6981nop [rax+rax]
    001c6990
    001c6990loc_1c6990:
    001c6990mov eax, [rip+0x4c64a]
    001c6996
    001c6996loc_1c6996:
    001c6996cmp eax, 4
    001c6999ja 0x1c6ad9
    001c699fmov ecx, eax
    001c69a1movsxd rcx, [r12+4*rcx]
    001c69a5add rcx, r12
    001c69a8jmp rcx
    001c69aalock cmpxchg [rip+0x4c62e], ebp
    001c69b2jne 0x1c6996
    001c69b4jmp 0x1c6a2d
    001c69b6nop [rax+rax]
    001c69c0mov eax, 2
    001c69c5mov ecx, 3
    001c69calock cmpxchg [rip+0x4c60e], ecx
    001c69d2jne 0x1c6996
    001c69d4mov [rsp+16], 0
    001c69ddnop [rax]
    001c69e0
    001c69e0loc_1c69e0:
    001c69e0mov eax, [rip+0x4c5fa]
    001c69e6cmp eax, 3
    001c69e9jne 0x1c6990
    001c69ebmov r8, [rsp+16]
    001c69f0test r8, r8
    001c69f3cmovne r8, r15
    001c69f7mov [rsp], -1
    001c69femov edi, 202
    001c6a03mov rsi, r14
    001c6a06mov edx, 137
    001c6a0bmov ecx, 3
    001c6a10xor r9l, r9l
    001c6a13xor eax, eax
    001c6a15call rbx
    001c6a17test rax, rax
    001c6a1ajns 0x1c6990
    001c6a20call r13
    001c6a23cmp [rax], 4
    001c6a26je 0x1c69e0
    001c6a28jmp 0x1c6990
    001c6a2d
    001c6a2dloc_1c6a2d:
    001c6a2dmov [rsp+16], r14
    001c6a32mov [rsp+24], 1
    001c6a3amov rax, [rsp+64]
    001c6a3fmov rax, [rax]
    001c6a42mov rbx, [rax]
    001c6a45mov [rax], 0
    001c6a4ctest rbx, rbx
    001c6a4fje 0x1c6b13
    001c6a55movzx eax, [rip+0x4c66c]
    001c6a5cmov edi, 1024
    001c6a61call [rip+0x4b0d1]
    001c6a67test rax, rax
    001c6a6aje 0x1c6b2d
    001c6a70xorps x0, x0
    001c6a73movups [rbx], x0
    001c6a76mov [rbx+16], rax
    001c6a7amov [rbx+24], 1024
    001c6a82mov [rbx+32], 0
    001c6a8amov [rbx+40], 0
    001c6a8emov [rbx+48], 0
    001c6a96mov [rsp+24], 4
    001c6a9emov eax, 4
    001c6aa3xchg [rip+0x4c537], eax
    001c6aa9cmp eax, 3
    001c6aacjne 0x1c6aca
    001c6aaemov rsi, [rsp+16]
    001c6ab3mov edi, 202
    001c6ab8mov edx, 129
    001c6abdmov ecx, 0x7fffffff
    001c6ac2xor eax, eax
    001c6ac4call [rip+0x4b0de]
    001c6aca
    001c6acaloc_1c6aca:
    001c6acaadd rsp, 72
    001c6acepop rbx
    001c6acfpop r12
    001c6ad1pop r13
    001c6ad3pop r14
    001c6ad5pop r15
    001c6ad7pop rbp
    001c6ad8ret
    001c6ad9
    001c6ad9loc_1c6ad9:
    001c6ad9lea rax, [rip+0x4a680]
    001c6ae0mov [rsp+16], rax
    001c6ae5mov [rsp+24], 1
    001c6aeelea rax, [rsp+8]
    001c6af3mov [rsp+32], rax
    001c6af8xorps x0, x0
    001c6afbmovups [rsp+40], x0
    001c6b00lea rsi, [rip+0x49e51]
    001c6b07lea rdi, [rsp+16]
    001c6b0ccall core::panicking::panic_fmt
    001c6b11ud2
    001c6b13
    001c6b13loc_1c6b13:
    001c6b13lea rdi, [rip-0x135b1c]
    001c6b1alea rdx, [rip+0x49e4f]
    001c6b21mov esi, 43
    001c6b26call core::panicking::panic
    001c6b2bjmp 0x1c6b3c
    001c6b2d
    001c6b2dloc_1c6b2d:
    001c6b2dmov edi, 1
    001c6b32mov esi, 1024
    001c6b37call alloc::alloc::handle_alloc_error
    001c6b3c
    001c6b3cloc_1c6b3c:
    001c6b3cud2
    001c6b3emov rbx, rax
    001c6b41lea rdi, [rsp+16]
    001c6b46call core::ptr::drop_in_place<std::sys_common::once::futex::CompletionGuard>
    001c6b4bmov rdi, rbx
    001c6b4ecall _Unwind_Resume
    001c6b53ud2
    001c6940
    001c6b55
    001c6b55 // align 0x10
    001c6b60
    001c6b60_<std::io::stdio::Stdout as std::io::Write>::write:
    001c6b60push rbp
    001c6b61push r15
    001c6b63push r14
    001c6b65push r13
    001c6b67push r12
    001c6b69push rbx
    001c6b6asub rsp, 24
    001c6b6emov r12, rcx
    001c6b71mov r15, rdx
    001c6b74mov r14, rdi
    001c6b77mov rbx, [rsi]
    001c6b7amov rax, [rbx]
    001c6b7dmov rcx, [0x0]
    001c6b86lea rcx, [rcx-95]
    001c6b8dcmp rax, rcx
    001c6b90jne 0x1c6ba2
    001c6b92mov eax, [rbx+52]
    001c6b95inc eax
    001c6b97je 0x1c6e4a
    001c6b9dmov [rbx+52], eax
    001c6ba0jmp 0x1c6bce
    001c6ba2
    001c6ba2loc_1c6ba2:
    001c6ba2mov ecx, 1
    001c6ba7xor eax, eax
    001c6ba9lock cmpxchg [rbx+48], ecx
    001c6baejne 0x1c6d85
    001c6bb4
    001c6bb4loc_1c6bb4:
    001c6bb4mov rax, [0x0]
    001c6bbdlea rax, [rax-95]
    001c6bc4mov [rbx], rax
    001c6bc7mov [rbx+52], 1
    001c6bce
    001c6bceloc_1c6bce:
    001c6bcecmp [rbx+8], 0
    001c6bd3jne 0x1c6e3c
    001c6bd9lea rax, [rbx+8]
    001c6bddmov [rsp+16], rax
    001c6be2mov [rbx+8], -1
    001c6bealea r13, [rbx+16]
    001c6beetest r12, r12
    001c6bf1je 0x1c6ce9
    001c6bf7mov rdi, r15
    001c6bfamov esi, 10
    001c6bffmov rdx, r12
    001c6c02call [rip+0x4b178]
    001c6c08test rax, rax
    001c6c0bje 0x1c6ce9
    001c6c11mov rbp, rax
    001c6c14mov rdi, r13
    001c6c17call std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c6c1ctest rax, rax
    001c6c1fjne 0x1c6d0a
    001c6c25sub rbp, r15
    001c6c28inc rbp
    001c6c2bcmp rbp, r12
    001c6c2eja 0x1c6e64
    001c6c34mov rdx, 0x7fffffffffffffff
    001c6c3ecmp rbp, rdx
    001c6c41cmovb rdx, rbp
    001c6c45mov edi, 1
    001c6c4amov rsi, r15
    001c6c4dcall [rip+0x4b0ad]
    001c6c53mov rdi, rax
    001c6c56cmp rax, -1
    001c6c5ajne 0x1c6c72
    001c6c5ccall [rip+0x4aede]
    001c6c62movsxd rax, [rax]
    001c6c65mov rdi, rbp
    001c6c68cmp rax, 9
    001c6c6cjne 0x1c6d93
    001c6c72
    001c6c72loc_1c6c72:
    001c6c72test rdi, rdi
    001c6c75je 0x1c6d67
    001c6c7bsub rbp, rdi
    001c6c7emov [rsp+8], rdi
    001c6c83jbe 0x1c6d70
    001c6c89mov r13, [rbx+24]
    001c6c8dcmp rbp, r13
    001c6c90jbe 0x1c6da0
    001c6c96sub r12, rdi
    001c6c99cmp r13, r12
    001c6c9cja 0x1c6e89
    001c6ca2add r15, rdi
    001c6ca5test r13, r13
    001c6ca8je 0x1c6da5
    001c6caemov rdi, r15
    001c6cb1mov esi, 10
    001c6cb6mov rdx, r13
    001c6cb9call [rip+0x4b0c1]
    001c6cbftest rax, rax
    001c6cc2je 0x1c6dac
    001c6cc8mov rbp, rax
    001c6ccbsub rbp, r15
    001c6cceinc rbp
    001c6cd1cmp rbp, r13
    001c6cd4jbe 0x1c6daf
    001c6cdalea rdx, [rip+0x497c7]
    001c6ce1mov r12, r13
    001c6ce4jmp 0x1c6e6b
    001c6ce9
    001c6ce9loc_1c6ce9:
    001c6ce9mov rbp, [rbx+32]
    001c6cedtest rbp, rbp
    001c6cf0je 0x1c6d1a
    001c6cf2mov rax, [r13]
    001c6cf6cmp [rbp+rax-1], 10
    001c6cfbjne 0x1c6d22
    001c6cfdmov rdi, r13
    001c6d00call std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c6d05test rax, rax
    001c6d08je 0x1c6d1e
    001c6d0a
    001c6d0aloc_1c6d0a:
    001c6d0amov [r14+8], rax
    001c6d0emov [r14], 1
    001c6d15jmp 0x1c6de7
    001c6d1a
    001c6d1aloc_1c6d1a:
    001c6d1axor ebp, ebp
    001c6d1cjmp 0x1c6d22
    001c6d1e
    001c6d1eloc_1c6d1e:
    001c6d1emov rbp, [rbx+32]
    001c6d22
    001c6d22loc_1c6d22:
    001c6d22mov rax, [rbx+24]
    001c6d26sub rax, rbp
    001c6d29cmp rax, r12
    001c6d2cjbe 0x1c6d51
    001c6d2emov rdi, [rbx+16]
    001c6d32add rdi, rbp
    001c6d35mov rsi, r15
    001c6d38mov rdx, r12
    001c6d3bcall [rip+0x4addf]
    001c6d41add rbp, r12
    001c6d44mov [rbx+32], rbp
    001c6d48mov [r14+8], r12
    001c6d4cjmp 0x1c6de0
    001c6d51
    001c6d51loc_1c6d51:
    001c6d51mov rdi, r14
    001c6d54mov rsi, r13
    001c6d57mov rdx, r15
    001c6d5amov rcx, r12
    001c6d5dcall std::io::buffered::bufwriter::BufWriter<W>::write_cold
    001c6d62jmp 0x1c6de7
    001c6d67
    001c6d67loc_1c6d67:
    001c6d67xorps x0, x0
    001c6d6amovups [r14], x0
    001c6d6ejmp 0x1c6de7
    001c6d70
    001c6d70loc_1c6d70:
    001c6d70mov rbp, r12
    001c6d73sub rbp, rdi
    001c6d76jb 0x1c6e78
    001c6d7cadd r15, rdi
    001c6d7fmov r13, [rbx+24]
    001c6d83jmp 0x1c6daf
    001c6d85
    001c6d85loc_1c6d85:
    001c6d85lea rdi, [rbx+48]
    001c6d89call std::sys::unix::locks::futex_mutex::Mutex::lock_contended
    001c6d8ejmp 0x1c6bb4
    001c6d93
    001c6d93loc_1c6d93:
    001c6d93shl rax, 32
    001c6d97or rax, 2
    001c6d9bjmp 0x1c6d0a
    001c6da0
    001c6da0loc_1c6da0:
    001c6da0add r15, rdi
    001c6da3jmp 0x1c6daf
    001c6da5
    001c6da5loc_1c6da5:
    001c6da5xor r13l, r13l
    001c6da8xor ebp, ebp
    001c6daajmp 0x1c6daf
    001c6dac
    001c6dacloc_1c6dac:
    001c6dacmov rbp, r13
    001c6daf
    001c6dafloc_1c6daf:
    001c6dafmov r12, [rbx+32]
    001c6db3sub r13, r12
    001c6db6cmp r13, rbp
    001c6db9cmovae r13, rbp
    001c6dbdmov rdi, [rbx+16]
    001c6dc1add rdi, r12
    001c6dc4mov rsi, r15
    001c6dc7mov rdx, r13
    001c6dcacall [rip+0x4ad50]
    001c6dd0add r12, r13
    001c6dd3mov [rbx+32], r12
    001c6dd7add r13, [rsp+8]
    001c6ddcmov [r14+8], r13
    001c6de0
    001c6de0loc_1c6de0:
    001c6de0mov [r14], 0
    001c6de7
    001c6de7loc_1c6de7:
    001c6de7inc [rbx+8]
    001c6debdec [rbx+52]
    001c6deejne 0x1c6e2d
    001c6df0mov [rbx], 0
    001c6df7xor eax, eax
    001c6df9xchg [rbx+48], eax
    001c6dfccmp eax, 2
    001c6dffjne 0x1c6e2d
    001c6e01add rbx, 48
    001c6e05mov edi, 202
    001c6e0amov rsi, rbx
    001c6e0dmov edx, 129
    001c6e12mov ecx, 1
    001c6e17xor eax, eax
    001c6e19add rsp, 24
    001c6e1dpop rbx
    001c6e1epop r12
    001c6e20pop r13
    001c6e22pop r14
    001c6e24pop r15
    001c6e26pop rbp
    001c6e27jmp [rip+0x4ad7b]
    001c6e2d
    001c6e2dloc_1c6e2d:
    001c6e2dadd rsp, 24
    001c6e31pop rbx
    001c6e32pop r12
    001c6e34pop r13
    001c6e36pop r14
    001c6e38pop r15
    001c6e3apop rbp
    001c6e3bret
    001c6e3c
    001c6e3cloc_1c6e3c:
    001c6e3clea rdi, [rip+0x49775]
    001c6e43call core::cell::panic_already_borrowed
    001c6e48jmp 0x1c6e87
    001c6e4a
    001c6e4aloc_1c6e4a:
    001c6e4alea rdi, [rip-0x136c67]
    001c6e51lea rdx, [rip+0x49b30]
    001c6e58mov esi, 38
    001c6e5dcall core::option::expect_failed
    001c6e62ud2
    001c6e64
    001c6e64loc_1c6e64:
    001c6e64lea rdx, [rip+0x4960d]
    001c6e6b
    001c6e6bloc_1c6e6b:
    001c6e6bmov rdi, rbp
    001c6e6emov rsi, r12
    001c6e71call core::slice::index::slice_end_index_len_fail
    001c6e76jmp 0x1c6e87
    001c6e78
    001c6e78loc_1c6e78:
    001c6e78lea rdx, [rip+0x49641]
    001c6e7fmov rsi, r12
    001c6e82call core::slice::index::slice_start_index_len_fail
    001c6e87
    001c6e87loc_1c6e87:
    001c6e87ud2
    001c6e89
    001c6e89loc_1c6e89:
    001c6e89lea rdx, [rip+0x49600]
    001c6e90mov rbp, r13
    001c6e93jmp 0x1c6e6b
    001c6e95mov r14, rax
    001c6e98jmp 0x1c6ea7
    001c6e9amov r14, rax
    001c6e9dmov rdi, [rsp+16]
    001c6ea2call core::ptr::drop_in_place<core::cell::RefMut<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>
    001c6ea7
    001c6ea7loc_1c6ea7:
    001c6ea7mov rdi, rbx
    001c6eaacall core::ptr::drop_in_place<std::sync::remutex::ReentrantMutexGuard<core::cell::RefCell<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>>
    001c6eafmov rdi, r14
    001c6eb2call _Unwind_Resume
    001c6eb7ud2
    001c6b60
    001c6eb9
    001c6eb9 // align 0x10
    001c6ec0
    001c6ec0std::io::buffered::bufwriter::BufWriter<W>::write_cold:
    001c6ec0push r15
    001c6ec2push r14
    001c6ec4push r13
    001c6ec6push r12
    001c6ec8push rbx
    001c6ec9mov r15, rcx
    001c6eccmov r12, rdx
    001c6ecfmov r14, rsi
    001c6ed2mov rbx, rdi
    001c6ed5mov rax, [rsi+8]
    001c6ed9mov rcx, rax
    001c6edcsub rcx, [rsi+16]
    001c6ee0cmp rcx, r15
    001c6ee3jae 0x1c6f06
    001c6ee5mov rdi, r14
    001c6ee8call std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c6eedtest rax, rax
    001c6ef0je 0x1c6f02
    001c6ef2mov [rbx+8], rax
    001c6ef6mov [rbx], 1
    001c6efdjmp 0x1c6f91
    001c6f02
    001c6f02loc_1c6f02:
    001c6f02mov rax, [r14+8]
    001c6f06
    001c6f06loc_1c6f06:
    001c6f06cmp rax, r15
    001c6f09jbe 0x1c6f35
    001c6f0bmov r13, [r14+16]
    001c6f0fmov rdi, [r14]
    001c6f12add rdi, r13
    001c6f15mov rsi, r12
    001c6f18mov rdx, r15
    001c6f1bcall [rip+0x4abff]
    001c6f21add r13, r15
    001c6f24mov [r14+16], r13
    001c6f28mov [rbx+8], r15
    001c6f2cmov [rbx], 0
    001c6f33jmp 0x1c6f91
    001c6f35
    001c6f35loc_1c6f35:
    001c6f35mov [r14+24], 1
    001c6f3amov rdx, 0x7fffffffffffffff
    001c6f44cmp r15, rdx
    001c6f47cmovb rdx, r15
    001c6f4bmov edi, 1
    001c6f50mov rsi, r12
    001c6f53call [rip+0x4ada7]
    001c6f59cmp rax, -1
    001c6f5dje 0x1c6f63
    001c6f5fxor ecx, ecx
    001c6f61jmp 0x1c6f85
    001c6f63
    001c6f63loc_1c6f63:
    001c6f63call [rip+0x4abd7]
    001c6f69mov eax, [rax]
    001c6f6bmov rdx, rax
    001c6f6eshl rdx, 32
    001c6f72or rdx, 2
    001c6f76xor ecx, ecx
    001c6f78cmp eax, 9
    001c6f7bsetne cl
    001c6f7ecmovne r15, rdx
    001c6f82mov rax, r15
    001c6f85
    001c6f85loc_1c6f85:
    001c6f85mov [r14+24], 0
    001c6f8amov [rbx], rcx
    001c6f8dmov [rbx+8], rax
    001c6f91
    001c6f91loc_1c6f91:
    001c6f91pop rbx
    001c6f92pop r12
    001c6f94pop r13
    001c6f96pop r14
    001c6f98pop r15
    001c6f9aret
    001c6ec0
    001c6f9b
    001c6f9b // align 0x10
    001c6fa0
    001c6fa0_<std::io::stdio::Stdout as std::io::Write>::flush:
    001c6fa0push r15
    001c6fa2push r14
    001c6fa4push rbx
    001c6fa5mov rbx, [rdi]
    001c6fa8mov rax, [rbx]
    001c6fabmov rcx, [0x0]
    001c6fb4lea rcx, [rcx-95]
    001c6fbbcmp rax, rcx
    001c6fbejne 0x1c6fd0
    001c6fc0mov eax, [rbx+52]
    001c6fc3inc eax
    001c6fc5je 0x1c7074
    001c6fcbmov [rbx+52], eax
    001c6fcejmp 0x1c6ff8
    001c6fd0
    001c6fd0loc_1c6fd0:
    001c6fd0mov ecx, 1
    001c6fd5xor eax, eax
    001c6fd7lock cmpxchg [rbx+48], ecx
    001c6fdcjne 0x1c7058
    001c6fde
    001c6fdeloc_1c6fde:
    001c6fdemov rax, [0x0]
    001c6fe7lea rax, [rax-95]
    001c6feemov [rbx], rax
    001c6ff1mov [rbx+52], 1
    001c6ff8
    001c6ff8loc_1c6ff8:
    001c6ff8cmp [rbx+8], 0
    001c6ffdjne 0x1c7066
    001c6ffflea r15, [rbx+8]
    001c7003mov [rbx+8], -1
    001c700blea rdi, [rbx+16]
    001c700fcall std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c7014mov r14, rax
    001c7017inc [rbx+8]
    001c701bdec [rbx+52]
    001c701ejne 0x1c704f
    001c7020mov [rbx], 0
    001c7027xor eax, eax
    001c7029xchg [rbx+48], eax
    001c702ccmp eax, 2
    001c702fjne 0x1c704f
    001c7031add rbx, 48
    001c7035mov edi, 202
    001c703amov rsi, rbx
    001c703dmov edx, 129
    001c7042mov ecx, 1
    001c7047xor eax, eax
    001c7049call [rip+0x4ab59]
    001c704f
    001c704floc_1c704f:
    001c704fmov rax, r14
    001c7052pop rbx
    001c7053pop r14
    001c7055pop r15
    001c7057ret
    001c7058
    001c7058loc_1c7058:
    001c7058lea rdi, [rbx+48]
    001c705ccall std::sys::unix::locks::futex_mutex::Mutex::lock_contended
    001c7061jmp 0x1c6fde
    001c7066
    001c7066loc_1c7066:
    001c7066lea rdi, [rip+0x49563]
    001c706dcall core::cell::panic_already_borrowed
    001c7072ud2
    001c7074
    001c7074loc_1c7074:
    001c7074lea rdi, [rip-0x136e91]
    001c707blea rdx, [rip+0x49906]
    001c7082mov esi, 38
    001c7087call core::option::expect_failed
    001c708cud2
    001c708emov r14, rax
    001c7091mov rdi, r15
    001c7094call core::ptr::drop_in_place<core::cell::RefMut<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>
    001c7099jmp 0x1c709e
    001c709bmov r14, rax
    001c709e
    001c709eloc_1c709e:
    001c709emov rdi, rbx
    001c70a1call core::ptr::drop_in_place<std::sync::remutex::ReentrantMutexGuard<core::cell::RefCell<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>>
    001c70a6mov rdi, r14
    001c70a9call _Unwind_Resume
    001c70aeud2
    001c6fa0
    001c70b0
    001c70b0_<std::io::stdio::StdoutLock as std::io::Write>::write_all:
    001c70b0push rbp
    001c70b1push r15
    001c70b3push r14
    001c70b5push r13
    001c70b7push r12
    001c70b9push rbx
    001c70basub rsp, 24
    001c70becmp [rdi+8], 0
    001c70c3jne 0x1c72da
    001c70c9mov r14, rdx
    001c70ccmov r13, rsi
    001c70cfmov r12, rdi
    001c70d2lea rax, [rdi+8]
    001c70d6mov [rsp+16], rax
    001c70dbmov [rdi+8], -1
    001c70e3lea rbp, [rdi+16]
    001c70e7test rdx, rdx
    001c70eaje 0x1c7159
    001c70ecmov rdi, r13
    001c70efmov esi, 10
    001c70f4mov rdx, r14
    001c70f7call [rip+0x4ac83]
    001c70fdtest rax, rax
    001c7100je 0x1c7159
    001c7102mov rbx, rax
    001c7105sub rbx, r13
    001c7108inc rbx
    001c710bsub r14, rbx
    001c710ejb 0x1c72fc
    001c7114mov r15, [r12+32]
    001c7119test r15, r15
    001c711cmov [rsp+8], r13
    001c7121mov [rsp], rbp
    001c7125je 0x1c71a4
    001c7127mov rax, [r12+24]
    001c712csub rax, r15
    001c712fcmp rax, rbx
    001c7132jbe 0x1c7223
    001c7138mov rdi, [r12+16]
    001c713dadd rdi, r15
    001c7140mov rsi, r13
    001c7143mov rdx, rbx
    001c7146call [rip+0x4a9d4]
    001c714cadd r15, rbx
    001c714fmov [r12+32], r15
    001c7154jmp 0x1c7236
    001c7159
    001c7159loc_1c7159:
    001c7159mov rbx, [r12+32]
    001c715etest rbx, rbx
    001c7161je 0x1c718c
    001c7163mov rax, [rbp]
    001c7167cmp [rbx+rax-1], 10
    001c716cjne 0x1c718e
    001c716emov r15, rbp
    001c7171mov rdi, rbp
    001c7174call std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c7179test rax, rax
    001c717cjne 0x1c7290
    001c7182mov rbx, [r12+32]
    001c7187mov rbp, r15
    001c718ajmp 0x1c718e
    001c718c
    001c718cloc_1c718c:
    001c718cxor ebx, ebx
    001c718e
    001c718eloc_1c718e:
    001c718emov rax, [r12+24]
    001c7193sub rax, rbx
    001c7196cmp rax, r14
    001c7199ja 0x1c725e
    001c719fjmp 0x1c7282
    001c71a4
    001c71a4loc_1c71a4:
    001c71a4test rbx, rbx
    001c71a7je 0x1c7244
    001c71admov r13, 0x7fffffffffffffff
    001c71b7mov r15, [rsp+8]
    001c71bcmov rbp, rbx
    001c71bfjmp 0x1c71e8
    001c71c1
    001c71c1 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
    001c71d0
    001c71d0loc_1c71d0:
    001c71d0call [rip+0x4a96a]
    001c71d6movsxd rax, [rax]
    001c71d9cmp rax, 4
    001c71ddjne 0x1c72b0
    001c71e3
    001c71e3loc_1c71e3:
    001c71e3test rbp, rbp
    001c71e6je 0x1c7244
    001c71e8
    001c71e8loc_1c71e8:
    001c71e8cmp rbp, r13
    001c71ebmov rdx, r13
    001c71eecmovb rdx, rbp
    001c71f2mov edi, 1
    001c71f7mov rsi, r15
    001c71facall [rip+0x4ab00]
    001c7200cmp rax, -1
    001c7204je 0x1c71d0
    001c7206test rax, rax
    001c7209je 0x1c72a7
    001c720fmov rcx, rbp
    001c7212sub rcx, rax
    001c7215jb 0x1c72e8
    001c721badd r15, rax
    001c721emov rbp, rcx
    001c7221jmp 0x1c71e3
    001c7223
    001c7223loc_1c7223:
    001c7223mov rdi, rbp
    001c7226mov rsi, r13
    001c7229mov rdx, rbx
    001c722ccall std::io::buffered::bufwriter::BufWriter<W>::write_all_cold
    001c7231test rax, rax
    001c7234jne 0x1c7290
    001c7236
    001c7236loc_1c7236:
    001c7236mov rdi, [rsp]
    001c723acall std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c723ftest rax, rax
    001c7242jne 0x1c7290
    001c7244
    001c7244loc_1c7244:
    001c7244mov r13, [rsp+8]
    001c7249add r13, rbx
    001c724cmov rax, [r12+24]
    001c7251mov rbx, [r12+32]
    001c7256sub rax, rbx
    001c7259cmp rax, r14
    001c725cjbe 0x1c727e
    001c725e
    001c725eloc_1c725e:
    001c725emov rdi, [r12+16]
    001c7263add rdi, rbx
    001c7266mov rsi, r13
    001c7269mov rdx, r14
    001c726ccall [rip+0x4a8ae]
    001c7272add rbx, r14
    001c7275mov [r12+32], rbx
    001c727axor eax, eax
    001c727cjmp 0x1c7290
    001c727e
    001c727eloc_1c727e:
    001c727emov rbp, [rsp]
    001c7282
    001c7282loc_1c7282:
    001c7282mov rdi, rbp
    001c7285mov rsi, r13
    001c7288mov rdx, r14
    001c728bcall std::io::buffered::bufwriter::BufWriter<W>::write_all_cold
    001c7290
    001c7290loc_1c7290:
    001c7290mov rcx, [rsp+16]
    001c7295inc [rcx]
    001c7298add rsp, 24
    001c729cpop rbx
    001c729dpop r12
    001c729fpop r13
    001c72a1pop r14
    001c72a3pop r15
    001c72a5pop rbp
    001c72a6ret
    001c72a7
    001c72a7loc_1c72a7:
    001c72a7lea rax, [rip+0x494ca]
    001c72aejmp 0x1c72b8
    001c72b0
    001c72b0loc_1c72b0:
    001c72b0shl rax, 32
    001c72b4or rax, 2
    001c72b8
    001c72b8loc_1c72b8:
    001c72b8mov ecx, eax
    001c72baand ecx, 3
    001c72bdcmp rcx, 2
    001c72c1jb 0x1c7290
    001c72c3cmp ecx, 2
    001c72c6jne 0x1c7290
    001c72c8mov rcx, rax
    001c72cbshr rcx, 32
    001c72cfcmp ecx, 9
    001c72d2je 0x1c7244
    001c72d8jmp 0x1c7290
    001c72da
    001c72daloc_1c72da:
    001c72dalea rdi, [rip+0x49307]
    001c72e1call core::cell::panic_already_borrowed
    001c72e6ud2
    001c72e8
    001c72e8loc_1c72e8:
    001c72e8lea rdx, [rip+0x494a1]
    001c72efmov rdi, rax
    001c72f2mov rsi, rbp
    001c72f5call core::slice::index::slice_start_index_len_fail
    001c72fajmp 0x1c7314
    001c72fc
    001c72fcloc_1c72fc:
    001c72fclea rdi, [rip-0x137c4a]
    001c7303lea rdx, [rip+0x491ce]
    001c730amov esi, 35
    001c730fcall core::panicking::panic
    001c7314
    001c7314loc_1c7314:
    001c7314ud2
    001c7316mov rbx, rax
    001c7319mov rdi, [rsp+16]
    001c731ecall core::ptr::drop_in_place<core::cell::RefMut<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>
    001c7323mov rdi, rbx
    001c7326call _Unwind_Resume
    001c732bud2
    001c70b0
    001c732d
    001c732d // align 0x10
    001c7330
    001c7330std::io::buffered::bufwriter::BufWriter<W>::write_all_cold:
    001c7330push rbp
    001c7331push r15
    001c7333push r14
    001c7335push r13
    001c7337push r12
    001c7339push rbx
    001c733apush rax
    001c733bmov r14, rdx
    001c733emov r15, rsi
    001c7341mov rbx, rdi
    001c7344mov rax, [rdi+8]
    001c7348mov rcx, rax
    001c734bsub rcx, [rdi+16]
    001c734fcmp rcx, rdx
    001c7352jae 0x1c7369
    001c7354mov rdi, rbx
    001c7357call std::io::buffered::bufwriter::BufWriter<W>::flush_buf
    001c735ctest rax, rax
    001c735fjne 0x1c7409
    001c7365mov rax, [rbx+8]
    001c7369
    001c7369loc_1c7369:
    001c7369cmp rax, r14
    001c736cjbe 0x1c738f
    001c736emov r12, [rbx+16]
    001c7372mov rdi, [rbx]
    001c7375add rdi, r12
    001c7378mov rsi, r15
    001c737bmov rdx, r14
    001c737ecall [rip+0x4a79c]
    001c7384add r12, r14
    001c7387mov [rbx+16], r12
    001c738bxor eax, eax
    001c738djmp 0x1c7409
    001c738f
    001c738floc_1c738f:
    001c738fmov [rbx+24], 1
    001c7393test r14, r14
    001c7396je 0x1c7403
    001c7398mov r12, 0x7fffffffffffffff
    001c73a2mov r13, [rip+0x4a957]
    001c73a9mov rbp, [rip+0x4a790]
    001c73b0jmp 0x1c73d0
    001c73b2
    001c73b2 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 fffff.........
    001c73c0
    001c73c0loc_1c73c0:
    001c73c0call rbp
    001c73c2movsxd rax, [rax]
    001c73c5cmp rax, 4
    001c73c9jne 0x1c7421
    001c73cbtest r14, r14
    001c73ceje 0x1c7403
    001c73d0
    001c73d0loc_1c73d0:
    001c73d0cmp r14, r12
    001c73d3mov rdx, r12
    001c73d6cmovb rdx, r14
    001c73damov edi, 1
    001c73dfmov rsi, r15
    001c73e2call r13
    001c73e5cmp rax, -1
    001c73e9je 0x1c73c0
    001c73ebtest rax, rax
    001c73eeje 0x1c7418
    001c73f0mov rcx, r14
    001c73f3sub rcx, rax
    001c73f6jb 0x1c744b
    001c73f8add r15, rax
    001c73fbmov r14, rcx
    001c73fetest r14, r14
    001c7401jne 0x1c73d0
    001c7403
    001c7403loc_1c7403:
    001c7403xor eax, eax
    001c7405
    001c7405loc_1c7405:
    001c7405mov [rbx+24], 0
    001c7409
    001c7409loc_1c7409:
    001c7409add rsp, 8
    001c740dpop rbx
    001c740epop r12
    001c7410pop r13
    001c7412pop r14
    001c7414pop r15
    001c7416pop rbp
    001c7417ret
    001c7418
    001c7418loc_1c7418:
    001c7418lea rax, [rip+0x49359]
    001c741fjmp 0x1c7429
    001c7421
    001c7421loc_1c7421:
    001c7421shl rax, 32
    001c7425or rax, 2
    001c7429
    001c7429loc_1c7429:
    001c7429mov ecx, eax
    001c742band ecx, 3
    001c742ecmp rcx, 2
    001c7432jb 0x1c7405
    001c7434cmp ecx, 2
    001c7437jne 0x1c7405
    001c7439mov rcx, rax
    001c743cshr rcx, 32
    001c7440xor edx, edx
    001c7442cmp ecx, 9
    001c7445cmove rax, rdx
    001c7449jmp 0x1c7405
    001c744b
    001c744bloc_1c744b:
    001c744blea rdx, [rip+0x4933e]
    001c7452mov rdi, rax
    001c7455mov rsi, r14
    001c7458call core::slice::index::slice_start_index_len_fail
    001c745dud2
    001c7330
    001c745f
    001c745f // align 0x10
    001c7460
    001c7460_<std::io::Write::write_fmt::Adapter<T> as core::fmt::Write>::write_str:
    001c7460push rbp
    001c7461push r15
    001c7463push r14
    001c7465push r13
    001c7467push r12
    001c7469push rbx
    001c746apush rax
    001c746bmov rbx, rdi
    001c746emov rax, [rdi]
    001c7471mov rdi, [rax]
    001c7474call _<std::io::stdio::StdoutLock as std::io::Write>::write_all
    001c7479mov r14, rax
    001c747ctest rax, rax
    001c747fje 0x1c74ce
    001c7481mov rax, [rbx+8]
    001c7485test rax, rax
    001c7488je 0x1c74ca
    001c748amov ecx, eax
    001c748cand ecx, 3
    001c748flea rdx, [rcx-2]
    001c7493cmp rdx, 2
    001c7497jb 0x1c74ca
    001c7499test rcx, rcx
    001c749cje 0x1c74ca
    001c749elea r15, [rax-1]
    001c74a2mov r12, [rax-1]
    001c74a6mov r13, [rax+7]
    001c74aamov rdi, r12
    001c74adcall [r13]
    001c74b1cmp [r13+8], 0
    001c74b6je 0x1c74c1
    001c74b8mov rdi, r12
    001c74bbcall [rip+0x4a637]
    001c74c1
    001c74c1loc_1c74c1:
    001c74c1mov rdi, r15
    001c74c4call [rip+0x4a62e]
    001c74ca
    001c74caloc_1c74ca:
    001c74camov [rbx+8], r14
    001c74ce
    001c74celoc_1c74ce:
    001c74cetest r14, r14
    001c74d1setne al
    001c74d4add rsp, 8
    001c74d8pop rbx
    001c74d9pop r12
    001c74dbpop r13
    001c74ddpop r14
    001c74dfpop r15
    001c74e1pop rbp
    001c74e2ret
    001c74e3mov rbp, rax
    001c74e6mov rdi, r12
    001c74e9mov rsi, r13
    001c74eccall _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c74f1mov rdi, r15
    001c74f4call _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c74f9mov [rbx+8], r14
    001c74fdmov rdi, rbp
    001c7500call _Unwind_Resume
    001c7505ud2
    001c7460
    001c7507
    001c7507 // align 0x10
    001c7510
    001c7510core::fmt::Write::write_char:
    001c7510push rax
    001c7511mov [rsp+4], 0
    001c7519cmp esi, 128
    001c751fjae 0x1c7530
    001c7521mov [rsp+4], sil
    001c7526mov edx, 1
    001c752bjmp 0x1c75c0
    001c7530
    001c7530loc_1c7530:
    001c7530mov eax, esi
    001c7532cmp esi, 2048
    001c7538jae 0x1c7557
    001c753ashr eax, 6
    001c753dor al, 192
    001c753fmov [rsp+4], al
    001c7543and sil, 63
    001c7547or sil, 128
    001c754bmov [rsp+5], sil
    001c7550mov edx, 2
    001c7555jmp 0x1c75c0
    001c7557
    001c7557loc_1c7557:
    001c7557cmp esi, 0x10000
    001c755djae 0x1c7589
    001c755fshr eax, 12
    001c7562or al, 224
    001c7564mov [rsp+4], al
    001c7568mov eax, esi
    001c756ashr eax, 6
    001c756dand al, 63
    001c756for al, 128
    001c7571mov [rsp+5], al
    001c7575and sil, 63
    001c7579or sil, 128
    001c757dmov [rsp+6], sil
    001c7582mov edx, 3
    001c7587jmp 0x1c75c0
    001c7589
    001c7589loc_1c7589:
    001c7589shr eax, 18
    001c758cand al, 7
    001c758eor al, 240
    001c7590mov [rsp+4], al
    001c7594mov eax, esi
    001c7596shr eax, 12
    001c7599and al, 63
    001c759bor al, 128
    001c759dmov [rsp+5], al
    001c75a1mov eax, esi
    001c75a3shr eax, 6
    001c75a6and al, 63
    001c75a8or al, 128
    001c75aamov [rsp+6], al
    001c75aeand sil, 63
    001c75b2or sil, 128
    001c75b6mov [rsp+7], sil
    001c75bbmov edx, 4
    001c75c0
    001c75c0loc_1c75c0:
    001c75c0lea rsi, [rsp+4]
    001c75c5call _<std::io::Write::write_fmt::Adapter<T> as core::fmt::Write>::write_str
    001c75capop rcx
    001c75cbret
    001c7510
    001c75cc
    001c75cc // align 0x10
    001c75d0
    001c75d0core::fmt::Write::write_fmt:
    001c75d0mov rdx, rsi
    001c75d3lea rsi, [rip+0x48c6e]
    001c75dajmp 0x105110
    001c75d0
    001c75df
    001c75df // align 0x10
    001c75e0
    001c75e0_<std::io::stdio::Stderr as std::io::Write>::write:
    001c75e0push r15
    001c75e2push r14
    001c75e4push r13
    001c75e6push r12
    001c75e8push rbx
    001c75e9mov r12, rcx
    001c75ecmov r13, rdx
    001c75efmov r14, rdi
    001c75f2mov rbx, [rsi]
    001c75f5mov rax, [rbx]
    001c75f8mov rcx, [0x0]
    001c7601lea rcx, [rcx-95]
    001c7608cmp rax, rcx
    001c760bjne 0x1c761d
    001c760dmov eax, [rbx+20]
    001c7610inc eax
    001c7612je 0x1c7723
    001c7618mov [rbx+20], eax
    001c761bjmp 0x1c7649
    001c761d
    001c761dloc_1c761d:
    001c761dmov ecx, 1
    001c7622xor eax, eax
    001c7624lock cmpxchg [rbx+16], ecx
    001c7629jne 0x1c7707
    001c762f
    001c762floc_1c762f:
    001c762fmov rax, [0x0]
    001c7638lea rax, [rax-95]
    001c763fmov [rbx], rax
    001c7642mov [rbx+20], 1
    001c7649
    001c7649loc_1c7649:
    001c7649cmp [rbx+8], 0
    001c764ejne 0x1c7715
    001c7654mov [rbx+8], -1
    001c765cmov r15, rbx
    001c765fadd r15, 16
    001c7663je 0x1c7715
    001c7669mov rdx, 0x7fffffffffffffff
    001c7673cmp r12, rdx
    001c7676cmovb rdx, r12
    001c767amov edi, 2
    001c767fmov rsi, r13
    001c7682call [rip+0x4a678]
    001c7688cmp rax, -1
    001c768cje 0x1c7692
    001c768exor ecx, ecx
    001c7690jmp 0x1c76b9
    001c7692
    001c7692loc_1c7692:
    001c7692call [rip+0x4a4a8]
    001c7698mov eax, [rax]
    001c769acmp eax, 9
    001c769djne 0x1c76ac
    001c769fmov [r14+8], r12
    001c76a3mov [r14], 0
    001c76aajmp 0x1c76c0
    001c76ac
    001c76acloc_1c76ac:
    001c76acshl rax, 32
    001c76b0or rax, 2
    001c76b4mov ecx, 1
    001c76b9
    001c76b9loc_1c76b9:
    001c76b9mov [r14], rcx
    001c76bcmov [r14+8], rax
    001c76c0
    001c76c0loc_1c76c0:
    001c76c0inc [rbx+8]
    001c76c4dec [rbx+20]
    001c76c7jne 0x1c76fd
    001c76c9mov [rbx], 0
    001c76d0xor eax, eax
    001c76d2xchg [rbx+16], eax
    001c76d5cmp eax, 2
    001c76d8jne 0x1c76fd
    001c76damov edi, 202
    001c76dfmov rsi, r15
    001c76e2mov edx, 129
    001c76e7mov ecx, 1
    001c76ecxor eax, eax
    001c76eepop rbx
    001c76efpop r12
    001c76f1pop r13
    001c76f3pop r14
    001c76f5pop r15
    001c76f7jmp [rip+0x4a4ab]
    001c76fd
    001c76fdloc_1c76fd:
    001c76fdpop rbx
    001c76fepop r12
    001c7700pop r13
    001c7702pop r14
    001c7704pop r15
    001c7706ret
    001c7707
    001c7707loc_1c7707:
    001c7707lea rdi, [rbx+16]
    001c770bcall std::sys::unix::locks::futex_mutex::Mutex::lock_contended
    001c7710jmp 0x1c762f
    001c7715
    001c7715loc_1c7715:
    001c7715lea rdi, [rip+0x48ee4]
    001c771ccall core::cell::panic_already_borrowed
    001c7721ud2
    001c7723
    001c7723loc_1c7723:
    001c7723lea rdi, [rip-0x137540]
    001c772alea rdx, [rip+0x49257]
    001c7731mov esi, 38
    001c7736call core::option::expect_failed
    001c773bud2
    001c773dmov r14, rax
    001c7740mov rdi, rbx
    001c7743call core::ptr::drop_in_place<std::io::stdio::StderrLock>
    001c7748mov rdi, r14
    001c774bcall _Unwind_Resume
    001c7750ud2
    001c75e0
    001c7752
    001c7752 // align 0x10
    001c7760
    001c7760core::ptr::drop_in_place<std::io::stdio::StderrLock>:
    001c7760dec [rdi+20]
    001c7763jne 0x1c7794
    001c7765mov rsi, rdi
    001c7768mov [rdi], 0
    001c776fxor eax, eax
    001c7771xchg [rdi+16], eax
    001c7774cmp eax, 2
    001c7777jne 0x1c7794
    001c7779add rsi, 16
    001c777dmov edi, 202
    001c7782mov edx, 129
    001c7787mov ecx, 1
    001c778cxor eax, eax
    001c778ejmp [rip+0x4a414]
    001c7794
    001c7794loc_1c7794:
    001c7794ret
    001c7760
    001c7795
    001c7795 // align 0x10
    001c77a0
    001c77a0_<std::io::stdio::Stderr as std::io::Write>::flush:
    001c77a0push rbp
    001c77a1push r14
    001c77a3push rbx
    001c77a4mov rbx, [rdi]
    001c77a7mov rax, [rbx]
    001c77aamov rcx, [0x0]
    001c77b3lea rcx, [rcx-95]
    001c77bacmp rax, rcx
    001c77bdjne 0x1c77d1
    001c77bfmov ebp, [rbx+20]
    001c77c2inc ebp
    001c77c4je 0x1c786c
    001c77camov [rbx+20], ebp
    001c77cddec ebp
    001c77cfjmp 0x1c77fb
    001c77d1
    001c77d1loc_1c77d1:
    001c77d1xor ebp, ebp
    001c77d3mov ecx, 1
    001c77d8xor eax, eax
    001c77dalock cmpxchg [rbx+16], ecx
    001c77dfjne 0x1c7853
    001c77e1
    001c77e1loc_1c77e1:
    001c77e1mov rax, [0x0]
    001c77ealea rax, [rax-95]
    001c77f1mov [rbx], rax
    001c77f4mov [rbx+20], 1
    001c77fb
    001c77fbloc_1c77fb:
    001c77fbcmp [rbx+8], 0
    001c7800jne 0x1c785e
    001c7802mov [rbx+8], -1
    001c780amov rsi, rbx
    001c780dadd rsi, 16
    001c7811je 0x1c785e
    001c7813mov [rbx+8], 0
    001c781bmov [rbx+20], ebp
    001c781etest ebp, ebp
    001c7820jne 0x1c784e
    001c7822mov [rbx], 0
    001c7829xor eax, eax
    001c782bxchg [rbx+16], eax
    001c782ecmp eax, 2
    001c7831jne 0x1c784e
    001c7833mov edi, 202
    001c7838mov edx, 129
    001c783dmov ecx, 1
    001c7842xor eax, eax
    001c7844pop rbx
    001c7845pop r14
    001c7847pop rbp
    001c7848jmp [rip+0x4a35a]
    001c784e
    001c784eloc_1c784e:
    001c784epop rbx
    001c784fpop r14
    001c7851pop rbp
    001c7852ret
    001c7853
    001c7853loc_1c7853:
    001c7853lea rdi, [rbx+16]
    001c7857call std::sys::unix::locks::futex_mutex::Mutex::lock_contended
    001c785cjmp 0x1c77e1
    001c785e
    001c785eloc_1c785e:
    001c785elea rdi, [rip+0x48db3]
    001c7865call core::cell::panic_already_borrowed
    001c786aud2
    001c786c
    001c786cloc_1c786c:
    001c786clea rdi, [rip-0x137689]
    001c7873lea rdx, [rip+0x4910e]
    001c787amov esi, 38
    001c787fcall core::option::expect_failed
    001c7884ud2
    001c7886mov r14, rax
    001c7889mov rdi, rbx
    001c788ccall core::ptr::drop_in_place<std::io::stdio::StderrLock>
    001c7891mov rdi, r14
    001c7894call _Unwind_Resume
    001c7899ud2
    001c77a0
    001c789b
    001c789b // align 0x10
    001c78a0
    001c78a0_<std::io::stdio::StderrLock as std::io::Write>::write_all:
    001c78a0push rbp
    001c78a1push r15
    001c78a3push r14
    001c78a5push r13
    001c78a7push r12
    001c78a9push rbx
    001c78aapush rax
    001c78abcmp [rdi+8], 0
    001c78b0jne 0x1c799e
    001c78b6mov rbx, rdi
    001c78b9mov [rdi+8], -1
    001c78c1cmp rdi, -16
    001c78c5je 0x1c799e
    001c78cbmov r14, rdx
    001c78ceadd rbx, 8
    001c78d2test rdx, rdx
    001c78d5je 0x1c7943
    001c78d7mov r15, rsi
    001c78damov r12, 0x7fffffffffffffff
    001c78e4mov r13, [rip+0x4a415]
    001c78ebmov rbp, [rip+0x4a24e]
    001c78f2jmp 0x1c7910
    001c78f4
    001c78f4 66 66 66 2e 0f 1f 84 00 00 00 00 00 fff.........
    001c7900
    001c7900loc_1c7900:
    001c7900call rbp
    001c7902movsxd rax, [rax]
    001c7905cmp rax, 4
    001c7909jne 0x1c7960
    001c790btest r14, r14
    001c790eje 0x1c7943
    001c7910
    001c7910loc_1c7910:
    001c7910cmp r14, r12
    001c7913mov rdx, r12
    001c7916cmovb rdx, r14
    001c791amov edi, 2
    001c791fmov rsi, r15
    001c7922call r13
    001c7925cmp rax, -1
    001c7929je 0x1c7900
    001c792btest rax, rax
    001c792eje 0x1c7957
    001c7930mov rcx, r14
    001c7933sub rcx, rax
    001c7936jb 0x1c798a
    001c7938add r15, rax
    001c793bmov r14, rcx
    001c793etest r14, r14
    001c7941jne 0x1c7910
    001c7943
    001c7943loc_1c7943:
    001c7943xor eax, eax
    001c7945
    001c7945loc_1c7945:
    001c7945inc [rbx]
    001c7948add rsp, 8
    001c794cpop rbx
    001c794dpop r12
    001c794fpop r13
    001c7951pop r14
    001c7953pop r15
    001c7955pop rbp
    001c7956ret
    001c7957
    001c7957loc_1c7957:
    001c7957lea rax, [rip+0x48e1a]
    001c795ejmp 0x1c7968
    001c7960
    001c7960loc_1c7960:
    001c7960shl rax, 32
    001c7964or rax, 2
    001c7968
    001c7968loc_1c7968:
    001c7968mov ecx, eax
    001c796aand ecx, 3
    001c796dcmp rcx, 2
    001c7971jb 0x1c7945
    001c7973cmp ecx, 2
    001c7976jne 0x1c7945
    001c7978mov rcx, rax
    001c797bshr rcx, 32
    001c797fxor edx, edx
    001c7981cmp ecx, 9
    001c7984cmove rax, rdx
    001c7988jmp 0x1c7945
    001c798a
    001c798aloc_1c798a:
    001c798alea rdx, [rip+0x48dff]
    001c7991mov rdi, rax
    001c7994mov rsi, r14
    001c7997call core::slice::index::slice_start_index_len_fail
    001c799cud2
    001c799e
    001c799eloc_1c799e:
    001c799elea rdi, [rip+0x48c8b]
    001c79a5call core::cell::panic_already_borrowed
    001c79aaud2
    001c79acmov r14, rax
    001c79afmov rdi, rbx
    001c79b2call core::ptr::drop_in_place<core::cell::RefMut<std::io::buffered::linewriter::LineWriter<std::io::stdio::StdoutRaw>>>
    001c79b7mov rdi, r14
    001c79bacall _Unwind_Resume
    001c79bfud2
    001c78a0
    001c79c1
    001c79c1 // align 0x10
    001c79d0
    001c79d0_<std::io::Write::write_fmt::Adapter<T> as core::fmt::Write>::write_str:
    001c79d0push rbp
    001c79d1push r15
    001c79d3push r14
    001c79d5push r13
    001c79d7push r12
    001c79d9push rbx
    001c79dapush rax
    001c79dbmov rbx, rdi
    001c79demov rax, [rdi]
    001c79e1mov rdi, [rax]
    001c79e4call _<std::io::stdio::StderrLock as std::io::Write>::write_all
    001c79e9mov r14, rax
    001c79ectest rax, rax
    001c79efje 0x1c7a3e
    001c79f1mov rax, [rbx+8]
    001c79f5test rax, rax
    001c79f8je 0x1c7a3a
    001c79famov ecx, eax
    001c79fcand ecx, 3
    001c79fflea rdx, [rcx-2]
    001c7a03cmp rdx, 2
    001c7a07jb 0x1c7a3a
    001c7a09test rcx, rcx
    001c7a0cje 0x1c7a3a
    001c7a0elea r15, [rax-1]
    001c7a12mov r12, [rax-1]
    001c7a16mov r13, [rax+7]
    001c7a1amov rdi, r12
    001c7a1dcall [r13]
    001c7a21cmp [r13+8], 0
    001c7a26je 0x1c7a31
    001c7a28mov rdi, r12
    001c7a2bcall [rip+0x4a0c7]
    001c7a31
    001c7a31loc_1c7a31:
    001c7a31mov rdi, r15
    001c7a34call [rip+0x4a0be]
    001c7a3a
    001c7a3aloc_1c7a3a:
    001c7a3amov [rbx+8], r14
    001c7a3e
    001c7a3eloc_1c7a3e:
    001c7a3etest r14, r14
    001c7a41setne al
    001c7a44add rsp, 8
    001c7a48pop rbx
    001c7a49pop r12
    001c7a4bpop r13
    001c7a4dpop r14
    001c7a4fpop r15
    001c7a51pop rbp
    001c7a52ret
    001c7a53mov rbp, rax
    001c7a56mov rdi, r12
    001c7a59mov rsi, r13
    001c7a5ccall _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7a61mov rdi, r15
    001c7a64call _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7a69mov [rbx+8], r14
    001c7a6dmov rdi, rbp
    001c7a70call _Unwind_Resume
    001c7a75ud2
    001c79d0
    001c7a77
    001c7a77 // align 0x10
    001c7a80
    001c7a80core::fmt::Write::write_char:
    001c7a80push rax
    001c7a81mov [rsp+4], 0
    001c7a89cmp esi, 128
    001c7a8fjae 0x1c7aa0
    001c7a91mov [rsp+4], sil
    001c7a96mov edx, 1
    001c7a9bjmp 0x1c7b30
    001c7aa0
    001c7aa0loc_1c7aa0:
    001c7aa0mov eax, esi
    001c7aa2cmp esi, 2048
    001c7aa8jae 0x1c7ac7
    001c7aaashr eax, 6
    001c7aador al, 192
    001c7aafmov [rsp+4], al
    001c7ab3and sil, 63
    001c7ab7or sil, 128
    001c7abbmov [rsp+5], sil
    001c7ac0mov edx, 2
    001c7ac5jmp 0x1c7b30
    001c7ac7
    001c7ac7loc_1c7ac7:
    001c7ac7cmp esi, 0x10000
    001c7acdjae 0x1c7af9
    001c7acfshr eax, 12
    001c7ad2or al, 224
    001c7ad4mov [rsp+4], al
    001c7ad8mov eax, esi
    001c7adashr eax, 6
    001c7addand al, 63
    001c7adfor al, 128
    001c7ae1mov [rsp+5], al
    001c7ae5and sil, 63
    001c7ae9or sil, 128
    001c7aedmov [rsp+6], sil
    001c7af2mov edx, 3
    001c7af7jmp 0x1c7b30
    001c7af9
    001c7af9loc_1c7af9:
    001c7af9shr eax, 18
    001c7afcand al, 7
    001c7afeor al, 240
    001c7b00mov [rsp+4], al
    001c7b04mov eax, esi
    001c7b06shr eax, 12
    001c7b09and al, 63
    001c7b0bor al, 128
    001c7b0dmov [rsp+5], al
    001c7b11mov eax, esi
    001c7b13shr eax, 6
    001c7b16and al, 63
    001c7b18or al, 128
    001c7b1amov [rsp+6], al
    001c7b1eand sil, 63
    001c7b22or sil, 128
    001c7b26mov [rsp+7], sil
    001c7b2bmov edx, 4
    001c7b30
    001c7b30loc_1c7b30:
    001c7b30lea rsi, [rsp+4]
    001c7b35call _<std::io::Write::write_fmt::Adapter<T> as core::fmt::Write>::write_str
    001c7b3apop rcx
    001c7b3bret
    001c7a80
    001c7b3c
    001c7b3c // align 0x10
    001c7b40
    001c7b40core::fmt::Write::write_fmt:
    001c7b40mov rdx, rsi
    001c7b43lea rsi, [rip+0x4869e]
    001c7b4ajmp 0x105110
    001c7b40
    001c7b4f
    001c7b4f // align 0x10
    001c7b50
    001c7b50std::io::stdio::set_output_capture:
    001c7b50push rbx
    001c7b51sub rsp, 16
    001c7b55mov rbx, rdi
    001c7b58test rdi, rdi
    001c7b5bjne 0x1c7b68
    001c7b5dmovzx eax, [rip+0x4b408]
    001c7b64test al, al
    001c7b66je 0x1c7bab
    001c7b68
    001c7b68loc_1c7b68:
    001c7b68mov [rip+0x4b3fd], 1
    001c7b6fmov [rsp+8], rbx
    001c7b74cmp [0xffffffffffffffa8], 0
    001c7b7eje 0x1c7b92
    001c7b80mov rax, [0x0]
    001c7b89lea rax, [rax-80]
    001c7b90jmp 0x1c7b9c
    001c7b92
    001c7b92loc_1c7b92:
    001c7b92call std::sys::common::thread_local::fast_local::Key<T>::try_initialize
    001c7b97test rax, rax
    001c7b9aje 0x1c7baf
    001c7b9c
    001c7b9cloc_1c7b9c:
    001c7b9cmov rcx, [rax]
    001c7b9fmov [rax], rbx
    001c7ba2
    001c7ba2loc_1c7ba2:
    001c7ba2mov rax, rcx
    001c7ba5add rsp, 16
    001c7ba9pop rbx
    001c7baaret
    001c7bab
    001c7babloc_1c7bab:
    001c7babxor ecx, ecx
    001c7badjmp 0x1c7ba2
    001c7baf
    001c7bafloc_1c7baf:
    001c7baftest rbx, rbx
    001c7bb2je 0x1c7bc4
    001c7bb4lock dec [rbx]
    001c7bb8jne 0x1c7bc4
    001c7bbamov rdi, [rsp+8]
    001c7bbfcall alloc::sync::Arc<T,A>::drop_slow
    001c7bc4
    001c7bc4loc_1c7bc4:
    001c7bc4lea rdi, [rip-0x137b7a]
    001c7bcblea rcx, [rip+0x48416]
    001c7bd2lea r8, [rip+0x48a6f]
    001c7bd9lea rdx, [rsp+7]
    001c7bdemov esi, 70
    001c7be3call core::result::unwrap_failed
    001c7be8ud2
    001c7beamov rbx, rax
    001c7bedlea rdi, [rsp+8]
    001c7bf2call core::ptr::drop_in_place<std::io::stdio::set_output_capture::{{closure}}>
    001c7bf7mov rdi, rbx
    001c7bfacall _Unwind_Resume
    001c7bffud2
    001c7b50
    001c7c01
    001c7c01 // align 0x10
    001c7c10
    001c7c10std::sys::common::thread_local::fast_local::Key<T>::try_initialize:
    001c7c10push rax
    001c7c11movzx eax, [0xffffffffffffffb8]
    001c7c1atest rax, rax
    001c7c1dje 0x1c7c28
    001c7c1fcmp eax, 1
    001c7c22je 0x1c7c4d
    001c7c24xor eax, eax
    001c7c26pop rcx
    001c7c27ret
    001c7c28
    001c7c28loc_1c7c28:
    001c7c28mov rax, [0x0]
    001c7c31lea rdi, [rax-88]
    001c7c38lea rsi, [rip+193]
    001c7c3fcall std::sys::unix::thread_local_dtor::register_dtor
    001c7c44mov [0xffffffffffffffb8], 1
    001c7c4d
    001c7c4dloc_1c7c4d:
    001c7c4dmov rax, [0x0]
    001c7c56lea rax, [rax-80]
    001c7c5dmov rdi, [0xffffffffffffffb0]
    001c7c66cmp [0xffffffffffffffa8], 0
    001c7c70mov [0xffffffffffffffa8], 1
    001c7c7dmov [0xffffffffffffffb0], 0
    001c7c8aje 0x1c7cac
    001c7c8ctest rdi, rdi
    001c7c8fje 0x1c7cac
    001c7c91lock dec [rdi]
    001c7c95jne 0x1c7c9c
    001c7c97call alloc::sync::Arc<T,A>::drop_slow
    001c7c9c
    001c7c9cloc_1c7c9c:
    001c7c9cmov rax, [0x0]
    001c7ca5lea rax, [rax-80]
    001c7cac
    001c7cacloc_1c7cac:
    001c7cacpop rcx
    001c7cadret
    001c7c10
    001c7cae
    001c7cae // align 0x10
    001c7cb0
    001c7cb0alloc::sync::Arc<T,A>::drop_slow:
    001c7cb0push rbx
    001c7cb1mov rbx, rdi
    001c7cb4cmp [rdi+32], 0
    001c7cb9je 0x1c7cc5
    001c7cbbmov rdi, [rbx+24]
    001c7cbfcall [rip+0x49e33]
    001c7cc5
    001c7cc5loc_1c7cc5:
    001c7cc5cmp rbx, -1
    001c7cc9je 0x1c7cdc
    001c7ccblock dec [rbx+8]
    001c7cd0jne 0x1c7cdc
    001c7cd2mov rdi, rbx
    001c7cd5pop rbx
    001c7cd6jmp [rip+0x49e1c]
    001c7cdc
    001c7cdcloc_1c7cdc:
    001c7cdcpop rbx
    001c7cddret
    001c7cb0
    001c7cde
    001c7cde // align 0x10
    001c7ce0
    001c7ce0core::ptr::drop_in_place<std::io::stdio::set_output_capture::{{closure}}>:
    001c7ce0mov rax, [rdi]
    001c7ce3test rax, rax
    001c7ce6je 0x1c7cf6
    001c7ce8lock dec [rax]
    001c7cecjne 0x1c7cf6
    001c7ceemov rdi, [rdi]
    001c7cf1jmp 0x1c7cb0
    001c7cf6
    001c7cf6loc_1c7cf6:
    001c7cf6ret
    001c7ce0
    001c7cf7
    001c7cf7 // align 0x10
    001c7d00
    001c7d00std::sys::common::thread_local::fast_local::destroy_value:
    001c7d00mov rax, rdi
    001c7d03mov rdi, [rdi+8]
    001c7d07cmp [rax], 0
    001c7d0bmov [rax], 0
    001c7d12mov [rax+16], 2
    001c7d16je 0x1c7d28
    001c7d18test rdi, rdi
    001c7d1bje 0x1c7d28
    001c7d1dlock dec [rdi]
    001c7d21jne 0x1c7d28
    001c7d23jmp 0x1c7cb0
    001c7d28
    001c7d28loc_1c7d28:
    001c7d28ret
    001c7d00
    001c7d29
    001c7d29 // align 0x10
    001c7d30
    001c7d30std::io::stdio::print_to_buffer_if_capture_used:
    001c7d30push rbp
    001c7d31push r15
    001c7d33push r14
    001c7d35push r13
    001c7d37push r12
    001c7d39push rbx
    001c7d3asub rsp, 24
    001c7d3emovzx eax, [rip+0x4b227]
    001c7d45test al, al
    001c7d47je 0x1c7e81
    001c7d4dmov r15, rdi
    001c7d50cmp [0xffffffffffffffa8], 0
    001c7d5aje 0x1c7d6e
    001c7d5cmov rax, [0x0]
    001c7d65lea rbx, [rax-80]
    001c7d6cjmp 0x1c7d7f
    001c7d6e
    001c7d6eloc_1c7d6e:
    001c7d6ecall std::sys::common::thread_local::fast_local::Key<T>::try_initialize
    001c7d73mov rbx, rax
    001c7d76test rax, rax
    001c7d79je 0x1c7e81
    001c7d7f
    001c7d7floc_1c7d7f:
    001c7d7fmov r12, [rbx]
    001c7d82mov [rbx], 0
    001c7d89test r12, r12
    001c7d8cje 0x1c7e81
    001c7d92mov [rsp+16], r12
    001c7d97lea r14, [r12+16]
    001c7d9cmov ecx, 1
    001c7da1xor eax, eax
    001c7da3lock cmpxchg [r12+16], ecx
    001c7daajne 0x1c7e92
    001c7db0
    001c7db0loc_1c7db0:
    001c7db0mov rax, [rip+0x4b309]
    001c7db7shl rax, 1
    001c7dbatest rax, rax
    001c7dbdjne 0x1c7e9f
    001c7dc3xor ebp, ebp
    001c7dc5
    001c7dc5loc_1c7dc5:
    001c7dc5movzx eax, [r12+20]
    001c7dcblea rdi, [r12+24]
    001c7dd0mov rsi, r15
    001c7dd3call std::io::Write::write_fmt
    001c7dd8test rax, rax
    001c7ddbje 0x1c7e23
    001c7dddmov ecx, eax
    001c7ddfand ecx, 3
    001c7de2lea rdx, [rcx-2]
    001c7de6cmp rdx, 2
    001c7deajb 0x1c7e23
    001c7dectest rcx, rcx
    001c7defje 0x1c7e23
    001c7df1mov r15, rax
    001c7df4dec r15
    001c7df7mov rdi, [rax-1]
    001c7dfbmov r13, [rax+7]
    001c7dffmov [rsp+8], rdi
    001c7e04call [r13]
    001c7e08cmp [r13+8], 0
    001c7e0dje 0x1c7e1a
    001c7e0fmov rdi, [rsp+8]
    001c7e14call [rip+0x49cde]
    001c7e1a
    001c7e1aloc_1c7e1a:
    001c7e1amov rdi, r15
    001c7e1dcall [rip+0x49cd5]
    001c7e23
    001c7e23loc_1c7e23:
    001c7e23test bpl, bpl
    001c7e26jne 0x1c7e3e
    001c7e28mov rax, 0x7fffffffffffffff
    001c7e32mov rcx, [rip+0x4b287]
    001c7e39test rcx, rax
    001c7e3cjne 0x1c7eaf
    001c7e3e
    001c7e3eloc_1c7e3e:
    001c7e3exor eax, eax
    001c7e40xchg [r14], eax
    001c7e43cmp eax, 2
    001c7e46jne 0x1c7e62
    001c7e48mov edi, 202
    001c7e4dmov rsi, r14
    001c7e50mov edx, 129
    001c7e55mov ecx, 1
    001c7e5axor eax, eax
    001c7e5ccall [rip+0x49d46]
    001c7e62
    001c7e62loc_1c7e62:
    001c7e62mov rax, [rsp+16]
    001c7e67mov rdi, [rbx]
    001c7e6amov [rbx], rax
    001c7e6dtest rdi, rdi
    001c7e70je 0x1c7e7d
    001c7e72lock dec [rdi]
    001c7e76jne 0x1c7e7d
    001c7e78call alloc::sync::Arc<T,A>::drop_slow
    001c7e7d
    001c7e7dloc_1c7e7d:
    001c7e7dmov al, 1
    001c7e7fjmp 0x1c7e83
    001c7e81
    001c7e81loc_1c7e81:
    001c7e81xor eax, eax
    001c7e83
    001c7e83loc_1c7e83:
    001c7e83add rsp, 24
    001c7e87pop rbx
    001c7e88pop r12
    001c7e8apop r13
    001c7e8cpop r14
    001c7e8epop r15
    001c7e90pop rbp
    001c7e91ret
    001c7e92
    001c7e92loc_1c7e92:
    001c7e92mov rdi, r14
    001c7e95call std::sys::unix::locks::futex_mutex::Mutex::lock_contended
    001c7e9ajmp 0x1c7db0
    001c7e9f
    001c7e9floc_1c7e9f:
    001c7e9fcall std::panicking::panic_count::is_zero_slow_path
    001c7ea4mov ebp, eax
    001c7ea6xor bpl, 1
    001c7eaajmp 0x1c7dc5
    001c7eaf
    001c7eafloc_1c7eaf:
    001c7eafcall std::panicking::panic_count::is_zero_slow_path
    001c7eb4test al, al
    001c7eb6jne 0x1c7e3e
    001c7eb8mov [r12+20], 1
    001c7ebejmp 0x1c7e3e
    001c7ec3mov rbx, rax
    001c7ec6mov rdi, [rsp+8]
    001c7ecbmov rsi, r13
    001c7ececall _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7ed3mov rdi, r15
    001c7ed6call _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7edbjmp 0x1c7ee0
    001c7eddmov rbx, rax
    001c7ee0
    001c7ee0loc_1c7ee0:
    001c7ee0movzx esi, bpl
    001c7ee4mov rdi, r14
    001c7ee7call core::ptr::drop_in_place<std::io::stdio::StdinLock>
    001c7eeclea rdi, [rsp+16]
    001c7ef1call core::ptr::drop_in_place<alloc::sync::Arc<std::sync::mutex::Mutex<alloc::vec::Vec<u8>>>>
    001c7ef6mov rdi, rbx
    001c7ef9call _Unwind_Resume
    001c7efeud2
    001c7d30
    001c7f00
    001c7f00std::io::Write::write_fmt:
    001c7f00push r15
    001c7f02push r14
    001c7f04push r12
    001c7f06push rbx
    001c7f07sub rsp, 24
    001c7f0bmov rdx, rsi
    001c7f0emov [rsp+8], rdi
    001c7f13mov [rsp+16], 0
    001c7f1clea rsi, [rip+0x482f5]
    001c7f23lea rdi, [rsp+8]
    001c7f28call core::fmt::write
    001c7f2dmov rcx, [rsp+16]
    001c7f32test al, al
    001c7f34je 0x1c7f46
    001c7f36test rcx, rcx
    001c7f39lea rax, [rip+0x48868]
    001c7f40cmovne rax, rcx
    001c7f44jmp 0x1c7f90
    001c7f46
    001c7f46loc_1c7f46:
    001c7f46test rcx, rcx
    001c7f49je 0x1c7f8e
    001c7f4bmov edx, ecx
    001c7f4dand edx, 3
    001c7f50xor eax, eax
    001c7f52lea rsi, [rdx-2]
    001c7f56cmp rsi, 2
    001c7f5ajb 0x1c7f90
    001c7f5ctest rdx, rdx
    001c7f5fje 0x1c7f90
    001c7f61lea rbx, [rcx-1]
    001c7f65mov r15, [rcx-1]
    001c7f69mov r12, [rcx+7]
    001c7f6dmov rdi, r15
    001c7f70call [r12]
    001c7f74cmp [r12+8], 0
    001c7f7aje 0x1c7f85
    001c7f7cmov rdi, r15
    001c7f7fcall [rip+0x49b73]
    001c7f85
    001c7f85loc_1c7f85:
    001c7f85mov rdi, rbx
    001c7f88call [rip+0x49b6a]
    001c7f8e
    001c7f8eloc_1c7f8e:
    001c7f8exor eax, eax
    001c7f90
    001c7f90loc_1c7f90:
    001c7f90add rsp, 24
    001c7f94pop rbx
    001c7f95pop r12
    001c7f97pop r14
    001c7f99pop r15
    001c7f9bret
    001c7f9cmov r14, rax
    001c7f9fmov rdi, r15
    001c7fa2mov rsi, r12
    001c7fa5call _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7faamov rdi, rbx
    001c7fadcall _<alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
    001c7fb2jmp 0x1c7fc1
    001c7fb4mov r14, rax
    001c7fb7lea rdi, [rsp+8]
    001c7fbccall core::ptr::drop_in_place<std::io::Write::write_fmt::Adapter<alloc::vec::Vec<u8>>>
    001c7fc1
    001c7fc1loc_1c7fc1:
    001c7fc1mov rdi, r14
    001c7fc4call _Unwind_Resume
    001c7fc9ud2
    001c7fcbcall core::panicking::panic_in_cleanup
    001c7fd0ud2
    001c7f00
    001c7fd2
    001c7fd2 // align 0x10
    001c7fe0
    001c7fe0core::ptr::drop_in_place<alloc::sync::Arc<std::sync::mutex::Mutex<alloc::vec::Vec<u8>>>>:
    001c7fe0mov rax, [rdi]
    001c7fe3lock dec [rax]
    001c7fe7jne 0x1c7ff1
    001c7fe9mov rdi, [rdi]
    001c7fecjmp 0x1c7cb0
    001c7ff1
    001c7ff1loc_1c7ff1:
    001c7ff1ret
    001c7fe0
    001c7ff2
    001c7ff2 // align 0x10
    001c8000
    001c8000_<std::io::Write::write_fmt::Adapter<T> as core::fmt::Write>::write_str:
    001c8000push r15
    001c8002push r14
    001c8004push r12
    001c8006push rbx
    001c8007push rax
    001c8008mov rbx, rdx
    001c800bmov r15, rsi
    001c800emov r14, [rdi]
    001c8011mov rax, [r14+8]
    001c8015mov r12, [r14+16]
    001c8019sub rax, r12
    001c801ccmp rax, rdx
    001c801fjb 0x1c8048
    001c8021
    001c8021loc_1c8021:
    001c8021mov rdi, [r14]
    001c8024add rdi, r12
    001c8027mov rsi, r15
    001c802amov rdx, rbx
    001c802dcall [rip+0x49aed]
    001c8033add r12, rbx
    001c8036mov [r14+16], r12
    001c803axor eax, eax
    001c803cadd rsp, 8
    001c8040pop rbx
    001c8041pop r12
    001c8043pop r14
    001c8045pop r15
    001c8047ret
    001c8048
    001c8048loc_1c8048:
    001c8048mov rdi, r14
    001c804bmov rsi, r12
    001c804emov rdx, rbx
    001c8051call alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c8056mov r12, [r14+16]
    001c805ajmp 0x1c8021
    001c8000
    001c805c
    001c805c // align 0x10
    001c8060
    001c8060core::fmt::Write::write_char:
    001c8060push r15
    001c8062push r14
    001c8064push rbx
    001c8065sub rsp, 16
    001c8069mov [rsp+12], 0
    001c8071cmp esi, 128
    001c8077jae 0x1c8088
    001c8079mov [rsp+12], sil
    001c807emov ebx, 1
    001c8083jmp 0x1c8118
    001c8088
    001c8088loc_1c8088:
    001c8088mov eax, esi
    001c808acmp esi, 2048
    001c8090jae 0x1c80af
    001c8092shr eax, 6
    001c8095or al, 192
    001c8097mov [rsp+12], al
    001c809band sil, 63
    001c809for sil, 128
    001c80a3mov [rsp+13], sil
    001c80a8mov ebx, 2
    001c80adjmp 0x1c8118
    001c80af
    001c80afloc_1c80af:
    001c80afcmp esi, 0x10000
    001c80b5jae 0x1c80e1
    001c80b7shr eax, 12
    001c80baor al, 224
    001c80bcmov [rsp+12], al
    001c80c0mov eax, esi
    001c80c2shr eax, 6
    001c80c5and al, 63
    001c80c7or al, 128
    001c80c9mov [rsp+13], al
    001c80cdand sil, 63
    001c80d1or sil, 128
    001c80d5mov [rsp+14], sil
    001c80damov ebx, 3
    001c80dfjmp 0x1c8118
    001c80e1
    001c80e1loc_1c80e1:
    001c80e1shr eax, 18
    001c80e4and al, 7
    001c80e6or al, 240
    001c80e8mov [rsp+12], al
    001c80ecmov eax, esi
    001c80eeshr eax, 12
    001c80f1and al, 63
    001c80f3or al, 128
    001c80f5mov [rsp+13], al
    001c80f9mov eax, esi
    001c80fbshr eax, 6
    001c80feand al, 63
    001c8100or al, 128
    001c8102mov [rsp+14], al
    001c8106and sil, 63
    001c810aor sil, 128
    001c810emov [rsp+15], sil
    001c8113mov ebx, 4
    001c8118
    001c8118loc_1c8118:
    001c8118mov r14, [rdi]
    001c811bmov rax, [r14+8]
    001c811fmov r15, [r14+16]
    001c8123sub rax, r15
    001c8126cmp rax, rbx
    001c8129jb 0x1c8152
    001c812b
    001c812bloc_1c812b:
    001c812bmov rdi, [r14]
    001c812eadd rdi, r15
    001c8131lea rsi, [rsp+12]
    001c8136mov rdx, rbx
    001c8139call [rip+0x499e1]
    001c813fadd r15, rbx
    001c8142mov [r14+16], r15
    001c8146xor eax, eax
    001c8148add rsp, 16
    001c814cpop rbx
    001c814dpop r14
    001c814fpop r15
    001c8151ret
    001c8152
    001c8152loc_1c8152:
    001c8152mov rdi, r14
    001c8155mov rsi, r15
    001c8158mov rdx, rbx
    001c815bcall alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
    001c8160mov r15, [r14+16]
    001c8164jmp 0x1c812b
    001c8060