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

Disassembly:
lea r12, [rsp - 0x1a0]
cmp r12, qword [r14 + 0x10]
jbe 0x64afbe
sub rsp, 0x220
mov qword [rsp + 0x218], rbp
lea rbp, [rsp + 0x218]
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], rdi
mov r13, 0
mov qword [rsp + 0x210], r13
mov byte [rsp + 0x2c], 0
nop
mov rdx, rsi
and esi, 0x1f
mov qword [rsp + 0x68], rsi
cmp rsi, 0x14
ja 0x64a734
lea r10, [rsi - 0x12]
cmp r10, 1
jbe 0x64a75a
cmp rsi, 0x14
je 0x64a746
jmp 0x64af72
cmp rsi, 0x16
jbe 0x64a75a
nop word [rax + rax]
cmp rsi, 0x17
jne 0x64a750
cmp qword [rdi], 0
setne r10b
jmp 0x64a777
cmp rsi, 0x1a
jne 0x64af72
bt edx, 9
nop
jb 0x64a7a2
bt edx, 7
jae 0x64a76d
mov r10, qword [rdi]
jmp 0x64a770
mov r10, rdi
test r10, r10
setne r10b
test r10b, r10b
jne 0x64a7a2
test byte [rbx], al
mov rax, rbx
lea rbx, [0x00719c85]
mov ecx, 4
call fcn.004d1420
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x2f], r9b
mov byte [rsp + 0x2e], r8b
mov r10, qword [rbx + 0x68]
inc r10
mov qword [rbx + 0x68], r10
nop dword [rax]
cmp r10, 0x3e8
ja 0x64a7f1
xor r10d, r10d
jmp 0x64a8ff
mov rax, rcx
mov rbx, rdi
mov rcx, rdx
call fcn.00491760
mov qword [rsp + 0x70], rax
lea rdx, [0x006bb700]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
mov rsi, qword [rsp + 0x230]
mov rbx, qword [rsi + 0x70]
lea rcx, [rsp + 0xe8]
lea rax, [0x006cba60]
call fcn.0040ecc0
test bl, bl
je 0x64a852
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x64ae10
jmp 0x64af50
lea rdx, [0x006bb700]
mov qword [rsp + 0xe8], rdx
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0xf0], rsi
mov rdi, qword [rsp + 0x230]
mov rbx, qword [rdi + 0x70]
lea rax, [0x006cba60]
lea rcx, [rsp + 0xe8]
call fcn.0040f100
test byte [rax], al
mov rax, qword [rsp + 0x230]
mov rdx, qword [rax + 0x70]
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
lea rsi, [0x0064b0c0]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], rdx
lea rdx, [0x006bb700]
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x110], rdx
lea rdx, [rsp + 0xf8]
mov qword [rsp + 0x210], rdx
mov byte [rsp + 0x2c], 1
mov rbx, rax
mov r10d, 1
mov byte [rsp + 0x2d], r10b
mov rax, rbx
mov ebx, 0x7b
call fcn.004d19c0
mov rcx, qword [rsp + 0x68]
cmp rcx, 0x17
jne 0x64a92a
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + 8]
jmp 0x64a948
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x60]
nop
call fcn.0048f300
mov rsi, rax
mov qword [rsp + 0x30], rsi
lea rax, [0x006ec240]
mov rbx, rsi
mov rcx, rbx
call fcn.0044a940
mov qword [rsp + 0xa8], rax
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x15
je 0x64a985
mov rax, qword [rsp + 0x60]
call fcn.0048fc80
mov rax, qword [rsp + 0xa8]
movups xmmword [rsp + 0x198], xmm15
lea rdi, [rsp + 0x1a0]
lea rdi, [rdi - 0x10]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466186
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x198], rcx
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x1a0], rdx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x1a8], rbx
xor esi, esi
jmp 0x64a9ec
mov rsi, qword [rsp + 0x40]
inc rsi
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x198]
call fcn.0048fb80
nop
test al, al
je 0x64ab05
lea rax, [rsp + 0x198]
call fcn.0048fa00
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
nop
cmp rdx, rsi
jae 0x64ae05
shl rdx, 6
mov qword [rsp + 0x58], rdx
mov r9, qword [rsp + 0xa8]
mov qword [r9 + rdx + 0x10], rcx
lea rcx, [r9 + rdx]
mov qword [rsp + 0xa0], rcx
lea rdi, [r9 + rdx]
lea r10, [r9 + rdx]
lea r10, [r10 + 8]
lea r11, [r9 + rdx]
lea r11, [r11 + 0x18]
mov qword [rsp + 0x98], r11
lea r12, [r9 + rdx]
lea r12, [r12 + 0x20]
mov qword [rsp + 0x90], r12
cmp dword [0x00a04ed0], 0
nop
jne 0x64aa8d
mov qword [r9 + rdx], rax
mov qword [r9 + rdx + 8], rbx
jmp 0x64aa9a
call fcn.00465a20
mov rdi, r10
call fcn.00465b60
lea rax, [rsp + 0x198]
call fcn.0048fac0
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xa8]
mov qword [rsi + rdx + 0x28], rcx
cmp dword [0x00a04ed0], 0
jne 0x64aace
mov qword [rsi + rdx + 0x18], rax
mov qword [rsi + rdx + 0x20], rbx
jmp 0x64aae8
mov rdi, qword [rsp + 0x98]
call fcn.00465a20
mov rdi, qword [rsp + 0x90]
call fcn.00465b60
mov rax, qword [rsp + 0xa0]
call fcn.0064c8c0
test rax, rax
je 0x64a9e4
nop
jmp 0x64acbf
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.0040b1a0
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
lea rdx, [0x0064b020]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rdx
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
mov rbx, rax
lea rcx, [rsp + 0x118]
lea rax, [0x006b72a0]
call fcn.0046d320
mov rdx, qword [rsp + 0xa8]
xor eax, eax
jmp 0x64ac0a
mov rbx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x230]
movzx edi, byte [rsp + 0x2f]
call fcn.0064cb40
mov rax, qword [rsp + 0x230]
mov ebx, 0x3a
call fcn.004d19c0
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rdx]
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x180]
mov rax, qword [rsp + 0x230]
movzx r8d, byte [rsp + 0x2f]
mov r9, rsi
movzx esi, byte [rsp + 0x2e]
call r9
mov rdx, qword [rsp + 0xc0]
add rdx, 0x40
mov rax, qword [rsp + 0x38]
inc rax
mov rsi, qword [rsp + 0x30]
cmp rax, rsi
jge 0x64ac70
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xc0], rdx
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x168], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x178], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rsp + 0x188], xmm0
test rax, rax
jle 0x64ab86
mov rax, qword [rsp + 0x230]
mov ebx, 0x2c
call fcn.004d19c0
jmp 0x64ab86
mov rax, qword [rsp + 0x230]
mov ebx, 0x7d
nop dword [rax]
call fcn.004d19c0
mov rcx, qword [rsp + 0x230]
dec qword [rcx + 0x68]
movzx ecx, byte [rsp + 0x2d]
test cl, 1
je 0x64acaf
and ecx, 0xfffffffe
mov byte [rsp + 0x2c], cl
mov rdx, qword [rsp + 0x210]
mov rax, qword [rdx]
call rax
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x64ade5
bt ecx, 9
nop dword [rax + rax]
jb 0x64ade5
lea rcx, [0x007f7248]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0xf8]
mov rax, rdx
nop
call rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x78]
call rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x50], rbx
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x50]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rax
lea rax, [0x00728f82]
mov ebx, 0x24
lea rcx, [rsp + 0x138]
mov edi, 2
mov rsi, rdi
call fcn.004c2160
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
lea rax, [0x006df480]
lea rbx, [rsp + 0xc8]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x006df480]
nop
call fcn.00436580
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
call fcn.00491600
mov rcx, rax
mov rdx, rbx
jmp 0x64acf5
mov rax, rdx
mov rcx, rsi
call fcn.00465ec0
bt ecx, 9
jb 0x64af50
lea rax, [0x007f7248]
mov rdx, qword [rsp + 0xb8]
movups xmmword [rsp + 0xd8], xmm15
test rax, rax
je 0x64ae3b
mov rax, qword [rax + 8]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rdx
lea rax, [0x00723b63]
mov ebx, 0x1a
lea rcx, [rsp + 0xd8]
mov edi, 1
mov rsi, rdi
call fcn.004c51a0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x006e1be0]
call fcn.0040daa0
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x10], rdx
cmp dword [0x00a04ed0], 0
jne 0x64af27
mov rcx, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x20], rcx
cmp dword [0x00a04ed0], 0
jne 0x64af14
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
movups xmmword [rsp + 0xc8], xmm15
lea rcx, [0x007f1bc0]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
lea rax, [0x006df480]
lea rbx, [rsp + 0xc8]
nop
call fcn.0040ae80
mov rbx, rax
lea rax, [0x006df480]
call fcn.00436580
lea rdi, [rax + 0x18]
mov rcx, qword [rsp + 0x88]
call fcn.00465b20
jmp 0x64aed0
mov rdi, rax
mov rcx, qword [rsp + 0xb8]
call fcn.00465b20
lea rcx, [rax + 8]
mov rdi, rcx
mov rdx, qword [rsp + 0xc0]
call fcn.00465b40
jmp 0x64aeb2
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
call fcn.00491600
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
jmp 0x64ae29
lea rax, [0x006e4520]
call fcn.0040daa0
mov qword [rax + 8], 0x13
lea rcx, [0x0071fce2]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x006c9120]
call fcn.00436580
nop
call fcn.00435a20
mov rbp, qword [rsp + 0x218]
add rsp, 0x220
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], r9b
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
jmp fcn.0064a6c0