Function at 0x1400149f0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0
cmp qword [rsp + 0x60], 0xffffffffffffffff
jne 0x140014a24
mov rcx, qword [rsp + 0x58]
call fcn.1401f6ae0
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
jmp 0x140014a3e
mov rax, qword [rsp + 0x28]
sub rax, 3
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 2
jbe 0x140014b59
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
shl eax, 0x10
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x58]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x58]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cdqe
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x58]
add rax, 3
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x12
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x20]
shr rax, 0xc
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx + 1], al
mov rax, qword [rsp + 0x20]
shr rax, 6
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x20]
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx + 3], al
mov rax, qword [rsp + 0x30]
add rax, 4
mov qword [rsp + 0x30], rax
jmp 0x140014a30
cmp qword [rsp + 0x28], 0
jbe 0x140014c6a
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
shl eax, 0x10
cdqe
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x28], 1
jbe 0x140014bb0
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + rax]
shl eax, 8
cdqe
mov rcx, qword [rsp + 0x20]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x12
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx], al
mov rax, qword [rsp + 0x20]
shr rax, 0xc
and rax, 0x3f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rdx + rax]
mov byte [rcx + 1], al
cmp qword [rsp + 0x28], 1
jbe 0x140014c2b
mov rax, qword [rsp + 0x20]
shr rax, 6
and rax, 0x3f
mov rcx, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x38], al
jmp 0x140014c30
mov byte [rsp + 0x38], 0x3d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x38]
mov byte [rax + 2], cl
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov byte [rax + 3], 0x3d
mov rax, qword [rsp + 0x30]
add rax, 4
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
mov rax, qword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret