Function at 0x140053b70
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rbp, qword [rdx]
test rbp, rbp
je 0x1400543a5
mov rax, qword [rdx + 8]
test rax, rax
je 0x1400543b5
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x1400543c5
add rcx, rbp
jb 0x1400543df
mov r9, rbp
sub r9, rax
jb 0x1400543f9
mov rax, rcx
shr rax, 0x3d
jne 0x140054413
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [rax - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, eax
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea esi, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne esi, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [rsi - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, esi
mov rcx, rbx
shr rcx, 0x3c
mov rsi, rbx
shl rsi, 4
test rcx, rcx
cmovne rsi, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov rbx, rsi
shr rbx, 0x3e
lea rdx, [rsi*4]
lea r14d, [rcx - 2]
test rbx, rbx
cmovne rdx, rsi
cmovne r14d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r14d, ecx
mov qword [rsp + 0x88], r9
mov word [rsp + 0x90], ax
mov ecx, eax
sub cx, r14w
js 0x14005442d
and ecx, 0x3f
mov rbx, 0xffffffffffffffff
shr rbx, cl
mov rsi, rbx
and rsi, r9
mov qword [rsp + 0x68], rsi
cmp r9, rbx
ja 0x14005437d
shl r9, cl
mov qword [rsp + 0x88], rbp
mov word [rsp + 0x90], ax
mov rax, rbx
and rax, rbp
mov qword [rsp + 0x68], rax
cmp rbp, rbx
ja 0x14005437d
mov eax, 0xffffffa0
sub eax, r14d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rsi, rax
shr rsi, 0x3f
sar rax, 0x2a
add eax, esi
cdqe
cmp eax, 0x51
jae 0x140054367
mov qword [rsp + 0x50], rdi
shl rbp, cl
shl rax, 4
lea r10, [0x140279098]
mov rdi, qword [rax + r10]
movzx ecx, word [rax + r10 + 0xa]
mov dword [rsp + 0x28], ecx
mov rcx, rdx
shr rcx, 0x20
mov rbx, rcx
mov qword [rsp + 0x80], rcx
mov edx, edx
mov ecx, edi
shr rdi, 0x20
mov r11, rdi
imul r11, rdx
mov qword [rsp + 0x48], r11
mov r13, rcx
imul r13, rbx
imul rdx, rcx
shr rdx, 0x20
mov esi, r13d
add rsi, rdx
mov r12d, r11d
add r12, rsi
add r14w, word [rax + r10 + 8]
mov r11, r9
shr r11, 0x20
mov edx, r9d
mov r9, rdi
imul r9, r11
mov qword [rsp + 0x38], r9
mov r15, rdi
imul r15, rdx
imul r11, rcx
imul rdx, rcx
shr rdx, 0x20
mov r10d, r11d
add r10, rdx
mov eax, r15d
add rax, r10
mov r9, rbp
shr r9, 0x20
mov edx, ebp
mov rbx, rdi
imul rbx, rdx
mov rbp, rcx
imul rbp, r9
imul rcx, rdx
shr rcx, 0x20
mov edx, ebp
add rdx, rcx
mov esi, ebx
add rsi, rdx
mov rcx, rdi
imul rcx, qword [rsp + 0x80]
sub r12, 0xffffffff80000000
shr r13, 0x20
mov rdx, qword [rsp + 0x48]
shr rdx, 0x20
shr r12, 0x20
neg r14d
sub rax, 0xffffffff80000000
shr r11, 0x20
mov qword [rsp + 0x60], r11
shr r15, 0x20
mov qword [rsp + 0x30], r15
shr rax, 0x20
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xc8], rdi
mov r10, rdi
mov qword [rsp + 0xb0], r9
imul r10, r9
sub rsi, 0xffffffff80000000
shr rbp, 0x20
mov qword [rsp + 0xa8], rbp
add r10, rbp
shr rbx, 0x20
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0x98], rcx
add rcx, r13
mov rax, rdx
mov qword [rsp + 0x48], rdx
add rcx, rdx
mov qword [rsp + 0xb8], r12
lea r13, [r12 + rcx]
inc r13
and r14d, 0x3f
mov r9, r13
mov ecx, r14d
shr r9, cl
mov edx, 1
shl rdx, cl
mov qword [rsp + 0xa0], rbx
add r10, rbx
shr rsi, 0x20
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xd0], rdx
lea rdi, [rdx - 1]
cmp r9d, 0x2710
jae 0x140053eca
cmp r9d, 0x64
jae 0x140053ef3
xor ecx, ecx
cmp r9d, 0xa
setae cl
lea ebx, [rcx + rcx*8]
inc ebx
jmp 0x140053f0d
cmp r9d, 0xf4240
jae 0x140054203
cmp r9d, 0x186a0
setb cl
mov edx, 0x2710
mov ebx, 0x186a0
cmovb ebx, edx
xor cl, 5
jmp 0x140053f0d
cmp r9d, 0x3e8
setb cl
mov edx, 0x64
mov ebx, 0x3e8
cmovb ebx, edx
xor cl, 3
mov rdx, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
add r10, qword [rsp + 0x78]
mov qword [rsp + 0x70], r10
mov rsi, r13
and rsi, rdi
movzx r10d, cl
mov ecx, r10d
sub ecx, r11d
inc ecx
mov dword [rsp + 0x5c], ecx
add rdx, rax
add rdx, r15
add rdx, r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], rdx
sub r13, rdx
mov qword [rsp + 0x40], r13
mov rax, rdi
lea rdi, [r13 + 1]
mov r15, rdi
mov qword [rsp + 0x30], rax
and r15, rax
xor r12d, r12d
nop word cs:[rax + rax]
mov eax, r9d
xor edx, edx
div ebx
add al, 0x30
mov r13, r8
mov byte [r8 + r12], al
mov r9d, edx
mov rdx, r9
mov rbp, r14
mov ecx, r14d
shl rdx, cl
lea r14, [r12 + 1]
lea r8, [rdx + rsi]
mov r11, rdi
sub r11, r8
ja 0x140053ff2
cmp r10, r12
je 0x140054115
mov eax, ebx
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r12, r14
cmp ebx, 0xa
mov ebx, eax
mov r8, r13
mov r14, rbp
jae 0x140053f80
lea rcx, [0x140279610]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.140050c60
ud2
mov r9d, ebx
mov ecx, ebp
shl r9, cl
mov rdi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x70]
sub rdi, r10
lea rbx, [rdi + 1]
dec rdi
cmp r11, r9
setae cl
cmp rdi, r8
jbe 0x140054255
cmp r11, r9
jb 0x140054255
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdi
mov r15, qword [rsp + 0xc0]
mov r11, r10
mov rcx, qword [rsp + 0x48]
lea r10, [r15 + rcx]
mov rcx, qword [rsp + 0xb8]
add r10, rcx
add r10, qword [rsp + 0x98]
mov rbx, r10
sub rbx, r11
sub rbx, r8
sub r10, qword [rsp + 0x38]
lea r8, [rsi + r9]
sub r10, r8
sub r10, rdx
mov r11, qword [rsp + 0xa8]
add r11, r8
add r11, qword [rsp + 0xa0]
add r11, qword [rsp + 0x78]
mov rdi, qword [rsp + 0xb0]
sub rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xc8]
imul rbp, rdi
add rbp, r11
sub rbp, r15
sub rbp, qword [rsp + 0x48]
sub rbp, rcx
add r10, 2
mov qword [rsp + 0x48], r13
nop word [rax + rax]
lea r15, [rdx + r8]
cmp r15, qword [rsp + 0x28]
jb 0x1400540d8
lea r11, [rdx + rbp]
cmp rbx, r11
jb 0x140054248
dec al
mov r11, r10
sub r11, r9
setae cl
add rsi, r9
mov rdi, r9
mov r9, qword [rsp + 0x48]
mov byte [r9 + r12], al
mov r9, rdi
cmp r15, qword [rsp + 0x28]
jae 0x14005410d
sub rbx, r9
add rbp, r9
add r8, r9
cmp r10, r9
mov r10, r11
jae 0x1400540c0
add rdx, rsi
jmp 0x14005424d
inc r12
mov r8d, 1
mov rcx, rbp
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x30]
nop dword [rax + rax]
cmp r12, 0x10
ja 0x14005434f
mov rax, r8
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r11
add r8, r8
lea r8, [r8 + r8*4]
add r15, r15
lea r15, [r15 + r15*4]
shr rdx, cl
lea r9d, [rdx + 0x30]
mov byte [r13 + r12], r9b
inc r12
mov r9, r15
sub r9, rsi
jbe 0x140054140
sub r14, r10
imul r14, r8
lea rcx, [r14 + r8]
cmp r9, rbp
setae r10b
jb 0x1400542d2
sub r14, r8
mov r8, r14
sub r8, rsi
jbe 0x1400542d2
add dl, 0x2f
mov r11, r15
sub r11, rbp
sub r11, rsi
mov rdi, rbp
sub rdi, r14
nop dword [rax + rax]
lea r9, [rsi + rbp]
cmp r9, r14
jb 0x1400541d6
lea r10, [rdi + rsi]
cmp r8, r10
jb 0x1400542cf
mov rbx, r11
sub rbx, rbp
setae r10b
mov byte [r13 + r12 - 1], dl
cmp r9, r14
jae 0x1400542d5
dec dl
sub r8, rbp
mov rsi, r9
cmp r11, rbp
mov r11, rbx
jae 0x1400541c0
jmp 0x1400542d5
cmp r9d, 0x5f5e100
mov r11d, dword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
jae 0x1400542ab
cmp r9d, 0x989680
setb cl
mov edx, 0xf4240
mov ebx, 0x989680
cmovb ebx, edx
xor cl, 7
mov rdx, qword [rsp + 0x38]
jmp 0x140053f26
add rdx, rsi
mov cl, 1
mov r8, rdx
mov rbx, qword [rsp + 0x30]
mov rax, rbx
sub rax, r8
jbe 0x140054276
test cl, cl
je 0x140054276
add r9, r8
sub r9, rbx
jb 0x140054326
cmp rax, r9
jae 0x140054326
cmp r8, 2
jb 0x140054326
mov rax, qword [rsp + 0x40]
add rax, 0xfffffffffffffffd
cmp r8, rax
ja 0x140054326
mov rax, qword [rsp + 0x50]
mov qword [rax], r13
mov qword [rax + 8], r14
mov ecx, dword [rsp + 0x5c]
mov word [rax + 0x10], cx
jmp 0x14005433b
cmp r9d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov ebx, 0x3b9aca00
cmovb ebx, edx
xor cl, 9
mov rdx, qword [rsp + 0x38]
jmp 0x140053f26
mov r10b, 1
mov r9, rsi
mov rdx, rcx
sub rdx, r9
jbe 0x1400542ef
test r10b, r10b
je 0x1400542ef
add rbp, r9
sub rbp, rcx
jb 0x140054326
cmp rdx, rbp
jae 0x140054326
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
mov rcx, qword [rsp + 0x50]
ja 0x140054334
shl rax, 3
lea rax, [rax + rax*4]
sub r15, rax
cmp r9, r15
ja 0x140054334
mov qword [rcx], r13
mov qword [rcx + 8], r12
mov eax, dword [rsp + 0x5c]
mov word [rcx + 0x10], ax
jmp 0x14005433b
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
jmp 0x14005433b
mov qword [rcx], 0
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov ecx, 0x11
mov edx, 0x11
call fcn.14004f400
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.14004f400
ud2
mov qword [rsp + 0xd8], 0
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0xd8]
call fcn.140050cb0
ud2
lea rcx, str.assertion_failed:_d.mant___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x1400543d3
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14005443b
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.140050c60
ud2
lea rcx, str.assertion_failed:_d.mant.checked_add_d.plus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x36
call fcn.140050c60
ud2
lea rcx, str.assertion_failed:_d.mant.checked_sub_d.minus_.is_some__
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x37
call fcn.140050c60
ud2
lea rcx, str.assertion_failed:_d.mant__d.plus____1____61_
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x2d
call fcn.140050c60
ud2
lea rcx, str.assertion_failed:_edelta___0
lea r8, str.librarycore_src_numdiy_float.rs
mov edx, 0x1d
call fcn.140050c60
ud2