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

Disassembly:
lea r12, [rsp - 0x140]
cmp r12, qword [r14 + 0x10]
jbe 0x5a9d39
sub rsp, 0x1c0
mov qword [rsp + 0x1b8], rbp
lea rbp, [rsp + 0x1b8]
mov qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x1d8], rcx
movups xmmword [rsp + 0x168], xmm15
mov edx, dword [rax + 0x20]
test edx, edx
jne 0x5a9cf4
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1d0], rbx
mov rax, rbx
mov rbx, rcx
call fcn.00546a40
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x100], rcx
lea rax, [rsp + 0xe8]
call fcn.004352a0
test eax, eax
jne 0x5a9ccf
mov rcx, qword [rsp + 0x1d0]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x1d8]
call rcx
test rax, rax
je 0x5a99c5
lea rax, [0x00655d60]
xor ebx, ebx
call fcn.00405660
mov qword [rsp + 0x150], rax
mov ebx, 1
lea rax, [0x00655a20]
nop
call fcn.00405660
mov qword [rsp + 0x140], rax
movups xmmword [rsp + 0x198], xmm15
movups xmmword [rsp + 0x1a8], xmm15
lea rcx, [0x005a9f60]
mov qword [rsp + 0x198], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
lea rdx, [rsp + 0x168]
mov qword [rsp + 0x1b0], rdx
lea rdx, [rsp + 0x198]
mov qword [rsp + 0xb8], rdx
lea rax, [rsp + 0xa0]
call fcn.004352a0
test eax, eax
jne 0x5a9caa
lea rax, [0x006893a0]
call fcn.0040d960
lea rcx, [0x005a9e40]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x160]
mov qword [rax + 8], rcx
cmp dword [0x008f2cf0], 0
jne 0x5a9978
mov rdx, qword [rsp + 0x148]
mov qword [rax + 0x10], rdx
mov rbx, qword [rsp + 0x1c8]
mov qword [rax + 0x18], rbx
mov rsi, qword [rsp + 0x140]
mov qword [rax + 0x20], rsi
mov rsi, qword [rsp + 0x150]
mov qword [rax + 0x28], rsi
jmp 0x5a99bc
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x148]
call fcn.004655c0
lea rdi, [rax + 0x18]
mov rbx, qword [rsp + 0x1c8]
call fcn.004655e0
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x140]
call fcn.00465600
lea rdi, [rax + 0x28]
mov rsi, qword [rsp + 0x150]
call fcn.00465600
nop dword [rax]
call fcn.00441a00
xor eax, eax
mov rcx, qword [rsp + 0x1c8]
mov edx, 1
lock cmpxchg dword [rcx + 0x24], edx
sete bl
lea rax, [rcx + 0x24]
test bl, bl
jne 0x5a99f9
mov qword [rsp + 0x138], rax
call fcn.0046e200
mov rax, qword [rsp + 0x138]
movups xmmword [rsp + 0x188], xmm15
lea rcx, [0x005a9de0]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x70], rcx
lea rax, [rsp + 0x58]
call fcn.004352a0
test eax, eax
jne 0x5a9c85
mov rcx, qword [rsp + 0x1c8]
mov rdx, qword [rcx + 0x30]
mov rbx, qword [rcx + 0x38]
test rdx, rdx
jne 0x5a9c4b
mov edx, dword [rcx + 0x20]
test edx, edx
jne 0x5a9c1d
xor eax, eax
mov edx, 1
lock cmpxchg dword [rcx + 0x170], edx
sete dl
lea rax, [rcx + 0x170]
test dl, dl
jne 0x5a9a8e
mov qword [rsp + 0x130], rax
call fcn.0046e200
mov rax, qword [rsp + 0x130]
movups xmmword [rsp + 0x178], xmm15
lea rcx, [0x005a9d80]
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x178]
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x10]
call fcn.004352a0
test eax, eax
jne 0x5a9bf8
mov rcx, qword [rsp + 0x1c8]
mov rdx, qword [rcx + 0x18]
mov rsi, qword [rdx]
mov rax, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x148]
call rsi
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 0x30], rax
lea rcx, [rdi + 0x38]
cmp dword [0x008f2cf0], 0
jne 0x5a9b0d
mov qword [rdi + 0x38], rbx
jmp 0x5a9b1b
mov rax, rdi
mov rdi, rcx
call fcn.004655e0
mov rdi, rax
mov qword [rsp + 0x158], rcx
cmp qword [rdi + 0x30], 0
jne 0x5a9b30
inc qword [rdi + 0x50]
jmp 0x5a9b48
mov rax, rdi
call fcn.005a6500
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x1c8]
cmp qword [rdi + 0x30], 0
jne 0x5a9ba9
mov edx, dword [rdi + 0x20]
test edx, edx
jne 0x5a9ba9
lea rax, [0x0066df60]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x37
lea rcx, [0x006b63b5]
mov qword [rax], rcx
lea rcx, [0x007191c0]
mov rdx, qword [rsp + 0x1c8]
mov qword [rdx + 0x30], rcx
cmp dword [0x008f2cf0], 0
jne 0x5a9b99
mov qword [rdx + 0x38], rax
jmp 0x5a9ba6
mov rdi, qword [rsp + 0x158]
call fcn.004654a0
mov rdi, rdx
cmp qword [rdi + 0x30], 0
je 0x5a9bbb
mov ecx, dword [rdi + 0x20]
test ecx, ecx
jne 0x5a9d25
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rcx
call fcn.004358c0
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
movups xmmword [rsp + 0x168], xmm15
call fcn.004358c0
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], rbx
nop dword [rax + rax]
call fcn.004358c0
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
movups xmmword [rsp + 0x168], xmm15
nop dword [rax]
call fcn.004358c0
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
lea rax, [0x006576e0]
lea rbx, [0x00718570]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
jmp fcn.005a97c0