Function at 0x52f700
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x52fcc6
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x28]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xb8]
cmp rcx, 0xffffffffffffffff
jne 0x52fc75
mov rcx, rax
mov rbx, qword [rsp + 0xb0]
lea rsi, [rbx + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rsi, [rsi + rbx]
lea rsi, [rsi + 7]
sar rsi, 3
mov rdi, qword [rsp + 0xa0]
cmp rsi, rdi
jne 0x52fc2d
mov r8, qword [rsp + 0x88]
cmp rcx, r8
jne 0x52fc05
lea r9, [rax + rcx]
lea r9, [r9 + 2]
cmp rsi, r9
jl 0x52fbdd
lea r9, [rsi - 1]
cmp r9, rdi
jae 0x52fcb5
mov rdi, qword [rsp + 0x98]
movzx r10d, byte [rsi + rdi - 1]
cmp r10b, 0xbc
jne 0x52fbb5
mov r10, rsi
sub rsi, rcx
lea rcx, [rsi - 1]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
ja 0x52fcb0
cmp r9, rcx
jb 0x52fca5
mov r9, r10
sub r10, rsi
mov r11, rdx
sub rdx, rsi
inc rdx
mov r12, rdx
neg rdx
sar rdx, 0x3f
and rdx, rcx
add rdx, rdi
shl r9, 3
sub r9, rbx
nop
test r9, r9
jl 0x52fca0
cmp r9, 8
sbb ebx, ebx
mov r13, rcx
mov rcx, r9
mov r14d, 0xffffffff
shr r14b, cl
and ebx, r14d
movzx r9d, byte [rdi]
mov r14d, ebx
not ebx
test r9b, bl
jne 0x52fb8d
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0x47], r14b
mov qword [rsp + 0x48], r10
mov qword [rsp + 0xb8], rax
mov qword [rsp], rdi
mov qword [rsp + 8], r13
mov qword [rsp + 0x10], r11
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x18], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], r12
call fcn.00530140
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jbe 0x52fc97
mov rbx, qword [rsp + 0x98]
movzx esi, byte [rbx]
movzx edi, byte [rsp + 0x47]
and edi, esi
mov byte [rbx], dil
mov rsi, qword [rsp + 0xb8]
nop dword [rax + rax]
test rsi, rsi
je 0x52fb17
mov rdi, qword [rsp + 0x60]
mov r8, rdi
sub rdi, rsi
lea rax, [rdi - 2]
mov rdx, qword [rsp + 0xa8]
cmp rdx, rax
jb 0x52fc8f
xor esi, esi
jmp 0x52f910
inc rsi
cmp rax, rsi
jle 0x52f947
movzx r9d, byte [rbx + rsi]
test r9b, r9b
je 0x52f90d
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
cmp rcx, rax
jbe 0x52fc8a
movzx esi, byte [rdi + rbx - 2]
cmp sil, 1
jne 0x52faef
lea rax, [rdi - 1]
cmp rcx, rax
jb 0x52fc85
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rax
lea rax, [0x00655ce0]
mov qword [rsp], rax
call fcn.0040e620
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov qword [rsp + 0x10], 8
mov qword [rsp + 0x18], 8
call rcx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x10], rbx
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x18], rbx
call rcx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x58]
sub rbx, rsi
inc rbx
mov rdi, rbx
neg rbx
sar rbx, 0x3f
mov r8, qword [rsp + 0x50]
and r8, rbx
mov rbx, qword [rsp + 0x98]
add rbx, r8
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x60]
sub rbx, rsi
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
call rcx
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 8], xmm0
mov qword [rsp + 0x18], 0
call rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
cmp rax, rdx
je 0x52fabb
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.00402a60
cmp byte [rsp + 0x18], 0
je 0x52fa93
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
nop
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x10], rax
mov byte [rsp + 0x18], 1
call fcn.00402f80
mov rax, qword [rsp + 0x20]
nop dword [rax]
test rax, rax
jl 0x52fb65
mov rdi, qword [rsp + 0x60]
sub rdi, rax
lea rsi, [rdi - 2]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x98]
nop
jmp 0x52f8e9
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x0084c330]
mov rcx, qword [0x0084c338]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
lea rax, [0x00668440]
mov qword [rsp], rax
call fcn.0040e620
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x28
lea rcx, [0x006ae20f]
mov qword [rax], rcx
lea rcx, [0x006f8a00]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rcx, rax
mov rax, qword [rsp + 0xb8]
jmp 0x52f75c
call fcn.0046c7a0
call fcn.0046c6e0
mov rcx, rax
call fcn.0046c760
xor eax, eax
call fcn.0046c6e0
nop
call fcn.00436d20
mov rax, rcx
mov rcx, r9
call fcn.0046c7a0
call fcn.0046c760
mov rax, r9
mov rcx, rdi
nop dword [rax + rax]
call fcn.0046c6e0
nop
call fcn.0046a500
jmp fcn.0052f700