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

Disassembly:
lea r12, [rsp - 0x78]
cmp r12, qword [r14 + 0x10]
jbe 0x46e9dd
push rbp
mov rbp, rsp
sub rsp, 0xf0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
test rax, rax
je 0x46e9c9
movzx esi, byte [rax + 0x17]
and esi, 0x1f
nop word [rax + rax]
cmp sil, 0x13
jne 0x46e9c9
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
movzx esi, byte [rax + 0x14]
test sil, 1
je 0x46e539
mov ecx, 0x48
jmp 0x46e53e
mov ecx, 0x38
movzx edx, word [rax + 0x30]
test dx, dx
jne 0x46e54d
xor edx, edx
xor esi, esi
jmp 0x46e55e
lea rsi, [rcx + rax]
cmp rdx, 0x10000
ja 0x46e9bf
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x30], rsi
xor ecx, ecx
jmp 0x46e5a5
mov qword [rsp + 0x28], rcx
mov rbx, qword [rsi + rcx*8]
lea rax, [rsp + 0x60]
call fcn.0045b580
mov rcx, qword [rsp + 0x28]
inc rcx
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
cmp rdx, rcx
jg 0x46e576
mov rdx, qword [rsp + 0x80]
add rdx, 7
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], rdx
movzx esi, word [rax + 0x32]
and esi, 0x7fff
nop
test si, si
jne 0x46e5de
xor ecx, ecx
jmp 0x46e600
movzx edi, word [rax + 0x30]
lea r8d, [rsi + rdi]
movzx ecx, r8w
cmp rdi, rcx
ja 0x46e9b8
sub rcx, rdi
nop word [rax + rax]
nop
cmp rcx, 1
jne 0x46e9a5
test si, si
jne 0x46e616
xor r8d, r8d
xor edi, edi
jmp 0x46e662
movzx edi, byte [rax + 0x14]
nop word [rax + rax]
test dil, 1
je 0x46e62d
mov ecx, 0x48
jmp 0x46e632
mov ecx, 0x38
movzx edi, word [rax + 0x30]
lea r8d, [rsi + rdi]
lea r9, [rcx + rax]
movzx ecx, r8w
cmp rdi, rcx
ja 0x46e999
sub rcx, rdi
mov r8, rcx
neg rcx
shl rdi, 3
sar rcx, 0x3f
and rdi, rcx
add rdi, r9
test r8, r8
jbe 0x46e98f
mov rdi, qword [rdi]
cmp qword [rdi], 8
jne 0x46e97c
test si, si
jne 0x46e683
xor esi, esi
xor edi, edi
jmp 0x46e6c6
movzx edi, byte [rax + 0x14]
test dil, 1
je 0x46e694
mov ecx, 0x48
jmp 0x46e699
mov ecx, 0x38
movzx edi, word [rax + 0x30]
add esi, edi
lea r8, [rcx + rax]
movzx ecx, si
cmp rdi, rcx
ja 0x46e975
sub rcx, rdi
mov rsi, rcx
neg rcx
shl rdi, 3
sar rcx, 0x3f
and rdi, rcx
add rdi, r8
test rsi, rsi
jbe 0x46e96b
mov rcx, qword [rdi]
movzx ecx, byte [rcx + 0x17]
and ecx, 0x1f
nop dword [rax]
cmp cl, 0xd
je 0x46e958
cmp cl, 0xe
je 0x46e958
cmp qword [0x01ac89c0], 0
jne 0x46e708
lea rcx, [rdx + 8]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x80]
add rcx, 7
and rcx, 0xfffffffffffffff8
add rcx, qword [rsp + 0x88]
cmp rcx, 0x200
ja 0x46e945
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x58], 0
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x58], 0
nop
nop
nop
lea rax, [0x01be2420]
call fcn.0040f080
mov rbx, qword [0x01c09528]
lea rax, [0x00ed3280]
lea rcx, [rsp + 0x50]
call fcn.004122c0
test bl, bl
jne 0x46e8e2
cmp qword [0x01c09528], 0
jne 0x46e7a8
nop
call fcn.00411c00
cmp dword [0x01c09e00], 0
je 0x46e7a1
call fcn.00472500
mov qword [r11], rax
mov rdx, qword [0x01c09528]
mov qword [r11 + 8], rdx
mov qword [0x01c09528], rax
mov rax, qword [0x01c09530]
cmp rax, 0x7d0
jge 0x46e925
lea rdi, [rsp + 0xa0]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00472bd0
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rdx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0xe0], xmm0
jae 0x46e916
mov qword [rsp + 0x20], rax
lea rdx, [rax + rax*4]
mov qword [rsp + 0x28], rdx
shl rdx, 4
lea r9, [0x01be2428]
lea rdi, [r9 + rdx]
cmp dword [0x01c09e00], 0
je 0x46e86e
mov qword [rsp + 0x38], rdi
lea rax, [0x00f4f5a0]
mov rbx, rdi
lea rcx, [rsp + 0xa0]
call fcn.00417ea0
mov rdi, qword [rsp + 0x38]
lea rsi, [rsp + 0xa0]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00472f3a
mov rbp, qword [rbp]
mov rbx, qword [0x01c09528]
lea rax, [0x00ed3280]
lea rcx, [rsp + 0x50]
call fcn.004126c0
mov rdx, qword [rsp + 0x20]
mov qword [rax], rdx
inc qword [0x01c09530]
nop
nop
nop
lea rax, [0x01be2420]
call fcn.0040f2a0
lea rdx, [0x004742a0]
mov r8, qword [rsp + 0x28]
lea rax, [rdx + r8]
add rsp, 0xf0
pop rbp
ret
mov rcx, qword [rax]
lea rcx, [rcx + rcx*4]
mov qword [rsp + 0x28], rcx
nop
nop
nop
lea rax, [0x01be2420]
call fcn.0040f2a0
lea rcx, [0x004742a0]
mov rdx, qword [rsp + 0x28]
lea rax, [rdx + rcx]
add rsp, 0xf0
pop rbp
ret
mov ecx, 0x7d0
nop dword [rax + rax]
call fcn.004728a0
nop
nop
nop
lea rax, [0x01be2420]
call fcn.0040f2a0
lea rax, [0x0104c841]
mov ebx, 0x1b
call fcn.0043dc80
lea rax, [0x00e855e0]
lea rbx, [0x01419750]
call fcn.0043d500
lea rax, [0x00e855e0]
lea rbx, [0x01419740]
call fcn.0043d500
xor eax, eax
mov rcx, rax
call fcn.004728a0
mov eax, edi
call fcn.00472a20
lea rax, [0x00e855e0]
lea rbx, [0x01419730]
call fcn.0043d500
xor eax, eax
mov rcx, rax
call fcn.004728a0
mov eax, edi
nop dword [rax + rax]
call fcn.00472a20
lea rax, [0x00e855e0]
lea rbx, [0x01419730]
call fcn.0043d500
mov eax, edi
call fcn.00472a20
mov ebx, 0x10000
call fcn.004729a0
lea rax, [0x00e855e0]
lea rbx, [0x01419730]
call fcn.0043d500
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.004705e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
nop
jmp fcn.0046e4c0