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

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x5c94b9
push rbp
mov rbp, rsp
sub rsp, 0xa8
cmp byte [rax + 0x10], 0
nop
je 0x5c91a7
mov rdx, qword [rax + 0x50]
cmp byte [rdx + 0xc1], 0
jne 0x5c919a
cmp qword [rdx + 0xe8], 0
nop
je 0x5c919a
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x5c918d
imul rdx, rdx, 0x3b9aca00
movabs r12, 0x2260ff9290000
cmp r12, rdx
jl 0x5c9152
cmp qword [rax + 0x20], 0
je 0x5c9138
mov r12d, dword [rbx + 0x50]
test r12d, r12d
je 0x5c9138
cmp r12d, 0xffffffff
je 0x5c9138
mov ebx, 0x2f
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x2b
lea rcx, [0x006bfcc7]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0xa8
pop rbp
ret
movzx r12d, word [rax + 0x62]
mov r13, qword [0x008bf220]
mov r15, qword [0x008bf228]
xor ecx, ecx
jmp 0x5c91e5
mov ebx, 0x2f
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x34
lea rcx, [0x006c2538]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0xa8
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0xa8
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0xa8
pop rbp
ret
mov ebx, 0xa
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x2e
lea rcx, [0x006c0bf0]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0xa8
pop rbp
ret
inc rcx
cmp rcx, r15
jge 0x5c91f7
mov rsi, qword [r13 + rcx*8]
cmp word [rsi], r12w
jne 0x5c91e2
jmp 0x5c9200
xor esi, esi
nop dword [rax]
test rsi, rsi
je 0x5c9488
mov r12, qword [rax + 0x100]
test r12, r12
je 0x5c9488
mov r13, qword [rsi + 0x18]
lea r15, [r13 - 1]
cmp r15, 0x13
jae 0x5c94a5
mov rcx, qword [0x008bf6c8]
cmp rcx, r13
jbe 0x5c949b
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0xb8], rax
mov rcx, qword [rax + 0x108]
mov rdi, qword [rax + 0x110]
mov r9, qword [rbx + 0x20]
mov r10, qword [rbx + 0x28]
mov r11, qword [rbx + 0x30]
mov rdx, qword [0x008bf6c0]
movzx edx, byte [rdx + r13]
mov qword [rsp], rdx
mov r8d, 0xa
mov rax, rsi
mov rbx, r12
lea rsi, [0x006b1ef0]
call fcn.005df640
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov rax, qword [rsp + 0xb8]
call fcn.005e3ac0
test rbx, rbx
jne 0x5c9453
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x38], rcx
cmp dword [0x00921500], 0
jne 0x5c92d9
mov rcx, qword [rsp + 0x78]
jmp 0x5c92ee
call fcn.004665c0
mov rcx, qword [rsp + 0x78]
mov qword [r11], rcx
mov rbx, qword [rax + 0x28]
mov qword [r11 + 8], rbx
mov qword [rsp + 0x70], rax
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rcx + 0x50]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x5c9313
lea rbx, vtable._.0
mov rax, qword [rbx]
mov rdx, rbx
call rax
mov rdi, qword [rsp + 0x60]
call fcn.004cdea0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rcx
mov rax, qword [rsp + 0x90]
nop
bt rax, 0x3f
jae 0x5c9362
shl rax, 1
shr rax, 0x1f
movabs rcx, 0xdd7b17f80
lea rbx, [rcx + rax]
movabs rcx, 0xfffffff1886e0900
add rcx, rbx
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0xd0], rcx
mov rcx, qword [rsp + 0xc0]
mov ebx, dword [rcx + 0x1c]
mov dword [rdx + 0xd8], ebx
mov rbx, qword [rsp + 0xb8]
cmp qword [rbx + 0x20], 0
je 0x5c93a5
cmp dword [rcx + 0x50], 0xffffffff
sete sil
jmp 0x5c93a7
xor esi, esi
mov byte [rdx + 0x18], sil
lea rax, [0x0067daa0]
call fcn.0040d680
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 0x40]
mov rbx, qword [rcx + 0x48]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rbx
cmp dword [0x00921500], 0
jne 0x5c93e3
mov rdx, qword [rsp + 0x70]
jmp 0x5c93f4
call fcn.004665c0
mov qword [r11], rcx
mov rdx, qword [rsp + 0x70]
mov qword [r11 + 8], rdx
mov qword [rsp + 0x88], rax
mov qword [rax], rcx
mov qword [rax + 0x18], rdx
mov rax, qword [rsp + 0xb8]
call fcn.005c4ea0
test rbx, rbx
je 0x5c9446
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx + 0x50]
mov rsi, qword [rdx + 0xe8]
mov rdx, qword [rdx + 0xf0]
mov rsi, qword [rsi + 0x20]
mov rcx, rbx
mov rdi, qword [rsp + 0x88]
mov rbx, rax
mov rax, rdx
call rsi
xor eax, eax
xor ebx, ebx
add rsp, 0xa8
pop rbp
ret
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005b9d20
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
add rsp, 0xa8
pop rbp
ret
mov ebx, 0x50
call fcn.005b9d20
add rsp, 0xa8
pop rbp
ret
mov rax, r13
nop
call fcn.00466980
lea rax, [0x0065b7a0]
lea rbx, [0x007279b0]
call fcn.00436ac0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.005c9080