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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x4d0]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x436309
sub rsp, 0x550
mov qword [rsp + 0x548], rbp
lea rbp, [rsp + 0x548]
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x558]
nop dword [rax]
cmp qword [rcx + 0x30], rdx
je 0x4362ef
xor eax, eax
mov ecx, 1
lock cmpxchg dword [rdx + 0x350], ecx
sete cl
nop dword [rax]
test cl, cl
je 0x436272
lea rax, [rdx + 0x328]
mov qword [rsp + 0x538], rax
nop
mov qword [rsp], rax
nop dword [rax]
call fcn.0040bfe0
mov rax, qword [rsp + 0x558]
cmp qword [rax + 0x330], 0
jne 0x435f97
nop
nop
mov rax, qword [rsp + 0x538]
mov qword [rsp], rax
call fcn.0040c240
xor eax, eax
mov rcx, qword [rsp + 0x558]
xchg dword [rcx + 0x350], eax
mov eax, 1
lock xadd dword [rcx + 0x320], eax
mov rbp, qword [rsp + 0x548]
add rsp, 0x550
ret
mov qword [rsp + 0x48], 0
mov rcx, qword [sym.imp.kernel32.dll_DuplicateHandle]
mov rdx, qword [rax + 0x330]
lea rbx, [rsp + 0x48]
mov qword [rsp], rcx
mov qword [rsp + 8], 0xffffffffffffffff
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0xffffffffffffffff
mov qword [rsp + 0x20], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 2
call fcn.00435c60
cmp qword [rsp + 0x40], 0
je 0x43628f
nop
nop
mov rax, qword [rsp + 0x538]
mov qword [rsp], rax
call fcn.0040c240
xorps xmm0, xmm0
movups xmmword [rsp + 0x59], xmm0
lea rdi, [rsp + 0x68]
mov ecx, 0x9a
xor eax, eax
rep stosq qword [rdi], rax
lea rax, [rsp + 0x68]
and rax, 0xfffffffffffffff0
mov qword [rsp + 0x540], rax
mov dword [rax + 0x30], 0x100001
nop
nop
lea rcx, [0x008112b8]
mov qword [rsp], rcx
call fcn.0040bfe0
mov rax, qword [rsp + 0x48]
mov rcx, qword [sym.imp.kernel32.dll_SuspendThread]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
nop
call fcn.00435a20
mov rax, qword [rsp + 0x10]
cmp eax, 0xffffffff
je 0x436217
mov rax, qword [rsp + 0x48]
mov rcx, qword [sym.imp.kernel32.dll_GetThreadContext]
mov rdx, qword [rsp + 0x540]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
call fcn.00435a80
nop
nop
lea rax, [0x008112b8]
mov qword [rsp], rax
call fcn.0040c240
mov rax, qword [rsp + 0x558]
mov qword [rsp], rax
call fcn.00435da0
mov rax, qword [rsp + 8]
cmp byte [rax + 0xb1], 0
je 0x4361ea
mov ecx, dword [rax + 0x90]
btr ecx, 0xc
cmp ecx, 2
sete cl
nop
test cl, cl
jne 0x436145
xor eax, eax
mov rcx, qword [rsp + 0x558]
xchg dword [rcx + 0x350], eax
mov eax, 1
lock xadd dword [rcx + 0x320], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [sym.imp.kernel32.dll_ResumeThread]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00435a20
mov rax, qword [rsp + 0x48]
mov rcx, qword [sym.imp.kernel32.dll_CloseHandle]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00435a20
mov rbp, qword [rsp + 0x548]
add rsp, 0x550
ret
mov rcx, qword [rsp + 0x540]
mov rdx, qword [rcx + 0xf8]
mov rbx, qword [rcx + 0x98]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0
call fcn.0043a4a0
mov rax, qword [rsp + 0x28]
cmp byte [rsp + 0x20], 0
je 0x4360e4
mov rcx, qword [rsp + 0x540]
mov rdx, qword [rcx + 0x98]
add rdx, 0xfffffffffffffff8
mov rbx, rdx
lea rsi, [0x0066ab80]
test byte [rsi], al
nop
nop
mov rsi, qword [0x0066ab80]
mov qword [rdx], rax
nop
mov qword [rcx + 0x98], rbx
nop
mov qword [rcx + 0xf8], rsi
mov rax, qword [rsp + 0x48]
mov rdx, qword [sym.imp.kernel32.dll_SetThreadContext]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
nop dword [rax]
call fcn.00435a80
jmp 0x4360e4
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0xa0]
test rcx, rcx
je 0x436210
test byte [rcx], al
cmp byte [rcx + 0x2710], 0
jne 0x4360cf
xor ecx, ecx
jmp 0x4360e0
xor ecx, ecx
jmp 0x4360e0
nop
nop
lea rax, [0x008112b8]
mov qword [rsp], rax
call fcn.0040c240
mov rax, qword [rsp + 0x48]
mov rcx, qword [sym.imp.kernel32.dll_CloseHandle]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
nop
call fcn.00435a20
xor eax, eax
mov rcx, qword [rsp + 0x558]
xchg dword [rcx + 0x350], eax
mov eax, 1
lock xadd dword [rcx + 0x320], eax
mov rbp, qword [rsp + 0x548]
add rsp, 0x550
ret
mov eax, 1
lock xadd dword [rdx + 0x320], eax
mov rbp, qword [rsp + 0x548]
add rsp, 0x550
ret
call fcn.0046e160
mov eax, dword [rsp]
mov qword [rsp + 0x50], rax
nop dword [rax]
call fcn.0043aa00
lea rax, [0x006677b2]
mov qword [rsp], rax
mov qword [rsp + 8], 0x30
call fcn.0043b480
mov rax, qword [rsp + 0x50]
mov qword [rsp], rax
call fcn.0043b100
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x00665f77]
mov qword [rsp], rax
mov qword [rsp + 8], 0x28
call fcn.00439220
lea rax, [0x0065c263]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
call fcn.00439220
nop
call fcn.0046abe0
jmp fcn.00435ea0