Function at 0x14001b4c5
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r14, rcx
mov rbx, rdx
mov ecx, 3
mov rsi, r8
lea rax, [r8*4]
lea r12, [rsp + 0x30]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
cqo
idiv rcx
lea r10, [rax + 6]
mov rax, r8
cqo
idiv rcx
mov rcx, r12
sub rsi, rdx
test r9b, r9b
mov rbp, rdx
mov rdx, r10
jne 0x14001b53a
call fcn.140005a6f
xor r13d, r13d
xor eax, eax
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
jmp 0x14001b6e2
call fcn.140005a6f
xor r13d, r13d
xor eax, eax
lea r15, [0x14003a1a0]
cmp rax, rsi
jne 0x14001b55f
cmp rbp, 1
jne 0x14001b5fe
jmp 0x14001b62d
movzx edx, byte [rbx + rax + 1]
movzx ecx, byte [rbx + rax]
movzx edi, byte [rbx + rax + 2]
add rax, 3
shl ecx, 0x10
shl edx, 8
mov qword [rsp + 0x28], rax
or edx, ecx
mov rcx, r12
or edi, edx
call fcn.14001b4b0
mov edx, edi
shr edx, 0x12
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 8], cl
mov rcx, r12
call fcn.14001b4b0
mov edx, edi
shr edx, 0xc
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 9], cl
mov rcx, r12
call fcn.14001b4b0
mov edx, edi
and edi, 0x3f
shr edx, 6
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 0xa], cl
mov rcx, r12
call fcn.14001b4b0
mov cl, byte [r15 + rdi]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov byte [rdx + r13 + 0xb], cl
add r13, 4
jmp 0x14001b54b
cmp rbp, 2
jne 0x14001b7d6
movzx edx, byte [rbx + rax]
movzx ebx, byte [rbx + rax + 1]
mov rcx, r12
lea rsi, [0x14003a1a0]
shl edx, 0x10
shl ebx, 8
or ebx, edx
call fcn.14001b4b0
jmp 0x14001b775
movzx ebx, byte [rbx + rax]
mov rcx, r12
lea rsi, [0x14003a1a0]
call fcn.14001b4b0
shl ebx, 0x10
jmp 0x14001b733
movzx edx, byte [rbx + rax + 1]
movzx ecx, byte [rbx + rax]
movzx edi, byte [rbx + rax + 2]
add rax, 3
shl ecx, 0x10
shl edx, 8
mov qword [rsp + 0x28], rax
or edx, ecx
mov rcx, r12
or edi, edx
call fcn.14001b4b0
mov edx, edi
shr edx, 0x12
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 8], cl
mov rcx, r12
call fcn.14001b4b0
mov edx, edi
shr edx, 0xc
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 9], cl
mov rcx, r12
call fcn.14001b4b0
mov edx, edi
and edi, 0x3f
shr edx, 6
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r13 + 0xa], cl
mov rcx, r12
call fcn.14001b4b0
mov cl, byte [r15 + rdi]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov byte [rdx + r13 + 0xb], cl
add r13, 4
cmp rax, rsi
jne 0x14001b648
cmp rbp, 1
je 0x14001b71d
cmp rbp, 2
jne 0x14001b7d6
movzx edx, byte [rbx + rax]
movzx ebx, byte [rbx + rax + 1]
mov rcx, r12
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
shl edx, 0x10
shl ebx, 8
or ebx, edx
call fcn.14001b4b0
jmp 0x14001b775
movzx ebx, byte [rbx + rax]
mov rcx, r12
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
call fcn.14001b4b0
shl ebx, 0x10
mov eax, ebx
shr ebx, 0xc
mov rcx, r12
shr eax, 0x12
and ebx, 0x30
mov dl, byte [rsi + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 8], dl
call fcn.14001b4b0
mov rax, qword [rsp + 0x38]
mov dl, byte [rsi + rbx]
mov rcx, r12
mov byte [rax + r13 + 9], dl
call fcn.14001b4b0
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 0xa], 0x3d
jmp 0x14001b7bf
mov eax, ebx
mov rcx, r12
shr eax, 0x12
mov dl, byte [rsi + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 8], dl
call fcn.14001b4b0
mov eax, ebx
shr ebx, 6
mov rcx, r12
shr eax, 0xc
and ebx, 0x3c
and eax, 0x3f
mov dl, byte [rsi + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 9], dl
call fcn.14001b4b0
mov dl, byte [rsi + rbx]
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 0xa], dl
mov rcx, r12
call fcn.14001b4b0
mov rax, qword [rsp + 0x38]
mov byte [rax + r13 + 0xb], 0x3d
add r13, 4
mov rdx, r13
mov rcx, r12
call fcn.140005a6f
movaps xmm0, xmmword [rsp + 0x30]
mov rax, r14
movups xmmword [r14], xmm0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret