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 sym.runtime.sysAlloc
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 sym.runtime.throw
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 sym.runtime.lock2
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 sym.runtime._mSpanList_.remove
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
nop
nop
lea rax, [0x0098d620]
call sym.runtime.unlock2
mov rcx, qword [rsp + 0x28]
test rcx, rcx
jne 0x4507a3
lea rax, [0x0090dfa0]
mov rbx, qword [rsp + 0x50]
mov ecx, 1
call sym.runtime._mheap_.allocManual
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 sym.runtime.throw
mov ecx, 0x23
call sym.runtime.panicIndex
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 sym.runtime.lock2
movzx eax, byte [rsp + 0x1f]
call sym.runtime.stackpoolalloc
mov qword [rsp + 0x20], rax
nop
mov rax, qword [rsp + 0x58]
nop dword [rax]
call sym.runtime.unlock2
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 sym.runtime.stackcacherefill
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 sym.runtime.panicIndex
mov ecx, 2
call sym.runtime.panicIndex
lea rax, [0x006da809]
mov ebx, 0x1b
call sym.runtime.throw
lea rax, [0x006de07d]
mov ebx, 0x21
call sym.runtime.throw
nop
mov dword [rsp + 8], eax
call sym.runtime.morestackc.abi0
mov eax, dword [rsp + 8]
jmp sym.runtime.stackalloc