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

Disassembly:
lea r12, [rsp - 0x78]
cmp r12, qword [r14 + 0x10]
jbe 0x45f8ee
sub rsp, 0xf8
mov qword [rsp + 0xf0], rbp
lea rbp, [rsp + 0xf0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
test rax, rax
je 0x45f8da
movzx esi, byte [rax + 0x17]
and esi, 0x1f
cmp sil, 0x13
jne 0x45f8da
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 0x45f4df
mov ecx, 0x48
jmp 0x45f4e4
mov ecx, 0x38
movzx esi, word [rax + 0x30]
lea rdi, [rcx + rax]
cmp rsi, 0x100000
ja 0x45f8cd
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], rsi
xor ecx, ecx
jmp 0x45f541
mov qword [rsp + 0x28], rcx
mov rbx, qword [rdi + rcx*8]
lea rax, [rsp + 0x60]
nop
call fcn.00451fe0
mov rcx, qword [rsp + 0x28]
inc rcx
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
cmp rcx, rsi
jl 0x45f511
mov rdx, qword [rsp + 0x80]
add rdx, 7
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], rdx
movzx esi, byte [rax + 0x14]
movzx edi, word [rax + 0x32]
and edi, 0x7fff
movzx r8d, word [rax + 0x30]
add edi, r8d
movzx ecx, di
nop
cmp r8, rcx
ja 0x45f8c5
lea rdi, [r8 - 0x100000]
mov r9d, r8d
shl r8, 3
sar rdi, 0x3f
and rdi, r8
sub rcx, r9
cmp rcx, 1
jne 0x45f8af
test sil, 1
je 0x45f5b8
mov ecx, 0x48
jmp 0x45f5bd
mov ecx, 0x38
add rcx, rax
mov rcx, qword [rcx + rdi]
nop
cmp qword [rcx], 8
jne 0x45f89c
test sil, 1
je 0x45f5dc
mov ecx, 0x48
jmp 0x45f5e1
mov ecx, 0x38
add rcx, rax
mov rcx, qword [rcx + rdi]
movzx ecx, byte [rcx + 0x17]
and ecx, 0x1f
nop
cmp cl, 0xd
je 0x45f889
nop dword [rax]
cmp cl, 0xe
je 0x45f889
cmp qword [0x005c3380], 0
jne 0x45f61f
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]
nop word [rax + rax]
cmp rcx, 0x200
ja 0x45f876
nop
nop
nop
lea rax, [0x00609320]
call fcn.0040b040
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x50], rcx
mov byte [rsp + 0x58], 0
mov rbx, qword [0x00630428]
lea rax, [0x004ee9c0]
lea rcx, [rsp + 0x50]
nop
call fcn.0040e380
mov rcx, qword [rax]
test bl, bl
jne 0x45f811
cmp qword [0x00630428], 0
jne 0x45f6bd
call fcn.0040dca0
cmp dword [0x00630760], 0
jne 0x45f6b1
mov qword [0x00630428], rax
jmp 0x45f6bd
lea rdi, [0x00630428]
call fcn.00463500
mov rax, qword [0x00630430]
cmp rax, 0x7d0
jge 0x45f853
lea rdi, [rsp + 0xa0]
lea rdi, [rdi - 0x30]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463c70
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x40]
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
nop word [rax + rax]
jae 0x45f849
mov qword [rsp + 0x18], rax
lea r8, [rax + rax*4]
mov qword [rsp + 0x30], r8
shl r8, 4
lea r10, [0x00609328]
lea rdi, [r10 + r8]
cmp dword [0x00630760], 0
jne 0x45f795
lea rsi, [rsp + 0xa0]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00463fda
mov rbp, qword [rbp]
jmp 0x45f7b1
lea rax, [0x004f9c00]
mov rbx, rdi
lea rcx, [rsp + 0xa0]
call fcn.00412ea0
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x58], 0
mov rbx, qword [0x00630428]
lea rax, [0x004ee9c0]
lea rcx, [rsp + 0x50]
call fcn.0040e7c0
mov rdx, qword [rsp + 0x18]
mov qword [rax], rdx
inc qword [0x00630430]
nop
nop
nop
lea rax, [0x00609320]
call fcn.0040b260
lea rdx, [0x00466940]
mov rsi, qword [rsp + 0x30]
lea rax, [rdx + rsi]
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov qword [rsp + 0x20], rcx
nop
nop
nop
lea rax, [0x00609320]
call fcn.0040b260
lea rcx, [0x00466940]
mov rdx, qword [rsp + 0x20]
lea rdx, [rdx + rdx*4]
lea rax, [rdx + rcx]
mov rbp, qword [rsp + 0xf0]
add rsp, 0xf8
ret
mov ecx, 0x7d0
call fcn.004639a0
nop
nop
nop
lea rax, [0x00609320]
nop dword [rax]
call fcn.0040b260
lea rax, [0x0050eea8]
mov ebx, 0x1b
call fcn.00436dc0
lea rax, [0x004ea4e0]
lea rbx, [0x005364e8]
call fcn.00436620
lea rax, [0x004ea4e0]
lea rbx, [0x005364d8]
call fcn.00436620
lea rax, [0x004ea4e0]
lea rbx, [0x005364c8]
call fcn.00436620
lea rax, [0x004ea4e0]
lea rbx, [0x005364c8]
nop dword [rax]
call fcn.00436620
mov eax, r8d
call fcn.00463a60
mov rcx, rsi
mov edx, 0x100000
call fcn.004639e0
lea rax, [0x004ea4e0]
lea rbx, [0x005364c8]
call fcn.00436620
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
nop dword [rax]
call fcn.004612c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp fcn.0045f460