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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x148]
cmp rax, qword [rcx + 0x10]
jbe 0x4191b7
sub rsp, 0x1c8
mov qword [rsp + 0x1c0], rbp
lea rbp, [rsp + 0x1c0]
xor eax, eax
lea rcx, [0x00850ab0]
xchg dword [rcx], eax
mov byte [0x00850a5c], 0
mov eax, 2
lea rcx, [0x00850ab8]
xchg dword [rcx], eax
mov eax, dword [0x00850ab8]
cmp eax, 1
jne 0x419191
mov eax, 1
mov byte [0x00850df4], al
test al, al
je 0x419185
mov eax, 1
mov byte [0x00850df0], al
mov rax, qword [0x00854000]
mov qword [0x00835dd0], rax
call fcn.00456740
mov rax, qword [rsp]
mov qword [rsp + 0x48], rax
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rax + 0x30]
inc dword [rcx + 0xd0]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x178], rcx
test byte [rax], al
mov qword [rcx + 0xc8], 5
mov eax, dword [0x00850df0]
lea rdi, [rcx + 0xc0]
mov qword [rsp + 0x198], rdi
test eax, eax
jne 0x419174
lea rax, [0x006ab660]
mov qword [rcx + 0xc0], rax
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov qword [rsp + 0x188], rax
mov rcx, qword [rax + 0x30]
mov byte [rcx + 0xf9], 2
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x90]
mov qword [rsp + 0x180], rcx
mov qword [rsp], rcx
movabs rdx, 0x400000002
mov qword [rsp + 8], rdx
call fcn.0042ecf0
mov rax, qword [rsp + 0x180]
mov qword [rax + 0xb0], 0x12
mov ecx, dword [0x00850df0]
lea rdi, [rax + 0xa8]
test ecx, ecx
jne 0x419163
lea rcx, [0x006aee44]
mov qword [rax + 0xa8], rcx
lea rax, [0x00450130]
mov qword [rsp + 0x1b0], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x1b0]
mov qword [rsp], rcx
call fcn.004527f0
lea rax, [0x00450180]
mov qword [rsp + 0x1a0], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp], rax
call fcn.004527f0
mov rax, qword [rsp + 0x188]
mov rax, qword [rax + 0x30]
mov byte [rax + 0xf9], 0
mov rax, qword [rsp + 0x180]
mov qword [rsp], rax
movabs rax, 0x200000004
mov qword [rsp + 8], rax
call fcn.0042ecf0
movzx eax, byte [0x00840930]
test al, al
jne 0x419159
mov rcx, qword [rsp + 0x178]
mov qword [rcx + 0xc8], 0
mov edx, dword [0x00850df0]
test edx, edx
jne 0x419145
mov qword [rcx + 0xc0], 0
mov eax, dword [0x00850ab8]
test eax, eax
jne 0x41919c
movsd xmm0, qword [rsp + 0x1d0]
movsd qword [rsp], xmm0
call fcn.004179e0
call fcn.00456740
mov rax, qword [rsp]
mov qword [rsp + 0x68], rax
call fcn.00456780
mov rax, qword [rsp]
movsxd rcx, dword [rsp + 8]
mov rdx, qword [0x00835dc0]
mov rbx, qword [rsp + 0x68]
mov rsi, rbx
sub rbx, rdx
add rbx, qword [0x00835db8]
mov qword [0x00835db8], rbx
mov qword [0x00835db0], rsi
imul rax, rax, 0x3b9aca00
add rax, rcx
lea rcx, [0x00852970]
mov rdx, rax
xchg qword [rcx], rax
lea rax, [0x00853fe0]
mov rcx, rsi
xchg qword [rax], rsi
movzx eax, byte [0x00853980]
mov rbx, qword [0x00835db8]
lea rsi, [0x00852980]
mov qword [rsi + rax*8], rbx
movzx eax, byte [0x00853980]
lea rbx, [0x00853180]
mov qword [rbx + rax*8], rdx
mov rax, qword [0x00852978]
add rax, qword [0x00835db8]
mov qword [0x00852978], rax
movsxd rax, dword [0x00835d8c]
mov rdx, qword [0x00835da0]
sub rdx, qword [0x00835d98]
imul rdx, rax
mov qword [rsp + 0x40], rdx
mov rbx, qword [0x00851158]
add rbx, qword [0x00851150]
add rbx, qword [0x00851160]
mov rsi, qword [0x00835db0]
sub rsi, qword [0x00835da8]
imul rax, rsi
mov qword [rsp + 0x70], rax
add rbx, rdx
add rbx, rax
add rbx, qword [0x00835d50]
mov qword [0x00835d50], rbx
mov rsi, qword [0x00835798]
sub rcx, rsi
movsxd rsi, dword [0x00850abc]
imul rsi, rcx
add rsi, qword [0x008357a0]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
xorps xmm1, xmm1
cvtsi2sd xmm1, rsi
divsd xmm0, xmm1
movsd qword [0x00853988], xmm0
mov qword [0x00835094], 0
movzx ecx, byte [0x00835d48]
test cl, cl
je 0x418a16
inc dword [0x00853984]
lea rax, [0x00835d78]
mov qword [rsp], rax
call fcn.0040eda0
inc dword [0x00853980]
mov rax, qword [0x00835d80]
mov qword [rsp], rax
call fcn.00432c10
mov qword [0x00835d80], 0
lea rax, [0x00835d78]
mov qword [rsp], rax
call fcn.0040ef90
call fcn.00424990
lea rax, [0x006d55c0]
mov qword [rsp], rax
call fcn.004527f0
call fcn.00424a10
call fcn.00420b80
lea rax, [0x006d5598]
mov qword [rsp], rax
call fcn.004527f0
mov eax, dword [0x00850ee0]
test eax, eax
jle 0x4190be
movsd xmm0, qword [0x006f56b8]
mulsd xmm0, qword [0x00853988]
movsd qword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc0], 0
xorps xmm1, xmm1
movups xmmword [rsp + 0xc8], xmm1
call fcn.0042bc80
mov rax, qword [0x00835d98]
sub rax, qword [0x00850c40]
mov rcx, rax
movabs rax, 0x8637bd05af6c69b6
mul rcx
shr rdx, 0x13
mov qword [rsp + 0x18], rdx
lea rax, [rsp + 0xc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0x18
mov qword [rsp + 0x10], 0x18
mov qword [rsp + 0x20], 3
call fcn.0041a100
mov eax, dword [0x00853980]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
lea rsi, [rsp + 0x130]
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rcx
call fcn.00441e40
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x190], rcx
call fcn.0042bc80
lea rax, [0x006ab232]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0042c640
mov rax, qword [rsp + 0xb0]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006aafc4]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
mov rax, qword [rsp + 0x190]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 8], rax
call fcn.0042c640
lea rax, [0x006ab08e]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
movsd xmm0, qword [rsp + 0xb8]
cvttsd2si rax, xmm0
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006ab0c4]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [0x00835d98]
mov qword [rsp + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rcx, qword [0x00835da0]
mov qword [rsp + 0xd8], rcx
mov rcx, qword [0x00835da8]
mov qword [rsp + 0xe0], rcx
mov rcx, qword [0x00835db0]
mov qword [rsp + 0xe8], rcx
xor ecx, ecx
jmp 0x418d26
lea rcx, [rsp + 0xc0]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x18
mov qword [rsp + 0x10], 0x18
sub rdx, rax
mov qword [rsp + 0x18], rdx
call fcn.0041a1e0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
lea rbx, [rsp + 0x110]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
call fcn.00441e40
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x190], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0xa8], rcx
call fcn.0042bc80
mov rax, qword [rsp + 0x190]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 8], rax
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [rsp + 0x78]
lea rcx, [rax + 1]
xorps xmm0, xmm0
mov rax, qword [rsp + 0x58]
cmp rcx, 3
jge 0x418d7e
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + rcx*8 + 0xd8]
mov qword [rsp + 0x58], rdx
test rcx, rcx
je 0x418c79
mov qword [rsp + 0x50], rax
call fcn.0042bc80
lea rax, [0x006aaf98]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
jmp 0x418c79
call fcn.0042bc80
lea rax, [0x006ac842]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0042c640
call fcn.0042bd10
mov qword [rsp + 0x150], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x168], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x150], rax
mov rax, qword [0x00851150]
mov qword [rsp + 0x158], rax
mov rax, qword [0x00851160]
add rax, qword [0x00851158]
mov qword [rsp + 0x160], rax
mov rax, qword [0x00851168]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x170], rax
xor eax, eax
jmp 0x418ebe
lea rax, [rsp + 0xc0]
mov qword [rsp], rax
mov qword [rsp + 8], 0x18
mov qword [rsp + 0x10], 0x18
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rcx
call fcn.0041a1e0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
lea rbx, [rsp + 0xf0]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
call fcn.00441e40
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x190], rcx
call fcn.0042bc80
mov rax, qword [rsp + 0x190]
mov qword [rsp], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 8], rax
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [rsp + 0x80]
inc rax
cmp rax, 5
jge 0x418f4f
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + rax*8 + 0x150]
mov qword [rsp + 0x60], rcx
cmp rax, 2
jne 0x418f0b
call fcn.0042bc80
lea rax, [0x006aaf9c]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c640
call fcn.0042bd10
jmp 0x418e15
cmp rax, 3
je 0x418ee3
test rax, rax
je 0x418e15
call fcn.0042bc80
lea rax, [0x006aaf98]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
jmp 0x418e15
movsxd rax, dword [0x00835d90]
mov qword [rsp + 0xa0], rax
mov rcx, qword [0x00835dc8]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [0x00835dd0]
mov qword [rsp + 0x98], rdx
mov rbx, qword [0x00835dd8]
mov qword [rsp + 0x90], rbx
mov rsi, qword [0x00835de0]
mov qword [rsp + 0x88], rsi
call fcn.0042bc80
lea rax, [0x006ac12e]
mov qword [rsp], rax
mov qword [rsp + 8], 9
call fcn.0042c640
mov rax, qword [rsp + 0xb0]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006aafde]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
mov rax, qword [rsp + 0x98]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006aafde]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
mov rax, qword [rsp + 0x90]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ab4bc]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0042c640
mov rax, qword [rsp + 0x88]
shr rax, 0x14
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ac3ec]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0042c640
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006aafc6]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
call fcn.0042bd10
movzx eax, byte [0x00835d48]
test al, al
jne 0x41911d
call fcn.0042bc80
call fcn.0042bf30
call fcn.0042bd10
call fcn.0042bd10
lea rax, [0x007f7140]
mov qword [rsp], rax
call fcn.0043c2e0
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x178]
mov edx, dword [rcx + 0xd0]
lea ebx, [rdx - 1]
mov dword [rcx + 0xd0], ebx
cmp edx, 1
jne 0x41910d
movzx ecx, byte [rax + 0xc0]
test cl, cl
je 0x41910d
mov qword [rax + 0x10], 0xfffffffffffffade
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
call fcn.0042bc80
lea rax, [0x006ac0e6]
mov qword [rsp], rax
mov qword [rsp + 8], 9
call fcn.0042c640
call fcn.0042bd10
jmp 0x4190aa
mov rdi, qword [rsp + 0x198]
xor eax, eax
call fcn.004553b0
jmp 0x41889c
call fcn.004484b0
jmp 0x418870
lea rax, [0x006aee44]
call fcn.004553b0
jmp 0x4187d4
lea rax, [0x006ab660]
call fcn.004553b0
jmp 0x418750
movzx eax, byte [0x00850df5]
jmp 0x4186d0
cmp eax, 2
sete al
jmp 0x4186bd
lea rax, [0x006b33cb]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1d
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.00418650