Function at 0x1400e8810
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r9, r8
mov r14, rdx
mov rbx, rcx
xor r10d, r10d
mov dword [rsp + 0x20], r10d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
lea rdi, [rcx + 0x10]
lea r15, [rcx + 0x18]
mov qword [rdi], r10
mov qword [r15], 7
mov word [rcx], r10w
mov dword [rsp + 0x20], 1
cmp r8, 3
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jb 0x1400e8a2b
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
mov r12, rdx
shr r12, 1
imul rax, r12, 0xfffffffffffffffd
add r9, rax
mov qword [rsp + 0x80], r9
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r14]
movzx ebp, byte [r14 + 1]
movzx esi, cl
and sil, 3
shl sil, 4
movzx eax, bpl
shr al, 4
or sil, al
movzx r13d, byte [r14 + 2]
and bpl, 0xf
shl bpl, 2
movzx eax, r13b
shr al, 6
or bpl, al
and r13b, 0x3f
shr rcx, 2
movsx r9d, byte [rcx + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e890d
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8900
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8926
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e895a
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e894d
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8973
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e89a7
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e899a
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e89c0
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, r13b
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e89f4
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e89e7
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8a0d
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
add r14, 3
sub r12, 1
jne 0x1400e88a0
lea rdi, [rbx + 0x10]
lea r15, [rbx + 0x18]
mov r9, qword [rsp + 0x80]
sub r9, 1
je 0x1400e8b8d
cmp r9, 1
jne 0x1400e8ca1
movzx ecx, byte [r14]
movzx r12d, byte [r14 + 1]
movzx ebp, cl
and bpl, 3
shl bpl, 4
movzx eax, r12b
shr al, 4
or bpl, al
and r12b, 0xf
shl r12b, 2
shr rcx, 2
movsx r9d, byte [rcx + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e8aa1
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8a8c
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
jmp 0x1400e8ac0
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov rsi, rdi
mov r14, r15
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e8afc
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8aef
mov rax, qword [rbx]
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8b15
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, r12b
movsx r9d, byte [rax + r8]
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x1400e8b49
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8b3c
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8b58
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x1400e8b82
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8b76
mov rax, qword [rbx]
mov dword [rax + rcx*2], 0x3d
jmp 0x1400e8ca1
mov r9d, 0x3d
jmp 0x1400e8c92
movzx eax, byte [r14]
movzx ebp, al
and bpl, 3
shl bpl, 4
shr rax, 2
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e8bd8
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8bc3
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
jmp 0x1400e8bf7
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov rsi, rdi
mov r14, r15
mov r8, qword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
xor r10d, r10d
movzx eax, bpl
movsx r9d, byte [rax + r8]
mov rcx, qword [rdi]
mov rdx, qword [r15]
cmp rcx, rdx
jae 0x1400e8c33
lea rax, [rcx + 1]
mov qword [rdi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8c26
mov rax, qword [rbx]
lea rsi, [rbx + 0x10]
lea r14, [rbx + 0x18]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e8c42
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jae 0x1400e8c6a
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rax, rbx
cmp rdx, 7
jbe 0x1400e8c60
mov rax, qword [rbx]
mov edi, 0x3d
mov dword [rax + rcx*2], edi
jmp 0x1400e8c80
mov edi, 0x3d
mov r9d, edi
xor r8d, r8d
lea edx, [rdi - 0x3c]
mov rcx, rbx
call fcn.1400621c0
mov rcx, qword [rsi]
mov rdx, qword [r14]
cmp rcx, rdx
jb 0x1400e8b63
mov r9d, edi
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400621c0
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret