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

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x4508fc
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rdx, qword [r14 + 0x30]
mov rsi, r14
nop dword [rax]
cmp qword [rdx], rsi
jne 0x4508ea
lea esi, [rax - 1]
test esi, eax
jne 0x4508d9
cmp dword [0x0098c8d0], 0
jne 0x4506a2
mov dword [rsp + 0x70], eax
cmp eax, 0x8000
jae 0x450691
mov ecx, eax
xor ebx, ebx
jmp 0x4507e0
mov ecx, eax
mov rdx, rcx
shr rcx, 0xd
mov rbx, rcx
xor esi, esi
nop
jmp 0x4506f8
mov rcx, qword [0x0098c118]
mov edx, eax
lea rdx, [rcx + rdx]
lea rdx, [rdx - 1]
neg rcx
and rdx, rcx
mov eax, edx
mov qword [rsp + 0x50], rax
lea rbx, [0x00991838]
call fcn.00417e60
test rax, rax
je 0x4506e1
mov rcx, qword [rsp + 0x50]
lea rbx, [rax + rcx]
add rsp, 0x60
pop rbp
nop
ret
lea rax, [0x006d9cab]
mov ebx, 0x1a
call fcn.00439560
shr rcx, 1
inc rsi
cmp rcx, 1
ja 0x4506f2
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x30], rsi
nop
nop
lea rax, [0x0098d620]
call fcn.0040c840
mov rax, qword [rsp + 0x30]
cmp rax, 0x23
jae 0x4507cb
shl rax, 4
lea rcx, [0x0098d628]
mov rdx, qword [rcx + rax]
lea rsi, [rcx + rax]
nop dword [rax]
test rdx, rdx
jne 0x450749
xor eax, eax
jmp 0x45075f
mov rbx, qword [rcx + rax]
mov qword [rsp + 0x28], rbx
mov rax, rsi
call fcn.0042b0c0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
nop
nop
lea rax, [0x0098d620]
call fcn.0040caa0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
jne 0x4507a3
lea rax, [0x0090dfa0]
mov rbx, qword [rsp + 0x50]
mov ecx, 1
call fcn.00429d40
test rax, rax
je 0x4507ba
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x68], rcx
mov rcx, rax
mov rcx, qword [rcx + 0x18]
mov edx, dword [rsp + 0x70]
mov edx, edx
lea rbx, [rcx + rdx]
mov rax, rcx
add rsp, 0x60
pop rbp
ret
lea rax, [0x006d3246]
mov ebx, 0xd
call fcn.00439560
mov ecx, 0x23
call fcn.0046c540
inc ebx
shr eax, 1
nop dword [rax]
cmp eax, 0x2000
ja 0x4507d5
mov rsi, qword [rdx + 0xa0]
test rsi, rsi
je 0x4507fd
cmp qword [rdx + 0xd0], 0
je 0x450850
movzx eax, bl
cmp rax, 2
jae 0x4508cf
mov byte [rsp + 0x1f], bl
shl rax, 6
lea rcx, [0x0098c9c0]
add rax, rcx
mov qword [rsp + 0x58], rax
nop
call fcn.0040c840
movzx eax, byte [rsp + 0x1f]
call fcn.0044ffc0
mov qword [rsp + 0x20], rax
nop
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.0040caa0
mov ecx, dword [rsp + 0x70]
mov r8, qword [rsp + 0x20]
jmp 0x4508b9
movzx eax, bl
cmp rax, 2
jae 0x4508c5
shl rax, 4
mov rdx, qword [rsi + 0x40]
test byte [rdx], al
mov rsi, qword [rdx + rax + 0x468]
mov rdi, rsi
test rsi, rsi
jne 0x4508a1
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
mov rax, rdx
call fcn.00450300
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rdx + rcx + 0x468]
mov rax, rcx
mov ecx, dword [rsp + 0x70]
mov rdi, rsi
mov esi, ecx
mov r8, rdi
mov rdi, qword [rdi]
mov qword [rdx + rax + 0x468], rdi
sub qword [rdx + rax + 0x470], rsi
mov rcx, r8
nop dword [rax]
jmp 0x4507a7
mov ecx, 2
call fcn.0046c540
mov ecx, 2
call fcn.0046c540
lea rax, [0x006da809]
mov ebx, 0x1b
call fcn.00439560
lea rax, [0x006de07d]
mov ebx, 0x21
call fcn.00439560
nop
mov dword [rsp + 8], eax
call fcn.00470e40
mov eax, dword [rsp + 8]
jmp fcn.00450640