Function at 0x52af00
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52b1b9
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x78], rcx
lea rax, [0x005bc180]
xor ebx, ebx
mov ecx, 0x21
nop dword [rax]
call fcn.004498c0
mov qword [rsp + 0x50], rax
lea rax, [0x005c94c0]
call fcn.0040d960
mov qword [rax + 0x10], 0x21
cmp dword [0x007bbb70], 0
jne 0x52af71
mov rdx, qword [rsp + 0x50]
mov qword [rax], rdx
jmp 0x52af7e
mov rdi, rax
mov rdx, qword [rsp + 0x50]
call fcn.00463a40
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsi]
mov rdi, qword [rdi + 8]
mov r8, rdi
shl rdi, 6
sub rdi, r8
sub rdi, qword [rsi + 8]
lea rsi, [rdi + 7]
sar rsi, 0x3f
shr rsi, 0x3d
add rsi, 7
lea rcx, [rdi + rsi]
sar rcx, 3
mov qword [rsp + 0x30], rcx
lea rax, [0x005bc280]
mov rbx, rcx
call fcn.004498c0
mov qword [rsp + 0x50], rax
mov rbx, qword [rsp + 0x80]
mov rcx, rax
mov rdi, qword [rsp + 0x30]
mov rsi, rdi
mov r8, rsi
mov rax, qword [rsp + 0x78]
call fcn.0046da40
test rbx, rbx
jne 0x52b0f8
mov rdx, qword [rsp + 0x70]
mov r8, qword [rdx + 0x18]
mov r9, qword [r8]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
shl rdi, 3
mov r9, qword [r9 + 8]
mov r10, r9
shl r9, 6
sub r9, r10
sub r9, qword [r8 + 8]
sub rdi, r9
test rdi, rdi
jle 0x52b09a
mov qword [rsp + 0x38], rdi
mov rcx, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov rcx, qword [rcx + 0x30]
nop
call rcx
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x38], 5
jne 0x52b1a5
cmp dword [rcx], 0x32352d50
jne 0x52b1a5
cmp byte [rcx + 4], 0x31
jne 0x52b1a5
mov rdi, qword [rsp + 0x30]
test rdi, rdi
jbe 0x52b197
mov rcx, qword [rsp + 0x38]
cmp rcx, 8
sbb edx, edx
mov rbx, qword [rsp + 0x50]
movzx r8d, byte [rbx]
shr r8b, cl
and r8d, edx
mov byte [rbx], r8b
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x18]
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, rcx
call fcn.005108e0
test rbx, rbx
je 0x52b0bc
mov rsi, qword [rsp + 0x40]
jmp 0x52b0d6
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsi]
mov r8, qword [rsi + 8]
xor eax, eax
mov ecx, 1
jmp 0x52b139
test rcx, rcx
je 0x52b142
mov rdx, qword [0x00767280]
nop dword [rax]
test rdx, rdx
je 0x52af83
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x40]
jmp 0x52af83
mov rax, qword [rsp + 0x40]
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov r9, qword [rdi + rax*8]
mov r10, r9
sub r9, 0
sbb r9, r9
xor r11d, r11d
sub r11, r10
sbb r10, r10
inc rax
neg r9
neg r10
or r9, r10
xor r9, 1
and rcx, r9
cmp rax, r8
jl 0x52b10f
nop
jmp 0x52b0d1
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov rcx, qword [rdx]
call rcx
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x40]
call fcn.00510760
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rdx]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x48]
call rsi
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00463dc0
lea rax, [0x005bc100]
lea rbx, [0x00644170]
call fcn.00435500
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00461760
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0052af00