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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x510476
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0xa0], 0
je 0x51042e
cmp byte [rax + 0xd0], 0
jne 0x5103e6
mov byte [rax + 0xd0], 1
mov rcx, qword [rax + 0xa0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp], rcx
call fcn.004d1820
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x40], rcx
mov rdx, qword [rsp + 0x10]
mov qword [rsp + 0x50], rdx
mov rbx, qword [rsp + 0x10]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsi + 0x140]
test rdi, rdi
jne 0x5103b7
cmp dword [0x00811460], 0
nop dword [rax + rax]
jne 0x5103a6
mov qword [rsi + 0xa8], rcx
mov rdi, qword [rsi + 0x128]
mov qword [rsp + 0x30], rdi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
jmp 0x510254
mov r11, qword [rsp + 0x28]
lea r8, [r11 + 1]
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x30]
mov r9, rdx
mov r10, rax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x20], r9
nop
cmp r8, rdi
jge 0x5102c2
mov qword [rsp + 0x28], r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov rax, qword [rsi + 0x138]
mov qword [rsp], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 8], rax
call fcn.00406780
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
test rax, rax
je 0x5102ba
mov rdx, qword [rsp + 0x20]
test rdx, rdx
je 0x5102af
mov rax, qword [rsp + 0x48]
jmp 0x510224
mov rdx, rax
mov rax, rcx
jmp 0x510224
mov rdx, qword [rsp + 0x20]
nop
jmp 0x5102a5
mov rax, qword [rsi + 0x108]
mov rcx, qword [rsi + 0x110]
mov rdx, qword [rsi + 0x118]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
call fcn.0050ef20
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x510382
nop
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
test rcx, rcx
je 0x51035e
lea rax, [0x0064ef60]
mov qword [rsp], rax
call fcn.0040e560
mov rdi, qword [rsp + 8]
cmp dword [0x00811460], 0
jne 0x510352
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
lea rax, [0x006a4a40]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdi
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [rsp + 0x40]
call fcn.0046c920
jmp 0x510331
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
lea rdi, [rsi + 0xa8]
call fcn.0046ca20
jmp 0x51020d
mov qword [rsp], rdi
nop dword [rax + rax]
call fcn.00406360
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x80]
jmp 0x5101f4
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1d
lea rcx, [0x0066244d]
mov qword [rax], rcx
lea rcx, [0x006a4760]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
lea rax, [0x00625ba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x11
lea rcx, [0x0065d7ee]
mov qword [rax], rcx
lea rcx, [0x006a4760]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
call fcn.0046abe0
nop dword [rax + rax]
jmp fcn.00510140