Function at 0x1800aa5d0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov byte [rsp + 0x20], r9b
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r15, rdx
mov r12, rcx
xor ebx, ebx
mov r13d, ebx
mov esi, ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov edi, ebx
mov qword [rsp + 0x30], rbx
mov r14, qword [rcx]
test r14, r14
je 0x1800aa6c4
mov rcx, r14
nop dword [rax]
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1800aa620
sub rcx, r14
sar rcx, 1
movsxd rbp, ecx
add rbp, rbp
test rbp, rbp
jle 0x1800aa6c4
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
lea rcx, [rsp + 0x30]
call fcn.1800dcc70
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1800aa66b
cmp qword [rsp + 0x40], 0
jg 0x1800aa66e
mov rcx, rbx
mov r8, rbp
mov rdx, r14
call fcn.180298b10
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.1800dcfe0
test al, al
je 0x1800aa6bf
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call fcn.180296490
mov r13, rax
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x1800aa6af
cmp qword [rsp + 0x40], 0
mov rdx, rdi
jg 0x1800aa6b2
mov rdx, rbx
mov r8, rsi
mov rcx, rax
call fcn.180298b10
jmp 0x1800aa6c4
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x1800aa6d1
mov rcx, rdi
call fcn.180296420
test r13, r13
je 0x1800aa8bc
test esi, esi
jg 0x1800aa6f5
mov rcx, r12
call fcn.1800a09f0
mov rcx, r13
call fcn.180296420
mov al, 1
jmp 0x1800aa8c6
lea ecx, [rsi + 2]
mov eax, 0x55555556
imul ecx
mov r15d, edx
shr r15d, 0x1f
add r15d, edx
shl r15d, 2
lea eax, [r15 + 0x3f]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
dec eax
test eax, eax
cmovle eax, ebx
add r15d, eax
mov dword [rsp + 0x98], r15d
mov ebp, ebx
mov r14d, ebx
mov r9b, 1
xor r8d, r8d
mov edx, r15d
mov rcx, r12
call fcn.1800a0830
mov r11, rax
movsxd rcx, esi
test esi, esi
jle 0x1800aa82f
mov r9d, 2
mov rdi, rax
lea r8, [r13 + 2]
dec rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov r10, rdx
shr r10, 1
inc r10
lea r15d, [r9 + 8]
nop word [rax + rax]
cmp r14d, 0x40
jl 0x1800aa793
mov word [rdi], r15w
inc ebp
add rdi, 2
mov r14d, ebx
lea eax, [r9 - 1]
cmp eax, esi
jge 0x1800aa7a6
movzx eax, byte [r8 - 1]
shl rax, 8
jmp 0x1800aa7a9
mov rax, rbx
cmp r9d, esi
jge 0x1800aa7b4
movzx edx, byte [r8]
jmp 0x1800aa7b7
mov rdx, rbx
movzx ecx, byte [r8 - 2]
shl rcx, 0x10
add rcx, rdx
add rcx, rax
mov rax, rcx
shr rax, 0x12
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx eax, byte [rax + rdx]
mov word [rdi], ax
mov rax, rcx
shr rax, 0xc
and eax, 0x3f
movsx eax, byte [rax + rdx]
mov word [rdi + 2], ax
mov rax, rcx
shr rax, 6
and eax, 0x3f
movsx eax, byte [rax + rdx]
mov word [rdi + 4], ax
and ecx, 0x3f
movsx ecx, byte [rcx + rdx]
mov word [rdi + 6], cx
add ebp, 4
add rdi, 8
add r14d, 4
add r9d, 3
add r8, 3
sub r10, 1
jne 0x1800aa780
mov r15d, dword [rsp + 0x98]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
cmp esi, ecx
je 0x1800aa861
sub ecx, esi
add ecx, 3
test ecx, ecx
jle 0x1800aa861
sub ebp, ecx
movsxd rax, ebp
lea rdi, [r11 + rax*2]
mov eax, 0x3d
movzx eax, ax
rep stosw word [rdi], ax
mov rdi, qword [r12]
cmp r15d, 0xffffffff
jne 0x1800aa88a
test rdi, rdi
je 0x1800aa894
mov rcx, rdi
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1800aa873
sub rcx, rdi
sar rcx, 1
lea ebx, [rcx - 1]
jmp 0x1800aa894
movsxd rax, r15d
mov word [rdi + rax*2], bx
mov ebx, r15d
mov eax, 8
lea rcx, [rdi - 0x18]
mov dword [rax + rcx], ebx
mov eax, dword [rdi - 8]
cmp eax, 0xffffffff
jne 0x1800aa8b0
mov eax, 1
xchg dword [rdi - 8], eax
mov rcx, r13
call fcn.180296420
mov al, 1
jmp 0x1800aa8c6
mov rcx, r12
call fcn.1800a09f0
xor al, al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret