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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf08]
sub rsp, 0xfd0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x180036080]
xor rax, rsp
mov qword [rbp + 0xea0], rax
mov r13, r8
mov rbx, rdx
mov rdi, rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r15w
lea esi, [r15 + 1]
xor edx, edx
mov r8d, 0xbb8
lea rcx, [rbp + 0x2e0]
call fcn.1800242f0
lea rdx, str.Qfefqfq9
lea rcx, [rbp + 0x20]
call fcn.1800013cc
mov rax, qword [rdi]
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.Mozilla_5.0
call rax
mov r12, rax
mov r10, qword [rdi + 0x20]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call r10
mov r14, rax
test rax, rax
je 0x1800026fc
cmp byte [rbp + 0x2e0], 0x3c
je 0x1800026f9
mov ebx, 0x7d0
mov dword [rbp - 0x28], ebx
mov r10, qword [rdi + 0x38]
lea r9, [rbp - 0x28]
mov r8d, ebx
lea rdx, [rbp + 0x2e0]
mov rcx, r14
call r10
test eax, eax
je 0x1800026f0
cmp dword [rbp - 0x28], r15d
je 0x1800026fc
cmp byte [rbp + 0x2e0], 0x3c
jne 0x1800026cb
mov esi, r15d
mov rax, r14
neg rax
sbb ecx, ecx
test esi, ecx
je 0x180002d3a
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xor esi, esi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], 7
mov word [rbp - 0x20], si
movups xmmword [rbp + 0x40], xmm0
movdqa xmm1, xmmword [0x1800308f0]
movdqu xmmword [rbp + 0x50], xmm1
mov word [rbp + 0x40], si
lea rcx, [rbp + 0x2e0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x180002745
lea r15, [rbp + 0x2e0]
add r15, rax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
lea rcx, [rbp + 0x2e0]
cmp rcx, r15
jne 0x180002785
mov qword [rbp + 0x10], rsi
mov r15d, 7
mov eax, r15d
mov qword [rbp + 0x18], rax
mov word [rbp], si
jmp 0x18000286b
lea rsi, [rbp + 0x2e0]
and qword [rbp + 0x10], 0
mov ebx, 7
mov qword [rbp + 0x18], rbx
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x180002d90
cmp rax, rbx
jbe 0x18000281d
mov rbx, rax
or rbx, 7
cmp rbx, rcx
jbe 0x1800027d1
mov rbx, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x180002800
mov eax, 0xa
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x180002d8a
add rcx, rcx
cmp rcx, 0x1000
jb 0x180002807
call fcn.18000167c
jmp 0x180002815
test rcx, rcx
je 0x180002813
call fcn.180007d70
jmp 0x180002815
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 0x18], rbx
lea rdx, [rbp]
cmp rbx, 7
cmova rdx, qword [rbp]
movsx ecx, byte [rsi]
mov rax, qword [rbp + 0x10]
mov word [rdx + rax*2], cx
mov rcx, qword [rbp + 0x10]
inc rcx
mov qword [rbp + 0x10], rcx
inc rsi
cmp rsi, r15
je 0x18000284e
mov rbx, qword [rbp + 0x18]
jmp 0x18000281d
lea rax, [rbp]
mov r15d, 7
cmp qword [rbp + 0x18], r15
cmova rax, qword [rbp]
xor esi, esi
mov word [rax + rcx*2], si
mov rax, qword [rbp + 0x18]
lea rbx, [rbp]
cmp rax, r15
cmova rbx, qword [rbp]
lea rdx, str._q_m_q_m_q_m
lea rcx, [rbp + 0x40]
call fcn.1800013cc
mov rax, qword [rdi + 0x40]
lea rdx, [rbp + 0x60]
mov rcx, rbx
call rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180002d1a
lea rdx, [0x180030238]
lea rcx, [rbp - 0x20]
call fcn.1800013cc
or r14, 0xffffffffffffffff
lea rcx, [rbp + 0x8c]
mov rax, r14
inc rax
cmp word [rcx + rax*2], si
jne 0x1800028bf
add rax, qword [rbp - 0x10]
cmp rax, 0x12c
jb 0x1800029b6
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], r15
cmova rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.1800015a4
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.180002218
nop
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], r15
cmova rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.180005040
movups xmm7, xmmword [rax]
movups xmmword [rsp + 0x30], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm6
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
lea rcx, [rbp - 0x20]
call fcn.180001540
movups xmmword [rbp - 0x20], xmm7
movups xmmword [rbp - 0x10], xmm6
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r15
mov word [rsp + 0x30], si
lea rcx, [rsp + 0x30]
call fcn.180001540
nop
lea rcx, [rbp - 0x68]
call fcn.180001540
mov rax, qword [rdi + 0x20]
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], r15
cmova r8, qword [rbp - 0x20]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
mov rdx, r13
mov rcx, r12
call rax
lea rdx, [0x180030238]
lea rcx, [rbp - 0x20]
call fcn.1800013cc
test byte [rbp + 0x60], 0x10
je 0x180002ab6
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rax, [rbp + 0x8c]
mov r8, r14
inc r8
cmp word [rax + r8*2], si
jne 0x1800029dc
lea rdx, [rbp + 0x8c]
lea rcx, [rsp + 0x30]
call fcn.18000549c
nop
mov r9d, 2
lea rcx, [rsp + 0x30]
call fcn.180005bbc
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
mov r8d, 5
lea rdx, str.____
lea rcx, [rsp + 0x50]
call fcn.180005040
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
lea rdx, [rsp + 0x70]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, r15
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x20]
call fcn.180005040
nop
lea rcx, [rsp + 0x70]
call fcn.180001540
nop
lea rcx, [rsp + 0x50]
call fcn.180001540
nop
lea rcx, [rsp + 0x30]
jmp 0x180002c25
mov r8d, dword [rbp + 0x7c]
shl r8, 0x20
mov eax, dword [rbp + 0x80]
add r8, rax
shr r8, 0xa
lea r9, [rbp + 0x2da]
sub r9, 2
movabs rax, 0xcccccccccccccccd
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x180002ad2
lea r8, [rbp + 0x2da]
mov rdx, r9
lea rcx, [rbp - 0x68]
call fcn.180005db8
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rax, [rbp + 0x8c]
mov r8, r14
inc r8
cmp word [rax + r8*2], si
jne 0x180002b39
lea rdx, [rbp + 0x8c]
lea rcx, [rsp + 0x30]
call fcn.18000549c
nop
mov r8d, 1
lea rdx, [0x180030490]
lea rcx, [rsp + 0x30]
call fcn.180005040
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.1800051bc
nop
mov r8, r15
lea rdx, str._KB___
mov rcx, rax
call fcn.180005040
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
lea rdx, [rsp + 0x70]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, r15
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x20]
call fcn.180005040
nop
lea rcx, [rsp + 0x70]
call fcn.180001540
nop
lea rcx, [rbp - 0x48]
call fcn.180001540
nop
lea rcx, [rsp + 0x50]
call fcn.180001540
nop
lea rcx, [rsp + 0x30]
call fcn.180001540
nop
lea rcx, [rbp - 0x68]
call fcn.180001540
mov rax, qword [rdi + 0x30]
mov ecx, 0x64
call rax
mov rax, qword [rdi + 0x48]
lea rdx, [rbp + 0x60]
mov rcx, rbx
call rax
test rax, rax
jne 0x1800028b5
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], r15
cmova rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.1800015a4
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x48]
call fcn.180002218
nop
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], r15
cmova rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.180005040
movups xmm7, xmmword [rax]
movups xmmword [rsp + 0x70], xmm7
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r15
mov word [rax], si
lea rcx, [rbp - 0x20]
call fcn.180001540
movups xmmword [rbp - 0x20], xmm7
movups xmmword [rbp - 0x10], xmm6
movdqa xmm0, xmmword [0x1800308f0]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], si
lea rcx, [rsp + 0x70]
call fcn.180001540
nop
lea rcx, [rbp - 0x48]
call fcn.180001540
mov rax, qword [rdi + 0x20]
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], r15
cmova r8, qword [rbp - 0x20]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
mov rdx, r13
mov rcx, r12
call rax
mov r14, rax
inc dword [rdi + 0x50]
lea rcx, [rbp]
call fcn.180001540
nop
lea rcx, [rbp + 0x40]
call fcn.180001540
nop
lea rcx, [rbp - 0x20]
call fcn.180001540
mov rax, qword [rdi + 0x28]
mov rcx, r14
call rax
mov rax, qword [rdi + 0x28]
mov rcx, r12
call rax
nop
lea rcx, [rbp + 0x20]
call fcn.180001540
mov rcx, qword [rbp + 0xea0]
xor rcx, rsp
call fcn.180007d50
lea r11, [rsp + 0xfd0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180001130
nop
call fcn.1800011c8
int3