Function at 0x288402a00
Capabilities:
Encode data using base64

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rax, qword [rbp + 0x18]
add rax, 2
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov rax, rdx
shr rax, 1
lea rdx, [rax*4]
mov rax, qword [rbp + 0x28]
mov qword [rax], rdx
cmp qword [rbp + 0x20], 0
jne 0x288402a61
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov qword [rbp + 0x20], 0
jmp 0x288402c70
mov dword [rbp - 0x28], 0
mov dword [rbp - 0x24], 2
mov dword [rbp - 0x20], 1
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
jmp 0x288402bdc
mov eax, dword [rbp - 4]
cdqe
cmp qword [rbp + 0x18], rax
jbe 0x288402aaf
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x288402ab4
mov eax, 0
mov dword [rbp - 0x10], eax
mov eax, dword [rbp - 4]
cdqe
cmp qword [rbp + 0x18], rax
jbe 0x288402add
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x288402ae2
mov eax, 0
mov dword [rbp - 0x14], eax
mov eax, dword [rbp - 4]
cdqe
cmp qword [rbp + 0x18], rax
jbe 0x288402b0b
mov eax, dword [rbp - 4]
lea edx, [rax + 1]
mov dword [rbp - 4], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
jmp 0x288402b10
mov eax, 0
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x10]
shl eax, 0x10
mov edx, eax
mov eax, dword [rbp - 0x14]
shl eax, 8
add edx, eax
mov eax, dword [rbp - 0x18]
add eax, edx
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x1c]
shr eax, 0x12
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x20]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x1c]
shr eax, 0xc
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x20]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x1c]
shr eax, 6
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x20]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 0x1c]
and eax, 0x3f
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
movsxd rdx, eax
mov rax, qword [rbp + 0x20]
add rdx, rax
mov ecx, ecx
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rcx + rax]
mov byte [rdx], al
mov eax, dword [rbp - 4]
cdqe
cmp qword [rbp + 0x18], rax
ja 0x288402a89
mov dword [rbp - 0xc], 0
jmp 0x288402c16
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov edx, dword [rbp - 0xc]
movsxd rdx, edx
sub rax, rdx
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x20]
add rax, rdx
mov byte [rax], 0x3d
add dword [rbp - 0xc], 1
mov rcx, qword [rbp + 0x18]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rcx
mul rdx
mov rax, rdx
shr rax, 1
mov rdx, rax
add rdx, rdx
add rdx, rax
mov rax, rcx
sub rax, rdx
mov eax, dword [rbp + rax*4 - 0x28]
cmp dword [rbp - 0xc], eax
jl 0x288402bf4
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x20]
mov rcx, rax
call fcn.288407010
mov rdx, qword [rbp + 0x28]
mov qword [rdx], rax
mov rax, qword [rbp + 0x20]
add rsp, 0x50
pop rbp
ret