Function at 0x140006430
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 r10, qword [rdx]
test r10, r10
je 0x140006c1a
mov rax, qword [rdx + 8]
test rax, rax
je 0x140006c2a
mov rbx, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x140006c3d
add rcx, r10
jb 0x140006c57
mov rdi, r10
sub rdi, rax
jb 0x140006c71
cmp r9, 0x11
jb 0x140006c8b
mov rax, rcx
shr rax, 0x3d
jne 0x140006c9b
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rsi, rcx
shl rsi, 0x20
lea r14d, [rax - 0x20]
test rdx, rdx
cmovne rsi, rcx
cmovne r14d, eax
mov rcx, rsi
shr rcx, 0x30
mov rdx, rsi
shl rdx, 0x10
lea r11d, [r14 - 0x10]
test rcx, rcx
cmovne rdx, rsi
cmovne r11d, r14d
mov rcx, rdx
shr rcx, 0x38
mov r14, rdx
shl r14, 8
lea r15d, [r11 - 8]
test rcx, rcx
cmovne r14, rdx
cmovne r15d, r11d
mov rcx, r14
shr rcx, 0x3c
mov rsi, r14
shl rsi, 4
test rcx, rcx
cmovne rsi, r14
lea ecx, [r15 - 4]
cmovne ecx, r15d
mov r14, rsi
shr r14, 0x3e
lea rdx, [rsi*4]
lea r11d, [rcx - 2]
test r14, r14
cmovne rdx, rsi
cmovne r11d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r11d, ecx
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x80], ax
mov ecx, eax
sub cx, r11w
js 0x140006cb5
and ecx, 0x3f
mov rsi, 0xffffffffffffffff
shr rsi, cl
mov r14, rsi
and r14, rdi
mov qword [rsp + 0x50], r14
cmp rdi, rsi
ja 0x140006bf5
shl rdi, cl
mov qword [rsp + 0x78], r10
mov word [rsp + 0x80], ax
mov rax, rsi
and rax, r10
mov qword [rsp + 0x50], rax
cmp r10, rsi
ja 0x140006bf5
mov eax, 0xffffffa0
sub eax, r11d
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 0x140006bdf
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x48], r8
shl r10, cl
shl rax, 4
lea rsi, [0x1400d2a50]
mov r9, qword [rax + rsi]
movzx ecx, word [rax + rsi + 0xa]
mov dword [rsp + 0x28], ecx
mov r12, rdx
shr r12, 0x20
mov edx, edx
mov ecx, r9d
shr r9, 0x20
mov r13, r9
imul r13, rdx
mov rbx, rcx
imul rbx, r12
imul rdx, rcx
shr rdx, 0x20
mov r14d, ebx
add r14, rdx
mov r8d, r13d
add r8, r14
add r11w, word [rax + rsi + 8]
mov r14, rdi
shr r14, 0x20
mov edx, edi
mov rax, r9
imul rax, r14
mov qword [rsp + 0x30], rax
mov rbp, r9
imul rbp, rdx
imul r14, rcx
imul rdx, rcx
shr rdx, 0x20
mov edi, r14d
add rdi, rdx
mov esi, ebp
add rsi, rdi
mov rdi, r10
shr rdi, 0x20
mov edx, r10d
mov r15, r9
imul r15, rdx
mov r10, rcx
imul r10, rdi
imul rcx, rdx
shr rcx, 0x20
mov edx, r10d
add rdx, rcx
mov eax, r15d
add rax, rdx
mov rcx, r9
imul rcx, r12
sub r8, 0xffffffff80000000
shr rbx, 0x20
shr r13, 0x20
shr r8, 0x20
neg r11d
sub rsi, 0xffffffff80000000
shr r14, 0x20
shr rbp, 0x20
shr rsi, 0x20
mov qword [rsp + 0xc8], r9
imul r9, rdi
sub rax, 0xffffffff80000000
shr r10, 0x20
mov qword [rsp + 0x98], r10
add r9, r10
shr r15, 0x20
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x88], rcx
add rcx, rbx
add rcx, r13
mov qword [rsp + 0x58], r8
lea r10, [r8 + rcx]
inc r10
and r11d, 0x3f
mov rdx, r10
mov ecx, r11d
shr rdx, cl
mov r8d, 1
shl r8, cl
mov qword [rsp + 0x90], r15
add r9, r15
shr rax, 0x20
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r8
lea rax, [r8 - 1]
mov qword [rsp + 0x70], rax
cmp edx, 0x2710
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xa0], rdi
jae 0x140006777
cmp edx, 0x64
jae 0x14000679d
xor ecx, ecx
cmp edx, 0xa
setae cl
lea r13d, [rcx + rcx*8]
inc r13d
jmp 0x1400067fd
cmp edx, 0xf4240
jae 0x1400067bb
cmp edx, 0x186a0
setb cl
mov r8d, 0x2710
mov r13d, 0x186a0
cmovb r13d, r8d
xor cl, 5
jmp 0x1400067fd
cmp edx, 0x3e8
setb cl
mov r8d, 0x64
mov r13d, 0x3e8
cmovb r13d, r8d
xor cl, 3
jmp 0x1400067fd
cmp edx, 0x5f5e100
jae 0x1400067e1
cmp edx, 0x989680
setb cl
mov r8d, 0xf4240
mov r13d, 0x989680
cmovb r13d, r8d
xor cl, 7
jmp 0x1400067fd
cmp edx, 0x3b9aca00
setb cl
mov r8d, 0x5f5e100
mov r13d, 0x3b9aca00
cmovb r13d, r8d
xor cl, 9
mov rdi, qword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
add r9, qword [rsp + 0x68]
mov qword [rsp + 0x28], r9
mov rbx, r10
mov r8, qword [rsp + 0x70]
and rbx, r8
movzx r15d, cl
mov ecx, r15d
sub ecx, eax
inc ecx
mov dword [rsp + 0x3c], ecx
add r14, r12
add r14, rbp
add r14, rsi
mov qword [rsp + 0x30], r10
mov qword [rsp + 0xa8], r14
sub r10, r14
mov qword [rsp + 0xd0], r10
lea r14, [r10 + 1]
mov rbp, r14
and rbp, r8
neg r15
neg rdi
mov esi, 1
mov r9d, 0xcccccccd
nop dword [rax + rax]
lea rcx, [rdi + rsi]
mov eax, edx
xor edx, edx
div r13d
cmp rcx, 1
je 0x140006bb8
add al, 0x30
mov r12d, edx
mov ecx, r11d
shl r12, cl
mov rcx, qword [rsp + 0x48]
mov byte [rcx + rsi - 1], al
lea r10, [r12 + rbx]
mov r8, r14
sub r8, r10
ja 0x1400068e4
lea rax, [r15 + rsi]
cmp rax, 1
je 0x1400069f8
mov eax, r13d
imul rax, r9
shr rax, 0x23
inc rsi
cmp r13d, 0xa
mov r13d, eax
jae 0x140006870
lea rcx, [0x1400d2fc0]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.1400cbea0
ud2
mov edx, r13d
mov ecx, r11d
shl rdx, cl
mov r13, qword [rsp + 0x30]
sub r13, qword [rsp + 0x28]
lea rcx, [r13 + 1]
dec r13
cmp r8, rdx
setae r11b
cmp r13, r10
jbe 0x140006af8
cmp r8, rdx
mov r15, qword [rsp + 0x48]
jb 0x140006afd
mov qword [rsp + 0x20], rcx
mov rdi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xb0]
lea r9, [r14 + rdi]
add r9, qword [rsp + 0x58]
add r9, qword [rsp + 0x88]
mov r10, r9
sub r10, qword [rsp + 0x28]
sub r10, r12
sub r10, rbx
sub r9, qword [rsp + 0xa8]
lea r8, [rbx + rdx]
sub r9, r8
sub r9, r12
mov rcx, qword [rsp + 0x98]
add rcx, r8
add rcx, qword [rsp + 0x90]
add rcx, qword [rsp + 0x68]
mov r11, qword [rsp + 0xa0]
sub r11, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
imul rbp, r11
add rbp, rcx
sub rbp, r14
sub rbp, rdi
sub rbp, qword [rsp + 0x58]
add r9, 2
nop dword [rax + rax]
lea r14, [r12 + r8]
cmp r14, r13
jb 0x1400069c6
lea r11, [r12 + rbp]
cmp r10, r11
jb 0x140006ae8
dec al
mov rdi, r9
sub rdi, rdx
setae r11b
add rbx, rdx
mov byte [r15 + rsi - 1], al
cmp r14, r13
jae 0x1400069f0
sub r10, rdx
add rbp, rdx
add r8, rdx
cmp r9, rdx
mov r9, rdi
jae 0x1400069b0
add r12, rbx
jmp 0x140006aee
mov r9d, 1
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x20]
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
nop word cs:[rax + rax]
cmp rsi, rdx
jae 0x140006bce
mov r15, r9
add rbx, rbx
lea rax, [rbx + rbx*4]
mov rbx, rax
and rbx, rdi
lea rcx, [r9 + r9]
lea r9, [rcx + rcx*4]
mov r8, rbp
add r8, rbp
lea rbp, [r8 + r8*4]
mov ecx, r11d
shr rax, cl
lea ecx, [rax + 0x30]
mov byte [r12 + rsi], cl
inc rsi
mov r10, rbp
sub r10, rbx
jbe 0x140006a20
sub r13, qword [rsp + 0x28]
imul r13, r9
lea rcx, [r9 + r13]
mov rdx, qword [rsp + 0x60]
cmp r10, rdx
setae r10b
jb 0x140006b3f
sub r13, r9
mov r9, r13
sub r9, rbx
jbe 0x140006b3f
add al, 0x2f
lea r11, [r8 + r8*4]
sub r11, rdx
sub r11, rbx
mov rdi, rdx
sub rdi, r13
nop word cs:[rax + rax]
lea r8, [rbx + rdx]
cmp r8, r13
jb 0x140006ac2
lea r10, [rdi + rbx]
cmp r9, r10
jb 0x140006b3c
mov r14, r11
sub r14, rdx
setae r10b
mov byte [r12 + rsi - 1], al
cmp r8, r13
jae 0x140006b42
dec al
sub r9, rdx
mov rbx, r8
cmp r11, rdx
mov r11, r14
jae 0x140006ab0
jmp 0x140006b42
add r12, rbx
mov r11b, 1
mov r10, r12
mov rcx, qword [rsp + 0x20]
jmp 0x140006afd
mov r15, qword [rsp + 0x48]
mov rax, rcx
sub rax, r10
jbe 0x140006b1b
test r11b, r11b
je 0x140006b1b
add rdx, r10
sub rdx, rcx
jb 0x140006b98
cmp rax, rdx
jae 0x140006b98
cmp r10, 2
mov rax, qword [rsp + 0x40]
jb 0x140006b9d
mov rcx, qword [rsp + 0xd0]
add rcx, 0xfffffffffffffffd
cmp r10, rcx
ja 0x140006b9d
mov qword [rax], r15
jmp 0x140006b8a
mov r10b, 1
mov r8, rbx
mov rdx, rcx
sub rdx, r8
jbe 0x140006b61
test r10b, r10b
je 0x140006b61
mov rax, qword [rsp + 0x60]
add rax, r8
sub rax, rcx
jb 0x140006b98
cmp rdx, rax
jae 0x140006b98
lea rcx, [r15*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r8
mov rax, qword [rsp + 0x40]
ja 0x140006b9d
shl r15, 3
lea rcx, [r15 + r15*4]
sub rbp, rcx
cmp r8, rbp
ja 0x140006b9d
mov qword [rax], r12
mov qword [rax + 8], rsi
mov ecx, dword [rsp + 0x3c]
mov word [rax + 0x10], cx
jmp 0x140006ba4
mov rax, qword [rsp + 0x40]
mov qword [rax], 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 rcx, qword [rsp + 0x20]
mov rdx, rcx
call fcn.1400cbf40
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov rcx, rsi
call fcn.1400cbf40
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.1400cbf40
ud2
mov qword [rsp + 0xd8], 0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0xd8]
call fcn.1400cbfd0
ud2
lea rcx, str.assertion_failed:_d.mant___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x140006c4b
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x140006cc3
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1400cbea0
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.1400cbea0
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.1400cbea0
ud2
lea rcx, str.assertion_failed:_buf.len_____MAX_SIG_DIGITS
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x140006ca9
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.1400cbea0
ud2
lea rcx, str.assertion_failed:_edelta___0
lea r8, str.librarycore_src_numdiy_float.rs
mov edx, 0x1d
call fcn.1400cbea0
ud2