Function at 0x140005830
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb8
mov rax, qword [0x140062440]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rax
movzx edx, byte [rsp + 0x26]
mov rcx, qword [rsp + 0x40]
call fcn.140002460
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xc0]
call fcn.140001c40
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
cvtsi2sd xmm0, qword [rsp + 0x48]
movsd xmm1, qword [0x14005ad98]
mulsd xmm1, xmm0
movaps xmm0, xmm1
xor eax, eax
comisd xmm0, xmmword [0x14005ada0]
jb 0x14000594a
subsd xmm0, qword [0x14005ada0]
comisd xmm0, xmmword [0x14005ada0]
jae 0x14000594a
movabs rcx, 0x8000000000000000
add rax, rcx
cvttsd2si rcx, xmm0
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0xc0]
call fcn.14000f360
mov rax, qword [rsp + 0xd0]
cmp qword [rsp + 0xc8], rax
jne 0x140005981
mov dword [rsp + 0x34], 1
jmp 0x140005989
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
test eax, eax
jne 0x140005b0c
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
xor edx, edx
mov rax, qword [rsp + 0x38]
mov ecx, 3
div rcx
mov rax, rdx
shl rax, 3
mov ecx, 0x10
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
movzx eax, byte [rsp + 0x25]
mov rcx, qword [rsp + 0x28]
shl eax, cl
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
cmp qword [rsp + 0x28], 0x10
jne 0x140005a31
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0x12
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
cmp qword [rsp + 0x28], 8
jne 0x140005a6c
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0xc
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
cmp qword [rsp + 0x28], 0
jne 0x140005ae7
cmp qword [rsp + 0x38], 3
je 0x140005ae7
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 6
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
jmp 0x140005965
cmp qword [rsp + 0x28], 0x10
jne 0x140005b65
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0xc
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
mov dl, 0x3d
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
mov dl, 0x3d
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
cmp qword [rsp + 0x28], 8
jne 0x140005bb5
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 6
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
mov dl, 0x3d
mov rcx, qword [rsp + 0xc0]
call fcn.14000f1f0
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140057b60
add rsp, 0xb8
ret