File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    00103d30
    00103d30core::num::dec2flt::decimal::Decimal::left_shift:
    00103d30push rbp
    00103d31push r15
    00103d33push r14
    00103d35push rbx
    00103d36push rax
    00103d37mov r8, [rdi]
    00103d3atest r8, r8
    00103d3dje 0x103ec0
    00103d43mov rcx, rsi
    00103d46and ecx, 63
    00103d49lea rdx, [rip-0xc14ce]
    00103d50movzx r9l, [rdx+2*rcx]
    00103d55mov eax, r9l
    00103d58and eax, 2047
    00103d5dcmp eax, 1308
    00103d62ja 0x103f4d
    00103d68shr r9l, 11
    00103d6cmovzx edx, [rdx+2*rcx+2]
    00103d71and edx, 2047
    00103d77lea rsi, [rip-0xc147a]
    00103d7eadd rsi, rax
    00103d81sub rdx, rax
    00103d84lea r10, [rdx-1]
    00103d88mov r11l, 1308
    00103d8esub r11, rax
    00103d91xor ebx, ebx
    00103d93lea rax, [rip-0xc0f7a]
    00103d9anop [rax+rax]
    00103da0
    00103da0loc_103da0:
    00103da0cmp rdx, rbx
    00103da3je 0x103e06
    00103da5cmp r11, rbx
    00103da8je 0x103e06
    00103daacmp r8, rbx
    00103dadje 0x103e03
    00103dafcmp rbx, 768
    00103db6je 0x103f35
    00103dbcmovzx ebp, [rsi]
    00103dbfmovzx r14l, [rdi+rbx+8]
    00103dc5cmp r14b, bpl
    00103dc8jne 0x103dfa
    00103dcacmp r10, rbx
    00103dcdje 0x103e06
    00103dcflea r14, [rsi+1]
    00103dd3cmp r14, rax
    00103dd6je 0x103e06
    00103dd8lea r15, [rbx+1]
    00103ddccmp r15, r8
    00103ddfje 0x103e03
    00103de1movzx ebp, [rsi+1]
    00103de5add rsi, 2
    00103de9movzx r14l, [rdi+rbx+9]
    00103definc r15
    00103df2mov rbx, r15
    00103df5cmp r14b, bpl
    00103df8je 0x103da0
    00103dfa
    00103dfaloc_103dfa:
    00103dfacmp r14b, bpl
    00103dfdsbb r9, 0
    00103e01jmp 0x103e06
    00103e03
    00103e03loc_103e03:
    00103e03dec r9
    00103e06
    00103e06loc_103e06:
    00103e06lea r11, [r9+rdi]
    00103e0aadd r11, 7
    00103e0exor edx, edx
    00103e10mov r10, 0xcccccccccccccccd
    00103e1ajmp 0x103e29
    00103e1c
    00103e1c 0f 1f 40 00 ..@.
    00103e20
    00103e20loc_103e20:
    00103e20mov [r11+rbx], al
    00103e24
    00103e24loc_103e24:
    00103e24test r8, r8
    00103e27je 0x103e7d
    00103e29
    00103e29loc_103e29:
    00103e29mov rbx, r8
    00103e2cdec r8
    00103e2fcmp rbx, 769
    00103e36jae 0x103f1f
    00103e3cmovzx esi, [rdi+rbx+7]
    00103e41shl rsi, cl
    00103e44add rsi, rdx
    00103e47mov rax, rsi
    00103e4amul r10
    00103e4dlea r14, [rbx+r9]
    00103e51dec r14
    00103e54shr rdx, 3
    00103e58lea rax, [rdx+rdx]
    00103e5clea r15, [rax+4*rax]
    00103e60mov rax, rsi
    00103e63sub rax, r15
    00103e66cmp r14, 768
    00103e6djb 0x103e20
    00103e6ftest rax, rax
    00103e72je 0x103e24
    00103e74mov [rdi+780], 1
    00103e7bjmp 0x103e24
    00103e7d
    00103e7dloc_103e7d:
    00103e7dcmp rsi, 10
    00103e81jae 0x103ecb
    00103e83
    00103e83loc_103e83:
    00103e83mov rcx, [rdi]
    00103e86add rcx, r9
    00103e89cmp rcx, 768
    00103e90mov eax, 768
    00103e95cmovb rax, rcx
    00103e99mov [rdi], rax
    00103e9cadd [rdi+776], r9l
    00103ea3test rax, rax
    00103ea6je 0x103ec0
    00103ea8dec rax
    00103eabnop [rax+rax]
    00103eb0
    00103eb0loc_103eb0:
    00103eb0cmp [rdi+rax+8], 0
    00103eb5jne 0x103ec0
    00103eb7mov [rdi], rax
    00103ebaadd rax, -1
    00103ebejb 0x103eb0
    00103ec0
    00103ec0loc_103ec0:
    00103ec0add rsp, 8
    00103ec4pop rbx
    00103ec5pop r14
    00103ec7pop r15
    00103ec9pop rbp
    00103ecaret
    00103ecb
    00103ecbloc_103ecb:
    00103ecblea rsi, [r9-1]
    00103ecfjmp 0x103eed
    00103ed1
    00103ed1 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
    00103ee0
    00103ee0loc_103ee0:
    00103ee0mov [rdi+rsi+8], al
    00103ee4
    00103ee4loc_103ee4:
    00103ee4dec rsi
    00103ee7cmp rcx, 10
    00103eebjb 0x103e83
    00103eed
    00103eedloc_103eed:
    00103eedmov rcx, rdx
    00103ef0mov rax, rdx
    00103ef3mul r10
    00103ef6shr rdx, 3
    00103efalea rax, [rdx+rdx]
    00103efelea r8, [rax+4*rax]
    00103f02mov rax, rcx
    00103f05sub rax, r8
    00103f08cmp rsi, 768
    00103f0fjb 0x103ee0
    00103f11test rax, rax
    00103f14je 0x103ee4
    00103f16mov [rdi+780], 1
    00103f1djmp 0x103ee4
    00103f1f
    00103f1floc_103f1f:
    00103f1flea rdx, [rip+0xe6832]
    00103f26mov esi, 768
    00103f2bmov rdi, r8
    00103f2ecall core::panicking::panic_bounds_check
    00103f33ud2
    00103f35
    00103f35loc_103f35:
    00103f35lea rdx, [rip+0xe6894]
    00103f3cmov edi, 768
    00103f41mov esi, 768
    00103f46call core::panicking::panic_bounds_check
    00103f4bud2
    00103f4d
    00103f4dloc_103f4d:
    00103f4dlea rdx, [rip+0xe6894]
    00103f54mov esi, 1308
    00103f59mov rdi, rax
    00103f5ccall core::slice::index::slice_start_index_len_fail
    00103f61ud2
    00103d30
    00103f63
    00103f63 // align 0x10
    00103f70
    00103f70core::slice::index::slice_start_index_len_fail:
    00103f70sub rsp, 104
    00103f74mov [rsp+8], rdi
    00103f79mov [rsp+16], rsi
    00103f7elea rax, [rsp+8]
    00103f83mov [rsp+24], rax
    00103f88lea rax, [rip+225]
    00103f8fmov [rsp+32], rax
    00103f94lea rcx, [rsp+16]
    00103f99mov [rsp+40], rcx
    00103f9emov [rsp+48], rax
    00103fa3lea rax, [rip+0xe6eee]
    00103faamov [rsp+56], rax
    00103fafmov [rsp+64], 2
    00103fb8mov [rsp+88], 0
    00103fc1lea rax, [rsp+24]
    00103fc6mov [rsp+72], rax
    00103fcbmov [rsp+80], 2
    00103fd4lea rdi, [rsp+56]
    00103fd9mov rsi, rdx
    00103fdccall core::panicking::panic_fmt
    00103fe1ud2
    00103f70
    00103fe3
    00103fe3 // align 0x10
    00103ff0
    00103ff0core::panicking::panic_bounds_check:
    00103ff0sub rsp, 104
    00103ff4mov [rsp+8], rdi
    00103ff9mov [rsp+16], rsi
    00103ffelea rax, [rsp+16]
    00104003mov [rsp+24], rax
    00104008lea rax, [rip+97]
    0010400fmov [rsp+32], rax
    00104014lea rcx, [rsp+8]
    00104019mov [rsp+40], rcx
    0010401emov [rsp+48], rax
    00104023lea rax, [rip+0xe6c56]
    0010402amov [rsp+56], rax
    0010402fmov [rsp+64], 2
    00104038mov [rsp+88], 0
    00104041lea rax, [rsp+24]
    00104046mov [rsp+72], rax
    0010404bmov [rsp+80], 2
    00104054lea rdi, [rsp+56]
    00104059mov rsi, rdx
    0010405ccall core::panicking::panic_fmt
    00104061ud2
    00103ff0
    00104063
    00104063 // align 0x10
    00104070
    00104070core::fmt::num::imp::_<impl core::fmt::Display for u64>::fmt:
    00104070sub rsp, 40
    00104074mov rcx, [rdi]
    00104077mov eax, 39
    0010407clea rdi, [rip-0x75031]
    00104083cmp rcx, 10000
    0010408ajb 0x104135
    00104090mov r9l, 39
    00104096mov r8, 0x346dc5d63886594b
    001040a0
    001040a0loc_1040a0:
    001040a0mov rax, rcx
    001040a3mul r8
    001040a6shr rdx, 11
    001040aaimul eax, edx, 10000
    001040b0mov r10l, ecx
    001040b3sub r10l, eax
    001040b6imul r11l, r10l, 5243
    001040bdshr r11l, 19
    001040c1imul eax, r11l, 100
    001040c5sub r10l, eax
    001040c8movzx r10l, r10w
    001040cclea rax, [r9-4]
    001040d0movzx r11l, [rdi+2*r11]
    001040d5mov [rsp+r9-3], r11w
    001040dbmovzx r10l, [rdi+2*r10]
    001040e0mov [rsp+r9-1], r10w
    001040e6mov r9, rax
    001040e9cmp rcx, 0x5f5e0ff
    001040f0mov rcx, rdx
    001040f3ja 0x1040a0
    001040f5cmp rdx, 99
    001040f9jbe 0x104124
    001040fb
    001040fbloc_1040fb:
    001040fbmovzx ecx, dx
    001040feshr ecx, 2
    00104101imul ecx, ecx, 5243
    00104107shr ecx, 17
    0010410aimul r8l, ecx, 100
    0010410esub edx, r8l
    00104111movzx edx, dx
    00104114movzx edx, [rdi+2*rdx]
    00104118mov [rsp+rax-1], dx
    0010411dadd rax, -2
    00104121mov rdx, rcx
    00104124
    00104124loc_104124:
    00104124cmp rdx, 10
    00104128jae 0x104140
    0010412aadd dl, 48
    0010412dmov [rsp+rax], dl
    00104130dec rax
    00104133jmp 0x10414d
    00104135
    00104135loc_104135:
    00104135mov rdx, rcx
    00104138cmp rdx, 99
    0010413cja 0x1040fb
    0010413ejmp 0x104124
    00104140
    00104140loc_104140:
    00104140movzx ecx, [rdi+2*rdx]
    00104144mov [rsp+rax-1], cx
    00104149add rax, -2
    0010414d
    0010414dloc_10414d:
    0010414dlea r8, [rsp+rax]
    00104151inc r8
    00104154mov r9l, 39
    0010415asub r9, rax
    0010415dlea rdx, [rip-0x72e6c]
    00104164mov rdi, rsi
    00104167mov esi, 1
    0010416cxor ecx, ecx
    0010416ecall core::fmt::Formatter::pad_integral
    00104173add rsp, 40
    00104177ret
    00104070
    00104178
    00104178 // align 0x10
    00104180
    00104180core::fmt::Formatter::pad_integral:
    00104180push rbp
    00104181push r15
    00104183push r14
    00104185push r13
    00104187push r12
    00104189push rbx
    0010418asub rsp, 40
    0010418emov rbp, r9
    00104191mov r15, r8
    00104194mov r12, rcx
    00104197mov r13, rdx
    0010419atest esi, esi
    0010419cje 0x1041dd
    0010419emov eax, [rdi+52]
    001041a1mov ecx, eax
    001041a3and ecx, 1
    001041a6mov edx, 0x110000
    001041abmov esi, 43
    001041b0cmove esi, edx
    001041b3mov [rsp+12], esi
    001041b7add rcx, rbp
    001041batest al, 4
    001041bcje 0x1041f0
    001041be
    001041beloc_1041be:
    001041bemov rsi, r12
    001041c1test r12, r12
    001041c4je 0x1042f8
    001041cacmp r12, 1
    001041cejne 0x104270
    001041d4xor esi, esi
    001041d6xor edx, edx
    001041d8jmp 0x1042e0
    001041dd
    001041ddloc_1041dd:
    001041ddlea rcx, [rbp+1]
    001041e1mov eax, [rdi+52]
    001041e4mov [rsp+12], 45
    001041ectest al, 4
    001041eejne 0x1041be
    001041f0
    001041f0loc_1041f0:
    001041f0xor r13l, r13l
    001041f3cmp [rdi], 0
    001041f7je 0x104305
    001041fd
    001041fdloc_1041fd:
    001041fdmov [rsp+32], r15
    00104202mov r15, [rdi+8]
    00104206sub r15, rcx
    00104209jbe 0x104237
    0010420btest al, 8
    0010420djne 0x10434a
    00104213mov [rsp+24], rbp
    00104218movzx ebp, [rdi+56]
    0010421clea rax, [rip-0xc6b9f]
    00104223movsxd rcx, [rax+4*rbp]
    00104227add rcx, rax
    0010422ajmp rcx
    0010422cmov rbp, r15
    0010422fxor r15l, r15l
    00104232jmp 0x1043c9
    00104237
    00104237loc_104237:
    00104237mov rbx, [rdi+32]
    0010423bmov r14, [rdi+40]
    0010423fmov rdi, rbx
    00104242mov rsi, r14
    00104245mov edx, [rsp+12]
    00104249mov rcx, r13
    0010424cmov r8, r12
    0010424fcall core::fmt::Formatter::pad_integral::write_prefix
    00104254mov r12b, 1
    00104257test al, al
    00104259mov rsi, [rsp+32]
    0010425ejne 0x104492
    00104264mov rax, [r14+24]
    00104268mov rdi, rbx
    0010426bjmp 0x104337
    00104270
    00104270loc_104270:
    00104270mov rdx, r12
    00104273and rdx, -2
    00104277pxor x0, x0
    0010427bxor esi, esi
    0010427dmovdqa x1, [rip-0xcba95]
    00104285movdqa x2, [rip-0xcba8d]
    0010428dnop [rax]
    00104290
    00104290loc_104290:
    00104290movzx r8l, [r13+rsi]
    00104296movd x3, r8l
    0010429bpcmpgtb x3, x1
    0010429fpunpcklbw x3, x3
    001042a3pshuflw x3, x3, -44
    001042a8pshufd x3, x3, -44
    001042adpand x3, x2
    001042b1paddq x0, x3
    001042b5add rsi, 2
    001042b9cmp rdx, rsi
    001042bcjne 0x104290
    001042bepshufd x1, x0, -18
    001042c3paddq x1, x0
    001042c7movq rsi, x1
    001042cccmp rdx, r12
    001042cfje 0x1042f8
    001042d1nop [rax+rax]
    001042e0
    001042e0loc_1042e0:
    001042e0xor r8l, r8l
    001042e3cmp [r13+rdx], -64
    001042e9setge r8b
    001042edadd rsi, r8
    001042f0inc rdx
    001042f3cmp r12, rdx
    001042f6jne 0x1042e0
    001042f8
    001042f8loc_1042f8:
    001042f8add rcx, rsi
    001042fbcmp [rdi], 0
    001042ffjne 0x1041fd
    00104305
    00104305loc_104305:
    00104305mov rbx, [rdi+32]
    00104309mov r14, [rdi+40]
    0010430dmov rdi, rbx
    00104310mov rsi, r14
    00104313mov edx, [rsp+12]
    00104317mov rcx, r13
    0010431amov r8, r12
    0010431dcall core::fmt::Formatter::pad_integral::write_prefix
    00104322mov r12b, 1
    00104325test al, al
    00104327jne 0x104492
    0010432dmov rax, [r14+24]
    00104331mov rdi, rbx
    00104334mov rsi, r15
    00104337
    00104337loc_104337:
    00104337mov rdx, rbp
    0010433aadd rsp, 40
    0010433epop rbx
    0010433fpop r12
    00104341pop r13
    00104343pop r14
    00104345pop r15
    00104347pop rbp
    00104348jmp rax
    0010434a
    0010434aloc_10434a:
    0010434amov eax, [rdi+48]
    0010434dmov [rsp+24], eax
    00104351mov [rdi+48], 48
    00104358movzx eax, [rdi+56]
    0010435cmov [rsp+11], al
    00104360mov [rdi+56], 1
    00104364mov r14, [rdi+32]
    00104368mov [rsp+16], rdi
    0010436dmov rbx, [rdi+40]
    00104371mov rdi, r14
    00104374mov rsi, rbx
    00104377mov edx, [rsp+12]
    0010437bmov rcx, r13
    0010437emov r8, r12
    00104381call core::fmt::Formatter::pad_integral::write_prefix
    00104386mov r12b, 1
    00104389test al, al
    0010438bjne 0x104492
    00104391inc r15
    00104394nop [rax+rax]
    001043a0
    001043a0loc_1043a0:
    001043a0dec r15
    001043a3je 0x10445d
    001043a9mov rdi, r14
    001043acmov esi, 48
    001043b1call [rbx+32]
    001043b4test al, al
    001043b6je 0x1043a0
    001043b8jmp 0x104492
    001043bdmov rbp, r15
    001043c0shr rbp, 1
    001043c3inc r15
    001043c6shr r15, 1
    001043c9
    001043c9loc_1043c9:
    001043c9mov r14, [rdi+32]
    001043cdmov rbx, [rdi+40]
    001043d1mov eax, [rdi+48]
    001043d4mov [rsp+16], eax
    001043d8inc rbp
    001043dbnop [rax+rax]
    001043e0
    001043e0loc_1043e0:
    001043e0mov rdi, r14
    001043e3dec rbp
    001043e6je 0x1043fb
    001043e8mov esi, [rsp+16]
    001043eccall [rbx+32]
    001043eftest al, al
    001043f1je 0x1043e0
    001043f3mov r12b, 1
    001043f6jmp 0x104492
    001043fb
    001043fbloc_1043fb:
    001043fbmov rsi, rbx
    001043femov edx, [rsp+12]
    00104402mov rcx, r13
    00104405mov r8, r12
    00104408call core::fmt::Formatter::pad_integral::write_prefix
    0010440dmov r12b, 1
    00104410test al, al
    00104412jne 0x104492
    00104418mov rdi, r14
    0010441bmov rsi, [rsp+32]
    00104420mov rdx, [rsp+24]
    00104425call [rbx+24]
    00104428test al, al
    0010442ajne 0x104492
    0010442cmov r13, r15
    0010442fneg r13
    00104432mov r12, -1
    00104439nop [rax]
    00104440
    00104440loc_104440:
    00104440lea rax, [r12+r13]
    00104444cmp rax, -1
    00104448je 0x104488
    0010444amov rdi, r14
    0010444dmov esi, [rsp+16]
    00104451call [rbx+32]
    00104454inc r12
    00104457test al, al
    00104459je 0x104440
    0010445bjmp 0x10448b
    0010445d
    0010445dloc_10445d:
    0010445dmov rdi, r14
    00104460mov rsi, [rsp+32]
    00104465mov rdx, rbp
    00104468call [rbx+24]
    0010446btest al, al
    0010446djne 0x104492
    0010446fmov rax, [rsp+16]
    00104474mov ecx, [rsp+24]
    00104478mov [rax+48], ecx
    0010447bmovzx ecx, [rsp+11]
    00104480mov [rax+56], cl
    00104483xor r12l, r12l
    00104486jmp 0x104492
    00104488
    00104488loc_104488:
    00104488mov r12, r15
    0010448b
    0010448bloc_10448b:
    0010448bcmp r12, r15
    0010448esetb r12b
    00104492
    00104492loc_104492:
    00104492mov eax, r12l
    00104495add rsp, 40
    00104499pop rbx
    0010449apop r12
    0010449cpop r13
    0010449epop r14
    001044a0pop r15
    001044a2pop rbp
    001044a3ret
    00104180
    001044a4
    001044a4 // align 0x10
    001044b0
    001044b0core::str::count::do_count_chars:
    001044b0lea r9, [rdi+7]
    001044b4and r9, -8
    001044b8mov rax, r9
    001044bbsub rax, rdi
    001044besub rsi, rax
    001044c1mov eax, esi
    001044c3and eax, 7
    001044c6mov rcx, r9
    001044c9sub rcx, rdi
    001044ccjne 0x1044d5
    001044cexor edx, edx
    001044d0jmp 0x104567
    001044d5
    001044d5loc_1044d5:
    001044d5cmp rcx, 4
    001044d9jae 0x1044e2
    001044dbxor edx, edx
    001044ddxor r8l, r8l
    001044e0jmp 0x104550
    001044e2
    001044e2loc_1044e2:
    001044e2movzx edx, [rdi+2]
    001044e6movd x0, edx
    001044eamovdqa x1, [rip-0xcbce2]
    001044f2pcmpgtb x0, x1
    001044f6punpcklbw x0, x0
    001044fapshuflw x0, x0, -44
    001044ffpshufd x0, x0, -44
    00104504movdqa x2, [rip-0xcbcec]
    0010450cpand x0, x2
    00104510movzx edx, [rdi]
    00104513movd x3, edx
    00104517pcmpgtb x3, x1
    0010451bpunpcklbw x3, x3
    0010451fpshuflw x1, x3, -44
    00104524pshufd x1, x1, -44
    00104529pand x1, x2
    0010452dpaddq x1, x0
    00104531pshufd x0, x1, -18
    00104536paddq x0, x1
    0010453amovq rdx, x0
    0010453fmov r8l, 4
    00104545je 0x104567
    00104547nop [rax+rax]
    00104550
    00104550loc_104550:
    00104550xor r10l, r10l
    00104553cmp [rdi+r8], -64
    00104558setge r10b
    0010455cadd rdx, r10
    0010455finc r8
    00104562cmp rcx, r8
    00104565jne 0x104550
    00104567
    00104567loc_104567:
    00104567test rax, rax
    0010456aje 0x1045ff
    00104570mov rdi, rsi
    00104573and rdi, -8
    00104577xor ecx, ecx
    00104579cmp [r9+rdi], -64
    0010457esetge cl
    00104581cmp eax, 1
    00104584je 0x104601
    00104586xor r8l, r8l
    00104589cmp [r9+rdi+1], -64
    0010458fsetge r8b
    00104593add rcx, r8
    00104596cmp eax, 2
    00104599je 0x104601
    0010459bxor r8l, r8l
    0010459ecmp [r9+rdi+2], -64
    001045a4setge r8b
    001045a8add rcx, r8
    001045abcmp eax, 3
    001045aeje 0x104601
    001045b0xor r8l, r8l
    001045b3cmp [r9+rdi+3], -64
    001045b9setge r8b
    001045bdadd rcx, r8
    001045c0cmp eax, 4
    001045c3je 0x104601
    001045c5xor r8l, r8l
    001045c8cmp [r9+rdi+4], -64
    001045cesetge r8b
    001045d2add rcx, r8
    001045d5cmp eax, 5
    001045d8je 0x104601
    001045daxor r8l, r8l
    001045ddcmp [r9+rdi+5], -64
    001045e3setge r8b
    001045e7add rcx, r8
    001045eacmp eax, 6
    001045edje 0x104601
    001045efxor eax, eax
    001045f1cmp [r9+rdi+6], -64
    001045f7setge al
    001045faadd rcx, rax
    001045fdjmp 0x104601
    001045ff
    001045ffloc_1045ff:
    001045ffxor ecx, ecx
    00104601
    00104601loc_104601:
    00104601push r15
    00104603push r14
    00104605push r12
    00104607push rbx
    00104608add rcx, rdx
    0010460bshr rsi, 3
    0010460fmov r11, 0x7ffffffffffffff
    00104619mov rdi, 0xff00ff00ff00ff
    00104623mov rdx, 0x1000100010001
    0010462dpcmpeqd x0, x0
    00104631movdqa x1, [rip-0xcbe09]
    00104639jmp 0x104673
    0010463b
    0010463b 0f 1f 44 00 00 ..D..
    00104640
    00104640loc_104640:
    00104640xor ecx, ecx
    00104642
    00104642loc_104642:
    00104642lea r9, [r8+8*r10]
    00104646sub rsi, r10
    00104649mov ebx, r10l
    0010464cand ebx, 3
    0010464fmov r14, rcx
    00104652and r14, rdi
    00104655shr rcx, 8
    00104659and rcx, rdi
    0010465cadd rcx, r14
    0010465fimul rcx, rdx
    00104663shr rcx, 48
    00104667add rcx, rax
    0010466atest rbx, rbx
    0010466djne 0x104810
    00104673
    00104673loc_104673:
    00104673mov rax, rcx
    00104676test rsi, rsi
    00104679je 0x104896
    0010467fmov r8, r9
    00104682cmp rsi, 192
    00104689mov r10l, 192
    0010468fcmovb r10, rsi
    00104693cmp r10, 4
    00104697jb 0x104640
    00104699mov r9l, r10l
    0010469cshr r9l, 2
    001046a0lea r14, [r9+r11]
    001046a4and r14, r11
    001046a7je 0x10479d
    001046adinc r14
    001046b0mov r15, r14
    001046b3and r15, -2
    001046b7mov rbx, r15
    001046bashl rbx, 5
    001046bepxor x3, x3
    001046c2mov rcx, r8
    001046c5mov r12, r15
    001046c8nop [rax+rax]
    001046d0
    001046d0loc_1046d0:
    001046d0movdqu x2, [rcx]
    001046d4movdqu x5, [rcx+32]
    001046d9movdqa x4, x2
    001046ddpunpcklqdq x4, x5
    001046e1movdqa x6, x4
    001046e5pxor x6, x0
    001046e9psrlq x6, 7
    001046eepsrlq x4, 6
    001046f3por x4, x6
    001046f7pand x4, x1
    001046fbpaddq x4, x3
    001046ffmovdqu x3, [rcx+16]
    00104704movdqu x6, [rcx+48]
    00104709punpckhqdq x2, x5
    0010470dmovdqa x5, x3
    00104711punpcklqdq x5, x6
    00104715punpckhqdq x3, x6
    00104719movdqa x6, x2
    0010471dpxor x6, x0
    00104721psrlq x6, 7
    00104726psrlq x2, 6
    0010472bpor x2, x6
    0010472fpand x2, x1
    00104733movdqa x6, x5
    00104737pxor x6, x0
    0010473bpsrlq x6, 7
    00104740psrlq x5, 6
    00104745por x5, x6
    00104749pand x5, x1
    0010474dpaddq x5, x2
    00104751paddq x5, x4
    00104755movdqa x2, x3
    00104759pxor x2, x0
    0010475dpsrlq x2, 7
    00104762psrlq x3, 6
    00104767por x3, x2
    0010476bpand x3, x1
    0010476fpaddq x3, x5
    00104773add rcx, 64
    00104777add r12, -2
    0010477bjne 0x1046d0
    00104781pshufd x2, x3, -18
    00104786paddq x2, x3
    0010478amovq rcx, x2
    0010478fcmp r14, r15
    00104792je 0x104642
    00104798add rbx, r8
    0010479bjmp 0x1047a2
    0010479d
    0010479dloc_10479d:
    0010479dxor ecx, ecx
    0010479fmov rbx, r8
    001047a2
    001047a2loc_1047a2:
    001047a2shl r9, 5
    001047a6add r9, r8
    001047a9nop [rax]
    001047b0
    001047b0loc_1047b0:
    001047b0movdqu x2, [rbx]
    001047b4movdqu x3, [rbx+16]
    001047b9movdqa x4, x2
    001047bdpxor x4, x0
    001047c1movdqa x5, x3
    001047c5pxor x5, x0
    001047c9psrlq x5, 7
    001047cepsrlq x4, 7
    001047d3psrlq x3, 6
    001047d8por x3, x5
    001047dcpsrlq x2, 6
    001047e1por x2, x4
    001047e5pand x3, x1
    001047e9pand x2, x1
    001047edpaddq x2, x3
    001047f1pshufd x3, x2, -18
    001047f6paddq x3, x2
    001047famovq r14, x3
    001047ffadd rcx, r14
    00104802add rbx, 32
    00104806cmp rbx, r9
    00104809jne 0x1047b0
    0010480bjmp 0x104642
    00104810
    00104810loc_104810:
    00104810mov rsi, 0x101010101010101
    0010481aand r10l, 252
    00104821mov rax, [r8+8*r10]
    00104825mov r9, rax
    00104828not r9
    0010482bshr r9, 7
    0010482fshr rax, 6
    00104833or rax, r9
    00104836and rax, rsi
    00104839cmp ebx, 1
    0010483cje 0x10487b
    0010483emov r9, [r8+8*r10+8]
    00104843mov r11, r9
    00104846not r11
    00104849shr r11, 7
    0010484dshr r9, 6
    00104851or r9, r11
    00104854and r9, rsi
    00104857add rax, r9
    0010485acmp ebx, 2
    0010485dje 0x10487b
    0010485fmov r8, [r8+8*r10+16]
    00104864mov r9, r8
    00104867not r9
    0010486ashr r9, 7
    0010486eshr r8, 6
    00104872or r8, r9
    00104875and r8, rsi
    00104878add rax, r8
    0010487b
    0010487bloc_10487b:
    0010487bmov rsi, rax
    0010487eand rsi, rdi
    00104881shr rax, 8
    00104885and rax, rdi
    00104888add rax, rsi
    0010488bimul rax, rdx
    0010488fshr rax, 48
    00104893add rax, rcx
    00104896
    00104896loc_104896:
    00104896pop rbx
    00104897pop r12
    00104899pop r14
    0010489bpop r15
    0010489dret
    001044b0
    0010489e
    0010489e // align 0x10
    001048a0
    001048a0core::fmt::Formatter::pad_integral::write_prefix:
    001048a0push r15
    001048a2push r14
    001048a4push r12
    001048a6push rbx
    001048a7push rax
    001048a8mov rbx, r8
    001048abmov r14, rcx
    001048aemov r12, rsi
    001048b1mov r15, rdi
    001048b4cmp edx, 0x110000
    001048baje 0x1048ce
    001048bcmov rdi, r15
    001048bfmov esi, edx
    001048c1call [r12+32]
    001048c6mov ecx, eax
    001048c8mov al, 1
    001048catest cl, cl
    001048ccjne 0x1048f0
    001048ce
    001048celoc_1048ce:
    001048cetest r14, r14
    001048d1je 0x1048ee
    001048d3mov rax, [r12+24]
    001048d8mov rdi, r15
    001048dbmov rsi, r14
    001048demov rdx, rbx
    001048e1add rsp, 8
    001048e5pop rbx
    001048e6pop r12
    001048e8pop r14
    001048eapop r15
    001048ecjmp rax
    001048ee
    001048eeloc_1048ee:
    001048eexor eax, eax
    001048f0
    001048f0loc_1048f0:
    001048f0add rsp, 8
    001048f4pop rbx
    001048f5pop r12
    001048f7pop r14
    001048f9pop r15
    001048fbret
    001048a0
    001048fc
    001048fc // align 0x10
    00104900
    00104900core::num::dec2flt::decimal::Decimal::right_shift:
    00104900push rbx
    00104901mov rcx, rsi
    00104904and ecx, 63
    00104907mov rsi, [rdi]
    0010490alea r8, [rsi-1]
    0010490exor eax, eax
    00104910xor edx, edx
    00104912nop [rax+rax]
    00104920
    00104920loc_104920:
    00104920cmp rsi, rax
    00104923je 0x10496e
    00104925cmp rax, 768
    0010492bje 0x104abc
    00104931lea rdx, [rdx+4*rdx]
    00104935movzx r9l, [rdi+rax+8]
    0010493blea rdx, [r9+2*rdx]
    0010493fmov r9, rdx
    00104942shr r9, cl
    00104945test r9, r9
    00104948jne 0x104987
    0010494acmp r8, rax
    0010494dje 0x10496e
    0010494flea rdx, [rdx+4*rdx]
    00104953movzx r9l, [rdi+rax+9]
    00104959lea rdx, [r9+2*rdx]
    0010495dadd rax, 2
    00104961mov r9, rdx
    00104964shr r9, cl
    00104967test r9, r9
    0010496aje 0x104920
    0010496cjmp 0x1049a5
    0010496e
    0010496eloc_10496e:
    0010496etest rdx, rdx
    00104971je 0x104a3e
    00104977mov rax, rdx
    0010497ashr rax, cl
    0010497dtest rax, rax
    00104980je 0x10498c
    00104982mov rax, rsi
    00104985jmp 0x1049a5
    00104987
    00104987loc_104987:
    00104987inc rax
    0010498ajmp 0x1049a5
    0010498c
    0010498cloc_10498c:
    0010498cmov rax, rsi
    0010498fnop
    00104990
    00104990loc_104990:
    00104990add rdx, rdx
    00104993lea rdx, [rdx+4*rdx]
    00104997inc rax
    0010499amov r8, rdx
    0010499dshr r8, cl
    001049a0test r8, r8
    001049a3je 0x104990
    001049a5
    001049a5loc_1049a5:
    001049a5mov r8l, [rdi+776]
    001049acsub r8l, eax
    001049afinc r8l
    001049b2mov [rdi+776], r8l
    001049b9cmp r8l, -2047
    001049c0jge 0x1049dc
    001049c2mov [rdi], 0
    001049c9mov [rdi+776], 0
    001049d3mov [rdi+780], 0
    001049dapop rbx
    001049dbret
    001049dc
    001049dcloc_1049dc:
    001049dcmov r9, -1
    001049e3shl r9, cl
    001049e6not r9
    001049e9mov r8, rsi
    001049ecsub r8, rax
    001049efjbe 0x104a40
    001049f1mov r10l, 8
    001049f7nop [rax+rax]
    00104a00
    00104a00loc_104a00:
    00104a00cmp rax, 768
    00104a06jae 0x104ad4
    00104a0cmov r11, rdx
    00104a0fshr r11, cl
    00104a12and rdx, r9
    00104a15lea rdx, [rdx+4*rdx]
    00104a19movzx ebx, [rdi+rax+8]
    00104a1einc rax
    00104a21lea rdx, [rbx+2*rdx]
    00104a25mov [rdi+r10], r11b
    00104a29inc r10
    00104a2ccmp rsi, rax
    00104a2fjne 0x104a00
    00104a31test rdx, rdx
    00104a34jne 0x104a67
    00104a36mov [rdi], r8
    00104a39test r8, r8
    00104a3cjne 0x104a86
    00104a3e
    00104a3eloc_104a3e:
    00104a3epop rbx
    00104a3fret
    00104a40
    00104a40loc_104a40:
    00104a40test rdx, rdx
    00104a43je 0x104ab3
    00104a45xor r8l, r8l
    00104a48jmp 0x104a67
    00104a4a
    00104a4a 66 0f 1f 44 00 00 f..D..
    00104a50
    00104a50loc_104a50:
    00104a50mov [rdi+r8+8], al
    00104a55inc r8
    00104a58
    00104a58loc_104a58:
    00104a58and rdx, r9
    00104a5badd rdx, rdx
    00104a5elea rdx, [rdx+4*rdx]
    00104a62test rdx, rdx
    00104a65je 0x104a83
    00104a67
    00104a67loc_104a67:
    00104a67mov rax, rdx
    00104a6ashr rax, cl
    00104a6dcmp r8, 768
    00104a74jb 0x104a50
    00104a76test al, al
    00104a78je 0x104a58
    00104a7amov [rdi+780], 1
    00104a81jmp 0x104a58
    00104a83
    00104a83loc_104a83:
    00104a83mov [rdi], r8
    00104a86
    00104a86loc_104a86:
    00104a86cmp r8, 768
    00104a8dja 0x104aea
    00104a8fdec r8
    00104a92nop [rax+rax]
    00104aa0
    00104aa0loc_104aa0:
    00104aa0cmp [rdi+r8+8], 0
    00104aa6jne 0x104a3e
    00104aa8mov [rdi], r8
    00104aabadd r8, -1
    00104aafjb 0x104aa0
    00104ab1jmp 0x104a3e
    00104ab3
    00104ab3loc_104ab3:
    00104ab3mov [rdi], 0
    00104abapop rbx
    00104abbret
    00104abc
    00104abcloc_104abc:
    00104abclea rdx, [rip+0xe5cad]
    00104ac3mov edi, 768
    00104ac8mov esi, 768
    00104acdcall core::panicking::panic_bounds_check
    00104ad2ud2
    00104ad4
    00104ad4loc_104ad4:
    00104ad4lea rdx, [rip+0xe5cad]
    00104adbmov esi, 768
    00104ae0mov rdi, rax
    00104ae3call core::panicking::panic_bounds_check
    00104ae8ud2
    00104aea
    00104aealoc_104aea:
    00104aeadec r8
    00104aedlea rdx, [rip+0xe5c4c]
    00104af4mov esi, 768
    00104af9mov rdi, r8
    00104afccall core::panicking::panic_bounds_check
    00104b01ud2
    00104900
    00104b03
    00104b03 // align 0x10
    00104b10
    00104b10core::slice::index::slice_end_index_len_fail:
    00104b10sub rsp, 104
    00104b14mov [rsp+8], rdi
    00104b19mov [rsp+16], rsi
    00104b1elea rax, [rsp+8]
    00104b23mov [rsp+24], rax
    00104b28lea rax, [rip-2751]
    00104b2fmov [rsp+32], rax
    00104b34lea rcx, [rsp+16]
    00104b39mov [rsp+40], rcx
    00104b3emov [rsp+48], rax
    00104b43lea rax, [rip+0xe636e]
    00104b4amov [rsp+56], rax
    00104b4fmov [rsp+64], 2
    00104b58mov [rsp+88], 0
    00104b61lea rax, [rsp+24]
    00104b66mov [rsp+72], rax
    00104b6bmov [rsp+80], 2
    00104b74lea rdi, [rsp+56]
    00104b79mov rsi, rdx
    00104b7ccall core::panicking::panic_fmt
    00104b81ud2
    00104b10
    00104b83
    00104b83 // align 0x10
    00104b90
    00104b90core::fmt::Formatter::pad:
    00104b90push rbp
    00104b91push r15
    00104b93push r14
    00104b95push r13
    00104b97push r12
    00104b99push rbx
    00104b9asub rsp, 24
    00104b9emov r12, rdx
    00104ba1mov r14, rsi
    00104ba4mov r15, rdi
    00104ba7mov rax, [rdi]
    00104baamov rcx, [rdi+16]
    00104baemov rdx, rax
    00104bb1or rdx, rcx
    00104bb4je 0x104dd9
    00104bbatest rcx, rcx
    00104bbdje 0x104d07
    00104bc3mov rdi, [r15+24]
    00104bc7lea rsi, [r14+r12]
    00104bcbinc rdi
    00104bcexor ecx, ecx
    00104bd0mov rdx, r14
    00104bd3jmp 0x104bfa
    00104bd5nop [rax+rax]
    00104be0
    00104be0loc_104be0:
    00104be0lea r10, [rdx+1]
    00104be4
    00104be4loc_104be4:
    00104be4sub rcx, rdx
    00104be7add rcx, r10
    00104beamov rdx, r10
    00104bedcmp r8l, 0x110000
    00104bf4je 0x104d07
    00104bfa
    00104bfaloc_104bfa:
    00104bfadec rdi
    00104bfdje 0x104c95
    00104c03cmp rdx, rsi
    00104c06je 0x104d07
    00104c0cmovzx r8l, [rdx]
    00104c10test r8b, r8b
    00104c13jns 0x104be0
    00104c15mov r9l, r8l
    00104c18and r9l, 31
    00104c1cmovzx ebx, [rdx+1]
    00104c20and ebx, 63
    00104c23cmp r8b, -33
    00104c27jbe 0x104c6f
    00104c29movzx r11l, [rdx+2]
    00104c2eshl ebx, 6
    00104c31and r11l, 63
    00104c35or r11l, ebx
    00104c38cmp r8b, -16
    00104c3cjb 0x104c82
    00104c3emovzx r8l, [rdx+3]
    00104c43and r9l, 7
    00104c47shl r9l, 18
    00104c4bshl r11l, 6
    00104c4fand r8l, 63
    00104c53or r8l, r11l
    00104c56or r8l, r9l
    00104c59cmp r8l, 0x110000
    00104c60je 0x104d07
    00104c66lea r10, [rdx+4]
    00104c6ajmp 0x104be4
    00104c6f
    00104c6floc_104c6f:
    00104c6flea r10, [rdx+2]
    00104c73shl r9l, 6
    00104c77or r9l, ebx
    00104c7amov r8l, r9l
    00104c7djmp 0x104be4
    00104c82
    00104c82loc_104c82:
    00104c82lea r10, [rdx+3]
    00104c86shl r9l, 12
    00104c8aor r11l, r9l
    00104c8dmov r8l, r11l
    00104c90jmp 0x104be4
    00104c95
    00104c95loc_104c95:
    00104c95cmp rdx, rsi
    00104c98je 0x104d07
    00104c9amovzx esi, [rdx]
    00104c9dtest sil, sil
    00104ca0jns 0x104ce2
    00104ca2cmp sil, -32
    00104ca6jb 0x104ce2
    00104ca8cmp sil, -16
    00104cacjb 0x104ce2
    00104caemovzx edi, [rdx+1]
    00104cb2and edi, 63
    00104cb5movzx r8l, [rdx+2]
    00104cbaand r8l, 63
    00104cbemovzx edx, [rdx+3]
    00104cc2and esi, 7
    00104cc5shl esi, 18
    00104cc8shl edi, 12
    00104ccbshl r8l, 6
    00104ccfor r8l, edi
    00104cd2and edx, 63
    00104cd5or edx, r8l
    00104cd8or edx, esi
    00104cdacmp edx, 0x110000
    00104ce0je 0x104d07
    00104ce2
    00104ce2loc_104ce2:
    00104ce2test rcx, rcx
    00104ce5je 0x104cf9
    00104ce7cmp rcx, r12
    00104ceajae 0x104cf7
    00104ceccmp [r14+rcx], -64
    00104cf1jge 0x104cf9
    00104cf3
    00104cf3loc_104cf3:
    00104cf3xor edx, edx
    00104cf5jmp 0x104cfc
    00104cf7
    00104cf7loc_104cf7:
    00104cf7jne 0x104cf3
    00104cf9
    00104cf9loc_104cf9:
    00104cf9mov rdx, r14
    00104cfc
    00104cfcloc_104cfc:
    00104cfctest rdx, rdx
    00104cffcmovne r12, rcx
    00104d03cmovne r14, rdx
    00104d07
    00104d07loc_104d07:
    00104d07test rax, rax
    00104d0aje 0x104dd9
    00104d10mov r13, [r15+8]
    00104d14cmp r12, 32
    00104d18jae 0x104d32
    00104d1amov rax, r12
    00104d1dtest r12, r12
    00104d20je 0x104db1
    00104d26cmp r12, 1
    00104d2ajne 0x104d3f
    00104d2cxor eax, eax
    00104d2exor ecx, ecx
    00104d30jmp 0x104d9c
    00104d32
    00104d32loc_104d32:
    00104d32mov rdi, r14
    00104d35mov rsi, r12
    00104d38call core::str::count::do_count_chars
    00104d3djmp 0x104db1
    00104d3f
    00104d3floc_104d3f:
    00104d3fmov rcx, r12
    00104d42and rcx, -2
    00104d46pxor x0, x0
    00104d4axor eax, eax
    00104d4cmovdqa x1, [rip-0xcc514]
    00104d54movdqa x2, [rip-0xcc50c]
    00104d5cnop [rax]
    00104d60
    00104d60loc_104d60:
    00104d60movzx edx, [r14+rax]
    00104d65movd x3, edx
    00104d69pcmpgtb x3, x1
    00104d6dpunpcklbw x3, x3
    00104d71pshuflw x3, x3, -44
    00104d76pshufd x3, x3, -44
    00104d7bpand x3, x2
    00104d7fpaddq x0, x3
    00104d83add rax, 2
    00104d87cmp rcx, rax
    00104d8ajne 0x104d60
    00104d8cpshufd x1, x0, -18
    00104d91paddq x1, x0
    00104d95movq rax, x1
    00104d9ajmp 0x104dac
    00104d9c
    00104d9cloc_104d9c:
    00104d9cxor edx, edx
    00104d9ecmp [r14+rcx], -64
    00104da3setge dl
    00104da6add rax, rdx
    00104da9inc rcx
    00104dac
    00104dacloc_104dac:
    00104daccmp r12, rcx
    00104dafjne 0x104d9c
    00104db1
    00104db1loc_104db1:
    00104db1sub r13, rax
    00104db4jbe 0x104dd9
    00104db6movzx eax, [r15+56]
    00104dbblea rcx, [rip-0xc772e]
    00104dc2movsxd rax, [rcx+4*rax]
    00104dc6add rax, rcx
    00104dc9mov [rsp+16], r12
    00104dcejmp rax
    00104dd0mov [rsp+8], r13
    00104dd5xor ebx, ebx
    00104dd7jmp 0x104e18
    00104dd9
    00104dd9loc_104dd9:
    00104dd9mov rdi, [r15+32]
    00104dddmov rax, [r15+40]
    00104de1mov rax, [rax+24]
    00104de5mov rsi, r14
    00104de8mov rdx, r12
    00104debadd rsp, 24
    00104defpop rbx
    00104df0pop r12
    00104df2pop r13
    00104df4pop r14
    00104df6pop r15
    00104df8pop rbp
    00104df9jmp rax
    00104dfbmov rbx, r13
    00104dfexor eax, eax
    00104e00mov [rsp+8], rax
    00104e05jmp 0x104e18
    00104e07mov rbx, r13
    00104e0ashr rbx, 1
    00104e0dinc r13
    00104e10shr r13, 1
    00104e13mov [rsp+8], r13
    00104e18
    00104e18loc_104e18:
    00104e18mov r12, [r15+32]
    00104e1cmov r13, [r15+40]
    00104e20mov ebp, [r15+48]
    00104e24inc rbx
    00104e27nop [rax+rax]
    00104e30
    00104e30loc_104e30:
    00104e30mov rdi, r12
    00104e33dec rbx
    00104e36je 0x104e46
    00104e38mov esi, ebp
    00104e3acall [r13+32]
    00104e3etest al, al
    00104e40je 0x104e30
    00104e42mov al, 1
    00104e44jmp 0x104e99
    00104e46
    00104e46loc_104e46:
    00104e46mov rsi, r14
    00104e49mov rdx, [rsp+16]
    00104e4ecall [r13+24]
    00104e52mov ecx, eax
    00104e54mov al, 1
    00104e56test cl, cl
    00104e58jne 0x104e99
    00104e5amov r14, [rsp+8]
    00104e5fneg r14
    00104e62mov rbx, -1
    00104e69nop [rax]
    00104e70
    00104e70loc_104e70:
    00104e70lea rax, [r14+rbx]
    00104e74cmp rax, -1
    00104e78je 0x104e8c
    00104e7amov rdi, r12
    00104e7dmov esi, ebp
    00104e7fcall [r13+32]
    00104e83inc rbx
    00104e86test al, al
    00104e88je 0x104e70
    00104e8ajmp 0x104e91
    00104e8c
    00104e8cloc_104e8c:
    00104e8cmov rbx, [rsp+8]
    00104e91
    00104e91loc_104e91:
    00104e91cmp rbx, [rsp+8]
    00104e96setb al
    00104e99
    00104e99loc_104e99:
    00104e99add rsp, 24
    00104e9dpop rbx
    00104e9epop r12
    00104ea0pop r13
    00104ea2pop r14
    00104ea4pop r15
    00104ea6pop rbp
    00104ea7ret
    00104b90
    00104ea8
    00104ea8 // align 0x10
    00104eb0
    00104eb0core::panicking::panic:
    00104eb0sub rsp, 72
    00104eb4mov [rsp+8], rdi
    00104eb9mov [rsp+16], rsi
    00104ebelea rax, [rsp+8]
    00104ec3mov [rsp+24], rax
    00104ec8mov [rsp+32], 1
    00104ed1lea rax, [rip-0x73be0]
    00104ed8mov [rsp+40], rax
    00104eddxorps x0, x0
    00104ee0movups [rsp+48], x0
    00104ee5lea rdi, [rsp+24]
    00104eeamov rsi, rdx
    00104eedcall core::panicking::panic_fmt
    00104ef2ud2
    00104eb0
    00104ef4
    00104ef4 // align 0x10
    00104f00
    00104f00core::panicking::assert_failed:
    00104f00sub rsp, 24
    00104f04mov r9, rdx
    00104f07mov [rsp+8], rdi
    00104f0cmov [rsp+16], rsi
    00104f11lea rax, [rip+0xe5918]
    00104f18mov [rsp], rax
    00104f1clea rdx, [rip+0xe5d7d]
    00104f23lea rsi, [rsp+8]
    00104f28lea rcx, [rsp+16]
    00104f2dxor edi, edi
    00104f2fmov r8, rdx
    00104f32call core::panicking::assert_failed_inner
    00104f37ud2
    00104f00
    00104f39
    00104f39 // align 0x10
    00104f40
    00104f40core::panicking::assert_failed_inner:
    00104f40sub rsp, 216
    00104f47mov rax, rsi
    00104f4amov rsi, [rsp+224]
    00104f52mov [rsp], rax
    00104f56mov [rsp+8], rdx
    00104f5bmov [rsp+16], rcx
    00104f60mov [rsp+24], r8
    00104f65test dil, dil
    00104f68lea rax, [rip-0xc15ba]
    00104f6flea rcx, [rip-0xad3f1]
    00104f76cmove rcx, rax
    00104f7amov [rsp+32], rcx
    00104f7fmov [rsp+40], 2
    00104f88cmp [r9], 0
    00104f8cjne 0x105006
    00104f8elea rax, [rsp+32]
    00104f93mov [rsp+48], rax
    00104f98lea rax, [rip+305]
    00104f9fmov [rsp+56], rax
    00104fa4mov rax, rsp
    00104fa7mov [rsp+64], rax
    00104faclea rax, [rip+317]
    00104fb3mov [rsp+72], rax
    00104fb8lea rcx, [rsp+16]
    00104fbdmov [rsp+80], rcx
    00104fc2mov [rsp+88], rax
    00104fc7lea rax, [rip+0xe5cf2]
    00104fcemov [rsp+112], rax
    00104fd3mov [rsp+120], 3
    00104fdcmov [rsp+144], 0
    00104fe8lea rax, [rsp+48]
    00104fedmov [rsp+128], rax
    00104ff5mov [rsp+136], 3
    00105001jmp 0x1050b8
    00105006
    00105006loc_105006:
    00105006movups x0, [r9]
    0010500amovups x1, [r9+16]
    0010500fmovups x2, [r9+32]
    00105014movaps [rsp+192], x2
    0010501cmovaps [rsp+176], x1
    00105024movaps [rsp+160], x0
    0010502clea rax, [rsp+32]
    00105031mov [rsp+48], rax
    00105036lea rax, [rip+147]
    0010503dmov [rsp+56], rax
    00105042lea rax, [rsp+160]
    0010504amov [rsp+64], rax
    0010504flea rax, [rip+170]
    00105056mov [rsp+72], rax
    0010505bmov rax, rsp
    0010505emov [rsp+80], rax
    00105063lea rax, [rip+134]
    0010506amov [rsp+88], rax
    0010506flea rcx, [rsp+16]
    00105074mov [rsp+96], rcx
    00105079mov [rsp+104], rax
    0010507elea rax, [rip+0xe5c6b]
    00105085mov [rsp+112], rax
    0010508amov [rsp+120], 4
    00105093mov [rsp+144], 0
    0010509flea rax, [rsp+48]
    001050a4mov [rsp+128], rax
    001050acmov [rsp+136], 4
    001050b8
    001050b8loc_1050b8:
    001050b8lea rdi, [rsp+112]
    001050bdcall core::panicking::panic_fmt
    001050c2ud2
    00104f40
    001050c4
    001050c4 // align 0x10
    001050d0
    001050d0_<&T as core::fmt::Display>::fmt:
    001050d0mov rax, rsi
    001050d3mov rsi, [rdi]
    001050d6mov rdx, [rdi+8]
    001050damov rdi, rax
    001050ddjmp 0x104b90
    001050d0
    001050e2
    001050e2 // align 0x10
    001050f0
    001050f0_<&T as core::fmt::Debug>::fmt:
    001050f0mov rax, [rdi]
    001050f3mov rcx, [rdi+8]
    001050f7mov rcx, [rcx+24]
    001050fbmov rdi, rax
    001050fejmp rcx
    001050f0
    00105100
    00105100_<core::fmt::Arguments as core::fmt::Display>::fmt:
    00105100mov rdx, rdi
    00105103mov rdi, [rsi+32]
    00105107mov rsi, [rsi+40]
    0010510bjmp 0x105110
    00105100
    00105110
    00105110core::fmt::write:
    00105110push rbp
    00105111push r15
    00105113push r14
    00105115push r13
    00105117push r12
    00105119push rbx
    0010511asub rsp, 72
    0010511emov [rsp+56], 32
    00105127mov [rsp+64], 3
    0010512cmov [rsp+8], 0
    00105135mov [rsp+24], 0
    0010513emov [rsp+40], rdi
    00105143mov [rsp+48], rsi
    00105148mov r12, [rdx+32]
    0010514ctest r12, r12
    0010514fmov [rsp], rdx
    00105153je 0x10526c
    00105159mov rax, [rdx+40]
    0010515dtest rax, rax
    00105160je 0x1052ce
    00105166mov r13, [rdx]
    00105169mov rbp, [rdx+16]
    0010516dadd r13, 8
    00105171imul r14, rax, 56
    00105175xor ebx, ebx
    00105177xor r15l, r15l
    0010517anop [rax+rax]
    00105180
    00105180loc_105180:
    00105180mov rdx, [r13]
    00105184test rdx, rdx
    00105187je 0x1051a2
    00105189mov rdi, [rsp+40]
    0010518emov rax, [rsp+48]
    00105193mov rsi, [r13-8]
    00105197call [rax+24]
    0010519atest al, al
    0010519cjne 0x105300
    001051a2
    001051a2loc_1051a2:
    001051a2movzx eax, [r12+rbx+48]
    001051a8mov [rsp+64], al
    001051acmov rax, [r12+rbx+40]
    001051b1mov [rsp+56], rax
    001051b6mov rcx, [r12+rbx+16]
    001051bbmov rax, [r12+rbx+24]
    001051c0test rcx, rcx
    001051c3je 0x1051e8
    001051c5cmp ecx, 1
    001051c8jne 0x1051dc
    001051cashl rax, 4
    001051celea rcx, [rip-5381]
    001051d5cmp [rbp+rax+8], rcx
    001051daje 0x1051e0
    001051dc
    001051dcloc_1051dc:
    001051dcxor ecx, ecx
    001051dejmp 0x1051ed
    001051e0
    001051e0loc_1051e0:
    001051e0mov rax, [rbp+rax]
    001051e5mov rax, [rax]
    001051e8
    001051e8loc_1051e8:
    001051e8mov ecx, 1
    001051ed
    001051edloc_1051ed:
    001051edmov [rsp+8], rcx
    001051f2mov [rsp+16], rax
    001051f7mov rcx, [r12+rbx]
    001051fbmov rax, [r12+rbx+8]
    00105200test rcx, rcx
    00105203je 0x105228
    00105205cmp ecx, 1
    00105208jne 0x10521c
    0010520ashl rax, 4
    0010520elea rcx, [rip-5445]
    00105215cmp [rbp+rax+8], rcx
    0010521aje 0x105220
    0010521c
    0010521cloc_10521c:
    0010521cxor ecx, ecx
    0010521ejmp 0x10522d
    00105220
    00105220loc_105220:
    00105220mov rax, [rbp+rax]
    00105225mov rax, [rax]
    00105228
    00105228loc_105228:
    00105228mov ecx, 1
    0010522d
    0010522dloc_10522d:
    0010522dmov [rsp+24], rcx
    00105232mov [rsp+32], rax
    00105237mov rax, [r12+rbx+32]
    0010523cshl rax, 4
    00105240mov rdi, [rbp+rax]
    00105245lea rsi, [rsp+8]
    0010524acall [rbp+rax+8]
    0010524etest al, al
    00105250jne 0x105300
    00105256add r13, 16
    0010525aadd rbx, 56
    0010525einc r15
    00105261cmp r14, rbx
    00105264jne 0x105180
    0010526ajmp 0x1052d1
    0010526c
    0010526cloc_10526c:
    0010526cmov rbx, [rdx+24]
    00105270test rbx, rbx
    00105273je 0x1052ce
    00105275mov r12, [rdx+16]
    00105279mov r13, [rdx]
    0010527cshl rbx, 4
    00105280xor ebp, ebp
    00105282lea r14, [rsp+8]
    00105287xor r15l, r15l
    0010528anop [rax+rax]
    00105290
    00105290loc_105290:
    00105290mov rdx, [r13+rbp+8]
    00105295test rdx, rdx
    00105298je 0x1052b0
    0010529amov rdi, [rsp+40]
    0010529fmov rax, [rsp+48]
    001052a4mov rsi, [r13+rbp]
    001052a9call [rax+24]
    001052actest al, al
    001052aejne 0x105300
    001052b0
    001052b0loc_1052b0:
    001052b0mov rdi, [r12+rbp]
    001052b4mov rsi, r14
    001052b7call [r12+rbp+8]
    001052bctest al, al
    001052bejne 0x105300
    001052c0add rbp, 16
    001052c4inc r15
    001052c7cmp rbx, rbp
    001052cajne 0x105290
    001052ccjmp 0x1052d1
    001052ce
    001052celoc_1052ce:
    001052cexor r15l, r15l
    001052d1
    001052d1loc_1052d1:
    001052d1mov rax, [rsp]
    001052d5cmp r15, [rax+8]
    001052d9jae 0x105304
    001052dbmov rax, [rsp]
    001052dfmov rax, [rax]
    001052e2shl r15, 4
    001052e6mov rdi, [rsp+40]
    001052ebmov rcx, [rsp+48]
    001052f0mov rsi, [rax+r15]
    001052f4mov rdx, [rax+r15+8]
    001052f9call [rcx+24]
    001052fctest al, al
    001052feje 0x105304
    00105300
    00105300loc_105300:
    00105300mov al, 1
    00105302jmp 0x105306
    00105304
    00105304loc_105304:
    00105304xor eax, eax
    00105306
    00105306loc_105306:
    00105306add rsp, 72
    0010530apop rbx
    0010530bpop r12
    0010530dpop r13
    0010530fpop r14
    00105311pop r15
    00105313pop rbp
    00105314ret
    00105110
    00105315
    00105315 // align 0x10
    00105321
    00105321 // align 0x10
    00105330
    00105330_<&T as core::fmt::Debug>::fmt:
    00105330mov rdi, [rdi]
    00105333jmp 0x105340
    00105330
    00105338
    00105338 // align 0x10
    00105340
    00105340_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17hfd34c49f95dd23e5E.84:
    00105340sub rsp, 136
    00105347mov eax, [rsi+52]
    0010534atest al, 16
    0010534cjne 0x105432
    00105352test al, 32
    00105354jne 0x105480
    0010535amov rcx, [rdi]
    0010535dmov eax, 39
    00105362cmp rcx, 10000
    00105369jb 0x1054f2
    0010536fmov r9l, 39
    00105375mov rdi, 0x346dc5d63886594b
    0010537flea r8, [rip-0x76334]
    00105386nop [rax+rax]
    00105390
    00105390loc_105390:
    00105390mov rax, rcx
    00105393mul rdi
    00105396shr rdx, 11
    0010539aimul eax, edx, 10000
    001053a0mov r10l, ecx
    001053a3sub r10l, eax
    001053a6imul r11l, r10l, 5243
    001053adshr r11l, 19
    001053b1imul eax, r11l, 100
    001053b5sub r10l, eax
    001053b8movzx r10l, r10w
    001053bclea rax, [r9-4]
    001053c0movzx r11l, [r8+2*r11]
    001053c5mov [rsp+r9+4], r11w
    001053cbmovzx r10l, [r8+2*r10]
    001053d0mov [rsp+r9+6], r10w
    001053d6mov r9, rax
    001053d9cmp rcx, 0x5f5e0ff
    001053e0mov rcx, rdx
    001053e3ja 0x105390
    001053e5cmp rdx, 99
    001053e9jbe 0x105419
    001053eb
    001053ebloc_1053eb:
    001053ebmovzx ecx, dx
    001053eeshr ecx, 2
    001053f1imul ecx, ecx, 5243
    001053f7shr ecx, 17
    001053faimul edi, ecx, 100
    001053fdsub edx, edi
    001053ffmovzx edx, dx
    00105402lea rdi, [rip-0x763b7]
    00105409movzx edx, [rdi+2*rdx]
    0010540dmov [rsp+rax+6], dx
    00105412add rax, -2
    00105416mov rdx, rcx
    00105419
    00105419loc_105419:
    00105419cmp rdx, 10
    0010541djae 0x105504
    00105423add dl, 48
    00105426mov [rsp+rax+7], dl
    0010542adec rax
    0010542djmp 0x105518
    00105432
    00105432loc_105432:
    00105432mov rcx, [rdi]
    00105435mov edx, 129
    0010543amov eax, 48
    0010543fmov r8, rcx
    00105442nop [rax+rax]
    00105450
    00105450loc_105450:
    00105450mov rdi, rdx
    00105453shr r8, 4
    00105457mov edx, ecx
    00105459and dl, 15
    0010545ccmp dl, 10
    0010545fmov r9l, 87
    00105465cmovb r9l, eax
    00105469add r9b, dl
    0010546cmov [rsp+rdi+6], r9b
    00105471lea rdx, [rdi-1]
    00105475cmp rcx, 16
    00105479mov rcx, r8
    0010547cjae 0x105450
    0010547ejmp 0x1054be
    00105480
    00105480loc_105480:
    00105480mov rcx, [rdi]
    00105483mov edx, 129
    00105488mov eax, 48
    0010548dmov r8, rcx
    00105490
    00105490loc_105490:
    00105490mov rdi, rdx
    00105493shr r8, 4
    00105497mov edx, ecx
    00105499and dl, 15
    0010549ccmp dl, 10
    0010549fmov r9l, 55
    001054a5cmovb r9l, eax
    001054a9add r9b, dl
    001054acmov [rsp+rdi+6], r9b
    001054b1lea rdx, [rdi-1]
    001054b5cmp rcx, 16
    001054b9mov rcx, r8
    001054bcjae 0x105490
    001054be
    001054beloc_1054be:
    001054beadd rdi, -2
    001054c2cmp rdi, 128
    001054c9ja 0x105547
    001054cbmov r9l, 129
    001054d1sub r9, rdx
    001054d4lea r8, [rsp+rdi]
    001054d8add r8, 8
    001054dclea rdx, [rip-0x768e9]
    001054e3mov ecx, 2
    001054e8mov rdi, rsi
    001054ebmov esi, 1
    001054f0jmp 0x10553a
    001054f2
    001054f2loc_1054f2:
    001054f2mov rdx, rcx
    001054f5cmp rdx, 99
    001054f9ja 0x1053eb
    001054ffjmp 0x105419
    00105504
    00105504loc_105504:
    00105504lea rcx, [rip-0x764b9]
    0010550bmovzx ecx, [rcx+2*rdx]
    0010550fmov [rsp+rax+6], cx
    00105514add rax, -2
    00105518
    00105518loc_105518:
    00105518lea r8, [rsp+rax]
    0010551cadd r8, 8
    00105520mov r9l, 39
    00105526sub r9, rax
    00105529lea rdx, [rip-0x74238]
    00105530mov rdi, rsi
    00105533mov esi, 1
    00105538xor ecx, ecx
    0010553a
    0010553aloc_10553a:
    0010553acall core::fmt::Formatter::pad_integral
    0010553fadd rsp, 136
    00105546ret
    00105547
    00105547loc_105547:
    00105547lea rdx, [rip+0xe5882]
    0010554emov esi, 128
    00105553call core::slice::index::slice_start_index_len_fail
    00105558ud2
    00105340
    0010555a
    0010555a // align 0x10
    00105560
    00105560core::num::flt2dec::strategy::dragon::mul_pow10:
    00105560push r14
    00105562push rbx
    00105563push rax
    00105564mov r14, rsi
    00105567mov rbx, rdi
    0010556amov rax, rsi
    0010556dand rax, 7
    00105571je 0x1055eb
    00105573mov rdi, [rbx+160]
    0010557acmp rdi, 41
    0010557ejae 0x105738
    00105584test rdi, rdi
    00105587je 0x105657
    0010558dlea rcx, [rip-0xc1db4]
    00105594mov ecx, [rcx+4*rax]
    00105597lea rdx, [4*rdi]
    0010559fxor esi, esi
    001055a1xor eax, eax
    001055a3nop [rax+rax]
    001055b0
    001055b0loc_1055b0:
    001055b0mov r8l, [rbx+rsi]
    001055b4imul r8, rcx
    001055b8add r8, rax
    001055bbmov rax, r8
    001055beshr rax, 32
    001055c2mov [rbx+rsi], r8l
    001055c6add rsi, 4
    001055cacmp rdx, rsi
    001055cdjne 0x1055b0
    001055cftest rax, rax
    001055d2je 0x1055e4
    001055d4cmp rdi, 39
    001055d8ja 0x105720
    001055demov [rbx+4*rdi], eax
    001055e1inc rdi
    001055e4
    001055e4loc_1055e4:
    001055e4mov [rbx+160], rdi
    001055eb
    001055ebloc_1055eb:
    001055ebtest r14b, 8
    001055efje 0x105671
    001055f5
    001055f5loc_1055f5:
    001055f5mov rdi, [rbx+160]
    001055fccmp rdi, 41
    00105600jae 0x105738
    00105606test rdi, rdi
    00105609je 0x105668
    0010560blea rcx, [4*rdi]
    00105613xor edx, edx
    00105615xor eax, eax
    00105617nop [rax+rax]
    00105620
    00105620loc_105620:
    00105620mov esi, [rbx+rdx]
    00105623imul rsi, rsi, 0x5f5e100
    0010562aadd rsi, rax
    0010562dmov rax, rsi
    00105630shr rax, 32
    00105634mov [rbx+rdx], esi
    00105637add rdx, 4
    0010563bcmp rcx, rdx
    0010563ejne 0x105620
    00105640test rax, rax
    00105643je 0x10566a
    00105645cmp rdi, 39
    00105649ja 0x105720
    0010564fmov [rbx+4*rdi], eax
    00105652inc rdi
    00105655jmp 0x10566a
    00105657
    00105657loc_105657:
    00105657xor edi, edi
    00105659mov [rbx+160], rdi
    00105660test r14b, 8
    00105664jne 0x1055f5
    00105666jmp 0x105671
    00105668
    00105668loc_105668:
    00105668xor edi, edi
    0010566a
    0010566aloc_10566a:
    0010566amov [rbx+160], rdi
    00105671
    00105671loc_105671:
    00105671test r14b, 16
    00105675jne 0x1056b0
    00105677test r14b, 32
    0010567bjne 0x1056ca
    0010567d
    0010567dloc_10567d:
    0010567dtest r14b, 64
    00105681jne 0x1056e4
    00105683
    00105683loc_105683:
    00105683test r14b, r14b
    00105686js 0x1056fd
    00105688
    00105688loc_105688:
    00105688test r14l, 256
    0010568fje 0x1056a5
    00105691
    00105691loc_105691:
    00105691lea rsi, [rip-0xc25e8]
    00105698mov edx, 27
    0010569dmov rdi, rbx
    001056a0call core::num::bignum::Big32x40::mul_digits
    001056a5
    001056a5loc_1056a5:
    001056a5mov rax, rbx
    001056a8add rsp, 8
    001056acpop rbx
    001056adpop r14
    001056afret
    001056b0
    001056b0loc_1056b0:
    001056b0lea rsi, [rip-0xc2673]
    001056b7mov edx, 2
    001056bcmov rdi, rbx
    001056bfcall core::num::bignum::Big32x40::mul_digits
    001056c4test r14b, 32
    001056c8je 0x10567d
    001056ca
    001056caloc_1056ca:
    001056calea rsi, [rip-0xc2685]
    001056d1mov edx, 4
    001056d6mov rdi, rbx
    001056d9call core::num::bignum::Big32x40::mul_digits
    001056detest r14b, 64
    001056e2je 0x105683
    001056e4
    001056e4loc_1056e4:
    001056e4lea rsi, [rip-0xc268f]
    001056ebmov edx, 7
    001056f0mov rdi, rbx
    001056f3call core::num::bignum::Big32x40::mul_digits
    001056f8test r14b, r14b
    001056fbjns 0x105688
    001056fd
    001056fdloc_1056fd:
    001056fdlea rsi, [rip-0xc268c]
    00105704mov edx, 14
    00105709mov rdi, rbx
    0010570ccall core::num::bignum::Big32x40::mul_digits
    00105711test r14l, 256
    00105718jne 0x105691
    0010571ejmp 0x1056a5
    00105720
    00105720loc_105720:
    00105720lea rdx, [rip+0xe5ac1]
    00105727mov edi, 40
    0010572cmov esi, 40
    00105731call core::panicking::panic_bounds_check
    00105736ud2
    00105738
    00105738loc_105738:
    00105738lea rdx, [rip+0xe5aa9]
    0010573fmov esi, 40
    00105744call core::slice::index::slice_end_index_len_fail
    00105749ud2
    00105560
    0010574b
    0010574b // align 0x10
    00105750
    00105750core::num::bignum::Big32x40::mul_digits:
    00105750push rbp
    00105751push r15
    00105753push r14
    00105755push r13
    00105757push r12
    00105759push rbx
    0010575asub rsp, 184
    00105761mov rbx, rdi
    00105764xorps x0, x0
    00105767movaps [rsp+160], x0
    0010576fmovaps [rsp+144], x0
    00105777movaps [rsp+128], x0
    0010577fmovaps [rsp+112], x0
    00105784movaps [rsp+96], x0
    00105789movaps [rsp+80], x0
    0010578emovaps [rsp+64], x0
    00105793movaps [rsp+48], x0
    00105798movaps [rsp+32], x0
    0010579dmovaps [rsp+16], x0
    001057a2mov rdi, [rdi+160]
    001057a9cmp rdi, rdx
    001057acjae 0x105872
    001057b2cmp rdi, 41
    001057b6jae 0x105972
    001057bclea rax, [rbx+4*rdi]
    001057c0lea rcx, [rdx+1]
    001057c4mov [rsp+8], rcx
    001057c9lea r8, [4*rdx]
    001057d1xor r10l, r10l
    001057d4mov r9, rbx
    001057d7xor r14l, r14l
    001057danop [rax+rax]
    001057e0
    001057e0loc_1057e0:
    001057e0cmp r9, rax
    001057e3je 0x10591a
    001057e9mov r11, r10
    001057ecinc r10
    001057efmov r15l, [r9]
    001057f2add r9, 4
    001057f6test r15, r15
    001057f9je 0x1057e0
    001057fbxor r13l, r13l
    001057femov rdi, r11
    00105801xor r12l, r12l
    00105804nop [rax+rax]
    00105810
    00105810loc_105810:
    00105810cmp rdi, 40
    00105814jae 0x105949
    0010581amov ebp, [rsi+r13]
    0010581emov ecx, [rsp+4*rdi+16]
    00105822add r12, rcx
    00105825imul rbp, r15
    00105829add rbp, r12
    0010582cmov r12, rbp
    0010582fshr r12, 32
    00105833mov [rsp+4*rdi+16], ebp
    00105837inc rdi
    0010583aadd r13, 4
    0010583ecmp r8, r13
    00105841jne 0x105810
    00105843mov rdi, rdx
    00105846test r12, r12
    00105849je 0x105863
    0010584blea rdi, [r11+rdx]
    0010584fcmp rdi, 40
    00105853jae 0x105949
    00105859mov [rsp+4*rdi+16], r12l
    0010585emov rdi, [rsp+8]
    00105863
    00105863loc_105863:
    00105863add rdi, r11
    00105866cmp r14, rdi
    00105869cmovbe r14, rdi
    0010586djmp 0x1057e0
    00105872
    00105872loc_105872:
    00105872cmp rdi, 41
    00105876jae 0x105972
    0010587clea rcx, [rsi+4*rdx]
    00105880lea rdx, [rdi+1]
    00105884lea r8, [4*rdi]
    0010588cxor r9l, r9l
    0010588fxor r14l, r14l
    00105892nop [rax+rax]
    001058a0
    001058a0loc_1058a0:
    001058a0cmp rsi, rcx
    001058a3je 0x10591a
    001058a5mov r10, r9
    001058a8inc r9
    001058abmov r11l, [rsi]
    001058aeadd rsi, 4
    001058b2test r11, r11
    001058b5je 0x1058a0
    001058b7xor r12l, r12l
    001058bamov rax, r10
    001058bdxor r15l, r15l
    001058c0
    001058c0loc_1058c0:
    001058c0cmp rax, 40
    001058c4jae 0x10595c
    001058camov r13l, [rbx+r12]
    001058cemov ebp, [rsp+4*rax+16]
    001058d2add r15, rbp
    001058d5imul r13, r11
    001058d9add r13, r15
    001058dcmov r15, r13
    001058dfshr r15, 32
    001058e3mov [rsp+4*rax+16], r13l
    001058e8inc rax
    001058ebadd r12, 4
    001058efcmp r8, r12
    001058f2jne 0x1058c0
    001058f4mov rax, rdi
    001058f7test r15, r15
    001058faje 0x10590e
    001058fclea rax, [r10+rdi]
    00105900cmp rax, 40
    00105904jae 0x10595c
    00105906mov [rsp+4*rax+16], r15l
    0010590bmov rax, rdx
    0010590e
    0010590eloc_10590e:
    0010590eadd rax, r10
    00105911cmp r14, rax
    00105914cmovbe r14, rax
    00105918jmp 0x1058a0
    0010591a
    0010591aloc_10591a:
    0010591alea rsi, [rsp+16]
    0010591fmov edx, 160
    00105924mov rdi, rbx
    00105927call [rip+0x10c1f3]
    0010592dmov [rbx+160], r14
    00105934mov rax, rbx
    00105937add rsp, 184
    0010593epop rbx
    0010593fpop r12
    00105941pop r13
    00105943pop r14
    00105945pop r15
    00105947pop rbp
    00105948ret
    00105949
    00105949loc_105949:
    00105949lea rdx, [rip+0xe5898]
    00105950mov esi, 40
    00105955call core::panicking::panic_bounds_check
    0010595aud2
    0010595c
    0010595cloc_10595c:
    0010595clea rdx, [rip+0xe5885]
    00105963mov esi, 40
    00105968mov rdi, rax
    0010596bcall core::panicking::panic_bounds_check
    00105970ud2
    00105972
    00105972loc_105972:
    00105972lea rdx, [rip+0xe586f]
    00105979mov esi, 40
    0010597ecall core::slice::index::slice_end_index_len_fail
    00105983ud2
    00105750
    00105985
    00105985 // align 0x10
    00105990
    00105990core::num::flt2dec::strategy::dragon::format_shortest:
    00105990push rbp
    00105991push r15
    00105993push r14
    00105995push r13
    00105997push r12
    00105999push rbx
    0010599asub rsp, 1416
    001059a1mov r13, rdx
    001059a4mov rdx, [rsi]
    001059a7test rdx, rdx
    001059aaje 0x1069dd
    001059b0mov rcx, [rsi+8]
    001059b4test rcx, rcx
    001059b7je 0x1069ed
    001059bdmov rax, [rsi+16]
    001059c1test rax, rax
    001059c4je 0x106a07
    001059camov r14, rdi
    001059cdmov rdi, rdx
    001059d0add rdi, rax
    001059d3jb 0x106a21
    001059d9cmp rdx, rcx
    001059dcjb 0x106a3b
    001059e2movsx rbx, [rsi+24]
    001059e7dec rdi
    001059eaje 0x1059f6
    001059ecbsr rdi, rdi
    001059f0xor rdi, 63
    001059f4jmp 0x1059fb
    001059f6
    001059f6loc_1059f6:
    001059f6mov edi, 64
    001059fb
    001059fbloc_1059fb:
    001059fbmovzx esi, [rsi+26]
    001059ffmov [rsp+15], sil
    00105a04mov rsi, rbx
    00105a07sub rsi, rdi
    00105a0aimul rsi, rsi, 0x4d104d42
    00105a11mov r15, 0x1344135080
    00105a1badd r15, rsi
    00105a1eshr r15, 32
    00105a22xor esi, esi
    00105a24xor edi, edi
    00105a26mov r8, rdx
    00105a29shr r8, 32
    00105a2dcmove r8l, esi
    00105a31setne dil
    00105a35inc rdi
    00105a38mov [rsp+208], rdi
    00105a40mov [rsp+48], edx
    00105a44mov [rsp+52], r8l
    00105a49xorps x0, x0
    00105a4cmovups [rsp+56], x0
    00105a51movups [rsp+72], x0
    00105a56movups [rsp+88], x0
    00105a5bmovups [rsp+104], x0
    00105a60movups [rsp+120], x0
    00105a65movups [rsp+136], x0
    00105a6dmovups [rsp+152], x0
    00105a75movups [rsp+168], x0
    00105a7dmovups [rsp+184], x0
    00105a85mov [rsp+200], 0
    00105a91xor edx, edx
    00105a93mov rdi, rcx
    00105a96shr rdi, 32
    00105a9acmove edi, esi
    00105a9dsetne dl
    00105aa0inc rdx
    00105aa3mov [rsp+736], rdx
    00105aabmov [rsp+576], ecx
    00105ab2mov [rsp+580], edi
    00105ab9movups [rsp+584], x0
    00105ac1movups [rsp+600], x0
    00105ac9movups [rsp+616], x0
    00105ad1movups [rsp+632], x0
    00105ad9movups [rsp+648], x0
    00105ae1movups [rsp+664], x0
    00105ae9movups [rsp+680], x0
    00105af1movups [rsp+696], x0
    00105af9movups [rsp+712], x0
    00105b01mov [rsp+728], 0
    00105b0dxor ecx, ecx
    00105b0fmov rdx, rax
    00105b12shr rdx, 32
    00105b16cmove edx, esi
    00105b19setne cl
    00105b1cinc rcx
    00105b1fmov [rsp+400], rcx
    00105b27mov [rsp+240], eax
    00105b2emov [rsp+244], edx
    00105b35movups [rsp+248], x0
    00105b3dmovups [rsp+264], x0
    00105b45movups [rsp+280], x0
    00105b4dmovups [rsp+296], x0
    00105b55movups [rsp+312], x0
    00105b5dmovups [rsp+328], x0
    00105b65movups [rsp+344], x0
    00105b6dmovups [rsp+360], x0
    00105b75movups [rsp+376], x0
    00105b7dmov [rsp+392], 0
    00105b89movups [rsp+552], x0
    00105b91movups [rsp+540], x0
    00105b99movups [rsp+524], x0
    00105ba1movups [rsp+508], x0
    00105ba9movups [rsp+492], x0
    00105bb1movups [rsp+476], x0
    00105bb9movups [rsp+460], x0
    00105bc1movups [rsp+444], x0
    00105bc9movups [rsp+428], x0
    00105bd1movups [rsp+412], x0
    00105bd9mov [rsp+568], 1
    00105be5mov [rsp+408], 1
    00105bf0test bx, bx
    00105bf3js 0x105c1f
    00105bf5movzx esi, bx
    00105bf8lea rdi, [rsp+48]
    00105bfdcall core::num::bignum::Big32x40::mul_pow2
    00105c02lea rdi, [rsp+576]
    00105c0amov rsi, rbx
    00105c0dcall core::num::bignum::Big32x40::mul_pow2
    00105c12lea rdi, [rsp+240]
    00105c1amov rsi, rbx
    00105c1djmp 0x105c2d
    00105c1f
    00105c1floc_105c1f:
    00105c1fneg ebx
    00105c21movsx rsi, bx
    00105c25lea rdi, [rsp+408]
    00105c2d
    00105c2dloc_105c2d:
    00105c2dcall core::num::bignum::Big32x40::mul_pow2
    00105c32test r15w, r15w
    00105c36js 0x105c46
    00105c38movzx esi, r15w
    00105c3clea rdi, [rsp+408]
    00105c44jmp 0x105c76
    00105c46
    00105c46loc_105c46:
    00105c46mov eax, r15l
    00105c49neg eax
    00105c4bmovzx ebx, ax
    00105c4elea rdi, [rsp+48]
    00105c53mov rsi, rbx
    00105c56call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c5blea rdi, [rsp+576]
    00105c63mov rsi, rbx
    00105c66call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c6blea rdi, [rsp+240]
    00105c73mov rsi, rbx
    00105c76
    00105c76loc_105c76:
    00105c76call core::num::flt2dec::strategy::dragon::mul_pow10
    00105c7bmov rbx, [rsp+208]
    00105c83mov [rsp+904], rbx
    00105c8blea rdi, [rsp+744]
    00105c93lea rsi, [rsp+48]
    00105c98mov edx, 160
    00105c9dcall [rip+0x10be7d]
    00105ca3mov rdi, [rsp+400]
    00105cabcmp rbx, rdi
    00105caemov rax, rdi
    00105cb1cmova rax, rbx
    00105cb5cmp rax, 40
    00105cb9ja 0x106984
    00105cbftest rax, rax
    00105cc2je 0x105cd0
    00105cc4cmp rax, 1
    00105cc8jne 0x105cd7
    00105ccaxor ecx, ecx
    00105cccxor edx, edx
    00105ccejmp 0x105d2b
    00105cd0
    00105cd0loc_105cd0:
    00105cd0xor eax, eax
    00105cd2jmp 0x105d71
    00105cd7
    00105cd7loc_105cd7:
    00105cd7mov rsi, rax
    00105cdaand rsi, -2
    00105cdexor edx, edx
    00105ce0xor ecx, ecx
    00105ce2nop [rax+rax]
    00105cf0
    00105cf0loc_105cf0:
    00105cf0movzx edx, dl
    00105cf3bt rdx, 0
    00105cf7mov edx, [rsp+4*rcx+240]
    00105cfemov r8l, [rsp+4*rcx+244]
    00105d06adc [rsp+4*rcx+744], edx
    00105d0dadc [rsp+4*rcx+748], r8l
    00105d15lea rcx, [rcx+2]
    00105d19setb dl
    00105d1ccmp rsi, rcx
    00105d1fjne 0x105cf0
    00105d21test al, 1
    00105d23jne 0x105d2b
    00105d25test dl, dl
    00105d27jne 0x105d59
    00105d29jmp 0x105d71
    00105d2b
    00105d2bloc_105d2b:
    00105d2bmov esi, [rsp+4*rcx+744]
    00105d32mov r8l, [rsp+4*rcx+240]
    00105d3alea r9l, [rsi+r8]
    00105d3emovzx r10l, dl
    00105d42add r10l, r9l
    00105d45setb dl
    00105d48mov [rsp+4*rcx+744], r10l
    00105d50add esi, r8l
    00105d53jb 0x105d59
    00105d55test dl, dl
    00105d57je 0x105d71
    00105d59
    00105d59loc_105d59:
    00105d59cmp rax, 39
    00105d5dja 0x106940
    00105d63mov [rsp+4*rax+744], 1
    00105d6einc rax
    00105d71
    00105d71loc_105d71:
    00105d71mov [rsp+904], rax
    00105d79mov rcx, [rsp+568]
    00105d81cmp rcx, rax
    00105d84cmova rax, rcx
    00105d88cmp rax, 41
    00105d8cjae 0x106984
    00105d92shl rax, 2
    00105d96mov edx, 255
    00105d9bnop [rax+rax]
    00105da0
    00105da0loc_105da0:
    00105da0test rax, rax
    00105da3je 0x105ddb
    00105da5mov r8l, [rsp+rax+740]
    00105dadxor esi, esi
    00105dafcmp r8l, [rsp+rax+404]
    00105db7setne sil
    00105dbbcmova esi, edx
    00105dbeadd rax, -4
    00105dc2test sil, sil
    00105dc5je 0x105da0
    00105dc7cmp sil, [rsp+15]
    00105dccjge 0x105dfd
    00105dce
    00105dceloc_105dce:
    00105dceinc r15l
    00105dd1mov [rsp+32], r15
    00105dd6jmp 0x105f2e
    00105ddb
    00105ddbloc_105ddb:
    00105ddbadd rax, rsp
    00105ddeadd rax, 744
    00105de4lea rdx, [rsp+744]
    00105deccmp rax, rdx
    00105defsetne sil
    00105df3neg sil
    00105df6cmp sil, [rsp+15]
    00105dfbjl 0x105dce
    00105dfd
    00105dfdloc_105dfd:
    00105dfdtest rbx, rbx
    00105e00je 0x105e46
    00105e02lea rdx, [4*rbx]
    00105e0axor esi, esi
    00105e0cxor eax, eax
    00105e0enop
    00105e10
    00105e10loc_105e10:
    00105e10mov r8l, [rsp+rsi+48]
    00105e15lea r8, [r8+4*r8]
    00105e19lea rax, [rax+2*r8]
    00105e1dmov [rsp+rsi+48], eax
    00105e21shr rax, 32
    00105e25add rsi, 4
    00105e29cmp rdx, rsi
    00105e2cjne 0x105e10
    00105e2etest rax, rax
    00105e31je 0x105e48
    00105e33cmp rbx, 39
    00105e37ja 0x106958
    00105e3dmov [rsp+4*rbx+48], eax
    00105e41inc rbx
    00105e44jmp 0x105e48
    00105e46
    00105e46loc_105e46:
    00105e46xor ebx, ebx
    00105e48
    00105e48loc_105e48:
    00105e48mov [rsp+208], rbx
    00105e50mov rax, [rsp+736]
    00105e58cmp rax, 41
    00105e5cjae 0x106984
    00105e62test rax, rax
    00105e65je 0x105ec0
    00105e67lea rsi, [4*rax]
    00105e6fxor r8l, r8l
    00105e72xor edx, edx
    00105e74nop [rax+rax]
    00105e80
    00105e80loc_105e80:
    00105e80mov r9l, [rsp+r8+576]
    00105e88lea r9, [r9+4*r9]
    00105e8clea rdx, [rdx+2*r9]
    00105e90mov [rsp+r8+576], edx
    00105e98shr rdx, 32
    00105e9cadd r8, 4
    00105ea0cmp rsi, r8
    00105ea3jne 0x105e80
    00105ea5test rdx, rdx
    00105ea8je 0x105ec2
    00105eaacmp rax, 39
    00105eaeja 0x106940
    00105eb4mov [rsp+4*rax+576], edx
    00105ebbinc rax
    00105ebejmp 0x105ec2
    00105ec0
    00105ec0loc_105ec0:
    00105ec0xor eax, eax
    00105ec2
    00105ec2loc_105ec2:
    00105ec2mov [rsp+736], rax
    00105ecatest rdi, rdi
    00105ecdje 0x105f1f
    00105ecflea rdx, [4*rdi]
    00105ed7xor esi, esi
    00105ed9xor eax, eax
    00105edbnop [rax+rax]
    00105ee0
    00105ee0loc_105ee0:
    00105ee0mov r8l, [rsp+rsi+240]
    00105ee8lea r8, [r8+4*r8]
    00105eeclea rax, [rax+2*r8]
    00105ef0mov [rsp+rsi+240], eax
    00105ef7shr rax, 32
    00105efbadd rsi, 4
    00105effcmp rdx, rsi
    00105f02jne 0x105ee0
    00105f04test rax, rax
    00105f07je 0x105f21
    00105f09cmp rdi, 39
    00105f0dja 0x10690b
    00105f13mov [rsp+4*rdi+240], eax
    00105f1ainc rdi
    00105f1djmp 0x105f21
    00105f1f
    00105f1floc_105f1f:
    00105f1fxor edi, edi
    00105f21
    00105f21loc_105f21:
    00105f21mov [rsp+32], r15
    00105f26mov [rsp+400], rdi
    00105f2e
    00105f2eloc_105f2e:
    00105f2emov [rsp+1072], rcx
    00105f36lea r15, [rsp+912]
    00105f3elea rbx, [rsp+408]
    00105f46mov r12, [rip+0x10bbd3]
    00105f4dmov edx, 160
    00105f52mov rdi, r15
    00105f55mov rsi, rbx
    00105f58call r12
    00105f5bmov esi, 1
    00105f60mov rdi, r15
    00105f63call core::num::bignum::Big32x40::mul_pow2
    00105f68mov rax, [rsp+568]
    00105f70mov [rsp+1240], rax
    00105f78lea r15, [rsp+1080]
    00105f80mov edx, 160
    00105f85mov rdi, r15
    00105f88mov rsi, rbx
    00105f8bcall r12
    00105f8emov esi, 2
    00105f93mov rdi, r15
    00105f96call core::num::bignum::Big32x40::mul_pow2
    00105f9bmov rax, [rsp+568]
    00105fa3mov [rsp+1408], rax
    00105fablea r15, [rsp+1248]
    00105fb3mov edx, 160
    00105fb8mov rdi, r15
    00105fbbmov rsi, rbx
    00105fbecall r12
    00105fc1mov esi, 3
    00105fc6mov rdi, r15
    00105fc9call core::num::bignum::Big32x40::mul_pow2
    00105fcemov rdi, [rsp+1408]
    00105fd6mov rbp, [rsp+208]
    00105fdecmp rbp, rdi
    00105fe1mov [rsp+216], rdi
    00105fe9cmova rdi, rbp
    00105fedcmp rdi, 40
    00105ff1ja 0x10699a
    00105ff7mov [rsp+24], r14
    00105ffcmov rax, [rsp+1240]
    00106004mov [rsp+232], rax
    0010600cmov rax, [rsp+1072]
    00106014mov [rsp+224], rax
    0010601cmov r11, [rsp+568]
    00106024xor r12l, r12l
    00106027mov r14l, 255
    0010602dmov [rsp+16], r13
    00106032jmp 0x106068
    00106034
    00106034 66 66 66 2e 0f 1f 84 00 00 00 00 00 fff.........
    00106040
    00106040loc_106040:
    00106040xor edi, edi
    00106042mov r13, [rsp+16]
    00106047
    00106047loc_106047:
    00106047mov [rsp+400], rdi
    0010604fmov rdi, [rsp+216]
    00106057cmp rbp, rdi
    0010605acmova rdi, rbp
    0010605ecmp rdi, 40
    00106062ja 0x10699a
    00106068
    00106068loc_106068:
    00106068mov rbx, r12
    0010606blea rax, [4*rdi]
    00106073nop [rax+rax]
    00106080
    00106080loc_106080:
    00106080test rax, rax
    00106083je 0x1060c0
    00106085mov edx, [rsp+rax+1244]
    0010608cxor ecx, ecx
    0010608ecmp edx, [rsp+rax+44]
    00106092setne cl
    00106095cmova ecx, r14l
    00106099add rax, -4
    0010609dtest cl, cl
    0010609fje 0x106080
    001060a1cmp cl, 1
    001060a4ja 0x1060de
    001060a6
    001060a6loc_1060a6:
    001060a6test rdi, rdi
    001060a9je 0x10614f
    001060afcmp rdi, 1
    001060b3jne 0x1060e5
    001060b5mov al, 1
    001060b7xor ecx, ecx
    001060b9jmp 0x106123
    001060bb
    001060bb 0f 1f 44 00 00 ..D..
    001060c0
    001060c0loc_1060c0:
    001060c0add rax, rsp
    001060c3add rax, 1248
    001060c9lea rcx, [rsp+1248]
    001060d1cmp rax, rcx
    001060d4setne cl
    001060d7neg cl
    001060d9cmp cl, 1
    001060dcjbe 0x1060a6
    001060de
    001060deloc_1060de:
    001060dexor ecx, ecx
    001060e0mov rdi, rbp
    001060e3jmp 0x106159
    001060e5
    001060e5loc_1060e5:
    001060e5mov rdx, rdi
    001060e8and rdx, -2
    001060ecmov al, 1
    001060eexor ecx, ecx
    001060f0
    001060f0loc_1060f0:
    001060f0mov esi, [rsp+4*rcx+1248]
    001060f7not esi
    001060f9movzx eax, al
    001060fcbt rax, 0
    00106100adc [rsp+4*rcx+48], esi
    00106104mov eax, [rsp+4*rcx+1252]
    0010610bnot eax
    0010610dadc [rsp+4*rcx+52], eax
    00106111lea rcx, [rcx+2]
    00106115setb al
    00106118cmp rdx, rcx
    0010611bjne 0x1060f0
    0010611dtest dil, 1
    00106121je 0x106147
    00106123
    00106123loc_106123:
    00106123mov edx, [rsp+4*rcx+1248]
    0010612anot edx
    0010612cmov esi, [rsp+4*rcx+48]
    00106130lea r8l, [rdx+rsi]
    00106134movzx r9l, al
    00106138add r9l, r8l
    0010613bsetb al
    0010613emov [rsp+4*rcx+48], r9l
    00106143add edx, esi
    00106145jb 0x10614f
    00106147
    00106147loc_106147:
    00106147test al, al
    00106149je 0x1069ad
    0010614f
    0010614floc_10614f:
    0010614fmov [rsp+208], rdi
    00106157mov cl, 8
    00106159
    00106159loc_106159:
    00106159mov rax, [rsp+232]
    00106161cmp rdi, rax
    00106164cmova rax, rdi
    00106168cmp rax, 41
    0010616cjae 0x106984
    00106172lea rdx, [4*rax]
    0010617anop [rax+rax]
    00106180
    00106180loc_106180:
    00106180test rdx, rdx
    00106183je 0x1061c0
    00106185mov r8l, [rsp+rdx+1076]
    0010618dxor esi, esi
    0010618fcmp r8l, [rsp+rdx+44]
    00106194setne sil
    00106198cmova esi, r14l
    0010619cadd rdx, -4
    001061a0test sil, sil
    001061a3je 0x106180
    001061a5cmp sil, 1
    001061a9ja 0x1061e2
    001061ab
    001061abloc_1061ab:
    001061abtest rax, rax
    001061aeje 0x106262
    001061b4cmp rax, 1
    001061b8jne 0x1061ea
    001061bamov dl, 1
    001061bcxor esi, esi
    001061bejmp 0x106234
    001061c0
    001061c0loc_1061c0:
    001061c0add rdx, rsp
    001061c3add rdx, 1080
    001061calea rsi, [rsp+1080]
    001061d2cmp rdx, rsi
    001061d5setne sil
    001061d9neg sil
    001061dccmp sil, 1
    001061e0jbe 0x1061ab
    001061e2
    001061e2loc_1061e2:
    001061e2mov rax, rdi
    001061e5jmp 0x10626d
    001061ea
    001061ealoc_1061ea:
    001061eamov rdi, rax
    001061edand rdi, -2
    001061f1mov dl, 1
    001061f3xor esi, esi
    001061f5nop [rax+rax]
    00106200
    00106200loc_106200:
    00106200mov r8l, [rsp+4*rsi+1080]
    00106208not r8l
    0010620bmovzx edx, dl
    0010620ebt rdx, 0
    00106212adc [rsp+4*rsi+48], r8l
    00106217mov edx, [rsp+4*rsi+1084]
    0010621enot edx
    00106220adc [rsp+4*rsi+52], edx
    00106224lea rsi, [rsi+2]
    00106228setb dl
    0010622bcmp rdi, rsi
    0010622ejne 0x106200
    00106230test al, 1
    00106232je 0x10625a
    00106234
    00106234loc_106234:
    00106234mov edi, [rsp+4*rsi+1080]
    0010623bnot edi
    0010623dmov r8l, [rsp+4*rsi+48]
    00106242lea r9l, [rdi+r8]
    00106246movzx r10l, dl
    0010624aadd r10l, r9l
    0010624dsetb dl
    00106250mov [rsp+4*rsi+48], r10l
    00106255add edi, r8l
    00106258jb 0x106262
    0010625a
    0010625aloc_10625a:
    0010625atest dl, dl
    0010625cje 0x1069ad
    00106262
    00106262loc_106262:
    00106262mov [rsp+208], rax
    0010626aor cl, 4
    0010626d
    0010626dloc_10626d:
    0010626dmov rdi, [rsp+224]
    00106275cmp rax, rdi
    00106278cmova rdi, rax
    0010627ccmp rdi, 41
    00106280jae 0x10699a
    00106286lea rdx, [4*rdi]
    0010628enop
    00106290
    00106290loc_106290:
    00106290test rdx, rdx
    00106293je 0x1062d0
    00106295mov r8l, [rsp+rdx+908]
    0010629dxor esi, esi
    0010629fcmp r8l, [rsp+rdx+44]
    001062a4setne sil
    001062a8cmova esi, r14l
    001062acadd rdx, -4
    001062b0test sil, sil
    001062b3je 0x106290
    001062b5cmp sil, 1
    001062b9ja 0x1062f2
    001062bb
    001062bbloc_1062bb:
    001062bbtest rdi, rdi
    001062beje 0x106374
    001062c4cmp rdi, 1
    001062c8jne 0x1062fa
    001062camov al, 1
    001062ccxor edx, edx
    001062cejmp 0x106346
    001062d0
    001062d0loc_1062d0:
    001062d0add rdx, rsp
    001062d3add rdx, 912
    001062dalea rsi, [rsp+912]
    001062e2cmp rdx, rsi
    001062e5setne sil
    001062e9neg sil
    001062eccmp sil, 1
    001062f0jbe 0x1062bb
    001062f2
    001062f2loc_1062f2:
    001062f2mov rdi, rax
    001062f5jmp 0x10637f
    001062fa
    001062faloc_1062fa:
    001062famov rsi, rdi
    001062fdand rsi, -2
    00106301mov al, 1
    00106303xor edx, edx
    00106305nop [rax+rax]
    00106310
    00106310loc_106310:
    00106310mov r8l, [rsp+4*rdx+912]
    00106318not r8l
    0010631bmovzx eax, al
    0010631ebt rax, 0
    00106322adc [rsp+4*rdx+48], r8l
    00106327mov eax, [rsp+4*rdx+916]
    0010632enot eax
    00106330adc [rsp+4*rdx+52], eax
    00106334lea rdx, [rdx+2]
    00106338setb al
    0010633bcmp rsi, rdx
    0010633ejne 0x106310
    00106340test dil, 1
    00106344je 0x10636c
    00106346
    00106346loc_106346:
    00106346mov esi, [rsp+4*rdx+912]
    0010634dnot esi
    0010634fmov r8l, [rsp+4*rdx+48]
    00106354lea r9l, [rsi+r8]
    00106358movzx r10l, al
    0010635cadd r10l, r9l
    0010635fsetb al
    00106362mov [rsp+4*rdx+48], r10l
    00106367add esi, r8l
    0010636ajb 0x106374
    0010636c
    0010636cloc_10636c:
    0010636ctest al, al
    0010636eje 0x1069ad
    00106374
    00106374loc_106374:
    00106374mov [rsp+208], rdi
    0010637cadd cl, 2
    0010637f
    0010637floc_10637f:
    0010637fcmp rdi, r11
    00106382mov rbp, r11
    00106385cmova rbp, rdi
    00106389cmp rbp, 41
    0010638djae 0x1069c7
    00106393lea rax, [4*rbp]
    0010639bnop [rax+rax]
    001063a0
    001063a0loc_1063a0:
    001063a0test rax, rax
    001063a3je 0x1063e0
    001063a5mov esi, [rsp+rax+404]
    001063acxor edx, edx
    001063aecmp esi, [rsp+rax+44]
    001063b2setne dl
    001063b5cmova edx, r14l
    001063b9add rax, -4
    001063bdtest dl, dl
    001063bfje 0x1063a0
    001063c1cmp dl, 1
    001063c4ja 0x1063fe
    001063c6
    001063c6loc_1063c6:
    001063c6test rbp, rbp
    001063c9je 0x10646f
    001063cfcmp rbp, 1
    001063d3jne 0x106403
    001063d5mov al, 1
    001063d7xor edx, edx
    001063d9jmp 0x106443
    001063db
    001063db 0f 1f 44 00 00 ..D..
    001063e0
    001063e0loc_1063e0:
    001063e0add rax, rsp
    001063e3add rax, 408
    001063e9lea rdx, [rsp+408]
    001063f1cmp rax, rdx
    001063f4setne dl
    001063f7neg dl
    001063f9cmp dl, 1
    001063fcjbe 0x1063c6
    001063fe
    001063feloc_1063fe:
    001063femov rbp, rdi
    00106401jmp 0x106479
    00106403
    00106403loc_106403:
    00106403mov rsi, rbp
    00106406and rsi, -2
    0010640amov al, 1
    0010640cxor edx, edx
    0010640enop
    00106410
    00106410loc_106410:
    00106410mov edi, [rsp+4*rdx+408]
    00106417not edi
    00106419movzx eax, al
    0010641cbt rax, 0
    00106420adc [rsp+4*rdx+48], edi
    00106424mov eax, [rsp+4*rdx+412]
    0010642bnot eax
    0010642dadc [rsp+4*rdx+52], eax
    00106431lea rdx, [rdx+2]
    00106435setb al
    00106438cmp rsi, rdx
    0010643bjne 0x106410
    0010643dtest bpl, 1
    00106441je 0x106467
    00106443
    00106443loc_106443:
    00106443mov esi, [rsp+4*rdx+408]
    0010644anot esi
    0010644cmov edi, [rsp+4*rdx+48]
    00106450lea r8l, [rsi+rdi]
    00106454movzx r9l, al
    00106458add r9l, r8l
    0010645bsetb al
    0010645emov [rsp+4*rdx+48], r9l
    00106463add esi, edi
    00106465jb 0x10646f
    00106467
    00106467loc_106467:
    00106467test al, al
    00106469je 0x1069ad
    0010646f
    0010646floc_10646f:
    0010646fmov [rsp+208], rbp
    00106477inc cl
    00106479
    00106479loc_106479:
    00106479cmp rbx, 17
    0010647dje 0x1068f3
    00106483add cl, 48
    00106486mov [r13+rbx], cl
    0010648bmov r13, [rsp+736]
    00106493cmp rbp, r13
    00106496mov rdi, r13
    00106499cmova rdi, rbp
    0010649dcmp rdi, 41
    001064a1jae 0x10699a
    001064a7mov r12, r11
    001064aamov [rsp+40], rbx
    001064aflea r15, [rbx+1]
    001064b3shl rdi, 2
    001064b7nop [rax+rax]
    001064c0
    001064c0loc_1064c0:
    001064c0test rdi, rdi
    001064c3je 0x1064f0
    001064c5mov eax, [rsp+rdi+572]
    001064ccxor ebx, ebx
    001064cecmp eax, [rsp+rdi+44]
    001064d2setne bl
    001064d5cmova ebx, r14l
    001064d9add rdi, -4
    001064ddtest bl, bl
    001064dfje 0x1064c0
    001064e1jmp 0x10650a
    001064e3
    001064e3 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffff.........
    001064f0
    001064f0loc_1064f0:
    001064f0lea rax, [rsp+rdi]
    001064f4add rax, 576
    001064falea rcx, [rsp+576]
    00106502cmp rax, rcx
    00106505setne bl
    00106508neg bl
    0010650a
    0010650aloc_10650a:
    0010650amov [rsp+904], rbp
    00106512mov edx, 160
    00106517lea rdi, [rsp+744]
    0010651flea rsi, [rsp+48]
    00106524call [rip+0x10b5f6]
    0010652amov rdi, [rsp+400]
    00106532cmp rbp, rdi
    00106535mov rax, rdi
    00106538cmova rax, rbp
    0010653ccmp rax, 40
    00106540ja 0x106984
    00106546test rax, rax
    00106549mov r11, r12
    0010654cje 0x106560
    0010654ecmp rax, 1
    00106552mov r12, r15
    00106555jne 0x106570
    00106557xor ecx, ecx
    00106559xor edx, edx
    0010655bjmp 0x1065c0
    0010655d
    0010655d 0f 1f 00 ...
    00106560
    00106560loc_106560:
    00106560xor eax, eax
    00106562mov r12, r15
    00106565jmp 0x106606
    0010656a
    0010656a 66 0f 1f 44 00 00 f..D..
    00106570
    00106570loc_106570:
    00106570mov rsi, rax
    00106573and rsi, -2
    00106577xor edx, edx
    00106579xor ecx, ecx
    0010657bnop [rax+rax]
    00106580
    00106580loc_106580:
    00106580movzx edx, dl
    00106583bt rdx, 0
    00106587mov edx, [rsp+4*rcx+240]
    0010658emov r8l, [rsp+4*rcx+244]
    00106596adc [rsp+4*rcx+744], edx
    0010659dadc [rsp+4*rcx+748], r8l
    001065a5lea rcx, [rcx+2]
    001065a9setb dl
    001065accmp rsi, rcx
    001065afjne 0x106580
    001065b1test al, 1
    001065b3jne 0x1065c0
    001065b5test dl, dl
    001065b7jne 0x1065ee
    001065b9jmp 0x106606
    001065bb
    001065bb 0f 1f 44 00 00 ..D..
    001065c0
    001065c0loc_1065c0:
    001065c0mov esi, [rsp+4*rcx+744]
    001065c7mov r8l, [rsp+4*rcx+240]
    001065cflea r9l, [rsi+r8]
    001065d3movzx r10l, dl
    001065d7add r10l, r9l
    001065dasetb dl
    001065ddmov [rsp+4*rcx+744], r10l
    001065e5add esi, r8l
    001065e8jb 0x1065ee
    001065eatest dl, dl
    001065ecje 0x106606
    001065ee
    001065eeloc_1065ee:
    001065eecmp rax, 39
    001065f2ja 0x106940
    001065f8mov [rsp+4*rax+744], 1
    00106603inc rax
    00106606
    00106606loc_106606:
    00106606mov [rsp+904], rax
    0010660ecmp r11, rax
    00106611cmova rax, r11
    00106615cmp rax, 41
    00106619jae 0x106984
    0010661fshl rax, 2
    00106623nop [rax+rax]
    00106630
    00106630loc_106630:
    00106630test rax, rax
    00106633je 0x106660
    00106635mov edx, [rsp+rax+740]
    0010663cxor ecx, ecx
    0010663ecmp edx, [rsp+rax+404]
    00106645setne cl
    00106648cmova ecx, r14l
    0010664cadd rax, -4
    00106650test cl, cl
    00106652je 0x106630
    00106654jmp 0x106679
    00106656
    00106656 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00106660
    00106660loc_106660:
    00106660add rax, rsp
    00106663add rax, 744
    00106669lea rcx, [rsp+744]
    00106671cmp rax, rcx
    00106674setne cl
    00106677neg cl
    00106679
    00106679loc_106679:
    00106679movzx eax, [rsp+15]
    0010667ecmp bl, al
    00106680jl 0x1067b5
    00106686cmp cl, al
    00106688jl 0x1067b5
    0010668etest rbp, rbp
    00106691je 0x1066e0
    00106693lea rcx, [4*rbp]
    0010669bxor edx, edx
    0010669dxor eax, eax
    0010669fnop
    001066a0
    001066a0loc_1066a0:
    001066a0mov esi, [rsp+rdx+48]
    001066a4lea rsi, [rsi+4*rsi]
    001066a8lea rax, [rax+2*rsi]
    001066acmov [rsp+rdx+48], eax
    001066b0shr rax, 32
    001066b4add rdx, 4
    001066b8cmp rcx, rdx
    001066bbjne 0x1066a0
    001066bdtest rax, rax
    001066c0je 0x1066e2
    001066c2cmp rbp, 39
    001066c6ja 0x106914
    001066ccmov [rsp+4*rbp+48], eax
    001066d0inc rbp
    001066d3jmp 0x1066e2
    001066d5
    001066d5 66 66 2e 0f 1f 84 00 00 00 00 00 ff.........
    001066e0
    001066e0loc_1066e0:
    001066e0xor ebp, ebp
    001066e2
    001066e2loc_1066e2:
    001066e2mov [rsp+208], rbp
    001066eatest r13, r13
    001066edje 0x106740
    001066eflea rcx, [4*r13]
    001066f7xor edx, edx
    001066f9xor eax, eax
    001066fbnop [rax+rax]
    00106700
    00106700loc_106700:
    00106700mov esi, [rsp+rdx+576]
    00106707lea rsi, [rsi+4*rsi]
    0010670blea rax, [rax+2*rsi]
    0010670fmov [rsp+rdx+576], eax
    00106716shr rax, 32
    0010671aadd rdx, 4
    0010671ecmp rcx, rdx
    00106721jne 0x106700
    00106723test rax, rax
    00106726je 0x106743
    00106728cmp r13, 39
    0010672cja 0x10692a
    00106732mov [rsp+4*r13+576], eax
    0010673ainc r13
    0010673djmp 0x106743
    0010673f
    0010673f 90 .
    00106740
    00106740loc_106740:
    00106740xor r13l, r13l
    00106743
    00106743loc_106743:
    00106743mov [rsp+736], r13
    0010674btest rdi, rdi
    0010674eje 0x106040
    00106754lea rcx, [4*rdi]
    0010675cxor edx, edx
    0010675exor eax, eax
    00106760mov r13, [rsp+16]
    00106765nop [rax+rax]
    00106770
    00106770loc_106770:
    00106770mov esi, [rsp+rdx+240]
    00106777lea rsi, [rsi+4*rsi]
    0010677blea rax, [rax+2*rsi]
    0010677fmov [rsp+rdx+240], eax
    00106786shr rax, 32
    0010678aadd rdx, 4
    0010678ecmp rcx, rdx
    00106791jne 0x106770
    00106793test rax, rax
    00106796je 0x106047
    0010679ccmp rdi, 39
    001067a0ja 0x10690b
    001067a6mov [rsp+4*rdi+240], eax
    001067adinc rdi
    001067b0jmp 0x106047
    001067b5
    001067b5loc_1067b5:
    001067b5cmp cl, al
    001067b7mov r15, [rsp+16]
    001067bcmov r14, [rsp+32]
    001067c1jge 0x10688d
    001067c7cmp bl, al
    001067c9jge 0x106851
    001067cflea rdi, [rsp+48]
    001067d4mov esi, 1
    001067d9call core::num::bignum::Big32x40::mul_pow2
    001067demov rax, [rsp+208]
    001067e6mov rdi, [rsp+568]
    001067eecmp rax, rdi
    001067f1cmova rdi, rax
    001067f5cmp rdi, 41
    001067f9jae 0x10699a
    001067ffshl rdi, 2
    00106803mov eax, 255
    00106808nop [rax+rax]
    00106810
    00106810loc_106810:
    00106810test rdi, rdi
    00106813je 0x106832
    00106815mov edx, [rsp+rdi+404]
    0010681cxor ecx, ecx
    0010681ecmp edx, [rsp+rdi+44]
    00106822setne cl
    00106825cmova ecx, eax
    00106828add rdi, -4
    0010682ctest cl, cl
    0010682eje 0x106810
    00106830jmp 0x10684c
    00106832
    00106832loc_106832:
    00106832lea rax, [rsp+rdi]
    00106836add rax, 408
    0010683clea rcx, [rsp+408]
    00106844cmp rax, rcx
    00106847setne cl
    0010684aneg cl
    0010684c
    0010684cloc_10684c:
    0010684ccmp cl, 2
    0010684fjae 0x10688d
    00106851
    00106851loc_106851:
    00106851mov rdx, -1
    00106858mov rax, r12
    0010685bmov rbx, [rsp+40]
    00106860
    00106860loc_106860:
    00106860test rax, rax
    00106863je 0x1068bc
    00106865mov rdi, rax
    00106868dec rax
    0010686binc rdx
    0010686ecmp [r15+rdi-1], 57
    00106874je 0x106860
    00106876inc [r15+rax]
    0010687acmp rdi, rbx
    0010687dja 0x10688d
    0010687fadd rdi, r15
    00106882mov esi, 48
    00106887call [rip+0x10b27b]
    0010688d
    0010688dloc_10688d:
    0010688dcmp [rsp+40], 17
    00106893jae 0x106a55
    00106899
    00106899loc_106899:
    00106899mov rax, [rsp+24]
    0010689emov [rax], r15
    001068a1mov [rax+8], r12
    001068a5mov [rax+16], r14w
    001068aaadd rsp, 1416
    001068b1pop rbx
    001068b2pop r12
    001068b4pop r13
    001068b6pop r14
    001068b8pop r15
    001068bapop rbp
    001068bbret
    001068bc
    001068bcloc_1068bc:
    001068bcmov [r15], 49
    001068c0test rbx, rbx
    001068c3je 0x1068e1
    001068c5lea rdi, [r15+1]
    001068c9mov esi, 48
    001068cemov rdx, rbx
    001068d1call [rip+0x10b231]
    001068d7cmp rbx, 15
    001068dbja 0x10696e
    001068e1
    001068e1loc_1068e1:
    001068e1mov [r15+rbx+1], 48
    001068e7add rbx, 2
    001068ebinc r14l
    001068eemov r12, rbx
    001068f1jmp 0x106899
    001068f3
    001068f3loc_1068f3:
    001068f3lea rdx, [rip+0xe3f96]
    001068famov edi, 17
    001068ffmov esi, 17
    00106904call core::panicking::panic_bounds_check
    00106909ud2
    0010690b
    0010690bloc_10690b:
    0010690blea rdx, [rip+0xe48d6]
    00106912jmp 0x10694c
    00106914
    00106914loc_106914:
    00106914lea rdx, [rip+0xe48cd]
    0010691bmov esi, 40
    00106920mov rdi, rbp
    00106923call core::panicking::panic_bounds_check
    00106928ud2
    0010692a
    0010692aloc_10692a:
    0010692alea rdx, [rip+0xe48b7]
    00106931mov esi, 40
    00106936mov rdi, r13
    00106939call core::panicking::panic_bounds_check
    0010693eud2
    00106940
    00106940loc_106940:
    00106940lea rdx, [rip+0xe48a1]
    00106947mov edi, 40
    0010694c
    0010694cloc_10694c:
    0010694cmov esi, 40
    00106951call core::panicking::panic_bounds_check
    00106956ud2
    00106958
    00106958loc_106958:
    00106958lea rdx, [rip+0xe4889]
    0010695fmov esi, 40
    00106964mov rdi, rbx
    00106967call core::panicking::panic_bounds_check
    0010696cud2
    0010696e
    0010696eloc_10696e:
    0010696elea rdx, [rip+0xe3f33]
    00106975mov esi, 17
    0010697amov rdi, r12
    0010697dcall core::panicking::panic_bounds_check
    00106982ud2
    00106984
    00106984loc_106984:
    00106984lea rdx, [rip+0xe485d]
    0010698bmov esi, 40
    00106990mov rdi, rax
    00106993call core::slice::index::slice_end_index_len_fail
    00106998ud2
    0010699a
    0010699aloc_10699a:
    0010699alea rdx, [rip+0xe4847]
    001069a1mov esi, 40
    001069a6call core::slice::index::slice_end_index_len_fail
    001069abud2
    001069ad
    001069adloc_1069ad:
    001069adlea rdi, [rip-0xc25f5]
    001069b4lea rdx, [rip+0xe482d]
    001069bbmov esi, 26
    001069c0call core::panicking::panic
    001069c5ud2
    001069c7
    001069c7loc_1069c7:
    001069c7lea rdx, [rip+0xe481a]
    001069cemov esi, 40
    001069d3mov rdi, rbp
    001069d6call core::slice::index::slice_end_index_len_fail
    001069dbud2
    001069dd
    001069ddloc_1069dd:
    001069ddlea rdi, [rip-0xc3899]
    001069e4lea rdx, [rip+0xe3e5d]
    001069ebjmp 0x106a15
    001069ed
    001069edloc_1069ed:
    001069edlea rdi, [rip-0xc388d]
    001069f4lea rdx, [rip+0xe3e65]
    001069fbmov esi, 29
    00106a00call core::panicking::panic
    00106a05ud2
    00106a07
    00106a07loc_106a07:
    00106a07lea rdi, [rip-0xc388a]
    00106a0elea rdx, [rip+0xe3e63]
    00106a15
    00106a15loc_106a15:
    00106a15mov esi, 28
    00106a1acall core::panicking::panic
    00106a1fud2
    00106a21
    00106a21loc_106a21:
    00106a21lea rdi, [rip-0xc3851]
    00106a28lea rdx, [rip+0xe3ec1]
    00106a2fmov esi, 54
    00106a34call core::panicking::panic
    00106a39ud2
    00106a3b
    00106a3bloc_106a3b:
    00106a3blea rdi, [rip-0xc38a2]
    00106a42lea rdx, [rip+0xe3e8f]
    00106a49mov esi, 55
    00106a4ecall core::panicking::panic
    00106a53ud2
    00106a55
    00106a55loc_106a55:
    00106a55lea rdx, [rip+0xe3e64]
    00106a5cmov esi, 17
    00106a61mov rdi, r12
    00106a64call core::slice::index::slice_end_index_len_fail
    00106a69ud2
    00105990