Function at 0x528160
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x270]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x5282d8
sub rsp, 0x2f0
mov qword [rsp + 0x2e8], rbp
lea rbp, [rsp + 0x2e8]
mov rax, qword [rsp + 0x300]
cmp rax, 0x20
jne 0x52825d
mov rcx, qword [rsp + 0x330]
nop dword [rax + rax]
cmp rcx, 0x40
je 0x527e9e
mov byte [rsp + 0x340], 0
mov rbp, qword [rsp + 0x2e8]
add rsp, 0x2f0
ret
mov rdx, qword [rsp + 0x328]
movzx ebx, byte [rdx + 0x3f]
test bl, 0xe0
jne 0x527e86
lea rdi, [rsp + 0x170]
xorps xmm0, xmm0
lea rdi, [rdi - 0x20]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce5e
mov rbp, qword [rbp]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
lea rbx, [rsp + 0x58]
mov rsi, qword [rsp + 0x2f8]
cmp rbx, rsi
je 0x527f06
mov qword [rsp], rbx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], 0x20
call fcn.0046d4e0
lea rax, [rsp + 0x170]
mov qword [rsp], rax
lea rcx, [rsp + 0x58]
mov qword [rsp + 8], rcx
nop dword [rax]
call fcn.005257a0
cmp byte [rsp + 0x10], 0
je 0x528245
lea rax, [rsp + 0x170]
mov qword [rsp], rax
mov qword [rsp + 8], rax
call fcn.00523940
lea rax, [rsp + 0x1e8]
mov qword [rsp], rax
mov qword [rsp + 8], rax
call fcn.00523940
nop
mov qword [rsp + 0x210], 0
lea rdi, [rsp + 0x218]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce4f
mov rbp, qword [rbp]
mov qword [rsp + 0x2e0], 7
lea rax, [rsp + 0x210]
mov qword [rsp], rax
call fcn.0050ba60
lea rax, [rsp + 0x210]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x328]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 0x20
mov rdx, qword [rsp + 0x338]
mov qword [rsp + 0x18], rdx
nop
call fcn.0050c7e0
lea rax, [rsp + 0x210]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x2f8]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x300]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x18], rcx
call fcn.0050c7e0
lea rax, [rsp + 0x210]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x318]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x320]
mov qword [rsp + 0x18], rcx
call fcn.0050c7e0
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xe8], xmm0
lea rax, [rsp + 0x210]
mov qword [rsp], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0x40
call fcn.0050ca60
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
lea rax, [rsp + 0x78]
mov qword [rsp], rax
lea rcx, [rsp + 0xb8]
mov qword [rsp + 8], rcx
call fcn.00526d00
mov qword [rsp + 0xf8], 0
lea rdi, [rsp + 0x100]
xorps xmm0, xmm0
lea rdi, [rdi - 0x10]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ce6d
mov rbp, qword [rbp]
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
mov rax, qword [rsp + 0x330]
add rax, 0xffffffffffffffe0
cmp rax, 0x20
mov ecx, 0x20
cmovl rcx, rax
mov rax, qword [rsp + 0x328]
lea rdx, [rax + 0x20]
lea rbx, [rsp + 0x38]
cmp rbx, rdx
jne 0x528224
mov qword [rsp], rbx
call fcn.00527a20
cmp byte [rsp + 8], 0
nop
je 0x52820c
lea rax, [rsp + 0xf8]
mov qword [rsp], rax
lea rcx, [rsp + 0x78]
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x10], rcx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x18], rcx
call fcn.00526720
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
lea rax, [rsp + 0xf8]
mov qword [rsp], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 8], rax
call fcn.00525400
mov rax, qword [rsp + 0x328]
mov qword [rsp], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x20
call fcn.00402ae0
movzx eax, byte [rsp + 0x18]
mov byte [rsp + 0x340], al
mov rbp, qword [rsp + 0x2e8]
add rsp, 0x2f0
ret
mov byte [rsp + 0x340], 0
mov rbp, qword [rsp + 0x2e8]
add rsp, 0x2f0
ret
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.0046d4e0
lea rbx, [rsp + 0x38]
nop dword [rax]
jmp 0x528150
mov byte [rsp + 0x340], 0
mov rbp, qword [rsp + 0x2e8]
add rsp, 0x2f0
ret
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.004ba720
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], 0
lea rdx, [0x006a7bf2]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x20
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0040b740
mov rax, qword [rsp + 0x10]
lea rcx, [0x0064f4c0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046aa00
nop dword [rax]
jmp fcn.00527e20