Function at 0x1801070f0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rdx
mov dword [rsp + 0x30], 1
mov rbx, rcx
mov rsi, r8
lea rcx, [r8 + 2]
movabs rbp, 0xaaaaaaaaaaaaaaab
mov rax, rbp
xor r8d, r8d
mul rcx
mov rcx, rbx
shr rdx, 1
shl rdx, 2
call fcn.180091c60
mov rax, qword [rbx + 0x18]
mov r8, rbx
cmp rax, 0x10
jb 0x18010714b
mov r8, qword [rbx]
cmp rsi, 1
jne 0x1801071b7
mov rcx, rbx
cmp rax, 0x10
jb 0x18010715d
mov rcx, qword [rbx]
movzx eax, byte [rdi]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_Server_Offline
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rcx], al
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18010717f
mov rcx, qword [rbx]
movzx eax, byte [rdi]
and eax, 3
add rax, rax
movzx eax, byte [r9 + rax*8]
mov byte [rcx + 1], al
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18010719d
mov rax, qword [rbx]
mov byte [rax + 2], 0x3d
cmp qword [rbx + 0x18], 0x10
mov rax, rbx
jb 0x1801071ae
mov rax, qword [rbx]
mov byte [rax + 3], 0x3d
jmp 0x180107337
cmp rsi, 2
jne 0x180107229
mov rcx, rbx
cmp rax, 0x10
jb 0x1801071c9
mov rcx, qword [rbx]
movzx eax, byte [rdi]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_Server_Offline
shr rax, 2
mov rdx, rbx
movzx eax, byte [rax + r9]
mov byte [rcx], al
cmp qword [rbx + 0x18], 0x10
jb 0x1801071eb
mov rdx, qword [rbx]
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl rcx, 4
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r9]
mov rcx, rbx
mov byte [rdx + 1], al
cmp qword [rbx + 0x18], 0x10
jb 0x180107215
mov rcx, qword [rbx]
movzx eax, byte [rdi + 1]
and eax, 0xf
movzx eax, byte [r9 + rax*4]
mov byte [rcx + 2], al
jmp 0x1801071a1
xor r11d, r11d
lea rcx, [rsi - 2]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_Server_Offline
test rcx, rcx
je 0x1801072d2
dec rcx
lea r10, [rdi + 2]
mov rax, rbp
mul rcx
shr rdx, 1
inc rdx
lea r11, [rdx + rdx*2]
nop word [rax + rax]
movzx eax, byte [r10 - 2]
lea r10, [r10 + 3]
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [r8], al
movzx ecx, byte [r10 - 5]
movzx eax, byte [r10 - 4]
and ecx, 3
shr rax, 4
shl rcx, 4
or rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 1], al
movzx ecx, byte [r10 - 4]
movzx eax, byte [r10 - 3]
and ecx, 0xf
shr rax, 6
shl rcx, 2
or rcx, rax
movzx eax, byte [rcx + r9]
mov byte [r8 + 2], al
movzx eax, byte [r10 - 3]
and eax, 0x3f
movzx eax, byte [rax + r9]
mov byte [r8 + 3], al
add r8, 4
sub rdx, 1
jne 0x180107260
cmp r11, rsi
jae 0x180107337
movzx eax, byte [r11 + rdi]
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [r8], al
lea rax, [rsi - 1]
movzx ecx, byte [r11 + rdi]
and ecx, 3
shl rcx, 4
cmp r11, rax
jne 0x18010730a
movzx eax, byte [rcx + r9]
mov byte [r8 + 1], al
mov al, 0x3d
jmp 0x18010732e
movzx eax, byte [r11 + rdi + 1]
shr rax, 4
or rax, rcx
movzx eax, byte [rax + r9]
mov byte [r8 + 1], al
movzx eax, byte [r11 + rdi + 1]
and eax, 0xf
movzx eax, byte [r9 + rax*4]
mov byte [r8 + 2], al
mov byte [r8 + 3], 0x3d
mov rbp, qword [rsp + 0x40]
mov rax, rbx
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret