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

Disassembly:
lea r12, [rsp - 0x140]
cmp r12, qword [r14 + 0x10]
jbe 0x5a3e19
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 0x5a3dd4
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1d0], rbx
mov rax, rbx
mov rbx, rcx
call fcn.00541180
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x100], rcx
lea rax, [rsp + 0xe8]
call fcn.004350e0
test eax, eax
jne 0x5a3daf
mov rcx, qword [rsp + 0x1d0]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x1d8]
call rcx
test rax, rax
je 0x5a3aa5
lea rax, [0x00666080]
xor ebx, ebx
call fcn.00405720
mov qword [rsp + 0x150], rax
mov ebx, 1
lea rax, [0x00665dc0]
nop
call fcn.00405720
mov qword [rsp + 0x140], rax
movups xmmword [rsp + 0x198], xmm15
movups xmmword [rsp + 0x1a8], xmm15
lea rcx, [0x005a4040]
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.004350e0
test eax, eax
jne 0x5a3d8a
lea rax, [0x0069c4a0]
call fcn.0040da20
lea rcx, [0x005a3f20]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x160]
mov qword [rax + 8], rcx
cmp dword [0x00918a90], 0
jne 0x5a3a58
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 0x5a3a9c
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x148]
call fcn.00465720
lea rdi, [rax + 0x18]
mov rbx, qword [rsp + 0x1c8]
call fcn.00465740
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x140]
call fcn.00465760
lea rdi, [rax + 0x28]
mov rsi, qword [rsp + 0x150]
call fcn.00465760
nop dword [rax]
call fcn.004417e0
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 0x5a3ad9
mov qword [rsp + 0x138], rax
call fcn.00470b60
mov rax, qword [rsp + 0x138]
movups xmmword [rsp + 0x188], xmm15
lea rcx, [0x005a3ec0]
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.004350e0
test eax, eax
jne 0x5a3d65
mov rcx, qword [rsp + 0x1c8]
mov rdx, qword [rcx + 0x30]
mov rbx, qword [rcx + 0x38]
test rdx, rdx
jne 0x5a3d2b
mov edx, dword [rcx + 0x20]
test edx, edx
jne 0x5a3cfd
xor eax, eax
mov edx, 1
lock cmpxchg dword [rcx + 0x170], edx
sete dl
lea rax, [rcx + 0x170]
test dl, dl
jne 0x5a3b6e
mov qword [rsp + 0x130], rax
call fcn.00470b60
mov rax, qword [rsp + 0x130]
movups xmmword [rsp + 0x178], xmm15
lea rcx, [0x005a3e60]
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.004350e0
test eax, eax
jne 0x5a3cd8
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 [0x00918a90], 0
jne 0x5a3bed
mov qword [rdi + 0x38], rbx
jmp 0x5a3bfb
mov rax, rdi
mov rdi, rcx
call fcn.00465740
mov rdi, rax
mov qword [rsp + 0x158], rcx
cmp qword [rdi + 0x30], 0
jne 0x5a3c10
inc qword [rdi + 0x50]
jmp 0x5a3c28
mov rax, rdi
call fcn.005a0880
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x1c8]
cmp qword [rdi + 0x30], 0
jne 0x5a3c89
mov edx, dword [rdi + 0x20]
test edx, edx
jne 0x5a3c89
lea rax, [0x0067fd60]
nop dword [rax]
call fcn.0040da20
mov qword [rax + 8], 0x37
lea rcx, [0x006caf43]
mov qword [rax], rcx
lea rcx, [0x0072e7e0]
mov rdx, qword [rsp + 0x1c8]
mov qword [rdx + 0x30], rcx
cmp dword [0x00918a90], 0
jne 0x5a3c79
mov qword [rdx + 0x38], rax
jmp 0x5a3c86
mov rdi, qword [rsp + 0x158]
call fcn.00465600
mov rdi, rdx
cmp qword [rdi + 0x30], 0
je 0x5a3c9b
mov ecx, dword [rdi + 0x20]
test ecx, ecx
jne 0x5a3e05
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rcx
call fcn.00435700
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.00435700
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.00435700
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.00435700
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.00435700
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.00435700
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
call fcn.00435700
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.00435700
mov rbx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
lea rax, [0x00667a40]
lea rbx, [0x0072da90]
call fcn.00436260
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
nop dword [rax]
jmp fcn.005a38a0