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

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x46ba0b
sub rsp, 0x120
mov qword [rsp + 0x118], rbp
lea rbp, [rsp + 0x118]
mov qword [rsp + 0x158], r8
mov qword [rsp + 0x128], rax
mov byte [rsp + 0x148], dil
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x150], rsi
cmp r8, 0x20
je 0x46b378
nop
cmp r8, 0x40
jne 0x46b9f7
call fcn.00468da0
lea rcx, [0x007a3be0]
jmp 0x46b38e
cvtsd2ss xmm0, xmm0
nop dword [rax]
call fcn.00468d80
mov eax, eax
lea rcx, [0x007a3bc0]
mov rdx, qword [rcx]
mov r12, qword [rcx + 8]
lea r13, [r12 + rdx]
cmp r13, 0x40
sbb r15, r15
cmp rdx, 0x40
mov rbx, r15
sbb r15, r15
cmp r12, 0x40
mov rsi, r12
sbb r12, r12
mov rdi, rcx
mov rcx, r13
mov r8, rax
shr rax, cl
mov rcx, rdx
mov r13, r8
shr r8, cl
and r8, r15
mov rcx, rsi
mov r9, r13
mov r13d, 1
shl r13, cl
and r13, r12
lea r12, [r13 - 1]
and r8, r12
mov rcx, rdx
mov edx, 1
shl rdx, cl
and rdx, r15
lea r13, [rdx - 1]
and r13, r9
test rbx, rax
nop dword [rax]
cmp r8, r12
jne 0x46b4fa
test r13, r13
je 0x46b420
mov eax, 3
lea rcx, [0x006445ad]
jmp 0x46b43f
test rbx, rax
je 0x46b433
mov eax, 4
lea rcx, [0x006446b5]
jmp 0x46b43f
mov eax, 4
lea rcx, [0x006446b1]
mov rdx, qword [rsp + 0x130]
lea rsi, [rdx + rax]
mov qword [rsp + 0x90], rsi
mov rdi, qword [rsp + 0x138]
nop dword [rax + rax]
cmp rdi, rsi
jb 0x46b46f
mov rbx, qword [rsp + 0x128]
jmp 0x46b4ae
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xd0], rcx
lea rax, [0x005fe2e0]
mov rbx, qword [rsp + 0x128]
mov rcx, rdx
call fcn.00448f20
mov rdx, qword [rsp + 0x130]
mov rbx, rax
mov rdi, rcx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xe0], rbx
add rdx, rbx
mov rsi, rax
mov rax, rdx
mov rbx, rcx
mov rcx, rsi
call fcn.00461f80
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
test r8, r8
jne 0x46b507
inc r8
test rbx, rax
jmp 0x46b50d
or r13, rdx
test rbx, rax
setne sil
add r8, qword [rdi + 0x10]
movzx r9d, byte [rsp + 0x148]
nop
cmp r9b, 0x62
je 0x46b9c2
cmp r9b, 0x78
je 0x46b536
cmp r9b, 0x58
jne 0x46b57a
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r10, r8
mov r11, rdi
mov rdi, qword [rsp + 0x150]
mov r8d, esi
mov esi, r9d
mov r9, r13
call fcn.0046cf60
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
cmp byte [0x007a3325], 0
je 0x46b97e
mov byte [rsp + 0x67], sil
movups xmmword [rsp + 0xe8], xmm15
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
mov rdx, qword [rsp + 0x150]
test rdx, rdx
jl 0x46b7f5
nop dword [rax + rax]
cmp r9b, 0x66
je 0x46b7a2
cmp r9b, 0x47
ja 0x46b5f0
cmp r9b, 0x45
je 0x46b5f6
cmp r9b, 0x47
jne 0x46b5e2
test rdx, rdx
nop
jmp 0x46b614
mov r12, qword [rsp + 0x158]
cmp r12, 0x20
jmp 0x46b641
cmp r9b, 0x65
jne 0x46b60b
lea r12, [rdx + 1]
mov r15, qword [rsp + 0x158]
cmp r15, 0x20
mov rax, rdx
jmp 0x46b647
cmp r9b, 0x67
jne 0x46b635
test rdx, rdx
mov r12d, 1
mov r15, rdx
cmove rdx, r12
mov r12, qword [rsp + 0x158]
cmp r12, 0x20
mov rax, r15
mov r12, rdx
jmp 0x46b647
mov r12, qword [rsp + 0x158]
cmp r12, 0x20
mov rax, rdx
mov r12, rax
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x90], rdx
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa0], xmm15
jne 0x46b709
nop dword [rax]
cmp r12, 9
jg 0x46b709
lea rdx, [rsp + 0x98]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], 0x18
mov qword [rsp + 0xf8], 0x18
mov rdx, qword [rdi]
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + 0xe8]
mov rbx, r13
mov rdi, r12
call fcn.0046d760
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x67]
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x148]
mov r13, qword [rsp + 0x70]
mov r12d, 1
jmp 0x46b7a8
cmp r12, 0x12
jg 0x46b79b
mov qword [rsp + 0x80], r12
lea rdx, [rsp + 0x98]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], 0x18
mov qword [rsp + 0xf8], 0x18
mov rdx, qword [rdi]
mov rcx, r8
sub rcx, rdx
lea rax, [rsp + 0xe8]
mov rbx, r13
mov rdi, r12
call fcn.0046da00
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x12
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x67]
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x148]
mov r13, qword [rsp + 0x70]
setle r12b
nop
jmp 0x46b7a8
mov rax, rdx
xor r12d, r12d
test r12b, r12b
je 0x46b7b5
test rax, rax
jmp 0x46b924
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r10, r8
mov r11, rdi
mov rdi, rdx
mov r8d, esi
mov esi, r9d
mov r9, r13
nop
call fcn.0046ba60
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], 0x20
mov qword [rsp + 0xf8], 0x20
mov rdx, qword [rdi]
sub r8, rdx
lea rax, [rsp + 0xe8]
mov rbx, r13
mov rcx, r8
call fcn.0046de40
movzx r9d, byte [rsp + 0x148]
cmp r9b, 0x47
ja 0x46b882
cmp r9b, 0x45
je 0x46b888
nop dword [rax]
cmp r9b, 0x47
jne 0x46b873
mov rdx, qword [rsp + 0x150]
test rdx, rdx
jmp 0x46b8d1
mov rdx, qword [rsp + 0x150]
test rdx, rdx
nop
jmp 0x46b8e6
cmp r9b, 0x65
jne 0x46b8b4
mov rcx, qword [rsp + 0x100]
lea rax, [rcx - 1]
xor ebx, ebx
call fcn.0046d740
mov rcx, qword [rsp + 0x150]
test rcx, rcx
movzx r9d, byte [rsp + 0x148]
mov rsi, rax
jmp 0x46b91c
cmp r9b, 0x66
je 0x46b8eb
nop word [rax + rax]
cmp r9b, 0x67
jne 0x46b8db
mov rdx, qword [rsp + 0x150]
test rdx, rdx
mov rsi, qword [rsp + 0x100]
jmp 0x46b91c
mov rdx, qword [rsp + 0x150]
test rdx, rdx
mov rsi, rdx
jmp 0x46b91c
mov rax, qword [rsp + 0x100]
sub rax, qword [rsp + 0x108]
xor ebx, ebx
nop dword [rax]
call fcn.0046d740
mov rcx, qword [rsp + 0x150]
test rcx, rcx
movzx r9d, byte [rsp + 0x148]
mov rsi, rax
mov rdx, rsi
movzx esi, byte [rsp + 0x67]
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0xf8]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [rsp + 0x20], xmm0
setl dil
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r8, rdx
call fcn.0046be80
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r10, r8
mov r11, rdi
mov rdi, qword [rsp + 0x150]
mov r8d, esi
mov esi, r9d
mov r9, r13
call fcn.0046ba60
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r9, rdi
mov edi, esi
mov rsi, r13
call fcn.0046cda0
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
lea rax, [0x005fe120]
lea rbx, [0x00685010]
call fcn.00436780
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
movsd qword [rsp + 0x20], xmm0
mov byte [rsp + 0x28], dil
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movsd xmm0, qword [rsp + 0x20]
movzx edi, byte [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jmp fcn.0046b300