File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    001026d4
    001026d4console::term::Term::write_line:
    001026d4push rbp
    001026d5push r15
    001026d7push r14
    001026d9push r13
    001026dbpush r12
    001026ddpush rbx
    001026desub rsp, 136
    001026e5mov r14, rdi
    001026e8lea rax, [rip-0x713f7]
    001026efmov [rsp], rax
    001026f3and [rsp+8], 0
    001026f9mov r12, [rdi]
    001026fclea rbx, [r12+120]
    00102701mov eax, [r12+120]
    00102706cmp eax, 0x3ffffffd
    0010270bja 0x1028a1
    00102711lea ecx, [rax+1]
    00102714lock cmpxchg [rbx], ecx
    00102718jne 0x1028a1
    0010271e
    0010271eloc_10271e:
    0010271emov al, [r12+128]
    00102726test al, al
    00102728jne 0x1028ae
    0010272ecmp [r12+152], 0
    00102737je 0x102758
    00102739mov rdi, [r14]
    0010273clea rsi, [rip-0xaf1b4]
    00102743push 5
    00102745pop rdx
    00102746call console::term::Term::write_str
    0010274btest rax, rax
    0010274eje 0x102758
    00102750mov r15, rax
    00102753jmp 0x102884
    00102758
    00102758loc_102758:
    00102758cmp [r12+16], 0
    0010275eje 0x1027f6
    00102764lea rsi, [r12+24]
    00102769lea r14, [rsp+16]
    0010276emov rdi, r14
    00102771call std::sync::mutex::Mutex<T>::lock
    00102776lea rsi, [rip+0xe7f03]
    0010277dmov rdi, r14
    00102780call core::result::Result<T,E>::unwrap
    00102785mov r14, rax
    00102788mov ebp, edx
    0010278alea r15, [rax+8]
    0010278emov rsi, [rsp]
    00102792mov rdx, [rsp+8]
    00102797add rdx, rsi
    0010279amov rdi, r15
    0010279dcall _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    001027a2mov rsi, [r14+24]
    001027a6cmp rsi, [r14+16]
    001027aajne 0x1027b8
    001027acmov rdi, r15
    001027afcall alloc::raw_vec::RawVec<T,A>::reserve_for_push
    001027b4mov rsi, [r14+24]
    001027b8
    001027b8loc_1027b8:
    001027b8mov rax, [r14+8]
    001027bcmov [rax+rsi], 10
    001027c0inc rsi
    001027c3mov [r14+24], rsi
    001027c7mov rsi, [r12+136]
    001027cfmov rdx, [r12+152]
    001027d7add rdx, rsi
    001027damov rdi, r15
    001027ddcall _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    001027e2movzx esi, bpl
    001027e6mov rdi, r14
    001027e9call core::ptr::drop_in_place<std::sync::mutex::MutexGuard<alloc::vec::Vec<akira_v2::lock::Attempts>>>
    001027eexor r15l, r15l
    001027f1jmp 0x102884
    001027f6
    001027f6loc_1027f6:
    001027f6mov rax, [r12+136]
    001027femov rcx, [r12+152]
    00102806lea rdx, [rsp+64]
    0010280bmov [rdx], rax
    0010280emov [rdx+8], rcx
    00102812mov rax, rsp
    00102815lea rcx, [rsp+104]
    0010281amov [rcx], rax
    0010281dlea rax, [rip-4215]
    00102824mov [rcx+8], rax
    00102828lea rdi, [rip+0x10d451]
    0010282flea rsi, [rsp+16]
    00102834mov [rsi], rdi
    00102837push 2
    00102839pop rdi
    0010283amov [rsi+8], rdi
    0010283eand [rsi+32], 0
    00102843mov [rcx+16], rdx
    00102847mov [rcx+24], rax
    0010284bmov [rsi+16], rcx
    0010284fmov [rsi+24], rdi
    00102853lea r12, [rsp+80]
    00102858mov rdi, r12
    0010285bcall alloc::fmt::format
    00102860mov r13, [r12]
    00102864mov rdx, [r12+16]
    00102869mov rdi, [r14]
    0010286cmov rsi, r13
    0010286fcall console::term::Term::write_through
    00102874mov r15, rax
    00102877mov rsi, [r12+8]
    0010287cmov rdi, r13
    0010287fcall core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00102884
    00102884loc_102884:
    00102884mov rdi, rbx
    00102887call _<std::sync::rwlock::RwLockReadGuard<T> as core::ops::drop::Drop>::drop
    0010288cmov rax, r15
    0010288fadd rsp, 136
    00102896pop rbx
    00102897pop r12
    00102899pop r13
    0010289bpop r14
    0010289dpop r15
    0010289fpop rbp
    001028a0ret
    001028a1
    001028a1loc_1028a1:
    001028a1mov rdi, rbx
    001028a4call std::sys::unix::locks::futex_rwlock::RwLock::read_contended
    001028a9jmp 0x10271e
    001028ae
    001028aeloc_1028ae:
    001028aeadd r12, 136
    001028b5lea rdx, [rsp+16]
    001028bamov [rdx], r12
    001028bdmov [rdx+8], rbx
    001028c1lea rdi, [rip-0x716da]
    001028c8lea rcx, [rip+0xe7c89]
    001028cflea r8, [rip+0xe7d92]
    001028d6push 43
    001028d8pop rsi
    001028d9call core::result::unwrap_failed
    001028deud2
    001026d4
    001028e9
    001028e9console::utils::measure_text_width:
    001028e9push rbp
    001028eapush r15
    001028ecpush r14
    001028eepush r13
    001028f0push r12
    001028f2push rbx
    001028f3sub rsp, 264
    001028famov r12, rsi
    001028fdmov r15, rdi
    00102900lea r13, [rdi+rsi]
    00102904lea rsi, [rsp+224]
    0010290cmov [rsi], rdi
    0010290fmov [rsi+8], r13
    00102913and [rsi+16], 0
    00102918mov [rsi+32], 0x110001
    0010291flea rbx, [rsp+200]
    00102927mov rdi, rbx
    0010292acall console::ansi::find_ansi_code_exclusive
    0010292fcmp [rbx], 0
    00102933je 0x102ade
    00102939xorps x0, x0
    0010293clea rbx, [rsp+80]
    00102941movups [rbx-56], x0
    00102945lea r14, [rsp+120]
    0010294amov [r14], 1
    00102951mov [rbx-72], r15
    00102955mov [rbx-64], r12
    00102959mov [rbx-24], 2
    0010295dmov [rbx-16], r15
    00102961mov [rbx-8], r12
    00102965mov [rbx], r15
    00102968mov [rbx+8], r13
    0010296cand [rbx+16], 0
    00102971movups [r14+8], x0
    00102976mov [rbx+32], 0x110001
    0010297d
    0010297dloc_10297d:
    0010297dmov rcx, [rsp+40]
    00102982mov rdx, [rsp+48]
    00102987movzx eax, [rsp+56]
    0010298cmov [rsp+56], 2
    00102991cmp rax, 2
    00102995jne 0x102a38
    0010299blea rdi, [rsp+144]
    001029a3mov rsi, rbx
    001029a6call console::ansi::find_ansi_code_exclusive
    001029abcmp [rsp+144], 0
    001029b4je 0x102a45
    001029bamov r13, [rsp+152]
    001029c2mov r15, [rsp+160]
    001029camovups x0, [rsp+64]
    001029cfmov [rsp+184], r13
    001029d7mov [rsp+192], r15
    001029dfmovups [rsp+168], x0
    001029e7mov rdi, [rsp+8]
    001029ecmov rsi, [rsp+16]
    001029f1mov rdx, [rsp+24]
    001029f6mov rcx, r13
    001029f9lea r8, [rip+0xe7d10]
    00102a00call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00102a05mov [rsp+24], r15
    00102a0atest rdx, rdx
    00102a0dje 0x102a81
    00102a0fmov r12, rax
    00102a12mov rbp, rdx
    00102a15mov [rsp+32], r13
    00102a1alea rdi, [rsp+168]
    00102a22call console::ansi::Match::as_str
    00102a27mov [rsp+40], rax
    00102a2cmov [rsp+48], rdx
    00102a31mov [rsp+56], 1
    00102a36jmp 0x102a7d
    00102a38
    00102a38loc_102a38:
    00102a38add [rsp+32], rdx
    00102a3dmov r12, rcx
    00102a40mov rbp, rdx
    00102a43jmp 0x102a9c
    00102a45
    00102a45loc_102a45:
    00102a45mov rsi, [rsp+16]
    00102a4amov rdx, [rsp+24]
    00102a4fpush 2
    00102a51pop rax
    00102a52cmp rdx, rsi
    00102a55jae 0x102a9c
    00102a57mov rdi, [rsp+8]
    00102a5clea rcx, [rip+0xe7cc5]
    00102a63call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00102a68mov r12, rax
    00102a6bmov rbp, rdx
    00102a6emov rax, [rsp+16]
    00102a73mov [rsp+32], rax
    00102a78mov [rsp+24], rax
    00102a7d
    00102a7dloc_102a7d:
    00102a7dxor eax, eax
    00102a7fjmp 0x102a9c
    00102a81
    00102a81loc_102a81:
    00102a81mov [rsp+32], r15
    00102a86lea rdi, [rsp+168]
    00102a8ecall console::ansi::Match::as_str
    00102a93mov r12, rax
    00102a96mov rbp, rdx
    00102a99push 1
    00102a9bpop rax
    00102a9c
    00102a9cloc_102a9c:
    00102a9ccmp rax, 2
    00102aa0je 0x102ac7
    00102aa2test al, al
    00102aa4jne 0x10297d
    00102aaatest r12, r12
    00102aadje 0x10297d
    00102ab3lea rdx, [r12+rbp]
    00102ab7mov rdi, r14
    00102abamov rsi, r12
    00102abdcall _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    00102ac2jmp 0x10297d
    00102ac7
    00102ac7loc_102ac7:
    00102ac7mov rbx, [rsp+120]
    00102accmov r15, [rsp+128]
    00102ad4mov r12, [rsp+136]
    00102adcjmp 0x102ae0
    00102ade
    00102adeloc_102ade:
    00102adexor ebx, ebx
    00102ae0
    00102ae0loc_102ae0:
    00102ae0test rbx, rbx
    00102ae3mov rdi, rbx
    00102ae6cmove rdi, r15
    00102aeaadd r12, rdi
    00102aedmov rsi, r12
    00102af0call _<usize as core::iter::traits::accum::Sum>::sum
    00102af5mov r14, rax
    00102af8test rbx, rbx
    00102afbje 0x102b08
    00102afdmov rdi, rbx
    00102b00mov rsi, r15
    00102b03call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00102b08
    00102b08loc_102b08:
    00102b08mov rax, r14
    00102b0badd rsp, 264
    00102b12pop rbx
    00102b13pop r12
    00102b15pop r13
    00102b17pop r14
    00102b19pop r15
    00102b1bpop rbp
    00102b1cret
    001028e9
    00102b1d
    00102b1dconsole::utils::Style::from_dotted_str:
    00102b1dpush rbp
    00102b1epush r15
    00102b20push r14
    00102b22push r13
    00102b24push r12
    00102b26push rbx
    00102b27sub rsp, 184
    00102b2elea rcx, [rsp+152]
    00102b36and [rcx-56], 0
    00102b3bmov [rsp+168], rdi
    00102b43mov [rcx-48], rdx
    00102b47mov [rcx-40], rsi
    00102b4bmov [rcx-32], rdx
    00102b4fand [rcx-24], 0
    00102b54mov [rcx-16], rdx
    00102b58mov [rcx-8], 1
    00102b60mov rax, 0x2e0000002e
    00102b6amov [rcx], rax
    00102b6dmov [rcx+8], 1
    00102b73mov al, 9
    00102b75mov [rsp+8], eax
    00102b79mov [rsp+7], 2
    00102b7exor eax, eax
    00102b80mov [rsp+80], rax
    00102b85xor eax, eax
    00102b87mov [rsp+48], rax
    00102b8cxor eax, eax
    00102b8emov [rsp+56], rax
    00102b93mov al, 9
    00102b95mov [rsp+12], eax
    00102b99xor eax, eax
    00102b9bmov [rsp+72], rax
    00102ba0xor eax, eax
    00102ba2mov [rsp+64], rax
    00102ba7
    00102ba7loc_102ba7:
    00102ba7cmp [rsp+161], 0
    00102bafjne 0x103533
    00102bb5mov rbp, [rsp+112]
    00102bbamov [rsp+176], rbp
    00102bc2
    00102bc2loc_102bc2:
    00102bc2mov r13, [rsp+120]
    00102bc7mov r15, [rsp+136]
    00102bcfmov r14, [rsp+144]
    00102bd7
    00102bd7loc_102bd7:
    00102bd7cmp r15, r13
    00102bdaseta al
    00102bddmov rbx, [rsp+128]
    00102be5mov rdx, r15
    00102be8sub rdx, rbx
    00102bebsetb cl
    00102beeor cl, al
    00102bf0lea rsi, [rbx+rbp]
    00102bf4mov eax, 0
    00102bf9test cl, cl
    00102bfbcmove rax, rsi
    00102bffcmove r12, rdx
    00102c03jne 0x102cae
    00102c09mov cl, [rsp+r14+151]
    00102c11cmp rdx, 15
    00102c15ja 0x102c28
    00102c17xor edx, edx
    00102c19
    00102c19loc_102c19:
    00102c19cmp r12, rdx
    00102c1cje 0x102c32
    00102c1ecmp [rax+rdx], cl
    00102c21je 0x102c39
    00102c23inc rdx
    00102c26jmp 0x102c19
    00102c28
    00102c28loc_102c28:
    00102c28movzx edi, cl
    00102c2bcall core::slice::memchr::memchr_aligned
    00102c30jmp 0x102c3c
    00102c32
    00102c32loc_102c32:
    00102c32mov rdx, r12
    00102c35xor eax, eax
    00102c37jmp 0x102c3c
    00102c39
    00102c39loc_102c39:
    00102c39push 1
    00102c3bpop rax
    00102c3c
    00102c3cloc_102c3c:
    00102c3ccmp rax, 1
    00102c40jne 0x102ca6
    00102c42lea rax, [rdx+rbx]
    00102c46inc rax
    00102c49mov [rsp+128], rax
    00102c51mov rbx, rax
    00102c54sub rbx, r14
    00102c57jb 0x102bd7
    00102c5dcmp rax, r13
    00102c60ja 0x102bd7
    00102c66add rbp, rbx
    00102c69mov rdi, r14
    00102c6clea rsi, [rsp+152]
    00102c74push 4
    00102c76pop rdx
    00102c77lea rcx, [rip+0x10d612]
    00102c7ecall _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    00102c83mov rcx, rdx
    00102c86mov rdi, rbp
    00102c89mov rsi, r14
    00102c8cmov rdx, rax
    00102c8fcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102c94test al, al
    00102c96jne 0x1032f6
    00102c9cmov rbp, [rsp+112]
    00102ca1jmp 0x102bc2
    00102ca6
    00102ca6loc_102ca6:
    00102ca6mov [rsp+128], r15
    00102cae
    00102caeloc_102cae:
    00102caecmp [rsp+161], 0
    00102cb6jne 0x103533
    00102cbcmov [rsp+161], 1
    00102cc4cmp [rsp+160], 0
    00102cccmov rax, [rsp+96]
    00102cd1mov rbx, [rsp+104]
    00102cd6jne 0x102ce1
    00102cd8cmp rbx, rax
    00102cdbje 0x103533
    00102ce1
    00102ce1loc_102ce1:
    00102ce1add rbp, rax
    00102ce4sub rbx, rax
    00102ce7
    00102ce7loc_102ce7:
    00102ce7mov rdi, rbp
    00102ceamov rsi, rbx
    00102cedlea rdx, [rip-0xc05e9]
    00102cf4push 5
    00102cf6pop r14
    00102cf8mov rcx, r14
    00102cfbcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d00test al, al
    00102d02push 6
    00102d04pop r15
    00102d06push 7
    00102d08pop r12
    00102d0ajne 0x103076
    00102d10mov rdi, rbp
    00102d13mov rsi, rbx
    00102d16lea rdx, [rip-0xc060d]
    00102d1dpush 3
    00102d1fpop rcx
    00102d20call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d25test al, al
    00102d27jne 0x103083
    00102d2dmov rdi, rbp
    00102d30mov rsi, rbx
    00102d33lea rdx, [rip-0xc0627]
    00102d3amov rcx, r14
    00102d3dcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d42test al, al
    00102d44jne 0x10308e
    00102d4amov rdi, rbp
    00102d4dmov rsi, rbx
    00102d50lea rdx, [rip-0xc063f]
    00102d57mov rcx, r15
    00102d5acall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d5ftest al, al
    00102d61jne 0x103099
    00102d67mov rdi, rbp
    00102d6amov rsi, rbx
    00102d6dlea rdx, [rip-0xc8df4]
    00102d74push 4
    00102d76pop rcx
    00102d77call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d7ctest al, al
    00102d7ejne 0x1030a4
    00102d84mov rdi, rbp
    00102d87mov rsi, rbx
    00102d8alea rdx, [rip-0xc0673]
    00102d91mov rcx, r12
    00102d94call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102d99test al, al
    00102d9bjne 0x1030af
    00102da1mov rdi, rbp
    00102da4mov rsi, rbx
    00102da7lea rdx, [rip-0xc8e2a]
    00102daepush 4
    00102db0pop rcx
    00102db1call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102db6test al, al
    00102db8jne 0x1030ba
    00102dbemov rdi, rbp
    00102dc1mov rsi, rbx
    00102dc4lea rdx, [rip-0xc06a6]
    00102dcbmov rcx, r14
    00102dcecall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102dd3test al, al
    00102dd5jne 0x1030c5
    00102ddbmov rdi, rbp
    00102ddemov rsi, rbx
    00102de1lea rdx, [rip-0xc06be]
    00102de8mov rcx, r15
    00102debcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102df0test al, al
    00102df2jne 0x1030d0
    00102df8mov rdi, rbp
    00102dfbmov rsi, rbx
    00102dfelea rdx, [rip-0xc963d]
    00102e05push 8
    00102e07pop rcx
    00102e08call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e0dtest al, al
    00102e0fjne 0x1030dc
    00102e15mov rdi, rbp
    00102e18mov rsi, rbx
    00102e1blea rdx, [rip-0xc06f2]
    00102e22mov rcx, r15
    00102e25call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e2atest al, al
    00102e2cjne 0x1030e9
    00102e32mov rdi, rbp
    00102e35mov rsi, rbx
    00102e38lea rdx, [rip-0xc966f]
    00102e3fpush 8
    00102e41pop rcx
    00102e42call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e47test al, al
    00102e49jne 0x1030f4
    00102e4fmov rdi, rbp
    00102e52mov rsi, rbx
    00102e55lea rdx, [rip-0xc0726]
    00102e5cpush 9
    00102e5epop rcx
    00102e5fcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e64test al, al
    00102e66jne 0x1030ff
    00102e6cmov rdi, rbp
    00102e6fmov rsi, rbx
    00102e72lea rdx, [rip-0xc073a]
    00102e79mov rcx, r12
    00102e7ccall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e81test al, al
    00102e83jne 0x10310a
    00102e89mov rdi, rbp
    00102e8cmov rsi, rbx
    00102e8flea rdx, [rip-0xc0750]
    00102e96push 10
    00102e98pop rcx
    00102e99call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102e9etest al, al
    00102ea0jne 0x103115
    00102ea6mov rdi, rbp
    00102ea9mov rsi, rbx
    00102eaclea rdx, [rip-0xc0763]
    00102eb3mov rcx, r12
    00102eb6call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102ebbtest al, al
    00102ebdjne 0x103120
    00102ec3mov rdi, rbp
    00102ec6mov rsi, rbx
    00102ec9lea rdx, [rip-0xc96f8]
    00102ed0push 8
    00102ed2pop rcx
    00102ed3call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102ed8test al, al
    00102edajne 0x10312b
    00102ee0mov rdi, rbp
    00102ee3mov rsi, rbx
    00102ee6lea rdx, [rip-0xc0796]
    00102eedpush 9
    00102eefpop rcx
    00102ef0call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102ef5test al, al
    00102ef7jne 0x103136
    00102efdmov rdi, rbp
    00102f00mov rsi, rbx
    00102f03lea rdx, [rip-0xc8f82]
    00102f0apush 4
    00102f0cpop rcx
    00102f0dcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102f12test al, al
    00102f14jne 0x103142
    00102f1amov rdi, rbp
    00102f1dmov rsi, rbx
    00102f20lea rdx, [rip-0xc07c7]
    00102f27push 3
    00102f29pop rcx
    00102f2acall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102f2ftest al, al
    00102f31jne 0x1031af
    00102f37mov rdi, rbp
    00102f3amov rsi, rbx
    00102f3dlea rdx, [rip-0xc07e1]
    00102f44push 10
    00102f46pop rcx
    00102f47call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102f4ctest al, al
    00102f4ejne 0x10321c
    00102f54mov rdi, rbp
    00102f57mov rsi, rbx
    00102f5alea rdx, [rip-0xc07f4]
    00102f61mov rcx, r14
    00102f64call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102f69test al, al
    00102f6bjne 0x103289
    00102f71mov rdi, rbp
    00102f74mov rsi, rbx
    00102f77lea rdx, [rip-0xc080c]
    00102f7epush 10
    00102f80pop rcx
    00102f81call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102f86test al, al
    00102f88jne 0x10331b
    00102f8emov rdi, rbp
    00102f91mov rsi, rbx
    00102f94lea rdx, [rip-0xabc02]
    00102f9bmov rcx, r12
    00102f9ecall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102fa3test al, al
    00102fa5jne 0x103388
    00102fabmov rdi, rbp
    00102faemov rsi, rbx
    00102fb1lea rdx, [rip-0xc083c]
    00102fb8mov rcx, r15
    00102fbbcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102fc0test al, al
    00102fc2jne 0x1033f5
    00102fc8mov rdi, rbp
    00102fcbmov rsi, rbx
    00102fcelea rdx, [rip-0xc0853]
    00102fd5push 13
    00102fd7pop rcx
    00102fd8call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00102fddtest al, al
    00102fdfjne 0x10345f
    00102fe5cmp rbx, 3
    00102fe9jb 0x103054
    00102febpush 3
    00102fedpop r14
    00102fefmov rdi, r14
    00102ff2mov rsi, rbp
    00102ff5mov rdx, rbx
    00102ff8lea rcx, [rip+0x10e229]
    00102fffcall _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    00103004mov rcx, rdx
    00103007lea rdi, [rip-0xc087f]
    0010300emov rsi, r14
    00103011mov rdx, rax
    00103014call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00103019test al, al
    0010301bje 0x103054
    0010301dmov rdi, rbp
    00103020mov rsi, rbx
    00103023push 3
    00103025pop rdx
    00103026lea rcx, [rip+0xe76b3]
    0010302dcall core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00103032mov rdi, rax
    00103035mov rsi, rdx
    00103038call core::str::_<impl str>::parse
    0010303dtest al, 1
    0010303fjne 0x102ba7
    00103045mov al, 8
    00103047mov [rsp+8], eax
    0010304bmov [rsp+5], dl
    0010304fjmp 0x102ba7
    00103054
    00103054loc_103054:
    00103054mov rdi, rbp
    00103057mov rsi, rbx
    0010305acall core::str::_<impl str>::parse
    0010305ftest al, 1
    00103061jne 0x102ba7
    00103067mov al, 8
    00103069mov [rsp+12], eax
    0010306dmov [rsp+6], dl
    00103071jmp 0x102ba7
    00103076
    00103076loc_103076:
    00103076mov [rsp+12], 0
    0010307ejmp 0x102ba7
    00103083
    00103083loc_103083:
    00103083mov al, 1
    00103085mov [rsp+12], eax
    00103089jmp 0x102ba7
    0010308e
    0010308eloc_10308e:
    0010308emov al, 2
    00103090mov [rsp+12], eax
    00103094jmp 0x102ba7
    00103099
    00103099loc_103099:
    00103099mov al, 3
    0010309bmov [rsp+12], eax
    0010309fjmp 0x102ba7
    001030a4
    001030a4loc_1030a4:
    001030a4mov al, 4
    001030a6mov [rsp+12], eax
    001030aajmp 0x102ba7
    001030af
    001030afloc_1030af:
    001030afmov al, 5
    001030b1mov [rsp+12], eax
    001030b5jmp 0x102ba7
    001030ba
    001030baloc_1030ba:
    001030bamov al, 6
    001030bcmov [rsp+12], eax
    001030c0jmp 0x102ba7
    001030c5
    001030c5loc_1030c5:
    001030c5mov al, 7
    001030c7mov [rsp+12], eax
    001030cbjmp 0x102ba7
    001030d0
    001030d0loc_1030d0:
    001030d0mov al, 1
    001030d2mov [rsp+56], rax
    001030d7jmp 0x102ba7
    001030dc
    001030dcloc_1030dc:
    001030dcmov [rsp+8], 0
    001030e4jmp 0x102ba7
    001030e9
    001030e9loc_1030e9:
    001030e9mov al, 1
    001030ebmov [rsp+8], eax
    001030efjmp 0x102ba7
    001030f4
    001030f4loc_1030f4:
    001030f4mov al, 2
    001030f6mov [rsp+8], eax
    001030fajmp 0x102ba7
    001030ff
    001030ffloc_1030ff:
    001030ffmov al, 3
    00103101mov [rsp+8], eax
    00103105jmp 0x102ba7
    0010310a
    0010310aloc_10310a:
    0010310amov al, 4
    0010310cmov [rsp+8], eax
    00103110jmp 0x102ba7
    00103115
    00103115loc_103115:
    00103115mov al, 5
    00103117mov [rsp+8], eax
    0010311bjmp 0x102ba7
    00103120
    00103120loc_103120:
    00103120mov al, 6
    00103122mov [rsp+8], eax
    00103126jmp 0x102ba7
    0010312b
    0010312bloc_10312b:
    0010312bmov al, 7
    0010312dmov [rsp+8], eax
    00103131jmp 0x102ba7
    00103136
    00103136loc_103136:
    00103136mov al, 1
    00103138mov [rsp+48], rax
    0010313djmp 0x102ba7
    00103142
    00103142loc_103142:
    00103142mov rax, [rsp+64]
    00103147mov [rsp+16], rax
    0010314cmov rax, [rsp+88]
    00103151mov [rsp+24], rax
    00103156mov rax, [rsp+72]
    0010315bmov [rsp+32], rax
    00103160mov eax, [rsp+12]
    00103164mov [rsp+40], al
    00103168mov al, [rsp+6]
    0010316cmov [rsp+41], al
    00103170mov eax, [rsp+8]
    00103174mov [rsp+42], al
    00103178mov al, [rsp+5]
    0010317cmov [rsp+43], al
    00103180mov al, [rsp+7]
    00103184mov [rsp+44], al
    00103188mov rax, [rsp+56]
    0010318dmov [rsp+45], al
    00103191mov rax, [rsp+48]
    00103196mov [rsp+46], al
    0010319amov rax, [rsp+80]
    0010319fmov [rsp+47], al
    001031a3lea rdi, [rsp+16]
    001031a8xor esi, esi
    001031aajmp 0x1034c8
    001031af
    001031afloc_1031af:
    001031afmov rax, [rsp+64]
    001031b4mov [rsp+16], rax
    001031b9mov rax, [rsp+88]
    001031bemov [rsp+24], rax
    001031c3mov rax, [rsp+72]
    001031c8mov [rsp+32], rax
    001031cdmov eax, [rsp+12]
    001031d1mov [rsp+40], al
    001031d5mov al, [rsp+6]
    001031d9mov [rsp+41], al
    001031ddmov eax, [rsp+8]
    001031e1mov [rsp+42], al
    001031e5mov al, [rsp+5]
    001031e9mov [rsp+43], al
    001031edmov al, [rsp+7]
    001031f1mov [rsp+44], al
    001031f5mov rax, [rsp+56]
    001031famov [rsp+45], al
    001031femov rax, [rsp+48]
    00103203mov [rsp+46], al
    00103207mov rax, [rsp+80]
    0010320cmov [rsp+47], al
    00103210lea rdi, [rsp+16]
    00103215push 1
    00103217jmp 0x1034c7
    0010321c
    0010321cloc_10321c:
    0010321cmov rax, [rsp+64]
    00103221mov [rsp+16], rax
    00103226mov rax, [rsp+88]
    0010322bmov [rsp+24], rax
    00103230mov rax, [rsp+72]
    00103235mov [rsp+32], rax
    0010323amov eax, [rsp+12]
    0010323emov [rsp+40], al
    00103242mov al, [rsp+6]
    00103246mov [rsp+41], al
    0010324amov eax, [rsp+8]
    0010324emov [rsp+42], al
    00103252mov al, [rsp+5]
    00103256mov [rsp+43], al
    0010325amov al, [rsp+7]
    0010325emov [rsp+44], al
    00103262mov rax, [rsp+56]
    00103267mov [rsp+45], al
    0010326bmov rax, [rsp+48]
    00103270mov [rsp+46], al
    00103274mov rax, [rsp+80]
    00103279mov [rsp+47], al
    0010327dlea rdi, [rsp+16]
    00103282push 3
    00103284jmp 0x1034c7
    00103289
    00103289loc_103289:
    00103289mov rax, [rsp+64]
    0010328emov [rsp+16], rax
    00103293mov rax, [rsp+88]
    00103298mov [rsp+24], rax
    0010329dmov rax, [rsp+72]
    001032a2mov [rsp+32], rax
    001032a7mov eax, [rsp+12]
    001032abmov [rsp+40], al
    001032afmov al, [rsp+6]
    001032b3mov [rsp+41], al
    001032b7mov eax, [rsp+8]
    001032bbmov [rsp+42], al
    001032bfmov al, [rsp+5]
    001032c3mov [rsp+43], al
    001032c7mov al, [rsp+7]
    001032cbmov [rsp+44], al
    001032cfmov rax, [rsp+56]
    001032d4mov [rsp+45], al
    001032d8mov rax, [rsp+48]
    001032ddmov [rsp+46], al
    001032e1mov rax, [rsp+80]
    001032e6mov [rsp+47], al
    001032ealea rdi, [rsp+16]
    001032efpush 4
    001032f1jmp 0x1034c7
    001032f6
    001032f6loc_1032f6:
    001032f6mov rax, [rsp+96]
    001032fbmov rcx, [rsp+128]
    00103303mov rbp, [rsp+176]
    0010330badd rbp, rax
    0010330esub rbx, rax
    00103311mov [rsp+96], rcx
    00103316jmp 0x102ce7
    0010331b
    0010331bloc_10331b:
    0010331bmov rax, [rsp+64]
    00103320mov [rsp+16], rax
    00103325mov rax, [rsp+88]
    0010332amov [rsp+24], rax
    0010332fmov rax, [rsp+72]
    00103334mov [rsp+32], rax
    00103339mov eax, [rsp+12]
    0010333dmov [rsp+40], al
    00103341mov al, [rsp+6]
    00103345mov [rsp+41], al
    00103349mov eax, [rsp+8]
    0010334dmov [rsp+42], al
    00103351mov al, [rsp+5]
    00103355mov [rsp+43], al
    00103359mov al, [rsp+7]
    0010335dmov [rsp+44], al
    00103361mov rax, [rsp+56]
    00103366mov [rsp+45], al
    0010336amov rax, [rsp+48]
    0010336fmov [rsp+46], al
    00103373mov rax, [rsp+80]
    00103378mov [rsp+47], al
    0010337clea rdi, [rsp+16]
    00103381push 5
    00103383jmp 0x1034c7
    00103388
    00103388loc_103388:
    00103388mov rax, [rsp+64]
    0010338dmov [rsp+16], rax
    00103392mov rax, [rsp+88]
    00103397mov [rsp+24], rax
    0010339cmov rax, [rsp+72]
    001033a1mov [rsp+32], rax
    001033a6mov eax, [rsp+12]
    001033aamov [rsp+40], al
    001033aemov al, [rsp+6]
    001033b2mov [rsp+41], al
    001033b6mov eax, [rsp+8]
    001033bamov [rsp+42], al
    001033bemov al, [rsp+5]
    001033c2mov [rsp+43], al
    001033c6mov al, [rsp+7]
    001033camov [rsp+44], al
    001033cemov rax, [rsp+56]
    001033d3mov [rsp+45], al
    001033d7mov rax, [rsp+48]
    001033dcmov [rsp+46], al
    001033e0mov rax, [rsp+80]
    001033e5mov [rsp+47], al
    001033e9lea rdi, [rsp+16]
    001033eepush 6
    001033f0jmp 0x1034c7
    001033f5
    001033f5loc_1033f5:
    001033f5mov rax, [rsp+64]
    001033famov [rsp+16], rax
    001033ffmov rax, [rsp+88]
    00103404mov [rsp+24], rax
    00103409mov rax, [rsp+72]
    0010340emov [rsp+32], rax
    00103413mov eax, [rsp+12]
    00103417mov [rsp+40], al
    0010341bmov al, [rsp+6]
    0010341fmov [rsp+41], al
    00103423mov eax, [rsp+8]
    00103427mov [rsp+42], al
    0010342bmov al, [rsp+5]
    0010342fmov [rsp+43], al
    00103433mov al, [rsp+7]
    00103437mov [rsp+44], al
    0010343bmov rax, [rsp+56]
    00103440mov [rsp+45], al
    00103444mov rax, [rsp+48]
    00103449mov [rsp+46], al
    0010344dmov rax, [rsp+80]
    00103452mov [rsp+47], al
    00103456lea rdi, [rsp+16]
    0010345bpush 7
    0010345djmp 0x1034c7
    0010345f
    0010345floc_10345f:
    0010345fmov rax, [rsp+64]
    00103464mov [rsp+16], rax
    00103469mov rax, [rsp+88]
    0010346emov [rsp+24], rax
    00103473mov rax, [rsp+72]
    00103478mov [rsp+32], rax
    0010347dmov eax, [rsp+12]
    00103481mov [rsp+40], al
    00103485mov al, [rsp+6]
    00103489mov [rsp+41], al
    0010348dmov eax, [rsp+8]
    00103491mov [rsp+42], al
    00103495mov al, [rsp+5]
    00103499mov [rsp+43], al
    0010349dmov al, [rsp+7]
    001034a1mov [rsp+44], al
    001034a5mov rax, [rsp+56]
    001034aamov [rsp+45], al
    001034aemov rax, [rsp+48]
    001034b3mov [rsp+46], al
    001034b7mov rax, [rsp+80]
    001034bcmov [rsp+47], al
    001034c0lea rdi, [rsp+16]
    001034c5push 8
    001034c7
    001034c7loc_1034c7:
    001034c7pop rsi
    001034c8
    001034c8loc_1034c8:
    001034c8call alloc::collections::btree::set::BTreeSet<T,A>::insert
    001034cdmov rax, [rsp+16]
    001034d2mov [rsp+64], rax
    001034d7mov rax, [rsp+24]
    001034dcmov [rsp+88], rax
    001034e1mov rax, [rsp+32]
    001034e6mov [rsp+72], rax
    001034ebmov al, [rsp+40]
    001034efmov [rsp+12], eax
    001034f3mov al, [rsp+41]
    001034f7mov [rsp+6], al
    001034fbmov al, [rsp+42]
    001034ffmov [rsp+8], eax
    00103503mov al, [rsp+43]
    00103507mov [rsp+5], al
    0010350bmov al, [rsp+44]
    0010350fmov [rsp+7], al
    00103513mov al, [rsp+45]
    00103517mov [rsp+56], rax
    0010351cmov al, [rsp+46]
    00103520mov [rsp+48], rax
    00103525mov al, [rsp+47]
    00103529mov [rsp+80], rax
    0010352ejmp 0x102ba7
    00103533
    00103533loc_103533:
    00103533mov rax, [rsp+168]
    0010353bmov rcx, [rsp+64]
    00103540mov [rax], rcx
    00103543mov rcx, [rsp+88]
    00103548mov [rax+8], rcx
    0010354cmov rcx, [rsp+72]
    00103551mov [rax+16], rcx
    00103555mov ecx, [rsp+12]
    00103559mov [rax+24], cl
    0010355cmov cl, [rsp+6]
    00103560mov [rax+25], cl
    00103563mov ecx, [rsp+8]
    00103567mov [rax+26], cl
    0010356amov cl, [rsp+5]
    0010356emov [rax+27], cl
    00103571mov cl, [rsp+7]
    00103575mov [rax+28], cl
    00103578mov rcx, [rsp+56]
    0010357dmov [rax+29], cl
    00103580mov rcx, [rsp+48]
    00103585mov [rax+30], cl
    00103588mov rcx, [rsp+80]
    0010358dmov [rax+31], cl
    00103590add rsp, 184
    00103597pop rbx
    00103598pop r12
    0010359apop r13
    0010359cpop r14
    0010359epop r15
    001035a0pop rbp
    001035a1ret
    00102b1d
    001035a2
    001035a2core::str::_<impl str>::parse:
    001035a2test rsi, rsi
    001035a5je 0x1035be
    001035a7movzx eax, [rdi]
    001035aacmp eax, 45
    001035adje 0x1035c4
    001035afcmp eax, 43
    001035b2jne 0x1035ce
    001035b4dec rsi
    001035b7je 0x10362b
    001035b9inc rdi
    001035bcjmp 0x1035ce
    001035be
    001035beloc_1035be:
    001035bemov cl, 1
    001035c0xor edx, edx
    001035c2jmp 0x103639
    001035c4
    001035c4loc_1035c4:
    001035c4mov dl, 1
    001035c6mov cl, 1
    001035c8cmp rsi, 1
    001035ccje 0x103639
    001035ce
    001035celoc_1035ce:
    001035cecmp rsi, 3
    001035d2jae 0x1035fc
    001035d4xor eax, eax
    001035d6xor edx, edx
    001035d8
    001035d8loc_1035d8:
    001035d8movzx ecx, [rdi+rax]
    001035dcadd ecx, -48
    001035dfcmp ecx, 9
    001035e2ja 0x10362b
    001035e4movzx edx, dl
    001035e7imul r8l, edx, 10
    001035ebmov edx, ecx
    001035edadd dl, r8b
    001035f0inc rax
    001035f3cmp rsi, rax
    001035f6jne 0x1035d8
    001035f8xor ecx, ecx
    001035fajmp 0x103639
    001035fc
    001035fcloc_1035fc:
    001035fcxor r8l, r8l
    001035ffmov r9b, 10
    00103602xor eax, eax
    00103604
    00103604loc_103604:
    00103604cmp rsi, r8
    00103607je 0x103631
    00103609movzx r10l, [rdi+r8]
    0010360eadd r10l, -48
    00103612mov cl, 1
    00103614cmp r10l, 9
    00103618ja 0x103637
    0010361amul r9b
    0010361dmov dl, 2
    0010361fjo 0x103639
    00103621inc r8
    00103624add al, r10b
    00103627jae 0x103604
    00103629jmp 0x103639
    0010362b
    0010362bloc_10362b:
    0010362bmov dl, 1
    0010362dmov cl, 1
    0010362fjmp 0x103639
    00103631
    00103631loc_103631:
    00103631xor ecx, ecx
    00103633mov edx, eax
    00103635jmp 0x103639
    00103637
    00103637loc_103637:
    00103637mov dl, 1
    00103639
    00103639loc_103639:
    00103639mov eax, ecx
    0010363bret
    001035a2
    0010363c
    0010363c_<console::utils::Emoji as core::fmt::Display>::fmt:
    0010363cpush rbp
    0010363dpush r15
    0010363fpush r14
    00103641push r13
    00103643push r12
    00103645push rbx
    00103646sub rsp, 120
    0010364amov rbx, rsi
    0010364dmov eax, [rip+0x10f82d]
    00103653cmp eax, 4
    00103656je 0x103943
    0010365cmov [rsp+48], rdi
    00103661push 1
    00103663pop r13
    00103665lea r14, [rip-0xc5ffc]
    0010366cpush 2
    0010366epop rbp
    0010366fpush 3
    00103671pop r12
    00103673lea r15, [rip+0x10f806]
    0010367a
    0010367aloc_10367a:
    0010367amov eax, [rip+0x10f800]
    00103680
    00103680loc_103680:
    00103680cmp eax, 4
    00103683ja 0x103c4a
    00103689mov eax, eax
    0010368bmovsxd rax, [r14+4*rax]
    0010368fadd rax, r14
    00103692jmp rax
    00103694xor eax, eax
    00103696lock cmpxchg [rip+0x10f7e2], ebp
    0010369ejne 0x103680
    001036a0jmp 0x1036c1
    001036a2mov eax, ebp
    001036a4lock cmpxchg [rip+0x10f7d3], r12l
    001036adjne 0x103680
    001036afmov rdi, r15
    001036b2mov esi, r12l
    001036b5mov ecx, 0x3b9aca00
    001036bacall std::sys::unix::futex::futex_wait
    001036bfjmp 0x10367a
    001036c1
    001036c1loc_1036c1:
    001036c1mov [rsp+104], r15
    001036c6lea rsi, [rip-0xc9741]
    001036cdlea r15, [rsp+56]
    001036d2push 4
    001036d4pop rdx
    001036d5mov rdi, r15
    001036d8call std::env::_var
    001036ddcmp [r15], 0
    001036e1je 0x1036f5
    001036e3lea rdi, [rsp+56]
    001036e8call core::ptr::drop_in_place<core::result::Result<alloc::string::String,std::env::VarError>>
    001036edxor r12l, r12l
    001036f0jmp 0x103926
    001036f5
    001036f5loc_1036f5:
    001036f5mov r14, [rsp+64]
    001036famov r12, [rsp+80]
    001036fftest r12, r12
    00103702je 0x103737
    00103704setns al
    00103707js 0x103c9f
    0010370dmovzx ebp, al
    00103710mov al, [rip+0x10f9b2]
    00103716mov rdi, r12
    00103719mov rsi, rbp
    0010371ccall __rust_alloc
    00103721test rax, rax
    00103724je 0x103ca6
    0010372amov r13, rax
    0010372dcmp r12, 16
    00103731jae 0x1039a2
    00103737
    00103737loc_103737:
    00103737xor r15l, r15l
    0010373a
    0010373aloc_10373a:
    0010373amov [rsp+8], r13
    0010373fmov [rsp+16], r12
    00103744mov [rsp+24], r15
    00103749cmp r15, r12
    0010374cjne 0x103756
    0010374emov rbp, r12
    00103751jmp 0x1038f6
    00103756
    00103756loc_103756:
    00103756add r12, r14
    00103759mov [rsp+40], r14
    0010375eadd r15, r14
    00103761lea r13, [rip-0xbbe98]
    00103768mov r14l, 255
    0010376e
    0010376eloc_10376e:
    0010376emovzx ebp, [r15]
    00103772test bpl, bpl
    00103775js 0x10377c
    00103777inc r15
    0010377ajmp 0x1037e9
    0010377c
    0010377cloc_10377c:
    0010377cmov eax, ebp
    0010377eand eax, 31
    00103781movzx edx, [r15+1]
    00103786and edx, 63
    00103789cmp bpl, -33
    0010378djbe 0x1037c9
    0010378fmovzx ecx, [r15+2]
    00103794shl edx, 6
    00103797and ecx, 63
    0010379aor ecx, edx
    0010379ccmp bpl, -16
    001037a0jb 0x1037d6
    001037a2movzx ebp, [r15+3]
    001037a7and eax, 7
    001037aashl eax, 18
    001037adshl ecx, 6
    001037b0and ebp, 63
    001037b3or ebp, ecx
    001037b5or ebp, eax
    001037b7cmp ebp, 0x110000
    001037bdje 0x1038e2
    001037c3add r15, 4
    001037c7jmp 0x1037e1
    001037c9
    001037c9loc_1037c9:
    001037c9add r15, 2
    001037cdshl eax, 6
    001037d0or eax, edx
    001037d2mov ebp, eax
    001037d4jmp 0x1037e1
    001037d6
    001037d6loc_1037d6:
    001037d6add r15, 3
    001037dashl eax, 12
    001037ddor ecx, eax
    001037dfmov ebp, ecx
    001037e1
    001037e1loc_1037e1:
    001037e1cmp ebp, 128
    001037e7jae 0x103814
    001037e9
    001037e9loc_1037e9:
    001037e9lea eax, [rbp-97]
    001037ecxor ecx, ecx
    001037eecmp al, 26
    001037f0setb cl
    001037f3shl ecx, 5
    001037f6xor ecx, ebp
    001037f8mov ebp, ecx
    001037fa
    001037faloc_1037fa:
    001037falea rdi, [rsp+8]
    001037ffmov esi, ebp
    00103801call alloc::string::String::push
    00103806cmp r15, r12
    00103809jne 0x10376e
    0010380fjmp 0x1038e2
    00103814
    00103814loc_103814:
    00103814mov eax, 1499
    00103819xor edx, edx
    0010381bmov ecx, 1499
    00103820
    00103820loc_103820:
    00103820shr rax, 1
    00103823add rax, rdx
    00103826xor esi, esi
    00103828cmp [r13+8*rax], ebp
    0010382dsetne sil
    00103831cmovb esi, r14l
    00103835cmp sil, 1
    00103839je 0x103852
    0010383bmovzx edx, sil
    0010383fcmp edx, 255
    00103845jne 0x10385c
    00103847inc rax
    0010384amov rdx, rax
    0010384dmov rax, rcx
    00103850jmp 0x103855
    00103852
    00103852loc_103852:
    00103852mov rcx, rax
    00103855
    00103855loc_103855:
    00103855sub rax, rdx
    00103858ja 0x103820
    0010385ajmp 0x1037fa
    0010385c
    0010385cloc_10385c:
    0010385cmov ebp, [r13+8*rax+4]
    00103861cmp rbp, 0x110000
    00103868je 0x103881
    0010386amov eax, ebp
    0010386cxor eax, 55296
    00103871add eax, 0xffffffffffef0000
    00103876cmp eax, 0xffffffffffef0800
    0010387bjae 0x1037fa
    00103881
    00103881loc_103881:
    00103881and ebp, 0x3fffff
    00103887imul rax, rbp, 12
    0010388blea rcx, [rip-0xb90ea]
    00103892mov esi, [rax+rcx]
    00103895mov rbp, [rax+rcx+4]
    0010389atest ebp, ebp
    0010389cje 0x1038cc
    0010389emov rax, rbp
    001038a1shr rax, 32
    001038a5mov [rsp+32], rax
    001038aaje 0x1038d3
    001038aclea rdi, [rsp+8]
    001038b1call alloc::string::String::push
    001038b6lea rdi, [rsp+8]
    001038bbmov esi, ebp
    001038bdcall alloc::string::String::push
    001038c2mov rbp, [rsp+32]
    001038c7jmp 0x1037fa
    001038cc
    001038ccloc_1038cc:
    001038ccmov ebp, esi
    001038cejmp 0x1037fa
    001038d3
    001038d3loc_1038d3:
    001038d3lea rdi, [rsp+8]
    001038d8call alloc::string::String::push
    001038ddjmp 0x1037fa
    001038e2
    001038e2loc_1038e2:
    001038e2mov r13, [rsp+8]
    001038e7mov rbp, [rsp+16]
    001038ecmov r12, [rsp+24]
    001038f1mov r14, [rsp+40]
    001038f6
    001038f6loc_1038f6:
    001038f6lea rdx, [rip-0xc10a8]
    001038fdpush 5
    001038ffpop rcx
    00103900mov rdi, r13
    00103903mov rsi, r12
    00103906call core::slice::_<impl [T]>::ends_with
    0010390bmov r12l, eax
    0010390emov rdi, r13
    00103911mov rsi, rbp
    00103914call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00103919mov rsi, [rsp+72]
    0010391emov rdi, r14
    00103921call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00103926
    00103926loc_103926:
    00103926mov [rip+0x10f557], r12b
    0010392dlea rdi, [rsp+104]
    00103932mov [rdi+8], 4
    00103939call _<std::sys_common::once::futex::CompletionGuard as core::ops::drop::Drop>::drop
    0010393emov rdi, [rsp+48]
    00103943
    00103943loc_103943:
    00103943cmp [rip+0x10f53a], 0
    0010394ajne 0x103950
    0010394cadd rdi, 16
    00103950
    00103950loc_103950:
    00103950lea rax, [rsp+8]
    00103955mov [rax], rdi
    00103958lea rcx, [rip-8626]
    0010395fmov [rax+8], rcx
    00103963lea rcx, [rip+0x10dc26]
    0010396alea rdx, [rsp+56]
    0010396fmov [rdx], rcx
    00103972push 1
    00103974pop rcx
    00103975mov [rdx+8], rcx
    00103979and [rdx+32], 0
    0010397emov [rdx+16], rax
    00103982mov [rdx+24], rcx
    00103986mov rdi, [rbx+32]
    0010398amov rsi, [rbx+40]
    0010398ecall core::fmt::Formatter::write_fmt
    00103993add rsp, 120
    00103997pop rbx
    00103998pop r12
    0010399apop r13
    0010399cpop r14
    0010399epop r15
    001039a0pop rbp
    001039a1ret
    001039a2
    001039a2loc_1039a2:
    001039a2xor r15l, r15l
    001039a5mov rax, 0x8080808080808080
    001039afmovapd x0, [rip-0xcb2d7]
    001039b7pxor x2, x2
    001039bbpackuswb x2, x2
    001039bfmovdqa x5, [rip-0xcb2b7]
    001039c7movdqa x6, [rip-0xcb2af]
    001039cfmovdqa x7, [rip-0xcb2a7]
    001039d7movdqa x8, [rip-0xcb2a0]
    001039e0movdqa x9, [rip-0xcb299]
    001039e9movdqa x10, [rip-0xcb292]
    001039f2movdqa x11, [rip-0xcb28b]
    001039fbmovdqa x12, [rip-0xcb284]
    00103a04movdqa x14, [rip-0xcb26d]
    00103a0d
    00103a0dloc_103a0d:
    00103a0dmov rdx, [r14+r15]
    00103a11movdqu x1, [r14+r15]
    00103a17pshufd x13, x1, -18
    00103a1dmovq rcx, x13
    00103a22mov rsi, rcx
    00103a25or rsi, rdx
    00103a28test rsi, rax
    00103a2bjne 0x10373a
    00103a31mov rdi, rdx
    00103a34mov r9, rdx
    00103a37mov rsi, rdx
    00103a3ashr rsi, 40
    00103a3emov r8, rdx
    00103a41shr r8, 32
    00103a45pshufd x13, x1, 68
    00103a4bmovdqa x4, x1
    00103a4fpsrlq x4, 16
    00103a54psrlq x13, 24
    00103a5amovsd_xmm x13, x4
    00103a5fshr edx, 8
    00103a62movd x4, edx
    00103a66movdqa x15, x1
    00103a6bpunpcklqdq x15, x4
    00103a70andpd x13, x0
    00103a75pand x15, x0
    00103a7apackuswb x15, x13
    00103a7fmovd x4, r8l
    00103a84pshufd x4, x4, 80
    00103a89movdqa x13, [rip-0xcb3a2]
    00103a92pandn x13, x4
    00103a97movd x4, esi
    00103a9bpsllq x4, 40
    00103aa0movdqa x3, [rip-0xcb3a8]
    00103aa8pandn x3, x4
    00103aacmov rdx, rcx
    00103aafshr rdx, 40
    00103ab3mov rsi, rcx
    00103ab6shr rsi, 32
    00103abamov r8l, ecx
    00103abdshr r8l, 24
    00103ac1mov r10l, ecx
    00103ac4shr r10l, 16
    00103ac8mov r11l, ecx
    00103acbshr r11l, 8
    00103acfshr rdi, 56
    00103ad3shr r9, 48
    00103ad7packuswb x15, [rip-0xcb300]
    00103ae0packuswb x15, x2
    00103ae5por x3, x13
    00103aeapor x3, x15
    00103aefpand x3, x5
    00103af3movd x4, r9l
    00103af8psllq x4, 48
    00103afdmovdqa x13, x5
    00103b02pandn x13, x4
    00103b07por x13, x3
    00103b0cpand x13, x6
    00103b11movd x3, edi
    00103b15psllq x3, 56
    00103b1amovdqa x4, x6
    00103b1epandn x4, x3
    00103b22por x4, x13
    00103b27pand x4, x7
    00103b2bmovd x3, ecx
    00103b2fpshufd x3, x3, 68
    00103b34movdqa x13, x7
    00103b39pandn x13, x3
    00103b3epor x13, x4
    00103b43pand x13, x8
    00103b48movd x3, r11l
    00103b4dpslldq x3, 9
    00103b52movdqa x4, x8
    00103b57pandn x4, x3
    00103b5bpor x4, x13
    00103b60pand x4, x9
    00103b65movd x3, r10l
    00103b6apslldq x3, 10
    00103b6fmovdqa x13, x9
    00103b74pandn x13, x3
    00103b79por x13, x4
    00103b7epand x13, x10
    00103b83movd x3, r8l
    00103b88pslldq x3, 11
    00103b8dmovdqa x4, x10
    00103b92pandn x4, x3
    00103b96por x4, x13
    00103b9bpand x4, x11
    00103ba0movd x3, esi
    00103ba4pshufd x3, x3, 0
    00103ba9movdqa x13, x11
    00103baepandn x13, x3
    00103bb3por x13, x4
    00103bb8movd x3, edx
    00103bbcpslldq x3, 13
    00103bc1movdqa x4, x12
    00103bc6pandn x4, x3
    00103bcashr rcx, 48
    00103bcepand x13, x12
    00103bd3por x4, x13
    00103bd8pand x4, [rip-0xcb450]
    00103be0movd x3, ecx
    00103be4pslldq x3, 14
    00103be9por x3, x4
    00103bedpand x3, x14
    00103bf2movdqa x4, x14
    00103bf7pandn x4, x1
    00103bfbpor x4, x3
    00103bffmovdqa x1, x4
    00103c03paddb x1, [rip-0xcb45b]
    00103c0bmovdqa x3, x1
    00103c0fpminub x3, [rip-0xcb457]
    00103c17pcmpeqb x3, x1
    00103c1bpand x3, [rip-0xcb453]
    00103c23pxor x3, x4
    00103c27movdqu [r13+r15], x3
    00103c2elea rcx, [r15+16]
    00103c32add r15, 32
    00103c36cmp r15, r12
    00103c39mov r15, rcx
    00103c3cjbe 0x103a0d
    00103c42mov r15, rcx
    00103c45jmp 0x10373a
    00103c4a
    00103c4aloc_103c4a:
    00103c4alea rax, [rip+0x10d50f]
    00103c51lea rdi, [rsp+56]
    00103c56mov [rdi], rax
    00103c59mov [rdi+8], 1
    00103c61lea rax, [rsp+8]
    00103c66jmp 0x103c86
    00103c68lea rax, [rip+0x10d4e1]
    00103c6flea rdi, [rsp+56]
    00103c74mov [rdi], rax
    00103c77mov [rdi+8], 1
    00103c7flea rax, [rip-0x7298e]
    00103c86
    00103c86loc_103c86:
    00103c86mov [rdi+16], rax
    00103c8axorps x0, x0
    00103c8dmovups [rdi+24], x0
    00103c91lea rsi, [rip+0xe6858]
    00103c98call core::panicking::panic_fmt
    00103c9dud2
    00103c9f
    00103c9floc_103c9f:
    00103c9fcall alloc::raw_vec::capacity_overflow
    00103ca4ud2
    00103ca6
    00103ca6loc_103ca6:
    00103ca6mov rdi, rbp
    00103ca9mov rsi, r12
    00103caccall alloc::alloc::handle_alloc_error
    00103cb1ud2
    00103cb3mov rbx, rax
    00103cb6lea rdi, [rsp+8]
    00103cbbcall core::ptr::drop_in_place<alloc::string::String>
    00103cc0mov rdi, rbx
    00103cc3call _Unwind_Resume
    00103cc8ud2
    0010363c
    00103cca
    00103cca // align 0x10
    00103cd0
    00103cd0core::ops::function::FnOnce::call_once:
    00103cd0mov rax, [rdi]
    00103cd3nop [rax+rax]
    00103ce0
    00103ce0loc_103ce0:
    00103ce0jmp 0x103ce0
    00103cd0
    00103ce2
    00103ce2 // align 0x10
    00103cf0
    00103cf0core::panicking::panic_fmt:
    00103cf0sub rsp, 40
    00103cf4lea rax, [rip-0x72a03]
    00103cfbmov [rsp], rax
    00103cfflea rax, [rip+0xe6f2a]
    00103d06mov [rsp+8], rax
    00103d0bmov [rsp+16], rdi
    00103d10mov [rsp+24], rsi
    00103d15mov [rsp+32], 1
    00103d1cmov rdi, rsp
    00103d1fcall rust_begin_unwind
    00103d24ud2
    00103cf0
    00103d26
    00103d26 // align 0x10
    00103d30
    00103d30core::num::dec2flt::decimal::Decimal::left_shift:
    00103d30push rbp
    00103d31push r15
    00103d33push r14
    00103d35push rbx
    00103d36push rax
    00103d37mov r8, [rdi]
    00103d3atest r8, r8
    00103d3dje 0x103ec0
    00103d43mov rcx, rsi
    00103d46and ecx, 63
    00103d49lea rdx, [rip-0xc14ce]
    00103d50movzx r9l, [rdx+2*rcx]
    00103d55mov eax, r9l
    00103d58and eax, 2047
    00103d5dcmp eax, 1308
    00103d62ja 0x103f4d
    00103d68shr r9l, 11
    00103d6cmovzx edx, [rdx+2*rcx+2]
    00103d71and edx, 2047
    00103d77lea rsi, [rip-0xc147a]
    00103d7eadd rsi, rax
    00103d81sub rdx, rax
    00103d84lea r10, [rdx-1]
    00103d88mov r11l, 1308
    00103d8esub r11, rax
    00103d91xor ebx, ebx
    00103d93lea rax, [rip-0xc0f7a]
    00103d9anop [rax+rax]
    00103da0
    00103da0loc_103da0:
    00103da0cmp rdx, rbx
    00103da3je 0x103e06
    00103da5cmp r11, rbx
    00103da8je 0x103e06
    00103daacmp r8, rbx
    00103dadje 0x103e03
    00103dafcmp rbx, 768
    00103db6je 0x103f35
    00103dbcmovzx ebp, [rsi]
    00103dbfmovzx r14l, [rdi+rbx+8]
    00103dc5cmp r14b, bpl
    00103dc8jne 0x103dfa
    00103dcacmp r10, rbx
    00103dcdje 0x103e06
    00103dcflea r14, [rsi+1]
    00103dd3cmp r14, rax
    00103dd6je 0x103e06
    00103dd8lea r15, [rbx+1]
    00103ddccmp r15, r8
    00103ddfje 0x103e03
    00103de1movzx ebp, [rsi+1]
    00103de5add rsi, 2
    00103de9movzx r14l, [rdi+rbx+9]
    00103definc r15
    00103df2mov rbx, r15
    00103df5cmp r14b, bpl
    00103df8je 0x103da0
    00103dfa
    00103dfaloc_103dfa:
    00103dfacmp r14b, bpl
    00103dfdsbb r9, 0
    00103e01jmp 0x103e06
    00103e03
    00103e03loc_103e03:
    00103e03dec r9
    00103e06
    00103e06loc_103e06:
    00103e06lea r11, [r9+rdi]
    00103e0aadd r11, 7
    00103e0exor edx, edx
    00103e10mov r10, 0xcccccccccccccccd
    00103e1ajmp 0x103e29
    00103e1c
    00103e1c 0f 1f 40 00 ..@.
    00103e20
    00103e20loc_103e20:
    00103e20mov [r11+rbx], al
    00103e24
    00103e24loc_103e24:
    00103e24test r8, r8
    00103e27je 0x103e7d
    00103e29
    00103e29loc_103e29:
    00103e29mov rbx, r8
    00103e2cdec r8
    00103e2fcmp rbx, 769
    00103e36jae 0x103f1f
    00103e3cmovzx esi, [rdi+rbx+7]
    00103e41shl rsi, cl
    00103e44add rsi, rdx
    00103e47mov rax, rsi
    00103e4amul r10
    00103e4dlea r14, [rbx+r9]
    00103e51dec r14
    00103e54shr rdx, 3
    00103e58lea rax, [rdx+rdx]
    00103e5clea r15, [rax+4*rax]
    00103e60mov rax, rsi
    00103e63sub rax, r15
    00103e66cmp r14, 768
    00103e6djb 0x103e20
    00103e6ftest rax, rax
    00103e72je 0x103e24
    00103e74mov [rdi+780], 1
    00103e7bjmp 0x103e24
    00103e7d
    00103e7dloc_103e7d:
    00103e7dcmp rsi, 10
    00103e81jae 0x103ecb
    00103e83
    00103e83loc_103e83:
    00103e83mov rcx, [rdi]
    00103e86add rcx, r9
    00103e89cmp rcx, 768
    00103e90mov eax, 768
    00103e95cmovb rax, rcx
    00103e99mov [rdi], rax
    00103e9cadd [rdi+776], r9l
    00103ea3test rax, rax
    00103ea6je 0x103ec0
    00103ea8dec rax
    00103eabnop [rax+rax]
    00103eb0
    00103eb0loc_103eb0:
    00103eb0cmp [rdi+rax+8], 0
    00103eb5jne 0x103ec0
    00103eb7mov [rdi], rax
    00103ebaadd rax, -1
    00103ebejb 0x103eb0
    00103ec0
    00103ec0loc_103ec0:
    00103ec0add rsp, 8
    00103ec4pop rbx
    00103ec5pop r14
    00103ec7pop r15
    00103ec9pop rbp
    00103ecaret
    00103ecb
    00103ecbloc_103ecb:
    00103ecblea rsi, [r9-1]
    00103ecfjmp 0x103eed
    00103ed1
    00103ed1 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
    00103ee0
    00103ee0loc_103ee0:
    00103ee0mov [rdi+rsi+8], al
    00103ee4
    00103ee4loc_103ee4:
    00103ee4dec rsi
    00103ee7cmp rcx, 10
    00103eebjb 0x103e83
    00103eed
    00103eedloc_103eed:
    00103eedmov rcx, rdx
    00103ef0mov rax, rdx
    00103ef3mul r10
    00103ef6shr rdx, 3
    00103efalea rax, [rdx+rdx]
    00103efelea r8, [rax+4*rax]
    00103f02mov rax, rcx
    00103f05sub rax, r8
    00103f08cmp rsi, 768
    00103f0fjb 0x103ee0
    00103f11test rax, rax
    00103f14je 0x103ee4
    00103f16mov [rdi+780], 1
    00103f1djmp 0x103ee4
    00103f1f
    00103f1floc_103f1f:
    00103f1flea rdx, [rip+0xe6832]
    00103f26mov esi, 768
    00103f2bmov rdi, r8
    00103f2ecall core::panicking::panic_bounds_check
    00103f33ud2
    00103f35
    00103f35loc_103f35:
    00103f35lea rdx, [rip+0xe6894]
    00103f3cmov edi, 768
    00103f41mov esi, 768
    00103f46call core::panicking::panic_bounds_check
    00103f4bud2
    00103f4d
    00103f4dloc_103f4d:
    00103f4dlea rdx, [rip+0xe6894]
    00103f54mov esi, 1308
    00103f59mov rdi, rax
    00103f5ccall core::slice::index::slice_start_index_len_fail
    00103f61ud2
    00103d30
    00103f63
    00103f63 // align 0x10
    00103f70
    00103f70core::slice::index::slice_start_index_len_fail:
    00103f70sub rsp, 104
    00103f74mov [rsp+8], rdi
    00103f79mov [rsp+16], rsi
    00103f7elea rax, [rsp+8]
    00103f83mov [rsp+24], rax
    00103f88lea rax, [rip+225]
    00103f8fmov [rsp+32], rax
    00103f94lea rcx, [rsp+16]
    00103f99mov [rsp+40], rcx
    00103f9emov [rsp+48], rax
    00103fa3lea rax, [rip+0xe6eee]
    00103faamov [rsp+56], rax
    00103fafmov [rsp+64], 2
    00103fb8mov [rsp+88], 0
    00103fc1lea rax, [rsp+24]
    00103fc6mov [rsp+72], rax
    00103fcbmov [rsp+80], 2
    00103fd4lea rdi, [rsp+56]
    00103fd9mov rsi, rdx
    00103fdccall core::panicking::panic_fmt
    00103fe1ud2
    00103f70
    00103fe3
    00103fe3 // align 0x10
    00103ff0
    00103ff0core::panicking::panic_bounds_check:
    00103ff0sub rsp, 104
    00103ff4mov [rsp+8], rdi
    00103ff9mov [rsp+16], rsi
    00103ffelea rax, [rsp+16]
    00104003mov [rsp+24], rax
    00104008lea rax, [rip+97]
    0010400fmov [rsp+32], rax
    00104014lea rcx, [rsp+8]
    00104019mov [rsp+40], rcx
    0010401emov [rsp+48], rax
    00104023lea rax, [rip+0xe6c56]
    0010402amov [rsp+56], rax
    0010402fmov [rsp+64], 2
    00104038mov [rsp+88], 0
    00104041lea rax, [rsp+24]
    00104046mov [rsp+72], rax
    0010404bmov [rsp+80], 2
    00104054lea rdi, [rsp+56]
    00104059mov rsi, rdx
    0010405ccall core::panicking::panic_fmt
    00104061ud2
    00103ff0
    00104063
    00104063 // align 0x10
    00104070
    00104070core::fmt::num::imp::_<impl core::fmt::Display for u64>::fmt:
    00104070sub rsp, 40
    00104074mov rcx, [rdi]
    00104077mov eax, 39
    0010407clea rdi, [rip-0x75031]
    00104083cmp rcx, 10000
    0010408ajb 0x104135
    00104090mov r9l, 39
    00104096mov r8, 0x346dc5d63886594b
    001040a0
    001040a0loc_1040a0:
    001040a0mov rax, rcx
    001040a3mul r8
    001040a6shr rdx, 11
    001040aaimul eax, edx, 10000
    001040b0mov r10l, ecx
    001040b3sub r10l, eax
    001040b6imul r11l, r10l, 5243
    001040bdshr r11l, 19
    001040c1imul eax, r11l, 100
    001040c5sub r10l, eax
    001040c8movzx r10l, r10w
    001040cclea rax, [r9-4]
    001040d0movzx r11l, [rdi+2*r11]
    001040d5mov [rsp+r9-3], r11w
    001040dbmovzx r10l, [rdi+2*r10]
    001040e0mov [rsp+r9-1], r10w
    001040e6mov r9, rax
    001040e9cmp rcx, 0x5f5e0ff
    001040f0mov rcx, rdx
    001040f3ja 0x1040a0
    001040f5cmp rdx, 99
    001040f9jbe 0x104124
    001040fb
    001040fbloc_1040fb:
    001040fbmovzx ecx, dx
    001040feshr ecx, 2
    00104101imul ecx, ecx, 5243
    00104107shr ecx, 17
    0010410aimul r8l, ecx, 100
    0010410esub edx, r8l
    00104111movzx edx, dx
    00104114movzx edx, [rdi+2*rdx]
    00104118mov [rsp+rax-1], dx
    0010411dadd rax, -2
    00104121mov rdx, rcx
    00104124
    00104124loc_104124:
    00104124cmp rdx, 10
    00104128jae 0x104140
    0010412aadd dl, 48
    0010412dmov [rsp+rax], dl
    00104130dec rax
    00104133jmp 0x10414d
    00104135
    00104135loc_104135:
    00104135mov rdx, rcx
    00104138cmp rdx, 99
    0010413cja 0x1040fb
    0010413ejmp 0x104124
    00104140
    00104140loc_104140:
    00104140movzx ecx, [rdi+2*rdx]
    00104144mov [rsp+rax-1], cx
    00104149add rax, -2
    0010414d
    0010414dloc_10414d:
    0010414dlea r8, [rsp+rax]
    00104151inc r8
    00104154mov r9l, 39
    0010415asub r9, rax
    0010415dlea rdx, [rip-0x72e6c]
    00104164mov rdi, rsi
    00104167mov esi, 1
    0010416cxor ecx, ecx
    0010416ecall core::fmt::Formatter::pad_integral
    00104173add rsp, 40
    00104177ret
    00104070
    00104178
    00104178 // align 0x10
    00104180
    00104180core::fmt::Formatter::pad_integral:
    00104180push rbp
    00104181push r15
    00104183push r14
    00104185push r13
    00104187push r12
    00104189push rbx
    0010418asub rsp, 40
    0010418emov rbp, r9
    00104191mov r15, r8
    00104194mov r12, rcx
    00104197mov r13, rdx
    0010419atest esi, esi
    0010419cje 0x1041dd
    0010419emov eax, [rdi+52]
    001041a1mov ecx, eax
    001041a3and ecx, 1
    001041a6mov edx, 0x110000
    001041abmov esi, 43
    001041b0cmove esi, edx
    001041b3mov [rsp+12], esi
    001041b7add rcx, rbp
    001041batest al, 4
    001041bcje 0x1041f0
    001041be
    001041beloc_1041be:
    001041bemov rsi, r12
    001041c1test r12, r12
    001041c4je 0x1042f8
    001041cacmp r12, 1
    001041cejne 0x104270
    001041d4xor esi, esi
    001041d6xor edx, edx
    001041d8jmp 0x1042e0
    001041dd
    001041ddloc_1041dd:
    001041ddlea rcx, [rbp+1]
    001041e1mov eax, [rdi+52]
    001041e4mov [rsp+12], 45
    001041ectest al, 4
    001041eejne 0x1041be
    001041f0
    001041f0loc_1041f0:
    001041f0xor r13l, r13l
    001041f3cmp [rdi], 0
    001041f7je 0x104305
    001041fd
    001041fdloc_1041fd:
    001041fdmov [rsp+32], r15
    00104202mov r15, [rdi+8]
    00104206sub r15, rcx
    00104209jbe 0x104237
    0010420btest al, 8
    0010420djne 0x10434a
    00104213mov [rsp+24], rbp
    00104218movzx ebp, [rdi+56]
    0010421clea rax, [rip-0xc6b9f]
    00104223movsxd rcx, [rax+4*rbp]
    00104227add rcx, rax
    0010422ajmp rcx
    0010422cmov rbp, r15
    0010422fxor r15l, r15l
    00104232jmp 0x1043c9
    00104237
    00104237loc_104237:
    00104237mov rbx, [rdi+32]
    0010423bmov r14, [rdi+40]
    0010423fmov rdi, rbx
    00104242mov rsi, r14
    00104245mov edx, [rsp+12]
    00104249mov rcx, r13
    0010424cmov r8, r12
    0010424fcall core::fmt::Formatter::pad_integral::write_prefix
    00104254mov r12b, 1
    00104257test al, al
    00104259mov rsi, [rsp+32]
    0010425ejne 0x104492
    00104264mov rax, [r14+24]
    00104268mov rdi, rbx
    0010426bjmp 0x104337
    00104270
    00104270loc_104270:
    00104270mov rdx, r12
    00104273and rdx, -2
    00104277pxor x0, x0
    0010427bxor esi, esi
    0010427dmovdqa x1, [rip-0xcba95]
    00104285movdqa x2, [rip-0xcba8d]
    0010428dnop [rax]
    00104290
    00104290loc_104290:
    00104290movzx r8l, [r13+rsi]
    00104296movd x3, r8l
    0010429bpcmpgtb x3, x1
    0010429fpunpcklbw x3, x3
    001042a3pshuflw x3, x3, -44
    001042a8pshufd x3, x3, -44
    001042adpand x3, x2
    001042b1paddq x0, x3
    001042b5add rsi, 2
    001042b9cmp rdx, rsi
    001042bcjne 0x104290
    001042bepshufd x1, x0, -18
    001042c3paddq x1, x0
    001042c7movq rsi, x1
    001042cccmp rdx, r12
    001042cfje 0x1042f8
    001042d1nop [rax+rax]
    001042e0
    001042e0loc_1042e0:
    001042e0xor r8l, r8l
    001042e3cmp [r13+rdx], -64
    001042e9setge r8b
    001042edadd rsi, r8
    001042f0inc rdx
    001042f3cmp r12, rdx
    001042f6jne 0x1042e0
    001042f8
    001042f8loc_1042f8:
    001042f8add rcx, rsi
    001042fbcmp [rdi], 0
    001042ffjne 0x1041fd
    00104305
    00104305loc_104305:
    00104305mov rbx, [rdi+32]
    00104309mov r14, [rdi+40]
    0010430dmov rdi, rbx
    00104310mov rsi, r14
    00104313mov edx, [rsp+12]
    00104317mov rcx, r13
    0010431amov r8, r12
    0010431dcall core::fmt::Formatter::pad_integral::write_prefix
    00104322mov r12b, 1
    00104325test al, al
    00104327jne 0x104492
    0010432dmov rax, [r14+24]
    00104331mov rdi, rbx
    00104334mov rsi, r15
    00104337
    00104337loc_104337:
    00104337mov rdx, rbp
    0010433aadd rsp, 40
    0010433epop rbx
    0010433fpop r12
    00104341pop r13
    00104343pop r14
    00104345pop r15
    00104347pop rbp
    00104348jmp rax
    0010434a
    0010434aloc_10434a:
    0010434amov eax, [rdi+48]
    0010434dmov [rsp+24], eax
    00104351mov [rdi+48], 48
    00104358movzx eax, [rdi+56]
    0010435cmov [rsp+11], al
    00104360mov [rdi+56], 1
    00104364mov r14, [rdi+32]
    00104368mov [rsp+16], rdi
    0010436dmov rbx, [rdi+40]
    00104371mov rdi, r14
    00104374mov rsi, rbx
    00104377mov edx, [rsp+12]
    0010437bmov rcx, r13
    0010437emov r8, r12
    00104381call core::fmt::Formatter::pad_integral::write_prefix
    00104386mov r12b, 1
    00104389test al, al
    0010438bjne 0x104492
    00104391inc r15
    00104394nop [rax+rax]
    001043a0
    001043a0loc_1043a0:
    001043a0dec r15
    001043a3je 0x10445d
    001043a9mov rdi, r14
    001043acmov esi, 48
    001043b1call [rbx+32]
    001043b4test al, al
    001043b6je 0x1043a0
    001043b8jmp 0x104492
    001043bdmov rbp, r15
    001043c0shr rbp, 1
    001043c3inc r15
    001043c6shr r15, 1
    001043c9
    001043c9loc_1043c9:
    001043c9mov r14, [rdi+32]
    001043cdmov rbx, [rdi+40]
    001043d1mov eax, [rdi+48]
    001043d4mov [rsp+16], eax
    001043d8inc rbp
    001043dbnop [rax+rax]
    001043e0
    001043e0loc_1043e0:
    001043e0mov rdi, r14
    001043e3dec rbp
    001043e6je 0x1043fb
    001043e8mov esi, [rsp+16]
    001043eccall [rbx+32]
    001043eftest al, al
    001043f1je 0x1043e0
    001043f3mov r12b, 1
    001043f6jmp 0x104492
    001043fb
    001043fbloc_1043fb:
    001043fbmov rsi, rbx
    001043femov edx, [rsp+12]
    00104402mov rcx, r13
    00104405mov r8, r12
    00104408call core::fmt::Formatter::pad_integral::write_prefix
    0010440dmov r12b, 1
    00104410test al, al
    00104412jne 0x104492
    00104418mov rdi, r14
    0010441bmov rsi, [rsp+32]
    00104420mov rdx, [rsp+24]
    00104425call [rbx+24]
    00104428test al, al
    0010442ajne 0x104492
    0010442cmov r13, r15
    0010442fneg r13
    00104432mov r12, -1
    00104439nop [rax]
    00104440
    00104440loc_104440:
    00104440lea rax, [r12+r13]
    00104444cmp rax, -1
    00104448je 0x104488
    0010444amov rdi, r14
    0010444dmov esi, [rsp+16]
    00104451call [rbx+32]
    00104454inc r12
    00104457test al, al
    00104459je 0x104440
    0010445bjmp 0x10448b
    0010445d
    0010445dloc_10445d:
    0010445dmov rdi, r14
    00104460mov rsi, [rsp+32]
    00104465mov rdx, rbp
    00104468call [rbx+24]
    0010446btest al, al
    0010446djne 0x104492
    0010446fmov rax, [rsp+16]
    00104474mov ecx, [rsp+24]
    00104478mov [rax+48], ecx
    0010447bmovzx ecx, [rsp+11]
    00104480mov [rax+56], cl
    00104483xor r12l, r12l
    00104486jmp 0x104492
    00104488
    00104488loc_104488:
    00104488mov r12, r15
    0010448b
    0010448bloc_10448b:
    0010448bcmp r12, r15
    0010448esetb r12b
    00104492
    00104492loc_104492:
    00104492mov eax, r12l
    00104495add rsp, 40
    00104499pop rbx
    0010449apop r12
    0010449cpop r13
    0010449epop r14
    001044a0pop r15
    001044a2pop rbp
    001044a3ret
    00104180
    001044a4
    001044a4 // align 0x10
    001044b0
    001044b0core::str::count::do_count_chars:
    001044b0lea r9, [rdi+7]
    001044b4and r9, -8
    001044b8mov rax, r9
    001044bbsub rax, rdi
    001044besub rsi, rax
    001044c1mov eax, esi
    001044c3and eax, 7
    001044c6mov rcx, r9
    001044c9sub rcx, rdi
    001044ccjne 0x1044d5
    001044cexor edx, edx
    001044d0jmp 0x104567
    001044d5
    001044d5loc_1044d5:
    001044d5cmp rcx, 4
    001044d9jae 0x1044e2
    001044dbxor edx, edx
    001044ddxor r8l, r8l
    001044e0jmp 0x104550
    001044e2
    001044e2loc_1044e2:
    001044e2movzx edx, [rdi+2]
    001044e6movd x0, edx
    001044eamovdqa x1, [rip-0xcbce2]
    001044f2pcmpgtb x0, x1
    001044f6punpcklbw x0, x0
    001044fapshuflw x0, x0, -44
    001044ffpshufd x0, x0, -44
    00104504movdqa x2, [rip-0xcbcec]
    0010450cpand x0, x2
    00104510movzx edx, [rdi]
    00104513movd x3, edx
    00104517pcmpgtb x3, x1
    0010451bpunpcklbw x3, x3
    0010451fpshuflw x1, x3, -44
    00104524pshufd x1, x1, -44
    00104529pand x1, x2
    0010452dpaddq x1, x0
    00104531pshufd x0, x1, -18
    00104536paddq x0, x1
    0010453amovq rdx, x0
    0010453fmov r8l, 4
    00104545je 0x104567
    00104547nop [rax+rax]
    00104550
    00104550loc_104550:
    00104550xor r10l, r10l
    00104553cmp [rdi+r8], -64
    00104558setge r10b
    0010455cadd rdx, r10
    0010455finc r8
    00104562cmp rcx, r8
    00104565jne 0x104550
    00104567
    00104567loc_104567:
    00104567test rax, rax
    0010456aje 0x1045ff
    00104570mov rdi, rsi
    00104573and rdi, -8
    00104577xor ecx, ecx
    00104579cmp [r9+rdi], -64
    0010457esetge cl
    00104581cmp eax, 1
    00104584je 0x104601
    00104586xor r8l, r8l
    00104589cmp [r9+rdi+1], -64
    0010458fsetge r8b
    00104593add rcx, r8
    00104596cmp eax, 2
    00104599je 0x104601
    0010459bxor r8l, r8l
    0010459ecmp [r9+rdi+2], -64
    001045a4setge r8b
    001045a8add rcx, r8
    001045abcmp eax, 3
    001045aeje 0x104601
    001045b0xor r8l, r8l
    001045b3cmp [r9+rdi+3], -64
    001045b9setge r8b
    001045bdadd rcx, r8
    001045c0cmp eax, 4
    001045c3je 0x104601
    001045c5xor r8l, r8l
    001045c8cmp [r9+rdi+4], -64
    001045cesetge r8b
    001045d2add rcx, r8
    001045d5cmp eax, 5
    001045d8je 0x104601
    001045daxor r8l, r8l
    001045ddcmp [r9+rdi+5], -64
    001045e3setge r8b
    001045e7add rcx, r8
    001045eacmp eax, 6
    001045edje 0x104601
    001045efxor eax, eax
    001045f1cmp [r9+rdi+6], -64
    001045f7setge al
    001045faadd rcx, rax
    001045fdjmp 0x104601
    001045ff
    001045ffloc_1045ff:
    001045ffxor ecx, ecx
    00104601
    00104601loc_104601:
    00104601push r15
    00104603push r14
    00104605push r12
    00104607push rbx
    00104608add rcx, rdx
    0010460bshr rsi, 3
    0010460fmov r11, 0x7ffffffffffffff
    00104619mov rdi, 0xff00ff00ff00ff
    00104623mov rdx, 0x1000100010001
    0010462dpcmpeqd x0, x0
    00104631movdqa x1, [rip-0xcbe09]
    00104639jmp 0x104673
    0010463b
    0010463b 0f 1f 44 00 00 ..D..
    00104640
    00104640loc_104640:
    00104640xor ecx, ecx
    00104642
    00104642loc_104642:
    00104642lea r9, [r8+8*r10]
    00104646sub rsi, r10
    00104649mov ebx, r10l
    0010464cand ebx, 3
    0010464fmov r14, rcx
    00104652and r14, rdi
    00104655shr rcx, 8
    00104659and rcx, rdi
    0010465cadd rcx, r14
    0010465fimul rcx, rdx
    00104663shr rcx, 48
    00104667add rcx, rax
    0010466atest rbx, rbx
    0010466djne 0x104810
    00104673
    00104673loc_104673:
    00104673mov rax, rcx
    00104676test rsi, rsi
    00104679je 0x104896
    0010467fmov r8, r9
    00104682cmp rsi, 192
    00104689mov r10l, 192
    0010468fcmovb r10, rsi
    00104693cmp r10, 4
    00104697jb 0x104640
    00104699mov r9l, r10l
    0010469cshr r9l, 2
    001046a0lea r14, [r9+r11]
    001046a4and r14, r11
    001046a7je 0x10479d
    001046adinc r14
    001046b0mov r15, r14
    001046b3and r15, -2
    001046b7mov rbx, r15
    001046bashl rbx, 5
    001046bepxor x3, x3
    001046c2mov rcx, r8
    001046c5mov r12, r15
    001046c8nop [rax+rax]
    001046d0
    001046d0loc_1046d0:
    001046d0movdqu x2, [rcx]
    001046d4movdqu x5, [rcx+32]
    001046d9movdqa x4, x2
    001046ddpunpcklqdq x4, x5
    001046e1movdqa x6, x4
    001046e5pxor x6, x0
    001046e9psrlq x6, 7
    001046eepsrlq x4, 6
    001046f3por x4, x6
    001046f7pand x4, x1
    001046fbpaddq x4, x3
    001046ffmovdqu x3, [rcx+16]
    00104704movdqu x6, [rcx+48]
    00104709punpckhqdq x2, x5
    0010470dmovdqa x5, x3
    00104711punpcklqdq x5, x6
    00104715punpckhqdq x3, x6
    00104719movdqa x6, x2
    0010471dpxor x6, x0
    00104721psrlq x6, 7
    00104726psrlq x2, 6
    0010472bpor x2, x6
    0010472fpand x2, x1
    00104733movdqa x6, x5
    00104737pxor x6, x0
    0010473bpsrlq x6, 7
    00104740psrlq x5, 6
    00104745por x5, x6
    00104749pand x5, x1
    0010474dpaddq x5, x2
    00104751paddq x5, x4
    00104755movdqa x2, x3
    00104759pxor x2, x0
    0010475dpsrlq x2, 7
    00104762psrlq x3, 6
    00104767por x3, x2
    0010476bpand x3, x1
    0010476fpaddq x3, x5
    00104773add rcx, 64
    00104777add r12, -2
    0010477bjne 0x1046d0
    00104781pshufd x2, x3, -18
    00104786paddq x2, x3
    0010478amovq rcx, x2
    0010478fcmp r14, r15
    00104792je 0x104642
    00104798add rbx, r8
    0010479bjmp 0x1047a2
    0010479d
    0010479dloc_10479d:
    0010479dxor ecx, ecx
    0010479fmov rbx, r8
    001047a2
    001047a2loc_1047a2:
    001047a2shl r9, 5
    001047a6add r9, r8
    001047a9nop [rax]
    001047b0
    001047b0loc_1047b0:
    001047b0movdqu x2, [rbx]
    001047b4movdqu x3, [rbx+16]
    001047b9movdqa x4, x2
    001047bdpxor x4, x0
    001047c1movdqa x5, x3
    001047c5pxor x5, x0
    001047c9psrlq x5, 7
    001047cepsrlq x4, 7
    001047d3psrlq x3, 6
    001047d8por x3, x5
    001047dcpsrlq x2, 6
    001047e1por x2, x4
    001047e5pand x3, x1
    001047e9pand x2, x1
    001047edpaddq x2, x3
    001047f1pshufd x3, x2, -18
    001047f6paddq x3, x2
    001047famovq r14, x3
    001047ffadd rcx, r14
    00104802add rbx, 32
    00104806cmp rbx, r9
    00104809jne 0x1047b0
    0010480bjmp 0x104642
    00104810
    00104810loc_104810:
    00104810mov rsi, 0x101010101010101
    0010481aand r10l, 252
    00104821mov rax, [r8+8*r10]
    00104825mov r9, rax
    00104828not r9
    0010482bshr r9, 7
    0010482fshr rax, 6
    00104833or rax, r9
    00104836and rax, rsi
    00104839cmp ebx, 1
    0010483cje 0x10487b
    0010483emov r9, [r8+8*r10+8]
    00104843mov r11, r9
    00104846not r11
    00104849shr r11, 7
    0010484dshr r9, 6
    00104851or r9, r11
    00104854and r9, rsi
    00104857add rax, r9
    0010485acmp ebx, 2
    0010485dje 0x10487b
    0010485fmov r8, [r8+8*r10+16]
    00104864mov r9, r8
    00104867not r9
    0010486ashr r9, 7
    0010486eshr r8, 6
    00104872or r8, r9
    00104875and r8, rsi
    00104878add rax, r8
    0010487b
    0010487bloc_10487b:
    0010487bmov rsi, rax
    0010487eand rsi, rdi
    00104881shr rax, 8
    00104885and rax, rdi
    00104888add rax, rsi
    0010488bimul rax, rdx
    0010488fshr rax, 48
    00104893add rax, rcx
    00104896
    00104896loc_104896:
    00104896pop rbx
    00104897pop r12
    00104899pop r14
    0010489bpop r15
    0010489dret
    001044b0