Function at 0x5aae20
Capabilities:
Encode data using base64
Reference http user-agent string

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x58]
cmp rax, qword [rcx + 0x10]
jbe 0x5ab6a6
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
lea rax, [0x0063d160]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rbx
lea rsi, [0x00609980]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.0058c060
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
test rax, rax
jne 0x5ab435
mov rax, qword [rsp + 0xb8]
cmp qword [rax], 1
jne 0x5ab394
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x5ab364
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.005ab6c0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
je 0x5ab30a
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x78], rax
lea rax, [0x0062df20]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov rdi, qword [rax + 8]
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov qword [rsp], rdi
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rsi
call fcn.00529cc0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], rdx
cmp dword [0x00811460], 0
jne 0x5ab2f7
mov qword [rbx + 8], rax
mov byte [rbx], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0051bc80
cmp qword [rsp + 0x10], 0
jge 0x5ab29d
lea rax, [0x006451e0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
cmp dword [0x00811460], 0
jne 0x5ab276
mov rdx, qword [rsp + 0xa0]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x80]
mov qword [rax + 0x20], rbx
mov qword [rsp + 0x98], rax
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
lea rdi, [rsi - 1]
test rdi, rdi
jl 0x5ab26f
mov rbx, qword [rbx + rsi*8 - 8]
bsr rbx, rbx
mov rsi, 0xffffffffffffffff
cmove rbx, rsi
shl rdi, 6
lea rbx, [rbx + rdi]
lea rbx, [rbx + 1]
lea rax, [0x00614000]
mov qword [rsp], rax
lea rax, [rbx + 7]
sar rax, 0x3f
shr rax, 0x3d
lea rax, [rax + rbx]
lea rax, [rax + 7]
sar rax, 3
mov qword [rsp + 0x68], rax
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call fcn.0044dcc0
mov rax, qword [rsp + 0xb8]
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 8]
mov r8, qword [rax + 0x18]
cmp rdx, rbx
jge 0x5ab183
cmp byte [rsi], 0
jne 0x5ab129
dec rbx
mov qword [rax + 0x10], rbx
lea rbx, [r8 - 1]
mov qword [rax + 0x18], rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
add rbx, rsi
cmp dword [0x00811460], 0
jne 0x5ab122
mov qword [rax + 8], rbx
nop
jmp 0x5ab0db
call fcn.0046ca60
jmp 0x5ab0db
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x20
lea rcx, [0x006639ae]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, rdx
sub rax, rbx
cmp rdx, rax
jb 0x5ab69d
mov rdi, rdx
sub rdx, rax
cmp rbx, rdx
cmovl rdx, rbx
mov rbx, rax
sub rax, rdi
sar rax, 0x3f
and rax, rbx
add rax, rcx
cmp rsi, rax
jne 0x5ab242
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rdi
call rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp dword [0x00811460], 0
jne 0x5ab224
mov rdx, qword [rsp + 0x98]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov qword [rsp + 0x100], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x108], xmm0
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rdx, qword [rsp + 0x98]
lea rdi, [rdx + 0x10]
call fcn.0046c920
lea rdi, [rdx + 0x18]
call fcn.0046ca20
nop
jmp 0x5ab201
mov qword [rsp + 0xb0], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdx
call fcn.0046d6c0
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
jmp 0x5ab1b8
xor ebx, ebx
jmp 0x5ab08e
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0xa0]
call fcn.0046ca40
lea rdi, [rax + 0x20]
mov rbx, qword [rsp + 0x80]
call fcn.0046ca60
jmp 0x5ab049
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x2e
lea rcx, [0x006674ec]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rdi, [rbx + 8]
nop dword [rax + rax]
call fcn.0046c920
jmp 0x5aafba
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1c
lea rcx, [0x0066220a]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
nop
call fcn.005ab6c0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
jmp 0x5aaf15
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
mov rax, qword [rax]
mov qword [rsp], rax
call fcn.0040b580
mov rax, qword [rsp + 8]
lea rcx, [0x00613700]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x00665c30]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004d6e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x70], rax
lea rax, [0x00635360]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rbx
lea rsi, [0x00609a40]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.0058c060
cmp qword [rsp + 0x50], 0
je 0x5ab643
lea rax, [0x0064c400]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00609a00]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
nop dword [rax + rax]
call fcn.0058c060
cmp qword [rsp + 0x50], 0
je 0x5ab5e9
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp], rcx
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006658d7]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x26
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], rcx
lea rdx, [0x00625ba0]
mov qword [rsp], rdx
call fcn.0040e560
mov rdi, qword [rsp + 8]
mov rax, qword [rsp + 0x60]
mov qword [rdi + 8], rax
cmp dword [0x00811460], 0
jne 0x5ab5da
mov rax, qword [rsp + 0x90]
mov qword [rdi], rax
mov qword [rsp + 0x100], 0
lea rax, [0x006a4760]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0x90]
call fcn.0046c920
jmp 0x5ab5a7
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x0066959d]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x006695f5]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, rdx
call fcn.0046ce80
nop
call fcn.0046abe0
jmp fcn.005aae20