Function at 0x14003a280
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 r14d, r8d
mov r13, rdx
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x28], esi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 0xf
mov byte [rcx], sil
mov dword [rsp + 0x28], 1
mov ebp, esi
test r8d, r8d
je 0x14003a643
mov ecx, esi
movzx ebx, byte [rsp + 0x80]
nop word [rax + rax]
dec r14d
movzx eax, byte [r13]
lea r13, [r13 + 1]
mov byte [rsp + rcx + 0x20], al
inc ebp
inc rcx
movzx r8d, byte [rsp + 0x22]
movzx r15d, byte [rsp + 0x21]
movzx r12d, byte [rsp + 0x20]
cmp rcx, 3
jne 0x14003a4de
movzx eax, r12b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x24], cl
movzx ebp, r12b
and bpl, 3
shl bpl, 4
movzx eax, r15b
shr al, 4
add bpl, al
movzx edx, r15b
and dl, 0xf
shl dl, 2
movzx eax, r8b
shr al, 6
add dl, al
mov byte [rsp + 0x80], dl
movzx eax, r8b
and al, 0x3f
mov byte [rsp + 0x88], al
lea rax, [0x14021bf60]
cmp qword [0x14021bf78], 0xf
cmova rax, qword [0x14021bf60]
movzx r9d, byte [rcx + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a3a4
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a399
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14003a3b5
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
lea rcx, [0x14021bf60]
cmp qword [0x14021bf78], 0xf
cmova rcx, qword [0x14021bf60]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a401
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a3f6
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14003a412
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
lea rbp, [0x14021bf60]
mov rcx, rbp
cmp qword [0x14021bf78], 0xf
cmova rcx, qword [0x14021bf60]
movzx eax, byte [rsp + 0x80]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a465
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a45a
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14003a476
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
mov rcx, rbp
cmp qword [0x14021bf78], 0xf
cmova rcx, qword [0x14021bf60]
movzx eax, byte [rsp + 0x88]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a4c2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a4b7
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14003a4d3
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
mov ebp, esi
mov rcx, rsi
movzx r8d, byte [rsp + 0x22]
test r14d, r14d
jne 0x14003a2e0
test ebp, ebp
je 0x14003a643
movsxd rax, ebp
cmp rax, 3
jge 0x14003a51e
jae 0x14003a65b
mov byte [rsp + rax + 0x20], 0
inc rax
cmp rax, 3
jl 0x14003a4f8
movzx r8d, byte [rsp + 0x22]
movzx r15d, byte [rsp + 0x21]
movzx r12d, byte [rsp + 0x20]
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x24], al
and r12b, 3
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rsp + 0x25], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, r8b
shr al, 6
add r15b, al
mov byte [rsp + 0x26], r15b
and r8b, 0x3f
mov byte [rsp + 0x27], r8b
lea eax, [rbp + 1]
movsxd r14, eax
test eax, eax
jle 0x14003a5e6
movzx ebx, byte [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
lea rcx, [0x14021bf60]
cmp qword [0x14021bf78], 0xf
cmova rcx, qword [0x14021bf60]
movzx eax, byte [rsp + rsi + 0x24]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a5cd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a5c2
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14003a5de
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
inc rsi
cmp rsi, r14
jl 0x14003a580
cmp ebp, 3
jge 0x14003a643
mov esi, 3
sub esi, ebp
movzx ebx, byte [rsp + 0x80]
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003a629
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x14003a621
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x14003a63d
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140021d60
sub rsi, 1
jne 0x14003a600
mov rax, rdi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401014f4
int3