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

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x45033f
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov rdx, qword [r14 + 0x30]
mov rsi, r14
nop
cmp qword [rdx], rsi
jne 0x45032d
lea esi, [rax - 1]
test esi, eax
jne 0x45031c
cmp dword [0x01bfbca8], 0
jne 0x4500e2
mov dword [rsp + 0x78], eax
cmp eax, 0x8000
jae 0x4500d1
mov ecx, eax
xor ebx, ebx
jmp 0x450220
mov ecx, eax
mov rdx, rcx
shr rcx, 0xd
mov rbx, rcx
xor esi, esi
nop
jmp 0x450140
mov rcx, qword [0x01bfaff8]
mov edx, eax
lea rdx, [rcx + rdx]
lea rdx, [rdx - 1]
neg rcx
and rdx, rcx
mov eax, edx
mov qword [rsp + 0x58], rax
lea rbx, [0x01c01478]
call fcn.00418220
test rax, rax
je 0x450124
mov rcx, qword [rsp + 0x58]
lea rbx, [rax + rcx]
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
lea rax, [0x0109ae9a]
mov ebx, 0x1a
call fcn.00439e00
shr rcx, 1
inc rsi
nop dword [rax + rax]
cmp rcx, 1
ja 0x450135
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x30], rsi
nop
nop
lea rax, [0x01bfce60]
nop
call fcn.0040c680
mov rax, qword [rsp + 0x30]
cmp rax, 0x23
jae 0x45020e
shl rax, 4
lea rcx, [0x01bfce68]
mov rbx, qword [rcx + rax]
test rbx, rbx
jne 0x45018c
xor eax, eax
jmp 0x45019e
mov qword [rsp + 0x48], rbx
add rax, rcx
call fcn.00429440
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
nop
nop
lea rax, [0x01bfce60]
call fcn.0040c8a0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
jne 0x4501e2
lea rax, [0x01bbcf40]
mov rbx, qword [rsp + 0x58]
mov ecx, 1
call fcn.00427fa0
test rax, rax
je 0x4501fd
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x68], rcx
mov rcx, rax
mov rcx, qword [rcx + 0x18]
mov edx, dword [rsp + 0x78]
mov edx, edx
lea rbx, [rcx + rdx]
mov rax, rcx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
lea rax, [0x010870ff]
mov ebx, 0xd
call fcn.00439e00
mov ecx, 0x23
call fcn.0046dd20
inc ebx
shr eax, 1
nop dword [rax]
cmp eax, 0x2000
ja 0x450218
mov rsi, qword [rdx + 0xa0]
test rsi, rsi
je 0x45023d
cmp qword [rdx + 0xd0], 0
je 0x450290
movzx eax, bl
cmp rax, 2
jae 0x450312
mov byte [rsp + 0x1f], bl
shl rax, 6
lea rcx, [0x01bfbee0]
add rax, rcx
mov qword [rsp + 0x60], rax
nop
call fcn.0040c680
movzx eax, byte [rsp + 0x1f]
call fcn.0044f9e0
mov qword [rsp + 0x20], rax
nop
mov rax, qword [rsp + 0x60]
nop dword [rax]
call fcn.0040c8a0
mov ecx, dword [rsp + 0x78]
mov rsi, qword [rsp + 0x20]
jmp 0x4502fc
mov rax, qword [rsi + 0x40]
test byte [rax], al
movzx edx, bl
cmp rdx, 2
jae 0x450305
shl rdx, 4
mov rsi, qword [rax + rdx + 0x468]
mov rdi, rsi
test rsi, rsi
jne 0x4502e4
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
nop dword [rax]
call fcn.0044fd20
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rdx + rcx + 0x468]
mov rax, rdx
mov rdx, rcx
mov rdi, rsi
mov ecx, dword [rsp + 0x78]
mov rsi, rdi
mov rdi, qword [rdi]
mov qword [rax + rdx + 0x468], rdi
mov edi, ecx
sub qword [rax + rdx + 0x470], rdi
mov rcx, rsi
nop
jmp 0x4501e6
mov rax, rdx
mov ecx, 2
call fcn.0046dd20
mov ecx, 2
call fcn.0046dd20
lea rax, [0x0109d1ac]
mov ebx, 0x1b
call fcn.00439e00
lea rax, [0x010ab5c3]
mov ebx, 0x21
call fcn.00439e00
nop
mov dword [rsp + 8], eax
call fcn.00470380
mov eax, dword [rsp + 8]
jmp fcn.00450080