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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x418937
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
mov eax, dword [0x008b4440]
test eax, eax
jg 0x41892d
mov eax, dword [0x008b4074]
cmp eax, 2
jne 0x418912
mov rax, qword [rsp + 0x48]
mov qword [0x00898448], rax
call fcn.004193b0
mov qword [0x00898450], 0
call fcn.0042e0d0
mov eax, dword [rsp]
mov dword [0x00898440], eax
mov eax, dword [0x008b4460]
test eax, eax
jne 0x418906
mov rax, qword [0x008983e0]
test rax, rax
jne 0x418906
mov rax, qword [0x00898470]
mov rcx, qword [0x00898478]
add rax, rcx
mov rcx, qword [0x00898480]
add rax, rcx
mov rcx, qword [0x00898488]
add rax, rcx
mov rcx, qword [0x00898490]
add rax, rcx
test rax, rax
jne 0x418906
mov byte [0x00898460], 0
movzx eax, byte [0x008a3ef0]
test al, al
jne 0x4188fc
mov eax, dword [0x00898440]
cmp eax, 1
ja 0x4188d5
call fcn.00419060
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add rax, 0x1228
mov qword [rsp + 0x30], rax
movzx ecx, byte [0x00898460]
test cl, cl
je 0x4188be
mov qword [rsp], rax
mov qword [rsp + 8], 0
call fcn.0041bce0
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0041f290
mov eax, dword [0x008b444c]
test eax, eax
jg 0x4188b4
mov rax, qword [0x008983e0]
test rax, rax
jne 0x418899
mov eax, dword [0x00898440]
cmp eax, 1
ja 0x418884
mov byte [0x00898498], 1
xor eax, eax
movsxd rcx, dword [0x008b4078]
cmp rax, rcx
jge 0x418556
cmp rax, 0x101
jae 0x41887d
lea rcx, [0x00898aa0]
mov rdx, qword [rcx + rax*8]
test byte [rdx], al
lea rbx, [rdx + 0x1228]
test byte [rbx], al
mov rbx, qword [rdx + 0x1228]
test rbx, rbx
jne 0x418857
mov ebx, 1
test bl, bl
je 0x41883c
mov rbx, qword [rdx + 0x1240]
test rbx, rbx
jne 0x418821
mov rdx, qword [rdx + 0x1238]
test rdx, rdx
jne 0x418821
inc rax
movsxd rcx, dword [0x008b4078]
cmp rax, rcx
jl 0x4184e8
movzx eax, byte [0x008a3ef0]
test al, al
jne 0x418817
call fcn.00424810
mov rax, qword [0x00898430]
mov qword [0x008b7600], rax
test rax, rax
jl 0x4187f9
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm1, qword [0x007ebab8]
movsd xmm2, qword [0x006efee0]
addsd xmm2, xmm1
mulsd xmm0, xmm2
movsd xmm1, qword [0x006eff20]
ucomisd xmm1, xmm0
jbe 0x4187de
cvttsd2si rcx, xmm0
mov qword [0x008b75e8], rcx
mov rdx, qword [0x007e32c8]
cmp rcx, rdx
jae 0x4185d2
mov qword [0x008b75e8], rdx
mov rcx, qword [0x008b75e8]
test rcx, rcx
jl 0x4186d4
mov rcx, qword [0x00898430]
mov qword [0x008b75f0], rcx
mov rcx, qword [0x007eba60]
mov qword [0x008b75f8], rcx
movsxd rax, dword [0x008b4070]
mov rcx, qword [0x008b75f0]
shl rax, 0x14
mov qword [rsp + 0x28], rax
movabs rdx, 0x47ae147ae147ae15
mul rdx
mov rbx, qword [rsp + 0x28]
add rbx, rdx
rcr rbx, 1
shr rbx, 6
add rcx, rbx
mov rdx, qword [0x008b75e8]
cmp rdx, rcx
jae 0x418647
mov qword [0x008b75e8], rcx
movsxd rax, dword [0x008b4070]
mov rcx, qword [0x008b7600]
imul rax, rcx
mov qword [rsp + 0x28], rax
movabs rdx, 0x47ae147ae147ae15
mul rdx
mov rbx, qword [rsp + 0x28]
add rdx, rbx
rcr rdx, 1
shr rdx, 6
add rcx, rdx
mov qword [0x008b5f68], rcx
mov ecx, dword [0x008b4070]
test ecx, ecx
jge 0x418699
mov qword [0x008b5f68], 0xffffffffffffffff
mov rax, qword [0x008b5f68]
mov rcx, qword [0x008b75e8]
cmp rax, rcx
jae 0x4186b3
mov qword [0x008b5f68], rcx
movzx eax, byte [0x008a3ef0]
test al, al
jne 0x4186c8
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
call fcn.004488f0
call fcn.00448970
jmp 0x4186be
mov rax, qword [0x008b5f68]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x00898430]
mov qword [rsp + 0x20], rcx
mov rdx, qword [0x008b75f0]
mov qword [rsp + 0x18], rdx
mov rbx, qword [0x008984c8]
mov qword [rsp + 0x10], rbx
call fcn.0042b850
lea rax, [0x006d0532]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0042c220
mov rax, qword [rsp + 0x28]
mov qword [rsp], rax
call fcn.0042bf00
lea rax, [0x006d1a34]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0042c220
mov rax, qword [rsp + 0x20]
mov qword [rsp], rax
call fcn.0042bf00
lea rax, [0x006d0f89]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0042c220
mov rax, qword [rsp + 0x18]
mov qword [rsp], rax
call fcn.0042bf00
lea rax, [0x006d2e19]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.0042c220
mov rax, qword [rsp + 0x10]
mov qword [rsp], rax
call fcn.0042bf00
lea rax, [0x006cf2b1]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c220
call fcn.0042b8f0
lea rax, [0x006d4339]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.0042aea0
ud2
subsd xmm0, xmm1
cvttsd2si rcx, xmm0
movabs rdx, 0x8000000000000000
or rcx, rdx
jmp 0x4185b8
mov rcx, rax
and rax, 1
shr rcx, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
jmp 0x418589
call fcn.00447ee0
jmp 0x418565
lea rax, [0x006dc859]
mov qword [rsp], rax
mov qword [rsp + 8], 0x30
call fcn.0042aea0
ud2
lea rax, [0x006dc598]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2f
call fcn.0042aea0
ud2
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x418876
mov rbx, qword [rdx + 0x1230]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
sete bl
jmp 0x41851f
xor ebx, ebx
jmp 0x41851f
call fcn.004293e0
ud2
lea rax, [0x00898458]
mov qword [rsp], rax
call fcn.0040da40
jmp 0x4184d3
lea rax, [0x006d2378]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0042aea0
ud2
call fcn.00419620
jmp 0x4184b4
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0041bce0
jmp 0x418498
lea rax, [0x00898458]
test byte [rax], al
mov qword [0x00898458], 0
mov eax, dword [0x00898440]
mov dword [rsp], eax
call fcn.0042e210
jmp 0x41844a
call fcn.00447e70
jmp 0x41843b
mov byte [0x00898460], 1
jmp 0x41842c
lea rax, [0x006de0a0]
mov qword [rsp], rax
mov qword [rsp + 8], 0x38
call fcn.0042aea0
ud2
call fcn.00424620
jmp 0x418396
call fcn.00452210
jmp fcn.00418360