Function at 0x6aaeebdd
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 r10d, 3
lea rax, [r8*4]
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
lea rbx, [rsp + 0x30]
cqo
idiv r10
lea rcx, [rax + 6]
mov rax, r8
cqo
idiv r10
sub r8, rdx
test r9b, r9b
mov r14, rdx
mov qword [rsp + 0x28], r8
mov rdx, rcx
mov rcx, rbx
jne 0x6aaeec55
call fcn.6aac3c90
xor esi, esi
xor r13d, r13d
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
jmp 0x6aaeedec
call fcn.6aac3c90
xor esi, esi
xor r13d, r13d
lea r15, [0x6ab29de0]
cmp r13, qword [rsp + 0x28]
jne 0x6aaeec7c
cmp r14, 1
jne 0x6aaeed10
jmp 0x6aaeed41
movzx ebp, byte [rdi + r13 + 1]
mov rcx, rbx
movzx edx, byte [rdi + r13]
shl ebp, 8
shl edx, 0x10
or ebp, edx
movzx edx, byte [rdi + r13 + 2]
add r13, 3
or ebp, edx
call fcn.6aae5966
mov edx, ebp
shr edx, 0x12
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 8], cl
mov rcx, rbx
call fcn.6aae5966
mov edx, ebp
shr edx, 0xc
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 9], cl
mov rcx, rbx
call fcn.6aae5966
mov edx, ebp
and ebp, 0x3f
shr edx, 6
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 0xa], cl
mov rcx, rbx
call fcn.6aae5966
mov cl, byte [r15 + rbp]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 0xb], cl
add rsi, 4
jmp 0x6aaeec66
cmp r14, 2
jne 0x6aaeeee3
movzx edx, byte [rdi + r13]
lea rbp, [0x6ab29de0]
mov rcx, rbx
movzx edi, byte [rdi + r13 + 1]
shl edx, 0x10
shl edi, 8
or edi, edx
call fcn.6aae5966
jmp 0x6aaeee83
movzx edi, byte [rdi + r13]
lea rbp, [0x6ab29de0]
mov rcx, rbx
call fcn.6aae5966
shl edi, 0x10
jmp 0x6aaeee42
movzx ebp, byte [rdi + r13 + 1]
mov rcx, rbx
movzx edx, byte [rdi + r13]
shl ebp, 8
shl edx, 0x10
or ebp, edx
movzx edx, byte [rdi + r13 + 2]
add r13, 3
or ebp, edx
call fcn.6aae5966
mov edx, ebp
shr edx, 0x12
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 8], cl
mov rcx, rbx
call fcn.6aae5966
mov edx, ebp
shr edx, 0xc
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 9], cl
mov rcx, rbx
call fcn.6aae5966
mov edx, ebp
and ebp, 0x3f
shr edx, 6
and edx, 0x3f
mov cl, byte [r15 + rdx]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 0xa], cl
mov rcx, rbx
call fcn.6aae5966
mov cl, byte [r15 + rbp]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rsi + 0xb], cl
add rsi, 4
cmp r13, qword [rsp + 0x28]
jne 0x6aaeed5d
cmp r14, 1
je 0x6aaeee2b
cmp r14, 2
jne 0x6aaeeee3
movzx edx, byte [rdi + r13]
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov rcx, rbx
movzx edi, byte [rdi + r13 + 1]
shl edx, 0x10
shl edi, 8
or edi, edx
call fcn.6aae5966
jmp 0x6aaeee83
movzx edi, byte [rdi + r13]
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov rcx, rbx
call fcn.6aae5966
shl edi, 0x10
mov eax, edi
shr edi, 0xc
mov rcx, rbx
shr eax, 0x12
and edi, 0x30
mov dl, byte [rbp + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 8], dl
call fcn.6aae5966
mov rax, qword [rsp + 0x38]
mov rcx, rbx
mov dl, byte [rbp + rdi]
mov byte [rax + rsi + 9], dl
call fcn.6aae5966
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 0xa], 0x3d
jmp 0x6aaeeecd
mov eax, edi
mov rcx, rbx
shr eax, 0x12
mov dl, byte [rbp + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 8], dl
call fcn.6aae5966
mov eax, edi
shr edi, 6
mov rcx, rbx
shr eax, 0xc
and edi, 0x3c
and eax, 0x3f
mov dl, byte [rbp + rax]
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 9], dl
call fcn.6aae5966
mov dl, byte [rbp + rdi]
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 0xa], dl
mov rcx, rbx
call fcn.6aae5966
mov rax, qword [rsp + 0x38]
mov byte [rax + rsi + 0xb], 0x3d
add rsi, 4
mov rdx, rsi
mov rcx, rbx
call fcn.6aac3c90
movaps xmm0, xmmword [rsp + 0x30]
mov rax, r12
movups xmmword [r12], xmm0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret