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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x130]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x41e210
sub rsp, 0x1b0
mov qword [rsp + 0x1a8], rbp
lea rbp, [rsp + 0x1a8]
mov eax, 2
lea rcx, [0x00811120]
xchg dword [rcx], eax
mov eax, dword [0x00811120]
cmp eax, 1
jne 0x41e1c7
mov eax, 1
mov byte [0x00811464], al
test al, al
je 0x41e1bb
mov eax, 1
mov byte [0x00811460], al
mov rax, qword [0x00814f30]
mov qword [0x00811d58], rax
nop
call fcn.0046e5a0
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rax + 0x30]
nop
mov rdx, qword [rsp]
mov qword [rsp + 0x40], rdx
inc dword [rcx + 0xd8]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x180], rcx
test byte [rax], al
mov qword [rcx + 0xd0], 5
lea rdi, [rcx + 0xc8]
mov qword [rsp + 0x1a0], rdi
cmp dword [0x00811460], 0
jne 0x41e1aa
lea rax, [0x0065a814]
mov qword [rcx + 0xc8], rax
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov qword [rsp + 0x190], rax
mov rcx, qword [rax + 0x30]
mov byte [rcx + 0xf9], 2
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x90]
mov qword [rsp + 0x188], rcx
mov qword [rsp], rcx
movabs rdx, 0x400000002
mov qword [rsp + 8], rdx
call fcn.0043dac0
mov rax, qword [rsp + 0x188]
mov byte [rax + 0xb0], 6
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
lea rcx, [0x00462440]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xc0], rcx
lea rcx, [rsp + 0xb8]
mov qword [rsp], rcx
call fcn.0046aa80
lea rax, [0x0066ac98]
mov qword [rsp], rax
call fcn.0046aa80
mov rax, qword [rsp + 0x190]
mov rax, qword [rax + 0x30]
mov byte [rax + 0xf9], 0
mov rax, qword [rsp + 0x188]
mov qword [rsp], rax
movabs rax, 0x200000004
mov qword [rsp + 8], rax
call fcn.0043dac0
cmp byte [0x007d2d10], 0
jne 0x41e17d
mov rax, qword [rsp + 0x180]
mov qword [rax + 0xd0], 0
cmp dword [0x00811460], 0
jne 0x41e169
mov qword [rax + 0xc8], 0
cmp dword [0x00811120], 0
jne 0x41e1f6
mov rax, qword [0x00813868]
mov qword [0x00814f10], rax
mov rax, qword [0x008137f8]
mov qword [0x00814f18], rax
movsd xmm0, qword [rsp + 0x1b8]
movsd qword [rsp], xmm0
nop
call fcn.0041c380
nop
call fcn.0046e5a0
mov rax, qword [rsp]
mov qword [rsp + 0x60], rax
call fcn.0046e5e0
mov rax, qword [rsp]
movsxd rcx, dword [rsp + 8]
mov rdx, qword [0x00811d48]
mov rbx, qword [rsp + 0x60]
mov rsi, rbx
sub rbx, rdx
add qword [0x00811d40], rbx
mov qword [0x00811d38], rsi
imul rax, rax, 0x3b9aca00
add rax, rcx
mov rcx, qword [0x00811d48]
mov rdx, rsi
sub rsi, rcx
nop dword [rax]
test rsi, rsi
jge 0x41e0ca
mov ecx, 1
lea rbx, [0x00817388]
lock xadd qword [rbx], rcx
lea rcx, [0x00813870]
mov rbx, rax
xchg qword [rcx], rax
lea rax, [0x00814f00]
mov rcx, rdx
xchg qword [rax], rdx
movzx eax, byte [0x00814880]
mov rdx, qword [0x00811d40]
lea rsi, [0x00813880]
mov qword [rsi + rax*8], rdx
movzx eax, byte [0x00814880]
lea rdx, [0x00814080]
mov qword [rdx + rax*8], rbx
mov rax, qword [0x00811d40]
add qword [0x00813878], rax
movsxd rax, dword [0x00811d14]
mov rdx, qword [0x00811d28]
sub rdx, qword [0x00811d20]
imul rdx, rax
mov qword [rsp + 0x38], rdx
mov rbx, qword [0x00811b58]
add rbx, qword [0x00811b50]
add rbx, qword [0x00811b60]
mov rsi, qword [0x00811d38]
sub rsi, qword [0x00811d30]
imul rax, rsi
mov qword [rsp + 0x68], rax
add rbx, rdx
add rbx, rax
add rbx, qword [0x00811cd8]
mov qword [0x00811cd8], rbx
mov rsi, qword [0x007cdc48]
sub rcx, rsi
movsxd rsi, dword [0x00811124]
imul rsi, rcx
add rsi, qword [0x007cdc50]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
divsd xmm0, xmm1
movsd qword [0x00814888], xmm0
mov qword [0x007cd754], 0
cmp byte [0x00811cd0], 0
je 0x41d8bd
inc dword [0x00814884]
nop
nop
lea rax, [0x00811d00]
mov qword [rsp], rax
call fcn.0040bfe0
inc dword [0x00814880]
lea rax, [0x00811d08]
mov qword [rsp], rax
call fcn.00442100
nop
nop
lea rax, [0x00811d00]
mov qword [rsp], rax
call fcn.0040c240
call fcn.0042f3a0
lea rax, [0x0066aca0]
mov qword [rsp], rax
call fcn.0046aa80
call fcn.0042f440
call fcn.00427920
lea rax, [0x0066ac68]
mov qword [rsp], rax
call fcn.0046aa80
lea rax, [0x0066acb0]
mov qword [rsp], rax
call fcn.0046aa80
cmp dword [0x008116fc], 0
nop dword [rax]
jle 0x41dff8
movsd xmm0, qword [0x006a09c8]
mulsd xmm0, qword [0x00814888]
movsd qword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc8], 0
xorps xmm1, xmm1
movups xmmword [rsp + 0xd0], xmm1
call fcn.0043aa00
mov rax, qword [0x00811d20]
sub rax, qword [0x008112a0]
mov rcx, rax
movabs rax, 0x8637bd05af6c69b6
mul rcx
shr rdx, 0x13
mov eax, 0x17
jmp 0x41d9a7
mov rax, rbx
cmp rdx, 0xa
jb 0x41da00
mov rcx, rax
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
mul rdx
shr rdx, 3
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rbx, rsi
cmp rcx, 0x18
jae 0x41e1dc
add rbx, 0x30
mov byte [rsp + rcx + 0xc8], bl
lea rbx, [rcx - 1]
cmp rcx, 0x15
jne 0x41d9a4
mov byte [rsp + rcx + 0xc7], 0x2e
lea rbx, [rcx - 2]
jmp 0x41d9a4
cmp rax, 0x14
jge 0x41d9ad
cmp rax, 0x18
jae 0x41e1d2
lea rcx, [rdx + 0x30]
mov byte [rsp + rax + 0xc8], cl
mov ecx, dword [0x00814880]
mov qword [rsp + 0xa8], rcx
lea rdx, [rsp + 0x138]
mov qword [rsp], rdx
lea rdx, [rax - 0x18]
mov rbx, rdx
sar rdx, 0x3f
and rax, rdx
lea rax, [rsp + rax + 0xc8]
mov qword [rsp + 8], rax
neg rbx
mov qword [rsp + 0x10], rbx
call fcn.00452060
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rcx
call fcn.0043aa00
lea rax, [0x0065a4ae]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0043b480
mov rax, qword [rsp + 0xa8]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065a2c2]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
mov rax, qword [rsp + 0x198]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065a346]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
movsd xmm0, qword [rsp + 0xb0]
cvttsd2si rax, xmm0
mov qword [rsp], rax
call fcn.0043b220
lea rax, [0x0065a373]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0043b480
call fcn.0043aaa0
mov rax, qword [0x00811d20]
mov qword [rsp + 0xe0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
mov rcx, qword [0x00811d28]
mov qword [rsp + 0xe0], rcx
mov rcx, qword [0x00811d30]
mov qword [rsp + 0xe8], rcx
mov rcx, qword [0x00811d38]
mov qword [rsp + 0xf0], rcx
xor ecx, ecx
jmp 0x41dc20
lea rcx, [rsp + 0xc8]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x18
mov qword [rsp + 0x10], 0x18
sub rdx, rax
mov qword [rsp + 0x18], rdx
call fcn.0041f280
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x118]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
call fcn.00452060
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rcx
call fcn.0043aa00
mov rax, qword [rsp + 0x198]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 8], rax
call fcn.0043b480
call fcn.0043aaa0
mov rax, qword [rsp + 0x70]
lea rcx, [rax + 1]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x50]
cmp rcx, 3
jge 0x41dc85
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + rcx*8 + 0xe0]
mov qword [rsp + 0x50], rdx
nop dword [rax + rax]
test rcx, rcx
je 0x41db7d
mov qword [rsp + 0x48], rax
call fcn.0043aa00
lea rax, [0x0065a2a2]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
call fcn.0043aaa0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
nop dword [rax + rax]
jmp 0x41db7d
call fcn.0043aa00
lea rax, [0x0065b9ac]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
nop
call fcn.0043b480
call fcn.0043aaa0
mov qword [rsp + 0x158], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x158], rax
mov rax, qword [0x00811b50]
mov qword [rsp + 0x160], rax
mov rax, qword [0x00811b60]
add rax, qword [0x00811b58]
mov qword [rsp + 0x168], rax
mov rax, qword [0x00811b68]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x178], rax
xor eax, eax
jmp 0x41ddc0
lea rax, [rsp + 0xc8]
mov qword [rsp], rax
mov qword [rsp + 8], 0x18
mov qword [rsp + 0x10], 0x18
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x18], rax
call fcn.0041f280
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0xf8]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
call fcn.00452060
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rcx
call fcn.0043aa00
mov rax, qword [rsp + 0x198]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 8], rax
call fcn.0043b480
call fcn.0043aaa0
mov rax, qword [rsp + 0x78]
inc rax
nop word [rax + rax]
cmp rax, 5
jge 0x41de54
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + rax*8 + 0x158]
mov qword [rsp + 0x58], rcx
nop dword [rax]
cmp rax, 2
jne 0x41de0f
call fcn.0043aa00
lea rax, [0x0065a2a6]
mov qword [rsp], rax
mov qword [rsp + 8], 1
nop
call fcn.0043b480
call fcn.0043aaa0
jmp 0x41dd1e
cmp rax, 3
je 0x41dde6
test rax, rax
je 0x41dd1e
nop
call fcn.0043aa00
lea rax, [0x0065a2a2]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
nop
call fcn.0043aaa0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
jmp 0x41dd1e
mov rax, qword [0x00811d50]
mov qword [rsp + 0xa8], rax
mov rcx, qword [0x00811d58]
mov qword [rsp + 0x98], rcx
mov rdx, qword [0x00811d60]
mov qword [rsp + 0x90], rdx
mov rbx, qword [0x00811d68]
mov qword [rsp + 0x88], rbx
movsxd rsi, dword [0x00811d18]
mov qword [rsp + 0x80], rsi
nop
call fcn.0043aa00
lea rax, [0x0065b23f]
mov qword [rsp], rax
mov qword [rsp + 8], 9
call fcn.0043b480
mov rax, qword [rsp + 0xa8]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065a2d4]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
mov rax, qword [rsp + 0x98]
shr rax, 0x14
mov qword [rsp], rax
nop dword [rax]
call fcn.0043b100
lea rax, [0x0065a2d4]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
mov rax, qword [rsp + 0x90]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065a6c0]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043b480
mov rax, qword [rsp + 0x88]
shr rax, 0x14
mov qword [rsp], rax
nop dword [rax]
call fcn.0043b100
lea rax, [0x0065b560]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0043b480
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.0043b220
lea rax, [0x0065a2c4]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
call fcn.0043aaa0
cmp byte [0x00811cd0], 0
jne 0x41e0a0
call fcn.0043aa00
nop
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
nop
movzx ecx, byte [rax + 0xe7]
lea edx, [rcx - 1]
mov byte [rax + 0xe7], dl
cmp cl, 1
je 0x41e086
lea rax, [0x007a3174]
mov qword [rsp], rax
mov byte [rsp + 8], 0
mov qword [rsp + 0x10], 0
call fcn.0044c140
nop
lea rax, [0x007a316c]
mov qword [rsp], rax
mov byte [rsp + 8], 0
mov qword [rsp + 0x10], 0
call fcn.0044c140
nop
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x180]
mov edx, dword [rcx + 0xd8]
lea ebx, [rdx - 1]
mov dword [rcx + 0xd8], ebx
nop dword [rax]
cmp edx, 1
jne 0x41e076
cmp byte [rax + 0xb1], 0
je 0x41e076
mov qword [rax + 0x10], 0xfffffffffffffade
mov rbp, qword [rsp + 0x1a8]
add rsp, 0x1b0
ret
nop
nop
lea rax, [0x008111d8]
mov qword [rsp], rax
call fcn.0040c240
jmp 0x41dff8
call fcn.0043aa00
lea rax, [0x0065b1ee]
mov qword [rsp], rax
mov qword [rsp + 8], 9
call fcn.0043b480
nop
call fcn.0043aaa0
jmp 0x41dfba
cmp rsi, 0x10
jl 0x41e162
bsr rbx, rsi
mov rdi, 0xffffffffffffffff
cmove rbx, rdi
lea rdi, [rbx - 3]
mov r8, rdi
shl rdi, 4
cmp rdi, 0x2d0
jb 0x41e12f
mov ecx, 0x2c
mov ebx, 0xf
shl rcx, 4
add rbx, rcx
cmp rbx, 0x2d0
jae 0x41e1e9
lea rcx, [0x00815d08]
lea rcx, [rcx + rbx*8]
mov ebx, 1
lock xadd qword [rcx], rbx
jmp 0x41d7ba
lea rcx, [rbx - 4]
cmp rcx, 0x40
sbb rdi, rdi
not rdi
or rcx, rdi
sar rsi, cl
mov rbx, rsi
sar rsi, 0x3f
shr rsi, 0x3c
add rsi, rbx
sar rsi, 4
shl rsi, 4
sub rbx, rsi
mov rcx, r8
nop
jmp 0x41e101
xor ecx, ecx
mov rbx, rsi
jmp 0x41e101
mov rdi, qword [rsp + 0x1a0]
xor ecx, ecx
call fcn.0046ca20
jmp 0x41d707
mov byte [rsp], 8
mov qword [rsp + 8], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x10], xmm0
mov qword [rsp + 0x20], 0
nop dword [rax + rax]
call fcn.00458a40
jmp 0x41d6dc
lea rax, [0x0065a814]
call fcn.0046c920
jmp 0x41d5f7
movzx eax, byte [0x00811465]
jmp 0x41d576
cmp eax, 2
sete al
jmp 0x41d563
mov ecx, 0x18
call fcn.0046cdc0
mov rax, rcx
mov ecx, 0x18
call fcn.0046cdc0
mov rax, rbx
mov ecx, 0x2d0
call fcn.0046cde0
lea rax, [0x00662487]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1d
call fcn.00439220
nop
call fcn.0046abe0
jmp fcn.0041d500