Function at 0x5a9ae0
Capabilities:
Reference http user-agent string

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x10]
cmp rax, qword [rcx + 0x10]
jbe 0x5aa237
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
lea rax, [0x0064c400]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rsp + 0x80], rax
nop
mov rcx, qword [rsp + 0x98]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x10], rbx
lea rsi, [0x00609a00]
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]
mov rdx, qword [rsp + 0x50]
cmp qword [rsp + 0x40], 0
jg 0x5aa1c9
test rdx, rdx
jne 0x5aa009
mov rax, qword [rsp + 0x80]
cmp qword [rax], 1
jg 0x5a9faf
mov rcx, qword [rax + 8]
cmp qword [rcx + 0x10], 0
jne 0x5a9f8f
xor ecx, ecx
nop
test rcx, rcx
jle 0x5a9ed4
mov rcx, qword [rax + 0x18]
cmp qword [rcx + 0x10], 0
jne 0x5a9f6f
xor ecx, ecx
nop word [rax + rax]
test rcx, rcx
jle 0x5a9ed4
mov rcx, qword [rax + 0x20]
cmp qword [rcx + 0x10], 0
jne 0x5a9f4f
xor ecx, ecx
nop word [rax + rax]
test rcx, rcx
jle 0x5a9ed4
mov rcx, qword [rax + 0x28]
cmp qword [rcx + 0x10], 0
jne 0x5a9f2f
xor ecx, ecx
nop word [rax + rax]
test rcx, rcx
jle 0x5a9ed4
lea rax, [0x0063cfe0]
mov qword [rsp], rax
call fcn.0040e560
mov rdi, qword [rsp + 8]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 8]
mov qword [rdi + 8], rcx
cmp dword [0x00811460], 0
jne 0x5a9eca
mov qword [rdi], rdx
mov qword [rsp + 0x68], rdi
mov rcx, qword [rax + 0x18]
cmp dword [0x00811460], 0
jne 0x5a9eb8
mov qword [rdi + 0x10], rcx
mov rcx, qword [rax + 0x50]
lea rdx, [0x006583e0]
mov qword [rsp], rdx
add rcx, 2
mov qword [rsp + 0x60], rcx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rcx
nop
call fcn.0044dcc0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rdx + 0x20], rcx
mov qword [rdx + 0x28], rcx
cmp dword [0x00811460], 0
jne 0x5a9eaa
mov qword [rdx + 0x18], rax
mov rdi, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rbx + 0x20]
nop dword [rax]
test rcx, rcx
jbe 0x5aa22f
cmp dword [0x00811460], 0
jne 0x5a9ea0
mov qword [rdi], rsi
mov rsi, qword [rdx + 0x18]
mov rcx, qword [rdx + 0x20]
mov r8, qword [rbx + 0x28]
cmp rcx, 1
jbe 0x5aa225
cmp dword [0x00811460], 0
jne 0x5a9e8f
mov qword [rsi + 8], r8
mov rsi, qword [rbx + 0x50]
mov rbx, qword [rbx + 0x48]
test rsi, rsi
jle 0x5a9d8c
xor eax, eax
jmp 0x5a9d38
add rbx, 0x18
mov rax, r8
mov r8, qword [rbx]
cmp qword [r8 + 0x10], 0
jne 0x5a9e71
xor ecx, ecx
test rcx, rcx
jle 0x5a9e17
mov r9, qword [rdx + 0x18]
mov rcx, qword [rdx + 0x20]
lea r10, [rax + 2]
nop dword [rax]
cmp rcx, r10
jbe 0x5aa21d
lea rdi, [r9 + rax*8]
lea rdi, [rdi + 0x10]
cmp dword [0x00811460], 0
jne 0x5a9e0d
mov qword [r9 + rax*8 + 0x10], r8
lea r8, [rax + 1]
cmp r8, rsi
jl 0x5a9d31
mov qword [rsp], rdx
call fcn.0059df20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 8], 0
je 0x5a9dd3
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
nop dword [rax]
call fcn.0059e7c0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xb0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
call fcn.0046caa0
jmp 0x5a9d83
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x31
lea rcx, [0x00667be1]
mov qword [rax], rcx
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
cmp byte [r8], 0
je 0x5a9e85
mov rcx, 0xffffffffffffffff
nop
jmp 0x5a9d48
mov ecx, 1
jmp 0x5a9d48
lea rdi, [rsi + 8]
call fcn.0046caa0
jmp 0x5a9d20
call fcn.0046ca80
jmp 0x5a9cf9
lea rdi, [rdx + 0x18]
call fcn.0046c920
jmp 0x5a9ccd
lea rdx, [rdi + 0x10]
mov rdi, rdx
nop
call fcn.0046ca20
jmp 0x5a9c7c
call fcn.0046ca40
jmp 0x5a9c62
lea rax, [0x00625ba0]
mov qword [rsp], rax
nop
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x31
lea rcx, [0x00667c12]
mov qword [rax], rcx
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
cmp byte [rcx], 0
je 0x5a9f45
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
jmp 0x5a9c20
mov ecx, 1
jmp 0x5a9c20
cmp byte [rcx], 0
je 0x5a9f65
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
jmp 0x5a9c00
mov ecx, 1
jmp 0x5a9c00
cmp byte [rcx], 0
je 0x5a9f85
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
jmp 0x5a9be0
mov ecx, 1
jmp 0x5a9be0
cmp byte [rcx], 0
je 0x5a9fa5
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
jmp 0x5a9bc0
mov ecx, 1
jmp 0x5a9bc0
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x25
lea rcx, [0x0066548a]
mov qword [rax], rcx
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
lea rax, [0x0063d160]
mov qword [rsp], rax
nop
call fcn.0040e560
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x98]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xa8]
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
cmp qword [rsp + 0x50], 0
je 0x5aa16f
lea rax, [0x00635360]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x98]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00609a40]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.0058c060
cmp qword [rsp + 0x50], 0
je 0x5aa111
mov qword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x00625ba0]
mov qword [rsp], rax
nop dword [rax]
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x006695f5]
mov qword [rax], rcx
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x55
lea rcx, [0x006694f2]
mov qword [rax], rcx
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4760]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x0065c69c]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
nop dword [rax]
call fcn.0040b600
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0xb0], 0
lea rcx, [0x006a4c40]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, r10
call fcn.0046cdc0
mov eax, 1
call fcn.0046cdc0
xor eax, eax
call fcn.0046cdc0
nop
call fcn.0046abe0
nop dword [rax]
jmp fcn.005a9ae0