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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x40ce58
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
cmp word [0x007a7fa4], 0x10
jne 0x40ce3e
call fcn.00437140
xor eax, eax
jmp 0x40cb00
lea rdx, [rax + rax*2]
lea rbx, [0x007a7fa0]
movzx esi, word [rbx + rax*2]
lea rdi, [0x00814898]
mov dword [rdi + rdx*8], esi
inc rax
nop dword [rax + rax]
cmp rax, 0x44
jl 0x40cadf
mov rax, qword [0x00811270]
test rax, rax
je 0x40ce25
nop word [rax + rax]
nop
cmp rax, 0x80000
ja 0x40cd92
cmp rax, 0x1000
jb 0x40cd05
lea rdx, [rax - 1]
nop dword [rax]
test rax, rdx
jne 0x40cca0
mov rax, qword [0x00811268]
lea rdx, [rax - 1]
test rax, rdx
jne 0x40cc32
nop dword [rax]
cmp rax, 0x400000
jbe 0x40cb73
mov qword [0x00811268], 0
cmp qword [0x00811268], 0
jne 0x40cb8a
jmp 0x40cbac
lea rax, [rcx + 1]
mov qword [0x00811260], rax
mov rcx, qword [0x00811260]
cmp rcx, 0x40
sbb rax, rax
mov edx, 1
shl rdx, cl
and rdx, rax
cmp qword [0x00811268], rdx
jne 0x40cb7f
lea rax, [0x007e2de0]
mov qword [rsp], rax
call fcn.00427e60
nop dword [rax]
call fcn.00418520
mov rax, qword [rsp]
mov qword [0x00811238], rax
mov eax, 0x7f
jmp 0x40cc23
mov qword [rsp + 0x10], rax
lea rax, [0x007f9938]
mov qword [rsp], rax
call fcn.0041b120
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, rcx
shl rcx, 0x28
movabs rbx, 0xc000000000
or rcx, rbx
mov qword [rax], rcx
mov rcx, qword [0x007f3190]
mov qword [rax + 0x10], rcx
mov qword [0x007f3190], rax
lea rax, [rdx - 1]
test rax, rax
jge 0x40cbd7
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
call fcn.0043aa00
lea rax, [0x0066029d]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0043b480
mov rax, qword [0x00811268]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0043b100
lea rax, [0x0065fa9e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0043b480
nop
call fcn.0043aaa0
lea rax, [0x00660bea]
mov qword [rsp], rax
mov qword [rsp + 8], 0x19
call fcn.00439220
nop
call fcn.0043aa00
lea rax, [0x0065df5f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x12
call fcn.0043b480
mov rax, qword [0x00811270]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065fa9e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0043b480
call fcn.0043aaa0
lea rax, [0x0065ea54]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.00439220
call fcn.0043aa00
lea rax, [0x0065df5f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x12
nop
call fcn.0043b480
mov rax, qword [0x00811270]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x00664fa0]
mov qword [rsp], rax
mov qword [rsp + 8], 0x25
call fcn.0043b480
mov qword [rsp], 0x1000
call fcn.0043b220
lea rax, [0x0065a2d0]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0043b480
call fcn.0043aaa0
lea rax, [0x0065ea54]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.00439220
call fcn.0043aa00
lea rax, [0x0065df5f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x12
call fcn.0043b480
mov rax, qword [0x00811270]
mov qword [rsp], rax
nop dword [rax + rax]
call fcn.0043b100
lea rax, [0x006649b8]
mov qword [rsp], rax
mov qword [rsp + 8], 0x24
call fcn.0043b480
mov qword [rsp], 0x80000
call fcn.0043b220
lea rax, [0x0065a2d0]
mov qword [rsp], rax
mov qword [rsp + 8], 2
nop
call fcn.0043b480
call fcn.0043aaa0
lea rax, [0x0065ea54]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
nop
call fcn.00439220
lea rax, [0x00662b88]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.00439220
lea rax, [0x0065d799]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.00439220
nop
call fcn.0046abe0
nop dword [rax]
jmp fcn.0040caa0