Function at 0x14005d0a0
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 r11, qword [rdx]
test r11, r11
je 0x14005d884
mov rax, qword [rdx + 8]
test rax, rax
je 0x14005d894
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x14005d8a4
add rbx, r11
jb 0x14005d8be
mov rbp, r11
sub rbp, rax
jb 0x14005d8d8
mov rax, rbx
shr rax, 0x3d
jne 0x14005d8f2
mov r9, rcx
mov eax, dword [rdx + 0x18]
mov rdx, rbx
shr rdx, 0x20
mov rcx, rbx
shl rcx, 0x20
lea edi, [rax - 0x20]
test rdx, rdx
cmovne rcx, rbx
cmovne edi, eax
mov rdx, rcx
shr rdx, 0x30
mov rbx, rcx
shl rbx, 0x10
lea esi, [rdi - 0x10]
test rdx, rdx
cmovne rbx, rcx
cmovne esi, edi
mov rdx, rbx
shr rdx, 0x38
mov rcx, rbx
shl rcx, 8
lea edi, [rsi - 8]
test rdx, rdx
cmovne rcx, rbx
cmovne edi, esi
mov rbx, rcx
shr rbx, 0x3c
mov rdx, rcx
shl rdx, 4
test rbx, rbx
cmovne rdx, rcx
lea ecx, [rdi - 4]
cmovne ecx, edi
mov rbx, rdx
shr rbx, 0x3e
lea r10, [rdx*4]
lea edi, [rcx - 2]
test rbx, rbx
cmovne r10, rdx
cmovne edi, ecx
test r10, r10
setns cl
mov rdx, r10
shl rdx, cl
sar r10, 0x3f
not r10d
add r10d, edi
mov qword [rsp + 0x88], rbp
mov word [rsp + 0x90], ax
mov ecx, eax
sub cx, r10w
js 0x14005d90c
and ecx, 0x3f
mov rdi, 0xffffffffffffffff
shr rdi, cl
mov rbx, rdi
and rbx, rbp
mov qword [rsp + 0x68], rbx
cmp rbp, rdi
ja 0x14005d85c
shl rbp, cl
mov qword [rsp + 0x88], r11
mov word [rsp + 0x90], ax
mov rax, rdi
and rax, r11
mov qword [rsp + 0x68], rax
cmp r11, rdi
ja 0x14005d85c
mov eax, 0xffffffa0
sub eax, r10d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rbx, rax
shr rbx, 0x3f
sar rax, 0x2a
add eax, ebx
cdqe
cmp eax, 0x51
jae 0x14005d846
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x60], r8
shl r11, cl
shl rax, 4
lea rsi, [0x1403c5408]
mov r9, qword [rax + rsi]
movzx ecx, word [rax + rsi + 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, r9d
shr r9, 0x20
mov r15, r9
imul r15, rdx
mov r13, rcx
imul r13, rbx
imul rdx, rcx
shr rdx, 0x20
mov edi, r13d
add rdi, rdx
mov ebx, r15d
add rbx, rdi
add r10w, word [rax + rsi + 8]
mov r8, rbp
shr r8, 0x20
mov edx, ebp
mov rax, r9
imul rax, r8
mov qword [rsp + 0x38], rax
mov r12, r9
imul r12, rdx
imul r8, rcx
imul rdx, rcx
shr rdx, 0x20
mov ebp, r8d
add rbp, rdx
mov esi, r12d
add rsi, rbp
mov r14, r11
shr r14, 0x20
mov edx, r11d
mov rax, r9
imul rax, rdx
mov rbp, rcx
imul rbp, r14
imul rcx, rdx
shr rcx, 0x20
mov edx, ebp
add rdx, rcx
mov edi, eax
add rdi, rdx
mov r11, r9
imul r11, qword [rsp + 0x80]
sub rbx, 0xffffffff80000000
shr r13, 0x20
shr r15, 0x20
shr rbx, 0x20
neg r10d
sub rsi, 0xffffffff80000000
shr r8, 0x20
shr r12, 0x20
mov qword [rsp + 0x58], r12
shr rsi, 0x20
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0xc8], r9
imul r9, r14
sub rdi, 0xffffffff80000000
shr rbp, 0x20
add r9, rbp
shr rax, 0x20
mov qword [rsp + 0xb8], r13
lea rcx, [r11 + r13]
mov qword [rsp + 0xc0], r15
add rcx, r15
mov qword [rsp + 0x70], rbx
lea r13, [rbx + rcx]
inc r13
and r10d, 0x3f
mov qword [rsp + 0x40], r13
mov ecx, r10d
shr r13, cl
mov edx, 1
shl rdx, cl
add r9, rax
shr rdi, 0x20
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xd0], rdx
lea r15, [rdx - 1]
cmp r13d, 0x2710
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x98], r11
jae 0x14005d3ee
cmp r13d, 0x64
jae 0x14005d415
xor ecx, ecx
cmp r13d, 0xa
setae cl
lea r14d, [rcx + rcx*8]
inc r14d
jmp 0x14005d431
cmp r13d, 0xf4240
jae 0x14005d446
cmp r13d, 0x186a0
setb cl
mov edx, 0x2710
mov r14d, 0x186a0
cmovb r14d, edx
xor cl, 5
jmp 0x14005d431
cmp r13d, 0x3e8
setb cl
mov edx, 0x64
mov r14d, 0x3e8
cmovb r14d, edx
xor cl, 3
mov rdx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x28]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
jmp 0x14005d49c
cmp r13d, 0x5f5e100
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
jae 0x14005d477
cmp r13d, 0x989680
setb cl
mov edx, 0xf4240
mov r14d, 0x989680
cmovb r14d, edx
xor cl, 7
jmp 0x14005d493
cmp r13d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r14d, 0x3b9aca00
cmovb r14d, edx
xor cl, 9
mov rdx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x28]
add r9, qword [rsp + 0x78]
mov qword [rsp + 0x28], r9
mov r11, qword [rsp + 0x40]
mov rsi, r11
and rsi, r15
movzx edi, cl
mov ecx, edi
sub ecx, eax
inc ecx
mov dword [rsp + 0x54], ecx
add rdx, r8
add rdx, rbp
add rdx, rbx
mov qword [rsp + 0x38], rdx
sub r11, rdx
inc r11
mov r9, r11
and r9, r15
xor ebx, ebx
mov ebp, 0xcccccccd
nop
mov eax, r13d
xor edx, edx
div r14d
add al, 0x30
mov r13d, edx
mov rdx, r13
mov ecx, r10d
shl rdx, cl
mov rcx, qword [rsp + 0x60]
mov byte [rcx + rbx], al
lea r8, [rdx + rsi]
mov r12, r11
sub r12, r8
ja 0x14005d544
cmp rdi, rbx
je 0x14005d668
mov eax, r14d
imul rax, rbp
shr rax, 0x23
inc rbx
cmp r14d, 0xa
mov r14d, eax
jae 0x14005d4e0
lea rcx, [0x1403c5a40]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x19
call fcn.1403af950
ud2
mov r14d, r14d
mov ecx, r10d
shl r14, cl
lea rcx, [rbx + 1]
cmp rbx, 0x11
jae 0x14005d926
mov rbp, qword [rsp + 0x40]
sub rbp, qword [rsp + 0x28]
lea rdi, [rbp + 1]
dec rbp
cmp r12, r14
setae r15b
cmp rbp, r8
mov r13, qword [rsp + 0x60]
jbe 0x14005d76b
cmp r12, r14
jb 0x14005d76b
mov r9, rbp
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rcx
mov r15, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb8]
lea r10, [r12 + r15]
add r10, qword [rsp + 0x70]
add r10, qword [rsp + 0x98]
mov r8, r10
sub r8, qword [rsp + 0x28]
sub r8, rdx
sub r8, rsi
sub r10, qword [rsp + 0x38]
lea rbp, [rsi + r14]
sub r10, rbp
sub r10, rdx
mov r13, qword [rsp + 0xa8]
add r13, rbp
add r13, qword [rsp + 0xa0]
add r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0xb0]
sub rdi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc8]
imul rcx, rdi
add rcx, r13
mov r13, qword [rsp + 0x60]
sub rcx, r12
sub rcx, r15
sub rcx, qword [rsp + 0x70]
add r10, 2
lea r12, [rdx + rbp]
cmp r12, r9
jb 0x14005d636
lea rdi, [rdx + rcx]
cmp r8, rdi
jb 0x14005d758
dec al
mov rdi, r10
sub rdi, r14
setae r15b
add rsi, r14
mov byte [r13 + rbx], al
cmp r12, r9
jae 0x14005d660
sub r8, r14
add rcx, r14
add rbp, r14
cmp r10, r14
mov r10, rdi
jae 0x14005d620
add rdx, rsi
jmp 0x14005d75e
inc rbx
mov eax, 1
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0xd0]
nop dword [rax]
cmp rbx, 0x11
je 0x14005d82e
mov rdi, rax
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r15
add rax, rax
lea rax, [rax + rax*4]
mov rbp, r9
add rbp, r9
lea r9, [rbp*4]
add r9, rbp
mov ecx, r10d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [r12 + rbx], cl
inc rbx
mov rcx, r9
sub rcx, rsi
jbe 0x14005d680
mov r11, qword [rsp + 0x40]
sub r11, qword [rsp + 0x28]
imul r11, rax
lea r8, [r11 + rax]
sub r11, rax
cmp rcx, r13
setae r10b
mov rax, r11
sub rax, rsi
jbe 0x14005d7b1
cmp rcx, r13
jb 0x14005d7b1
mov r15, r11
add dl, 0x2f
lea rcx, [rbp*4]
add rcx, rbp
sub rcx, r13
sub rcx, rsi
mov r11, r13
sub r11, r15
nop dword [rax + rax]
lea r14, [rsi + r13]
cmp r14, r15
jb 0x14005d732
lea rbp, [r11 + rsi]
cmp rax, rbp
jb 0x14005d7ae
mov rbp, rcx
sub rbp, r13
setae r10b
mov byte [r12 + rbx - 1], dl
cmp r14, r15
jae 0x14005d7b4
dec dl
sub rax, r13
mov rsi, r14
cmp rcx, r13
mov rcx, rbp
jae 0x14005d720
jmp 0x14005d7b4
add rdx, rsi
mov r15b, 1
mov r8, rdx
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rax, rdi
sub rax, r8
jbe 0x14005d789
test r15b, r15b
je 0x14005d789
add r14, r8
sub r14, rdi
jb 0x14005d805
cmp rax, r14
jae 0x14005d805
cmp r8, 2
jb 0x14005d805
add r11, 0xfffffffffffffffc
cmp r8, r11
ja 0x14005d805
mov rax, qword [rsp + 0x48]
mov qword [rax], r13
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x54]
mov word [rax + 0x10], cx
jmp 0x14005d81a
mov r10b, 1
mov r14, rsi
mov rax, r8
sub rax, r14
jbe 0x14005d7ce
test r10b, r10b
je 0x14005d7ce
add r13, r14
sub r13, r8
jb 0x14005d805
cmp rax, r13
jae 0x14005d805
lea rax, [rdi*4]
lea rax, [rax + rax*4]
cmp rax, r14
mov rcx, qword [rsp + 0x48]
ja 0x14005d813
shl rdi, 3
lea rax, [rdi + rdi*4]
sub r9, rax
cmp r14, r9
ja 0x14005d813
mov qword [rcx], r12
mov qword [rcx + 8], rbx
mov eax, dword [rsp + 0x54]
mov word [rcx + 0x10], ax
jmp 0x14005d81a
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
jmp 0x14005d81a
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.1403af8b0
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x51
mov rcx, rax
call fcn.1403af8b0
ud2
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0xd8]
call fcn.1403af9a0
ud2
lea rcx, [0x1403c516f]
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14005d8b2
lea rcx, str.assertion_failed:_d.minus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
jmp 0x14005d91a
lea rcx, str.assertion_failed:_d.plus___0
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x1c
call fcn.1403af950
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.1403af950
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.1403af950
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.1403af950
ud2
lea rcx, [0x1403c4fa9]
lea r8, [0x1403c4fe8]
mov edx, 0x1d
call fcn.1403af950
ud2
lea r8, str.librarycore_src_num_flt2dec_strategygrisu.rs
mov edx, 0x11
call fcn.1403af940
ud2