Function at 0x1401404c0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rdi, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r12b
mov dword [rsp + 0x20], 1
mov r14d, r12d
lea r15d, [r12 - 6]
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x14014051e
mov rcx, qword [rdx]
mov r9, rcx
mov r8, rcx
jmp 0x140140524
mov r9, rdx
mov r8, rdx
mov qword [rsp + 0x78], r9
mov rax, qword [rdx + 0x10]
add rax, r8
mov qword [rsp + 0x80], rax
cmp rcx, rax
je 0x14014096e
lea r8, [0x1401cc220]
movzx ebx, byte [rsp + 0x70]
nop dword [rax]
shl r14d, 8
movzx eax, byte [r9]
add r14d, eax
add r15d, 8
js 0x140140771
movsxd r13, r14d
movsxd rsi, r15d
lea ecx, [r15 + 6]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
mov ebp, edx
imul eax, edx, 0xfffffffa
add r15d, eax
cmp dword [0x1401cc268], 0
jne 0x140140709
mov eax, dword [0x1401cc264]
mov rdx, r12
nop word [rax + rax]
xor byte [rdx + r8], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 1], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 2], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 3], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 4], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 5], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 6], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 7], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 8], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 9], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 0xa], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 0xb], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
xor byte [rdx + r8 + 0xc], al
mov ecx, eax
shl ecx, 0xd
xor eax, ecx
mov ecx, eax
shr ecx, 0x11
xor eax, ecx
mov ecx, eax
shl ecx, 5
xor eax, ecx
add rdx, 0xd
cmp rdx, 0x41
jne 0x1401405a0
mov dword [0x1401cc268], 1
mov rax, r13
mov rcx, rsi
sar rax, cl
and eax, 0x3f
movzx r9d, byte [rax + r8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x140140746
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14014073b
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14014075e
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140107530
lea r8, [0x1401cc220]
sub rsi, 6
sub rbp, 1
jne 0x140140581
mov r9, qword [rsp + 0x78]
inc r9
mov qword [rsp + 0x78], r9
cmp r9, qword [rsp + 0x80]
jne 0x140140550
cmp r15d, 0xfffffffa
jle 0x14014096e
cmp dword [0x1401cc268], 0
jne 0x140140919
mov ecx, dword [0x1401cc264]
nop dword [rax]
nop dword [rax + rax]
xor byte [r12 + r8], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 1], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 2], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 3], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 4], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 5], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 6], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 7], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 8], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 9], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 0xa], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 0xb], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
xor byte [r12 + r8 + 0xc], cl
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
add r12, 0xd
cmp r12, 0x41
jne 0x1401407b0
mov dword [0x1401cc268], 1
lea ecx, [r15 + 8]
shl r14d, 8
movsxd rdx, r14d
sar rdx, cl
and edx, 0x3f
movzx r9d, byte [rdx + r8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14014095b
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140140950
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14014096e
movzx r8d, byte [rsp + 0x70]
mov edx, 1
mov rcx, rdi
call fcn.140107530
mov rcx, qword [rdi + 0x10]
test cl, 3
je 0x1401409c2
movzx ebx, byte [rsp + 0x70]
nop dword [rax]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x1401409a5
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14014099d
mov rax, qword [rdi]
mov word [rcx + rax], 0x3d
jmp 0x1401409b9
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140107530
mov rcx, qword [rdi + 0x10]
test cl, 3
jne 0x140140980
mov rax, rdi
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret