File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    0010489e
    0010489e // align 0x10
    001048a0
    001048a0core::fmt::Formatter::pad_integral::write_prefix:
    001048a0push r15
    001048a2push r14
    001048a4push r12
    001048a6push rbx
    001048a7push rax
    001048a8mov rbx, r8
    001048abmov r14, rcx
    001048aemov r12, rsi
    001048b1mov r15, rdi
    001048b4cmp edx, 0x110000
    001048baje 0x1048ce
    001048bcmov rdi, r15
    001048bfmov esi, edx
    001048c1call [r12+32]
    001048c6mov ecx, eax
    001048c8mov al, 1
    001048catest cl, cl
    001048ccjne 0x1048f0
    001048ce
    001048celoc_1048ce:
    001048cetest r14, r14
    001048d1je 0x1048ee
    001048d3mov rax, [r12+24]
    001048d8mov rdi, r15
    001048dbmov rsi, r14
    001048demov rdx, rbx
    001048e1add rsp, 8
    001048e5pop rbx
    001048e6pop r12
    001048e8pop r14
    001048eapop r15
    001048ecjmp rax
    001048ee
    001048eeloc_1048ee:
    001048eexor eax, eax
    001048f0
    001048f0loc_1048f0:
    001048f0add rsp, 8
    001048f4pop rbx
    001048f5pop r12
    001048f7pop r14
    001048f9pop r15
    001048fbret
    001048a0
    001048fc
    001048fc // align 0x10
    00104900
    00104900core::num::dec2flt::decimal::Decimal::right_shift:
    00104900push rbx
    00104901mov rcx, rsi
    00104904and ecx, 63
    00104907mov rsi, [rdi]
    0010490alea r8, [rsi-1]
    0010490exor eax, eax
    00104910xor edx, edx
    00104912nop [rax+rax]
    00104920
    00104920loc_104920:
    00104920cmp rsi, rax
    00104923je 0x10496e
    00104925cmp rax, 768
    0010492bje 0x104abc
    00104931lea rdx, [rdx+4*rdx]
    00104935movzx r9l, [rdi+rax+8]
    0010493blea rdx, [r9+2*rdx]
    0010493fmov r9, rdx
    00104942shr r9, cl
    00104945test r9, r9
    00104948jne 0x104987
    0010494acmp r8, rax
    0010494dje 0x10496e
    0010494flea rdx, [rdx+4*rdx]
    00104953movzx r9l, [rdi+rax+9]
    00104959lea rdx, [r9+2*rdx]
    0010495dadd rax, 2
    00104961mov r9, rdx
    00104964shr r9, cl
    00104967test r9, r9
    0010496aje 0x104920
    0010496cjmp 0x1049a5
    0010496e
    0010496eloc_10496e:
    0010496etest rdx, rdx
    00104971je 0x104a3e
    00104977mov rax, rdx
    0010497ashr rax, cl
    0010497dtest rax, rax
    00104980je 0x10498c
    00104982mov rax, rsi
    00104985jmp 0x1049a5
    00104987
    00104987loc_104987:
    00104987inc rax
    0010498ajmp 0x1049a5
    0010498c
    0010498cloc_10498c:
    0010498cmov rax, rsi
    0010498fnop
    00104990
    00104990loc_104990:
    00104990add rdx, rdx
    00104993lea rdx, [rdx+4*rdx]
    00104997inc rax
    0010499amov r8, rdx
    0010499dshr r8, cl
    001049a0test r8, r8
    001049a3je 0x104990
    001049a5
    001049a5loc_1049a5:
    001049a5mov r8l, [rdi+776]
    001049acsub r8l, eax
    001049afinc r8l
    001049b2mov [rdi+776], r8l
    001049b9cmp r8l, -2047
    001049c0jge 0x1049dc
    001049c2mov [rdi], 0
    001049c9mov [rdi+776], 0
    001049d3mov [rdi+780], 0
    001049dapop rbx
    001049dbret
    001049dc
    001049dcloc_1049dc:
    001049dcmov r9, -1
    001049e3shl r9, cl
    001049e6not r9
    001049e9mov r8, rsi
    001049ecsub r8, rax
    001049efjbe 0x104a40
    001049f1mov r10l, 8
    001049f7nop [rax+rax]
    00104a00
    00104a00loc_104a00:
    00104a00cmp rax, 768
    00104a06jae 0x104ad4
    00104a0cmov r11, rdx
    00104a0fshr r11, cl
    00104a12and rdx, r9
    00104a15lea rdx, [rdx+4*rdx]
    00104a19movzx ebx, [rdi+rax+8]
    00104a1einc rax
    00104a21lea rdx, [rbx+2*rdx]
    00104a25mov [rdi+r10], r11b
    00104a29inc r10
    00104a2ccmp rsi, rax
    00104a2fjne 0x104a00
    00104a31test rdx, rdx
    00104a34jne 0x104a67
    00104a36mov [rdi], r8
    00104a39test r8, r8
    00104a3cjne 0x104a86
    00104a3e
    00104a3eloc_104a3e:
    00104a3epop rbx
    00104a3fret
    00104a40
    00104a40loc_104a40:
    00104a40test rdx, rdx
    00104a43je 0x104ab3
    00104a45xor r8l, r8l
    00104a48jmp 0x104a67
    00104a4a
    00104a4a 66 0f 1f 44 00 00 f..D..
    00104a50
    00104a50loc_104a50:
    00104a50mov [rdi+r8+8], al
    00104a55inc r8
    00104a58
    00104a58loc_104a58:
    00104a58and rdx, r9
    00104a5badd rdx, rdx
    00104a5elea rdx, [rdx+4*rdx]
    00104a62test rdx, rdx
    00104a65je 0x104a83
    00104a67
    00104a67loc_104a67:
    00104a67mov rax, rdx
    00104a6ashr rax, cl
    00104a6dcmp r8, 768
    00104a74jb 0x104a50
    00104a76test al, al
    00104a78je 0x104a58
    00104a7amov [rdi+780], 1
    00104a81jmp 0x104a58
    00104a83
    00104a83loc_104a83:
    00104a83mov [rdi], r8
    00104a86
    00104a86loc_104a86:
    00104a86cmp r8, 768
    00104a8dja 0x104aea
    00104a8fdec r8
    00104a92nop [rax+rax]
    00104aa0
    00104aa0loc_104aa0:
    00104aa0cmp [rdi+r8+8], 0
    00104aa6jne 0x104a3e
    00104aa8mov [rdi], r8
    00104aabadd r8, -1
    00104aafjb 0x104aa0
    00104ab1jmp 0x104a3e
    00104ab3
    00104ab3loc_104ab3:
    00104ab3mov [rdi], 0
    00104abapop rbx
    00104abbret
    00104abc
    00104abcloc_104abc:
    00104abclea rdx, [rip+0xe5cad]
    00104ac3mov edi, 768
    00104ac8mov esi, 768
    00104acdcall core::panicking::panic_bounds_check
    00104ad2ud2
    00104ad4
    00104ad4loc_104ad4:
    00104ad4lea rdx, [rip+0xe5cad]
    00104adbmov esi, 768
    00104ae0mov rdi, rax
    00104ae3call core::panicking::panic_bounds_check
    00104ae8ud2
    00104aea
    00104aealoc_104aea:
    00104aeadec r8
    00104aedlea rdx, [rip+0xe5c4c]
    00104af4mov esi, 768
    00104af9mov rdi, r8
    00104afccall core::panicking::panic_bounds_check
    00104b01ud2
    00104900
    00104b03
    00104b03 // align 0x10
    00104b10
    00104b10core::slice::index::slice_end_index_len_fail:
    00104b10sub rsp, 104
    00104b14mov [rsp+8], rdi
    00104b19mov [rsp+16], rsi
    00104b1elea rax, [rsp+8]
    00104b23mov [rsp+24], rax
    00104b28lea rax, [rip-2751]
    00104b2fmov [rsp+32], rax
    00104b34lea rcx, [rsp+16]
    00104b39mov [rsp+40], rcx
    00104b3emov [rsp+48], rax
    00104b43lea rax, [rip+0xe636e]
    00104b4amov [rsp+56], rax
    00104b4fmov [rsp+64], 2
    00104b58mov [rsp+88], 0
    00104b61lea rax, [rsp+24]
    00104b66mov [rsp+72], rax
    00104b6bmov [rsp+80], 2
    00104b74lea rdi, [rsp+56]
    00104b79mov rsi, rdx
    00104b7ccall core::panicking::panic_fmt
    00104b81ud2
    00104b10
    00104b83
    00104b83 // align 0x10
    00104b90
    00104b90core::fmt::Formatter::pad:
    00104b90push rbp
    00104b91push r15
    00104b93push r14
    00104b95push r13
    00104b97push r12
    00104b99push rbx
    00104b9asub rsp, 24
    00104b9emov r12, rdx
    00104ba1mov r14, rsi
    00104ba4mov r15, rdi
    00104ba7mov rax, [rdi]
    00104baamov rcx, [rdi+16]
    00104baemov rdx, rax
    00104bb1or rdx, rcx
    00104bb4je 0x104dd9
    00104bbatest rcx, rcx
    00104bbdje 0x104d07
    00104bc3mov rdi, [r15+24]
    00104bc7lea rsi, [r14+r12]
    00104bcbinc rdi
    00104bcexor ecx, ecx
    00104bd0mov rdx, r14
    00104bd3jmp 0x104bfa
    00104bd5nop [rax+rax]
    00104be0
    00104be0loc_104be0:
    00104be0lea r10, [rdx+1]
    00104be4
    00104be4loc_104be4:
    00104be4sub rcx, rdx
    00104be7add rcx, r10
    00104beamov rdx, r10
    00104bedcmp r8l, 0x110000
    00104bf4je 0x104d07
    00104bfa
    00104bfaloc_104bfa:
    00104bfadec rdi
    00104bfdje 0x104c95
    00104c03cmp rdx, rsi
    00104c06je 0x104d07
    00104c0cmovzx r8l, [rdx]
    00104c10test r8b, r8b
    00104c13jns 0x104be0
    00104c15mov r9l, r8l
    00104c18and r9l, 31
    00104c1cmovzx ebx, [rdx+1]
    00104c20and ebx, 63
    00104c23cmp r8b, -33
    00104c27jbe 0x104c6f
    00104c29movzx r11l, [rdx+2]
    00104c2eshl ebx, 6
    00104c31and r11l, 63
    00104c35or r11l, ebx
    00104c38cmp r8b, -16
    00104c3cjb 0x104c82
    00104c3emovzx r8l, [rdx+3]
    00104c43and r9l, 7
    00104c47shl r9l, 18
    00104c4bshl r11l, 6
    00104c4fand r8l, 63
    00104c53or r8l, r11l
    00104c56or r8l, r9l
    00104c59cmp r8l, 0x110000
    00104c60je 0x104d07
    00104c66lea r10, [rdx+4]
    00104c6ajmp 0x104be4
    00104c6f
    00104c6floc_104c6f:
    00104c6flea r10, [rdx+2]
    00104c73shl r9l, 6
    00104c77or r9l, ebx
    00104c7amov r8l, r9l
    00104c7djmp 0x104be4
    00104c82
    00104c82loc_104c82:
    00104c82lea r10, [rdx+3]
    00104c86shl r9l, 12
    00104c8aor r11l, r9l
    00104c8dmov r8l, r11l
    00104c90jmp 0x104be4
    00104c95
    00104c95loc_104c95:
    00104c95cmp rdx, rsi
    00104c98je 0x104d07
    00104c9amovzx esi, [rdx]
    00104c9dtest sil, sil
    00104ca0jns 0x104ce2
    00104ca2cmp sil, -32
    00104ca6jb 0x104ce2
    00104ca8cmp sil, -16
    00104cacjb 0x104ce2
    00104caemovzx edi, [rdx+1]
    00104cb2and edi, 63
    00104cb5movzx r8l, [rdx+2]
    00104cbaand r8l, 63
    00104cbemovzx edx, [rdx+3]
    00104cc2and esi, 7
    00104cc5shl esi, 18
    00104cc8shl edi, 12
    00104ccbshl r8l, 6
    00104ccfor r8l, edi
    00104cd2and edx, 63
    00104cd5or edx, r8l
    00104cd8or edx, esi
    00104cdacmp edx, 0x110000
    00104ce0je 0x104d07
    00104ce2
    00104ce2loc_104ce2:
    00104ce2test rcx, rcx
    00104ce5je 0x104cf9
    00104ce7cmp rcx, r12
    00104ceajae 0x104cf7
    00104ceccmp [r14+rcx], -64
    00104cf1jge 0x104cf9
    00104cf3
    00104cf3loc_104cf3:
    00104cf3xor edx, edx
    00104cf5jmp 0x104cfc
    00104cf7
    00104cf7loc_104cf7:
    00104cf7jne 0x104cf3
    00104cf9
    00104cf9loc_104cf9:
    00104cf9mov rdx, r14
    00104cfc
    00104cfcloc_104cfc:
    00104cfctest rdx, rdx
    00104cffcmovne r12, rcx
    00104d03cmovne r14, rdx
    00104d07
    00104d07loc_104d07:
    00104d07test rax, rax
    00104d0aje 0x104dd9
    00104d10mov r13, [r15+8]
    00104d14cmp r12, 32
    00104d18jae 0x104d32
    00104d1amov rax, r12
    00104d1dtest r12, r12
    00104d20je 0x104db1
    00104d26cmp r12, 1
    00104d2ajne 0x104d3f
    00104d2cxor eax, eax
    00104d2exor ecx, ecx
    00104d30jmp 0x104d9c
    00104d32
    00104d32loc_104d32:
    00104d32mov rdi, r14
    00104d35mov rsi, r12
    00104d38call core::str::count::do_count_chars
    00104d3djmp 0x104db1
    00104d3f
    00104d3floc_104d3f:
    00104d3fmov rcx, r12
    00104d42and rcx, -2
    00104d46pxor x0, x0
    00104d4axor eax, eax
    00104d4cmovdqa x1, [rip-0xcc514]
    00104d54movdqa x2, [rip-0xcc50c]
    00104d5cnop [rax]
    00104d60
    00104d60loc_104d60:
    00104d60movzx edx, [r14+rax]
    00104d65movd x3, edx
    00104d69pcmpgtb x3, x1
    00104d6dpunpcklbw x3, x3
    00104d71pshuflw x3, x3, -44
    00104d76pshufd x3, x3, -44
    00104d7bpand x3, x2
    00104d7fpaddq x0, x3
    00104d83add rax, 2
    00104d87cmp rcx, rax
    00104d8ajne 0x104d60
    00104d8cpshufd x1, x0, -18
    00104d91paddq x1, x0
    00104d95movq rax, x1
    00104d9ajmp 0x104dac
    00104d9c
    00104d9cloc_104d9c:
    00104d9cxor edx, edx
    00104d9ecmp [r14+rcx], -64
    00104da3setge dl
    00104da6add rax, rdx
    00104da9inc rcx
    00104dac
    00104dacloc_104dac:
    00104daccmp r12, rcx
    00104dafjne 0x104d9c
    00104db1
    00104db1loc_104db1:
    00104db1sub r13, rax
    00104db4jbe 0x104dd9
    00104db6movzx eax, [r15+56]
    00104dbblea rcx, [rip-0xc772e]
    00104dc2movsxd rax, [rcx+4*rax]
    00104dc6add rax, rcx
    00104dc9mov [rsp+16], r12
    00104dcejmp rax
    00104dd0mov [rsp+8], r13
    00104dd5xor ebx, ebx
    00104dd7jmp 0x104e18
    00104dd9
    00104dd9loc_104dd9:
    00104dd9mov rdi, [r15+32]
    00104dddmov rax, [r15+40]
    00104de1mov rax, [rax+24]
    00104de5mov rsi, r14
    00104de8mov rdx, r12
    00104debadd rsp, 24
    00104defpop rbx
    00104df0pop r12
    00104df2pop r13
    00104df4pop r14
    00104df6pop r15
    00104df8pop rbp
    00104df9jmp rax
    00104dfbmov rbx, r13
    00104dfexor eax, eax
    00104e00mov [rsp+8], rax
    00104e05jmp 0x104e18
    00104e07mov rbx, r13
    00104e0ashr rbx, 1
    00104e0dinc r13
    00104e10shr r13, 1
    00104e13mov [rsp+8], r13
    00104e18
    00104e18loc_104e18:
    00104e18mov r12, [r15+32]
    00104e1cmov r13, [r15+40]
    00104e20mov ebp, [r15+48]
    00104e24inc rbx
    00104e27nop [rax+rax]
    00104e30
    00104e30loc_104e30:
    00104e30mov rdi, r12
    00104e33dec rbx
    00104e36je 0x104e46
    00104e38mov esi, ebp
    00104e3acall [r13+32]
    00104e3etest al, al
    00104e40je 0x104e30
    00104e42mov al, 1
    00104e44jmp 0x104e99
    00104e46
    00104e46loc_104e46:
    00104e46mov rsi, r14
    00104e49mov rdx, [rsp+16]
    00104e4ecall [r13+24]
    00104e52mov ecx, eax
    00104e54mov al, 1
    00104e56test cl, cl
    00104e58jne 0x104e99
    00104e5amov r14, [rsp+8]
    00104e5fneg r14
    00104e62mov rbx, -1
    00104e69nop [rax]
    00104e70
    00104e70loc_104e70:
    00104e70lea rax, [r14+rbx]
    00104e74cmp rax, -1
    00104e78je 0x104e8c
    00104e7amov rdi, r12
    00104e7dmov esi, ebp
    00104e7fcall [r13+32]
    00104e83inc rbx
    00104e86test al, al
    00104e88je 0x104e70
    00104e8ajmp 0x104e91
    00104e8c
    00104e8cloc_104e8c:
    00104e8cmov rbx, [rsp+8]
    00104e91
    00104e91loc_104e91:
    00104e91cmp rbx, [rsp+8]
    00104e96setb al
    00104e99
    00104e99loc_104e99:
    00104e99add rsp, 24
    00104e9dpop rbx
    00104e9epop r12
    00104ea0pop r13
    00104ea2pop r14
    00104ea4pop r15
    00104ea6pop rbp
    00104ea7ret
    00104b90
    00104ea8
    00104ea8 // align 0x10
    00104eb0
    00104eb0core::panicking::panic:
    00104eb0sub rsp, 72
    00104eb4mov [rsp+8], rdi
    00104eb9mov [rsp+16], rsi
    00104ebelea rax, [rsp+8]
    00104ec3mov [rsp+24], rax
    00104ec8mov [rsp+32], 1
    00104ed1lea rax, [rip-0x73be0]
    00104ed8mov [rsp+40], rax
    00104eddxorps x0, x0
    00104ee0movups [rsp+48], x0
    00104ee5lea rdi, [rsp+24]
    00104eeamov rsi, rdx
    00104eedcall core::panicking::panic_fmt
    00104ef2ud2
    00104eb0
    00104ef4
    00104ef4 // align 0x10
    00104f00
    00104f00core::panicking::assert_failed:
    00104f00sub rsp, 24
    00104f04mov r9, rdx
    00104f07mov [rsp+8], rdi
    00104f0cmov [rsp+16], rsi
    00104f11lea rax, [rip+0xe5918]
    00104f18mov [rsp], rax
    00104f1clea rdx, [rip+0xe5d7d]
    00104f23lea rsi, [rsp+8]
    00104f28lea rcx, [rsp+16]
    00104f2dxor edi, edi
    00104f2fmov r8, rdx
    00104f32call core::panicking::assert_failed_inner
    00104f37ud2
    00104f00
    00104f39
    00104f39 // align 0x10
    00104f40
    00104f40core::panicking::assert_failed_inner:
    00104f40sub rsp, 216
    00104f47mov rax, rsi
    00104f4amov rsi, [rsp+224]
    00104f52mov [rsp], rax
    00104f56mov [rsp+8], rdx
    00104f5bmov [rsp+16], rcx
    00104f60mov [rsp+24], r8
    00104f65test dil, dil
    00104f68lea rax, [rip-0xc15ba]
    00104f6flea rcx, [rip-0xad3f1]
    00104f76cmove rcx, rax
    00104f7amov [rsp+32], rcx
    00104f7fmov [rsp+40], 2
    00104f88cmp [r9], 0
    00104f8cjne 0x105006
    00104f8elea rax, [rsp+32]
    00104f93mov [rsp+48], rax
    00104f98lea rax, [rip+305]
    00104f9fmov [rsp+56], rax
    00104fa4mov rax, rsp
    00104fa7mov [rsp+64], rax
    00104faclea rax, [rip+317]
    00104fb3mov [rsp+72], rax
    00104fb8lea rcx, [rsp+16]
    00104fbdmov [rsp+80], rcx
    00104fc2mov [rsp+88], rax
    00104fc7lea rax, [rip+0xe5cf2]
    00104fcemov [rsp+112], rax
    00104fd3mov [rsp+120], 3
    00104fdcmov [rsp+144], 0
    00104fe8lea rax, [rsp+48]
    00104fedmov [rsp+128], rax
    00104ff5mov [rsp+136], 3
    00105001jmp 0x1050b8
    00105006
    00105006loc_105006:
    00105006movups x0, [r9]
    0010500amovups x1, [r9+16]
    0010500fmovups x2, [r9+32]
    00105014movaps [rsp+192], x2
    0010501cmovaps [rsp+176], x1
    00105024movaps [rsp+160], x0
    0010502clea rax, [rsp+32]
    00105031mov [rsp+48], rax
    00105036lea rax, [rip+147]
    0010503dmov [rsp+56], rax
    00105042lea rax, [rsp+160]
    0010504amov [rsp+64], rax
    0010504flea rax, [rip+170]
    00105056mov [rsp+72], rax
    0010505bmov rax, rsp
    0010505emov [rsp+80], rax
    00105063lea rax, [rip+134]
    0010506amov [rsp+88], rax
    0010506flea rcx, [rsp+16]
    00105074mov [rsp+96], rcx
    00105079mov [rsp+104], rax
    0010507elea rax, [rip+0xe5c6b]
    00105085mov [rsp+112], rax
    0010508amov [rsp+120], 4
    00105093mov [rsp+144], 0
    0010509flea rax, [rsp+48]
    001050a4mov [rsp+128], rax
    001050acmov [rsp+136], 4
    001050b8
    001050b8loc_1050b8:
    001050b8lea rdi, [rsp+112]
    001050bdcall core::panicking::panic_fmt
    001050c2ud2
    00104f40
    001050c4
    001050c4 // align 0x10
    001050d0
    001050d0_<&T as core::fmt::Display>::fmt:
    001050d0mov rax, rsi
    001050d3mov rsi, [rdi]
    001050d6mov rdx, [rdi+8]
    001050damov rdi, rax
    001050ddjmp 0x104b90
    001050d0
    001050e2
    001050e2 // align 0x10
    001050f0
    001050f0_<&T as core::fmt::Debug>::fmt:
    001050f0mov rax, [rdi]
    001050f3mov rcx, [rdi+8]
    001050f7mov rcx, [rcx+24]
    001050fbmov rdi, rax
    001050fejmp rcx
    001050f0
    00105100
    00105100_<core::fmt::Arguments as core::fmt::Display>::fmt:
    00105100mov rdx, rdi
    00105103mov rdi, [rsi+32]
    00105107mov rsi, [rsi+40]
    0010510bjmp 0x105110
    00105100
    00105110
    00105110core::fmt::write:
    00105110push rbp
    00105111push r15
    00105113push r14
    00105115push r13
    00105117push r12
    00105119push rbx
    0010511asub rsp, 72
    0010511emov [rsp+56], 32
    00105127mov [rsp+64], 3
    0010512cmov [rsp+8], 0
    00105135mov [rsp+24], 0
    0010513emov [rsp+40], rdi
    00105143mov [rsp+48], rsi
    00105148mov r12, [rdx+32]
    0010514ctest r12, r12
    0010514fmov [rsp], rdx
    00105153je 0x10526c
    00105159mov rax, [rdx+40]
    0010515dtest rax, rax
    00105160je 0x1052ce
    00105166mov r13, [rdx]
    00105169mov rbp, [rdx+16]
    0010516dadd r13, 8
    00105171imul r14, rax, 56
    00105175xor ebx, ebx
    00105177xor r15l, r15l
    0010517anop [rax+rax]
    00105180
    00105180loc_105180:
    00105180mov rdx, [r13]
    00105184test rdx, rdx
    00105187je 0x1051a2
    00105189mov rdi, [rsp+40]
    0010518emov rax, [rsp+48]
    00105193mov rsi, [r13-8]
    00105197call [rax+24]
    0010519atest al, al
    0010519cjne 0x105300
    001051a2
    001051a2loc_1051a2:
    001051a2movzx eax, [r12+rbx+48]
    001051a8mov [rsp+64], al
    001051acmov rax, [r12+rbx+40]
    001051b1mov [rsp+56], rax
    001051b6mov rcx, [r12+rbx+16]
    001051bbmov rax, [r12+rbx+24]
    001051c0test rcx, rcx
    001051c3je 0x1051e8
    001051c5cmp ecx, 1
    001051c8jne 0x1051dc
    001051cashl rax, 4
    001051celea rcx, [rip-5381]
    001051d5cmp [rbp+rax+8], rcx
    001051daje 0x1051e0
    001051dc
    001051dcloc_1051dc:
    001051dcxor ecx, ecx
    001051dejmp 0x1051ed
    001051e0
    001051e0loc_1051e0:
    001051e0mov rax, [rbp+rax]
    001051e5mov rax, [rax]
    001051e8
    001051e8loc_1051e8:
    001051e8mov ecx, 1
    001051ed
    001051edloc_1051ed:
    001051edmov [rsp+8], rcx
    001051f2mov [rsp+16], rax
    001051f7mov rcx, [r12+rbx]
    001051fbmov rax, [r12+rbx+8]
    00105200test rcx, rcx
    00105203je 0x105228
    00105205cmp ecx, 1
    00105208jne 0x10521c
    0010520ashl rax, 4
    0010520elea rcx, [rip-5445]
    00105215cmp [rbp+rax+8], rcx
    0010521aje 0x105220
    0010521c
    0010521cloc_10521c:
    0010521cxor ecx, ecx
    0010521ejmp 0x10522d
    00105220
    00105220loc_105220:
    00105220mov rax, [rbp+rax]
    00105225mov rax, [rax]
    00105228
    00105228loc_105228:
    00105228mov ecx, 1
    0010522d
    0010522dloc_10522d:
    0010522dmov [rsp+24], rcx
    00105232mov [rsp+32], rax
    00105237mov rax, [r12+rbx+32]
    0010523cshl rax, 4
    00105240mov rdi, [rbp+rax]
    00105245lea rsi, [rsp+8]
    0010524acall [rbp+rax+8]
    0010524etest al, al
    00105250jne 0x105300
    00105256add r13, 16
    0010525aadd rbx, 56
    0010525einc r15
    00105261cmp r14, rbx
    00105264jne 0x105180
    0010526ajmp 0x1052d1
    0010526c
    0010526cloc_10526c:
    0010526cmov rbx, [rdx+24]
    00105270test rbx, rbx
    00105273je 0x1052ce
    00105275mov r12, [rdx+16]
    00105279mov r13, [rdx]
    0010527cshl rbx, 4
    00105280xor ebp, ebp
    00105282lea r14, [rsp+8]
    00105287xor r15l, r15l
    0010528anop [rax+rax]
    00105290
    00105290loc_105290:
    00105290mov rdx, [r13+rbp+8]
    00105295test rdx, rdx
    00105298je 0x1052b0
    0010529amov rdi, [rsp+40]
    0010529fmov rax, [rsp+48]
    001052a4mov rsi, [r13+rbp]
    001052a9call [rax+24]
    001052actest al, al
    001052aejne 0x105300
    001052b0
    001052b0loc_1052b0:
    001052b0mov rdi, [r12+rbp]
    001052b4mov rsi, r14
    001052b7call [r12+rbp+8]
    001052bctest al, al
    001052bejne 0x105300
    001052c0add rbp, 16
    001052c4inc r15
    001052c7cmp rbx, rbp
    001052cajne 0x105290
    001052ccjmp 0x1052d1
    001052ce
    001052celoc_1052ce:
    001052cexor r15l, r15l
    001052d1
    001052d1loc_1052d1:
    001052d1mov rax, [rsp]
    001052d5cmp r15, [rax+8]
    001052d9jae 0x105304
    001052dbmov rax, [rsp]
    001052dfmov rax, [rax]
    001052e2shl r15, 4
    001052e6mov rdi, [rsp+40]
    001052ebmov rcx, [rsp+48]
    001052f0mov rsi, [rax+r15]
    001052f4mov rdx, [rax+r15+8]
    001052f9call [rcx+24]
    001052fctest al, al
    001052feje 0x105304
    00105300
    00105300loc_105300:
    00105300mov al, 1
    00105302jmp 0x105306
    00105304
    00105304loc_105304:
    00105304xor eax, eax
    00105306
    00105306loc_105306:
    00105306add rsp, 72
    0010530apop rbx
    0010530bpop r12
    0010530dpop r13
    0010530fpop r14
    00105311pop r15
    00105313pop rbp
    00105314ret
    00105110
    00105315
    00105315 // align 0x10
    00105321
    00105321 // align 0x10
    00105330
    00105330_<&T as core::fmt::Debug>::fmt:
    00105330mov rdi, [rdi]
    00105333jmp 0x105340
    00105330
    00105338
    00105338 // align 0x10
    00105340
    00105340_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17hfd34c49f95dd23e5E.84:
    00105340sub rsp, 136
    00105347mov eax, [rsi+52]
    0010534atest al, 16
    0010534cjne 0x105432
    00105352test al, 32
    00105354jne 0x105480
    0010535amov rcx, [rdi]
    0010535dmov eax, 39
    00105362cmp rcx, 10000
    00105369jb 0x1054f2
    0010536fmov r9l, 39
    00105375mov rdi, 0x346dc5d63886594b
    0010537flea r8, [rip-0x76334]
    00105386nop [rax+rax]
    00105390
    00105390loc_105390:
    00105390mov rax, rcx
    00105393mul rdi
    00105396shr rdx, 11
    0010539aimul eax, edx, 10000
    001053a0mov r10l, ecx
    001053a3sub r10l, eax
    001053a6imul r11l, r10l, 5243
    001053adshr r11l, 19
    001053b1imul eax, r11l, 100
    001053b5sub r10l, eax
    001053b8movzx r10l, r10w
    001053bclea rax, [r9-4]
    001053c0movzx r11l, [r8+2*r11]
    001053c5mov [rsp+r9+4], r11w
    001053cbmovzx r10l, [r8+2*r10]
    001053d0mov [rsp+r9+6], r10w
    001053d6mov r9, rax
    001053d9cmp rcx, 0x5f5e0ff
    001053e0mov rcx, rdx
    001053e3ja 0x105390
    001053e5cmp rdx, 99
    001053e9jbe 0x105419
    001053eb
    001053ebloc_1053eb:
    001053ebmovzx ecx, dx
    001053eeshr ecx, 2
    001053f1imul ecx, ecx, 5243
    001053f7shr ecx, 17
    001053faimul edi, ecx, 100
    001053fdsub edx, edi
    001053ffmovzx edx, dx
    00105402lea rdi, [rip-0x763b7]
    00105409movzx edx, [rdi+2*rdx]
    0010540dmov [rsp+rax+6], dx
    00105412add rax, -2
    00105416mov rdx, rcx
    00105419
    00105419loc_105419:
    00105419cmp rdx, 10
    0010541djae 0x105504
    00105423add dl, 48
    00105426mov [rsp+rax+7], dl
    0010542adec rax
    0010542djmp 0x105518
    00105432
    00105432loc_105432:
    00105432mov rcx, [rdi]
    00105435mov edx, 129
    0010543amov eax, 48
    0010543fmov r8, rcx
    00105442nop [rax+rax]
    00105450
    00105450loc_105450:
    00105450mov rdi, rdx
    00105453shr r8, 4
    00105457mov edx, ecx
    00105459and dl, 15
    0010545ccmp dl, 10
    0010545fmov r9l, 87
    00105465cmovb r9l, eax
    00105469add r9b, dl
    0010546cmov [rsp+rdi+6], r9b
    00105471lea rdx, [rdi-1]
    00105475cmp rcx, 16
    00105479mov rcx, r8
    0010547cjae 0x105450
    0010547ejmp 0x1054be
    00105480
    00105480loc_105480:
    00105480mov rcx, [rdi]
    00105483mov edx, 129
    00105488mov eax, 48
    0010548dmov r8, rcx
    00105490
    00105490loc_105490:
    00105490mov rdi, rdx
    00105493shr r8, 4
    00105497mov edx, ecx
    00105499and dl, 15
    0010549ccmp dl, 10
    0010549fmov r9l, 55
    001054a5cmovb r9l, eax
    001054a9add r9b, dl
    001054acmov [rsp+rdi+6], r9b
    001054b1lea rdx, [rdi-1]
    001054b5cmp rcx, 16
    001054b9mov rcx, r8
    001054bcjae 0x105490
    001054be
    001054beloc_1054be:
    001054beadd rdi, -2
    001054c2cmp rdi, 128
    001054c9ja 0x105547
    001054cbmov r9l, 129
    001054d1sub r9, rdx
    001054d4lea r8, [rsp+rdi]
    001054d8add r8, 8
    001054dclea rdx, [rip-0x768e9]
    001054e3mov ecx, 2
    001054e8mov rdi, rsi
    001054ebmov esi, 1
    001054f0jmp 0x10553a
    001054f2
    001054f2loc_1054f2:
    001054f2mov rdx, rcx
    001054f5cmp rdx, 99
    001054f9ja 0x1053eb
    001054ffjmp 0x105419
    00105504
    00105504loc_105504:
    00105504lea rcx, [rip-0x764b9]
    0010550bmovzx ecx, [rcx+2*rdx]
    0010550fmov [rsp+rax+6], cx
    00105514add rax, -2
    00105518
    00105518loc_105518:
    00105518lea r8, [rsp+rax]
    0010551cadd r8, 8
    00105520mov r9l, 39
    00105526sub r9, rax
    00105529lea rdx, [rip-0x74238]
    00105530mov rdi, rsi
    00105533mov esi, 1
    00105538xor ecx, ecx
    0010553a
    0010553aloc_10553a:
    0010553acall core::fmt::Formatter::pad_integral
    0010553fadd rsp, 136
    00105546ret
    00105547
    00105547loc_105547:
    00105547lea rdx, [rip+0xe5882]
    0010554emov esi, 128
    00105553call core::slice::index::slice_start_index_len_fail
    00105558ud2
    00105340
    0010555a
    0010555a // align 0x10
    00105560
    00105560core::num::flt2dec::strategy::dragon::mul_pow10:
    00105560push r14
    00105562push rbx
    00105563push rax
    00105564mov r14, rsi
    00105567mov rbx, rdi
    0010556amov rax, rsi
    0010556dand rax, 7
    00105571je 0x1055eb
    00105573mov rdi, [rbx+160]
    0010557acmp rdi, 41
    0010557ejae 0x105738
    00105584test rdi, rdi
    00105587je 0x105657
    0010558dlea rcx, [rip-0xc1db4]
    00105594mov ecx, [rcx+4*rax]
    00105597lea rdx, [4*rdi]
    0010559fxor esi, esi
    001055a1xor eax, eax
    001055a3nop [rax+rax]
    001055b0
    001055b0loc_1055b0:
    001055b0mov r8l, [rbx+rsi]
    001055b4imul r8, rcx
    001055b8add r8, rax
    001055bbmov rax, r8
    001055beshr rax, 32
    001055c2mov [rbx+rsi], r8l
    001055c6add rsi, 4
    001055cacmp rdx, rsi
    001055cdjne 0x1055b0
    001055cftest rax, rax
    001055d2je 0x1055e4
    001055d4cmp rdi, 39
    001055d8ja 0x105720
    001055demov [rbx+4*rdi], eax
    001055e1inc rdi
    001055e4
    001055e4loc_1055e4:
    001055e4mov [rbx+160], rdi
    001055eb
    001055ebloc_1055eb:
    001055ebtest r14b, 8
    001055efje 0x105671
    001055f5
    001055f5loc_1055f5:
    001055f5mov rdi, [rbx+160]
    001055fccmp rdi, 41
    00105600jae 0x105738
    00105606test rdi, rdi
    00105609je 0x105668
    0010560blea rcx, [4*rdi]
    00105613xor edx, edx
    00105615xor eax, eax
    00105617nop [rax+rax]
    00105620
    00105620loc_105620:
    00105620mov esi, [rbx+rdx]
    00105623imul rsi, rsi, 0x5f5e100
    0010562aadd rsi, rax
    0010562dmov rax, rsi
    00105630shr rax, 32
    00105634mov [rbx+rdx], esi
    00105637add rdx, 4
    0010563bcmp rcx, rdx
    0010563ejne 0x105620
    00105640test rax, rax
    00105643je 0x10566a
    00105645cmp rdi, 39
    00105649ja 0x105720
    0010564fmov [rbx+4*rdi], eax
    00105652inc rdi
    00105655jmp 0x10566a
    00105657
    00105657loc_105657:
    00105657xor edi, edi
    00105659mov [rbx+160], rdi
    00105660test r14b, 8
    00105664jne 0x1055f5
    00105666jmp 0x105671
    00105668
    00105668loc_105668:
    00105668xor edi, edi
    0010566a
    0010566aloc_10566a:
    0010566amov [rbx+160], rdi
    00105671
    00105671loc_105671:
    00105671test r14b, 16
    00105675jne 0x1056b0
    00105677test r14b, 32
    0010567bjne 0x1056ca
    0010567d
    0010567dloc_10567d:
    0010567dtest r14b, 64
    00105681jne 0x1056e4
    00105683
    00105683loc_105683:
    00105683test r14b, r14b
    00105686js 0x1056fd
    00105688
    00105688loc_105688:
    00105688test r14l, 256
    0010568fje 0x1056a5
    00105691
    00105691loc_105691:
    00105691lea rsi, [rip-0xc25e8]
    00105698mov edx, 27
    0010569dmov rdi, rbx
    001056a0call core::num::bignum::Big32x40::mul_digits
    001056a5
    001056a5loc_1056a5:
    001056a5mov rax, rbx
    001056a8add rsp, 8
    001056acpop rbx
    001056adpop r14
    001056afret
    001056b0
    001056b0loc_1056b0:
    001056b0lea rsi, [rip-0xc2673]
    001056b7mov edx, 2
    001056bcmov rdi, rbx
    001056bfcall core::num::bignum::Big32x40::mul_digits
    001056c4test r14b, 32
    001056c8je 0x10567d
    001056ca
    001056caloc_1056ca:
    001056calea rsi, [rip-0xc2685]
    001056d1mov edx, 4
    001056d6mov rdi, rbx
    001056d9call core::num::bignum::Big32x40::mul_digits
    001056detest r14b, 64
    001056e2je 0x105683
    001056e4
    001056e4loc_1056e4:
    001056e4lea rsi, [rip-0xc268f]
    001056ebmov edx, 7
    001056f0mov rdi, rbx
    001056f3call core::num::bignum::Big32x40::mul_digits
    001056f8test r14b, r14b
    001056fbjns 0x105688
    001056fd
    001056fdloc_1056fd:
    001056fdlea rsi, [rip-0xc268c]
    00105704mov edx, 14
    00105709mov rdi, rbx
    0010570ccall core::num::bignum::Big32x40::mul_digits
    00105711test r14l, 256
    00105718jne 0x105691
    0010571ejmp 0x1056a5
    00105720
    00105720loc_105720:
    00105720lea rdx, [rip+0xe5ac1]
    00105727mov edi, 40
    0010572cmov esi, 40
    00105731call core::panicking::panic_bounds_check
    00105736ud2
    00105738
    00105738loc_105738:
    00105738lea rdx, [rip+0xe5aa9]
    0010573fmov esi, 40
    00105744call core::slice::index::slice_end_index_len_fail
    00105749ud2
    00105560
    0010574b
    0010574b // align 0x10
    00105750
    00105750core::num::bignum::Big32x40::mul_digits:
    00105750push rbp
    00105751push r15
    00105753push r14
    00105755push r13
    00105757push r12
    00105759push rbx
    0010575asub rsp, 184
    00105761mov rbx, rdi
    00105764xorps x0, x0
    00105767movaps [rsp+160], x0
    0010576fmovaps [rsp+144], x0
    00105777movaps [rsp+128], x0
    0010577fmovaps [rsp+112], x0
    00105784movaps [rsp+96], x0
    00105789movaps [rsp+80], x0
    0010578emovaps [rsp+64], x0
    00105793movaps [rsp+48], x0
    00105798movaps [rsp+32], x0
    0010579dmovaps [rsp+16], x0
    001057a2mov rdi, [rdi+160]
    001057a9cmp rdi, rdx
    001057acjae 0x105872
    001057b2cmp rdi, 41
    001057b6jae 0x105972
    001057bclea rax, [rbx+4*rdi]
    001057c0lea rcx, [rdx+1]
    001057c4mov [rsp+8], rcx
    001057c9lea r8, [4*rdx]
    001057d1xor r10l, r10l
    001057d4mov r9, rbx
    001057d7xor r14l, r14l
    001057danop [rax+rax]
    001057e0
    001057e0loc_1057e0:
    001057e0cmp r9, rax
    001057e3je 0x10591a
    001057e9mov r11, r10
    001057ecinc r10
    001057efmov r15l, [r9]
    001057f2add r9, 4
    001057f6test r15, r15
    001057f9je 0x1057e0
    001057fbxor r13l, r13l
    001057femov rdi, r11
    00105801xor r12l, r12l
    00105804nop [rax+rax]
    00105810
    00105810loc_105810:
    00105810cmp rdi, 40
    00105814jae 0x105949
    0010581amov ebp, [rsi+r13]
    0010581emov ecx, [rsp+4*rdi+16]
    00105822add r12, rcx
    00105825imul rbp, r15
    00105829add rbp, r12
    0010582cmov r12, rbp
    0010582fshr r12, 32
    00105833mov [rsp+4*rdi+16], ebp
    00105837inc rdi
    0010583aadd r13, 4
    0010583ecmp r8, r13
    00105841jne 0x105810
    00105843mov rdi, rdx
    00105846test r12, r12
    00105849je 0x105863
    0010584blea rdi, [r11+rdx]
    0010584fcmp rdi, 40
    00105853jae 0x105949
    00105859mov [rsp+4*rdi+16], r12l
    0010585emov rdi, [rsp+8]
    00105863
    00105863loc_105863:
    00105863add rdi, r11
    00105866cmp r14, rdi
    00105869cmovbe r14, rdi
    0010586djmp 0x1057e0
    00105872
    00105872loc_105872:
    00105872cmp rdi, 41
    00105876jae 0x105972
    0010587clea rcx, [rsi+4*rdx]
    00105880lea rdx, [rdi+1]
    00105884lea r8, [4*rdi]
    0010588cxor r9l, r9l
    0010588fxor r14l, r14l
    00105892nop [rax+rax]
    001058a0
    001058a0loc_1058a0:
    001058a0cmp rsi, rcx
    001058a3je 0x10591a
    001058a5mov r10, r9
    001058a8inc r9
    001058abmov r11l, [rsi]
    001058aeadd rsi, 4
    001058b2test r11, r11
    001058b5je 0x1058a0
    001058b7xor r12l, r12l
    001058bamov rax, r10
    001058bdxor r15l, r15l
    001058c0
    001058c0loc_1058c0:
    001058c0cmp rax, 40
    001058c4jae 0x10595c
    001058camov r13l, [rbx+r12]
    001058cemov ebp, [rsp+4*rax+16]
    001058d2add r15, rbp
    001058d5imul r13, r11
    001058d9add r13, r15
    001058dcmov r15, r13
    001058dfshr r15, 32
    001058e3mov [rsp+4*rax+16], r13l
    001058e8inc rax
    001058ebadd r12, 4
    001058efcmp r8, r12
    001058f2jne 0x1058c0
    001058f4mov rax, rdi
    001058f7test r15, r15
    001058faje 0x10590e
    001058fclea rax, [r10+rdi]
    00105900cmp rax, 40
    00105904jae 0x10595c
    00105906mov [rsp+4*rax+16], r15l
    0010590bmov rax, rdx
    0010590e
    0010590eloc_10590e:
    0010590eadd rax, r10
    00105911cmp r14, rax
    00105914cmovbe r14, rax
    00105918jmp 0x1058a0
    0010591a
    0010591aloc_10591a:
    0010591alea rsi, [rsp+16]
    0010591fmov edx, 160
    00105924mov rdi, rbx
    00105927call [rip+0x10c1f3]
    0010592dmov [rbx+160], r14
    00105934mov rax, rbx
    00105937add rsp, 184
    0010593epop rbx
    0010593fpop r12
    00105941pop r13
    00105943pop r14
    00105945pop r15
    00105947pop rbp
    00105948ret
    00105949
    00105949loc_105949:
    00105949lea rdx, [rip+0xe5898]
    00105950mov esi, 40
    00105955call core::panicking::panic_bounds_check
    0010595aud2
    0010595c
    0010595cloc_10595c:
    0010595clea rdx, [rip+0xe5885]
    00105963mov esi, 40
    00105968mov rdi, rax
    0010596bcall core::panicking::panic_bounds_check
    00105970ud2
    00105972
    00105972loc_105972:
    00105972lea rdx, [rip+0xe586f]
    00105979mov esi, 40
    0010597ecall core::slice::index::slice_end_index_len_fail
    00105983ud2
    00105750