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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x642e13
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rbx
mov rdx, qword [rbx + 0xd0]
nop dword [rax]
test rdx, rdx
je 0x642b8a
nop
cmp qword [rdx + 0x20], 0
je 0x642dff
lea rax, [rdx + 8]
call fcn.004626a0
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x28]
mov rcx, rbx
lea rax, [0x00685500]
mov rbx, rdx
nop dword [rax + rax]
call fcn.00411980
mov rdx, qword [rax]
test bl, bl
je 0x642c50
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsi + 0x20]
nop dword [rax]
cmp qword [rdx + 0x10], r8
jne 0x642c38
mov rdi, qword [rdx + 8]
test byte [rdi], al
nop
mov r9, qword [rdx]
cmp dword [0x0092b0b0], 0
jne 0x642be0
mov qword [rdi], r9
jmp 0x642be5
call fcn.00465aa0
mov rdi, qword [rdx]
test byte [rdi], al
mov r9, qword [rdx + 8]
cmp dword [0x0092b0b0], 0
jne 0x642c09
mov qword [rdi + 8], r9
movups xmmword [rdx], xmm15
mov qword [rdx + 0x10], 0
jmp 0x642c34
add rdi, 8
call fcn.00465aa0
mov rdi, rdx
xor r9d, r9d
call fcn.00465aa0
lea r10, [rdx + 8]
mov rdi, r10
call fcn.00465aa0
lea rdi, [rdx + 0x10]
xor edx, edx
call fcn.00465a20
dec qword [r8 + 0x28]
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsi + 0x28]
lea rax, [0x00685500]
call fcn.004121c0
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x18]
mov qword [rsp + 0x50], rsi
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x58], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rsp + 0x68], xmm0
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rsp + 0x78], xmm0
mov rsi, qword [rsp + 0x98]
mov rbx, qword [rsi + 0x10]
lea rax, [0x00685b60]
lea rcx, [rsp + 0x50]
call fcn.0040e940
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov rdi, qword [rax + 0x10]
test rsi, rsi
je 0x642d02
cmp rsi, 1
je 0x642cbb
mov r8, qword [rsp + 0xa0]
xor eax, eax
jmp 0x642d20
mov rdx, qword [rdx]
mov rsi, qword [rsp + 0xa0]
cmp rdx, rsi
jne 0x642cfd
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rdx + 0x10]
lea rax, [0x00685b60]
lea rcx, [rsp + 0x50]
call fcn.0040f520
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xa0]
cmp rdx, rsi
sete cl
jmp 0x642d04
xor ecx, ecx
mov eax, ecx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
inc rax
nop dword [rax]
cmp rax, rsi
jge 0x642df7
mov r9, qword [rdx + rax*8]
cmp r9, r8
jne 0x642d16
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov r8, rax
shl rax, 3
sub rdi, r8
mov r10, rdi
neg rdi
sar rdi, 0x3f
and rax, rdi
lea rbx, [rax + rdx]
mov rcx, rsi
sub rcx, r8
dec r10
neg r10
lea r11, [r8 + 1]
shl r11, 3
sar r10, 0x3f
and r10, r11
lea rdi, [r10 + rdx]
lea r10, [rcx - 1]
lea rax, [0x006bc3c0]
mov rsi, r10
call fcn.00414000
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rdx + 0x10]
lea rax, [0x00685b60]
lea rcx, [rsp + 0x50]
call fcn.0040efc0
mov rdx, qword [rsp + 0x28]
lea r8, [rdx - 1]
mov qword [rax + 8], r8
mov r8, qword [rsp + 0x30]
mov qword [rax + 0x10], r8
cmp dword [0x0092b0b0], 0
jne 0x642de2
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x38]
cmp rcx, rdx
nop
jmp 0x642df7
mov rdi, rax
mov rcx, qword [rsp + 0x48]
call fcn.00465a00
mov rcx, qword [rsp + 0x38]
cmp rcx, rdx
setl cl
jmp 0x642d04
lea rax, [0x00679500]
lea rbx, [0x007420b0]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax]
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00642b20