File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
Loading..
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
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
00103cca // align 0x10
00103cd0
00103cd0core::ops::function::FnOnce::call_once:
00103cd0mov rax, [rdi]
00103cd3nop [rax+rax]
00103ce0
00103ce0loc_103ce0:
00103ce0jmp 0x103ce0
00103cd0
00103cd0core::ops::function::FnOnce::call_once:
00103cd0mov rax, [rdi]
00103cd3nop [rax+rax]
00103ce0
00103ce0loc_103ce0:
00103ce0jmp 0x103ce0
00103cd0
00103ce2
00103ce2 // align 0x10
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
00105315 // align 0x10
00105320
00105320core::ptr::drop_in_place<&core::iter::adapters::copied::Copied<core::slice::iter::Iter<u8>>>:
00105320ret
00105320
00105320core::ptr::drop_in_place<&core::iter::adapters::copied::Copied<core::slice::iter::Iter<u8>>>:
00105320ret
00105320
00105321
00105321 // align 0x10
00105321 // align 0x10
00105338
00105338 // align 0x10
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
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
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
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
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
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
Loading..