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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0xc0]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x40a0d8
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
mov rax, qword [rsp + 0x140]
mov qword [rsp], rax
call fcn.004548a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.004550e0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x48], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x28
call fcn.00402f80
mov rax, qword [rsp + 0x18]
nop dword [rax]
test rax, rax
jl 0x40a085
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0x48]
cmp rcx, rdx
ja 0x40a080
lea rbx, [rax + 2]
nop
cmp rbx, rdx
jl 0x409d32
mov rsi, qword [rsp + 0xa0]
jmp 0x40a025
ja 0x40a074
nop dword [rax + rax]
cmp rcx, rbx
ja 0x40a069
mov rsi, qword [rsp + 0xa0]
movzx edi, byte [rax + rsi - 1]
movzx r8d, byte [rax + rsi]
shl r8d, 8
or edi, r8d
cmp di, 0x282e
jne 0x40a025
movzx edi, byte [rax + rsi + 1]
cmp dil, 0x2a
jne 0x40a025
mov qword [rsp + 0x38], rcx
sub rdx, rax
mov qword [rsp + 0x50], rdx
lea rax, [rdx - 2]
mov qword [rsp + 0x40], rax
mov rcx, rax
neg rax
sar rax, 0x3f
and rax, rbx
add rax, rsi
mov qword [rsp + 0x98], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x29
call fcn.00402f80
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x409fcf
lea rcx, [rax + 2]
mov rdx, qword [rsp + 0x40]
cmp rdx, rcx
jg 0x409de6
mov rbx, qword [rsp + 0x98]
jmp 0x409f7f
jb 0x409fca
cmp rax, rcx
ja 0x409fc5
mov rbx, qword [rsp + 0x98]
movzx esi, word [rbx + rax]
cmp si, 0x2e29
jne 0x409f7f
lea rdi, [rsp + 0xa8]
xorps xmm0, xmm0
lea rdi, [rdi - 0x30]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046d042
mov rbp, qword [rbp]
lea rdx, [0x0065c6c3]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], 0xd
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0xc0], rdx
lea rdx, [0x0065a2a5]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], 1
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], 1
mov rdx, qword [rsp + 0x50]
sub rdx, rax
add rdx, 0xfffffffffffffffc
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rdx, rcx
lea rcx, [rbx + rdx]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rsi
lea rcx, [0x0065dfef]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], 0x13
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], rax
lea rax, [0x0065ae66]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 8
mov qword [rsp], 0
lea rax, [rsp + 0xa8]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 9
mov qword [rsp + 0x18], 9
call fcn.00451b60
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
nop dword [rax]
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x0061e920]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00438920
mov qword [rsp], 0
lea rax, [0x00667268]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x2e
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdx
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
nop
call fcn.00439220
call fcn.0046ce80
call fcn.0046ce00
lea rax, [rsp + 0x58]
mov qword [rsp], rax
lea rax, [0x0065e56d]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x13
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
nop dword [rax]
call fcn.00439220
mov qword [rsp], 0
lea rax, [0x006679c6]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x31
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.00439220
mov rax, rcx
mov rcx, rbx
call fcn.0046ce80
mov rcx, rbx
call fcn.0046ce00
nop dword [rax]
call fcn.0046ce00
lea rax, [rsp + 0x78]
mov qword [rsp], rax
lea rax, [0x0065e55a]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x13
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.00451e60
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.00439220
nop
call fcn.0046abe0
nop dword [rax]
jmp fcn.00409c60