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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 8]
cmp rax, qword [rcx + 0x10]
jbe 0x408b45
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rdi + 0x18]
movzx esi, byte [rbx + 8]
test sil, 4
jne 0x408b2a
mov qword [rsp + 0x60], rbx
mov rsi, qword [rdi + 0x10]
mov qword [rsp + 0x50], rsi
mov r8, qword [rsi + 0x30]
mov r9, qword [rdi + 0x50]
mov r10, qword [rdi + 0x28]
lea r11, [rdi + 0x28]
mov qword [rsp + 0x78], r11
movzx r12d, byte [rdi + 0x4b]
mov r13, qword [rdi + 0x58]
mov r8, qword [r8 + 0x18]
mov qword [rsp + 0x68], r8
jmp 0x4089fc
inc r12d
mov r11, rax
cmp r12b, 8
jae 0x4089ec
test byte [r10], al
movzx r14d, byte [rdi + 0x48]
add r14d, r12d
mov r15d, r14d
and r14d, 7
mov rax, r11
movzx r11d, byte [r10 + r14]
test r11b, r11b
je 0x40866a
cmp r11b, 1
je 0x40866a
and r15d, 7
movzx ecx, byte [rsi + 0x50]
mov r11, r15
imul r15, rcx
mov rdx, r9
movzx r9d, byte [rsi + 0x51]
lea r15, [r15 + r10 + 8]
test r9b, r9b
je 0x4089e4
mov r9, qword [r15]
mov byte [rsp + 0x2f], r12b
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x58], r9
movzx r15d, byte [rsi + 0x52]
imul r11, r15
lea rcx, [r11 + rcx*8]
lea rcx, [rcx + r10 + 8]
mov qword [rsp + 0x48], rcx
cmp r13, 0xffffffffffffffff
je 0x4089dc
movzx r10d, byte [rbx + 8]
test r10b, 8
jne 0x4089dc
movzx r10d, byte [rsi + 0x56]
test r10b, r10b
je 0x40893c
mov rdx, qword [r8]
mov eax, dword [rbx + 0xc]
mov qword [rsp + 8], rax
mov qword [rsp], r9
mov rax, qword [rdx]
call rax
mov rdi, qword [rsp + 0x90]
movzx ecx, byte [rdi + 0x4a]
mov eax, 1
shl rax, cl
dec rax
and rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
je 0x40877a
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
movzx r12d, byte [rsp + 0x2f]
mov r13, rcx
jmp 0x40866a
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
movzx ebx, byte [rax + rbx]
cmp bl, 2
je 0x408796
cmp bl, 3
jne 0x4088cb
mov rbx, qword [rsp + 0x50]
movzx esi, byte [rbx + 0x56]
test sil, sil
je 0x40889c
mov qword [rsp], rbx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 8], rax
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x10], rcx
call fcn.004077f0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
jne 0x40880a
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
movzx r12d, byte [rsp + 0x2f]
mov r13, qword [rsp + 0x30]
jmp 0x40866a
mov edx, dword [0x00850df0]
mov rdi, qword [rsp + 0x90]
lea rbx, [rdi + 8]
test edx, edx
jne 0x408881
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rdi + 0x50], rcx
mov rcx, qword [rdi + 0x28]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x40884c
mov ecx, dword [0x00850df0]
test ecx, ecx
jne 0x40886f
mov qword [rdi + 0x28], rax
movzx eax, byte [rsp + 0x2f]
inc eax
mov byte [rdi + 0x4b], al
mov rax, qword [rsp + 0x30]
mov qword [rdi + 0x58], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rcx, rdi
mov rdi, qword [rsp + 0x78]
call fcn.004553b0
mov rdi, rcx
jmp 0x40884c
call fcn.004553b0
mov rax, rdi
mov rdi, rbx
mov rdx, rax
mov rax, rcx
call fcn.004553b0
mov rdi, rdx
jmp 0x408827
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
mov qword [rsp], rcx
mov qword [rsp + 8], rcx
mov rbx, qword [rdx]
call rbx
movzx eax, byte [rsp + 0x10]
test al, al
je 0x4088cb
mov rbx, qword [rsp + 0x50]
jmp 0x4087a8
mov ecx, dword [0x00850df0]
test ecx, ecx
jne 0x408925
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x50]
movzx ecx, byte [rcx + 0x53]
test cl, cl
je 0x40891e
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov ebx, dword [0x00850df0]
lea rdi, [rdx + 8]
test ebx, ebx
jne 0x408914
mov qword [rdx + 8], rcx
mov rdi, rdx
jmp 0x408827
mov rax, rcx
call fcn.004553b0
jmp 0x40890c
mov rcx, qword [rsp + 0x48]
jmp 0x4088fa
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x58]
call fcn.004553b0
mov rdx, rdi
jmp 0x4088e5
mov rdx, qword [r8 + 8]
mov qword [rsp], r9
mov qword [rsp + 8], r9
mov rax, qword [rdx]
call rax
movzx eax, byte [rsp + 0x10]
test al, al
jne 0x4089c8
mov rdi, qword [rsp + 0x90]
movzx ebx, byte [rdi + 0x4a]
lea ecx, [rbx - 1]
mov rbx, qword [rsp + 0x30]
mov rsi, rbx
shr rbx, cl
cmp cl, 0x40
sbb r8, r8
and rbx, r8
mov r8, qword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
movzx r9d, byte [rax + r8]
and r9d, 1
cmp rbx, r9
je 0x4089c0
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
movzx r12d, byte [rsp + 0x2f]
mov r13, qword [rsp + 0x30]
jmp 0x40866a
mov rcx, rsi
jmp 0x40877a
mov rbx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
jmp 0x408714
mov rcx, r13
jmp 0x40877a
mov r9, r15
jmp 0x4086c7
movzx r14d, word [rsi + 0x54]
lea r14, [r10 + r14 - 8]
mov r10, qword [r14]
xor r12d, r12d
test r10, r10
je 0x408a15
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x70], r10
jmp 0x408670
mov r10, qword [rdi + 0x40]
cmp r9, r10
jne 0x408a2c
movzx r10d, byte [rdi + 0x49]
test r10b, r10b
jne 0x408af5
mov r10, qword [rbx + 0x18]
test r10, r10
je 0x408adf
movzx r12d, byte [rdi + 0x4a]
movzx r13d, byte [rbx + 9]
cmp r12b, r13b
jne 0x408adf
mov r12, qword [rdi + 0x18]
movzx r13d, byte [r12 + 9]
movzx r12d, byte [r12 + 8]
test r12b, 8
je 0x408ada
mov ecx, r13d
mov r12d, 1
shl r12, cl
dec r12
and r12, r9
movzx r13d, word [rsi + 0x54]
imul r12, r13
lea r14, [r12 + r10]
test byte [r14], al
movzx r10d, byte [r12 + r10]
dec r10d
cmp r10b, 3
jae 0x408ad2
imul r13, r9
add r13, qword [rdi + 0x20]
mov rax, 0xffffffffffffffff
inc r9
movzx ecx, byte [rdi + 0x4a]
mov r10d, 1
shl r10, cl
cmp r9, r10
jne 0x408acd
mov byte [rdi + 0x49], 1
xor ecx, ecx
xor r12d, r12d
mov r9, rcx
mov r10, r13
mov r13, rax
jmp 0x408a01
mov rcx, r9
jmp 0x408abc
mov rax, r9
mov r13, r14
jmp 0x408aa1
dec r13d
jmp 0x408a62
movzx r13d, word [rsi + 0x54]
imul r13, r9
add r13, qword [rdi + 0x20]
mov rax, 0xffffffffffffffff
jmp 0x408aa1
mov ecx, dword [0x00850df0]
lea rdx, [rdi + 8]
test ecx, ecx
jne 0x408b19
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
xor eax, eax
call fcn.004553b0
mov rdi, rdx
call fcn.004553b0
jmp 0x408b09
lea rax, [0x006b62bc]
mov qword [rsp], rax
mov qword [rsp + 8], 0x26
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.004085e0