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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x18]
jbe 0x41000d
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x40fff2
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x40ffe6
lea rdx, [rcx - 1]
test rdx, rcx
jne 0x40ffcb
cmp rcx, 0x2000
ja 0x40ffb0
mov qword [rsp + 0x48], rcx
cmp rax, 0x10000
jae 0x40ff89
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rdx + 0x30]
mov esi, dword [rbx + 0xd0]
inc esi
mov dword [rbx + 0xd0], esi
mov rdx, qword [rdx + 0x30]
mov qword [rsp + 0x28], rdx
test rdx, rdx
je 0x40ff5e
mov rbx, qword [rdx + 0xa0]
test rbx, rbx
je 0x40ff5e
test byte [rbx], al
add rbx, 0x1200
mov qword [rsp + 0x18], rbx
mov rsi, qword [rbx + 8]
lea rsi, [rsi + rcx - 1]
dec rcx
not rcx
and rsi, rcx
mov qword [rbx + 8], rsi
lea rcx, [rax + rsi]
cmp rcx, 0x40000
jbe 0x40ff4a
mov qword [rsp], 0x40000
lea rcx, [0x008b5f60]
mov qword [rsp + 8], rcx
call fcn.00413cb0
mov rax, qword [rsp + 0x10]
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x40ff2d
mov rcx, qword [rsp + 0x18]
mov qword [rcx], rax
mov rax, qword [rcx]
test rax, rax
je 0x40fef4
mov qword [rcx + 8], 0
mov rax, qword [rcx + 8]
mov rdx, qword [rcx]
mov rbx, qword [rsp + 0x40]
lea rsi, [rbx + rax]
mov qword [rcx + 8], rsi
mov rsi, qword [rsp + 0x28]
mov edi, dword [rsi + 0xd0]
mov r8, qword gs:[0x28]
mov r8, qword [r8]
lea r9d, [rdi - 1]
mov dword [rsi + 0xd0], r9d
test byte [rsi], al
add rax, rdx
mov qword [rsp + 0x20], rax
cmp edi, 1
jne 0x40fe7d
movzx edx, byte [r8 + 0xe8]
test dl, dl
je 0x40fe7d
mov qword [r8 + 0x10], 0xfffffffffffffade
lea rdx, [0x00897998]
cmp rcx, rdx
je 0x40fed8
mov rcx, qword [rsp + 0x50]
lea rdx, [0x008b5f60]
cmp rcx, rdx
jne 0x40fea9
mov qword [rsp + 0x58], rax
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
call fcn.00424a30
lea rax, [0x008b5f60]
mov qword [rsp], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 8], rax
call fcn.00424af0
mov rax, qword [rsp + 0x20]
jmp 0x40fe9a
lea rcx, [0x00897990]
mov qword [rsp], rcx
call fcn.0040d8b0
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x40]
jmp 0x40fe89
lea rax, [0x00897998]
cmp rcx, rax
je 0x40ff1b
lea rax, [0x006d87d3]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1f
call fcn.0042aea0
ud2
lea rax, [0x00897990]
mov qword [rsp], rax
call fcn.0040d8b0
jmp 0x40ff00
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00410240
mov rcx, qword [rsp + 0x18]
jmp 0x40fe0c
mov rcx, qword [rbx]
test rcx, rcx
je 0x40fdd8
mov rcx, rbx
jmp 0x40fe20
lea rbx, [0x00897990]
mov qword [rsp], rbx
call fcn.0040d6a0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
lea rbx, [0x00897998]
jmp 0x40fdac
mov qword [rsp], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rax
call fcn.00413cb0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x58], rax
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
lea rax, [0x006d9b99]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call fcn.0042aea0
ud2
lea rax, [0x006db68e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2a
call fcn.0042aea0
ud2
mov rcx, 8
jmp 0x40fd4e
lea rax, [0x006d6ad8]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1a
call fcn.0042aea0
ud2
call fcn.004421a0
jmp fcn.0040fcf0