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

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4507b9
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rdx, qword [rbx]
cmp rdx, 8
ja 0x4507a5
movzx esi, byte [rbx + 0x17]
and esi, 0x1f
nop word [rax + rax]
cmp sil, 0xd
je 0x45078e
cmp sil, 0xe
je 0x45078e
test rdx, rdx
je 0x450764
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rax
mov rdx, qword [rax]
mov qword [rsp + 0x78], rdx
mov rsi, qword [rax + 8]
mov qword [rsp + 0x40], rsi
mov rdi, qword [rax + 0x10]
mov qword [rsp + 0x48], rdi
xor ecx, ecx
call fcn.004507e0
test al, al
je 0x4505ce
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x28]
mov rdx, qword [rsp + 0x98]
movzx ebx, byte [rdx + 0x15]
lea rcx, [rcx + rbx]
lea rcx, [rcx - 1]
neg rbx
and rbx, rcx
mov qword [rax + 0x28], rbx
mov rcx, qword [rdx]
add rcx, rbx
mov qword [rax + 0x28], rcx
mov rdi, rax
jmp 0x45074f
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x90]
mov qword [rdi + 8], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rdi + 0x10], rdx
cmp dword [0x00a7cac0], 0
jne 0x4505fb
mov rdx, qword [rsp + 0x78]
mov qword [rdi], rdx
jmp 0x450605
mov rdx, qword [rsp + 0x78]
call fcn.00461bc0
mov rdx, qword [rdi + 0x20]
mov r8, qword [rsp + 0x98]
movzx r9d, byte [r8 + 0x15]
lea rdx, [r9 + rdx]
lea rdx, [rdx - 1]
neg r9
and r9, rdx
mov qword [rdi + 0x20], r9
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x58], xmm15
movups xmmword [rsp + 0x68], xmm15
mov qword [rsp + 0x50], 1
mov rdx, qword [rdi + 0x18]
mov qword [rsp + 0x58], rdx
mov r9, qword [rdi + 0x20]
mov qword [rsp + 0x60], r9
mov r10, qword [r8]
mov qword [rsp + 0x70], r10
mov r11, qword [rdi]
mov r12, qword [rdi + 8]
test r12, r12
jne 0x450670
mov eax, 1
jmp 0x4506c0
lea r12, [r12 + r12*4]
mov r13, qword [r11 + r12*8 - 0x28]
cmp r13, 1
je 0x450683
xor eax, eax
jmp 0x4506b7
mov r13, qword [r11 + r12*8 - 0x20]
mov r15, qword [r11 + r12*8 - 8]
add r13, r15
cmp rdx, r13
jne 0x4506b5
mov rdx, qword [r11 + r12*8 - 0x18]
add rdx, r15
nop dword [rax]
cmp r9, rdx
jne 0x4506b5
lea rdx, [r15 + r10]
mov qword [r11 + r12*8 - 8], rdx
mov eax, 1
jmp 0x4506b7
xor eax, eax
xor eax, 1
nop word [rax + rax]
test al, al
je 0x450748
mov rcx, qword [rdi + 8]
lea rsi, [rcx + 1]
mov rbx, qword [rdi]
mov rdx, qword [rdi + 0x10]
cmp rdx, rsi
jae 0x45071a
lea rax, [0x0073a5e0]
mov rdi, rdx
call fcn.00448d60
mov rdi, qword [rsp + 0x90]
mov qword [rdi + 0x10], rcx
cmp dword [0x00a7cac0], 0
nop
jne 0x450707
mov qword [rdi], rax
jmp 0x45070c
call fcn.00461aa0
mov r8, qword [rsp + 0x98]
mov rcx, rbx
mov rbx, rax
lea rax, [rcx + 1]
mov qword [rdi + 8], rax
lea rax, [rcx + rcx*4]
mov rcx, qword [rsp + 0x50]
mov qword [rbx + rax*8], rcx
lea rax, [rbx + rax*8]
lea rax, [rax + 8]
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rax + 0x10], xmm0
mov rax, qword [r8]
add qword [rdi + 0x20], rax
add qword [rdi + 0x18], 8
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rcx, qword [rax + 0x20]
movzx edx, byte [rbx + 0x15]
lea rcx, [rcx + rdx]
lea rcx, [rcx - 1]
neg rdx
and rdx, rcx
mov qword [rax + 0x20], rdx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
lea rax, [0x006f8b20]
lea rbx, [0x007e5b50]
nop dword [rax]
call fcn.00435080
lea rax, [0x006f8b20]
lea rbx, [0x007e5b40]
call fcn.00435080
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045f860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00450500