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

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x5d7bd9
push rbp
mov rbp, rsp
sub rsp, 0x90
cmp byte [rax + 0x10], 0
nop
je 0x5d78e9
mov rdx, qword [rax + 0x50]
cmp byte [rdx + 0xc1], 0
jne 0x5d78dc
cmp qword [rdx + 0xe8], 0
nop
je 0x5d78dc
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x5d78cf
imul rdx, rdx, 0x3b9aca00
movabs r12, 0x2260ff9290000
cmp r12, rdx
jl 0x5d7893
cmp qword [rax + 0x20], 0
je 0x5d7879
mov r12d, dword [rbx + 0x50]
test r12d, r12d
je 0x5d7879
cmp r12d, 0xffffffff
je 0x5d7879
mov ebx, 0x2f
call fcn.005c7da0
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x2b
lea rcx, [0x006d3214]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00741740]
add rsp, 0x90
pop rbp
ret
movzx r12d, word [rax + 0x62]
mov r13, qword [0x0089b950]
mov r15, qword [0x0089b958]
xor ecx, ecx
jmp 0x5d792d
mov ebx, 0x2f
call fcn.005c7da0
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x34
lea rcx, [0x006d59ed]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00741740]
add rsp, 0x90
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
mov ebx, 0xa
call fcn.005c7da0
nop
lea rax, [0x006870a0]
nop dword [rax + rax]
call fcn.0040d480
mov qword [rax + 8], 0x2e
lea rcx, [0x006d4021]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00741740]
add rsp, 0x90
pop rbp
ret
inc rcx
cmp rcx, r15
jge 0x5d793f
mov rsi, qword [r13 + rcx*8]
cmp word [rsi], r12w
jne 0x5d792a
jmp 0x5d7941
xor esi, esi
test rsi, rsi
je 0x5d7ba9
mov r12, qword [rax + 0x100]
test r12, r12
je 0x5d7ba9
mov r13, qword [rsi + 0x18]
lea r15, [r13 - 1]
cmp r15, 0x13
jae 0x5d7bc5
mov rcx, qword [0x0089c778]
cmp rcx, r13
jbe 0x5d7bbc
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x50], rdx
mov rcx, qword [rax + 0x108]
mov rdi, qword [rax + 0x110]
mov r10, qword [rbx + 0x28]
mov r11, qword [rbx + 0x30]
mov r9, qword [rbx + 0x20]
mov rdx, qword [0x0089c770]
movzx edx, byte [rdx + r13]
mov qword [rsp], rdx
mov r8d, 0xa
mov rax, rsi
mov rbx, r12
lea rsi, [0x006c5b11]
call fcn.005edd00
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0xa0]
call fcn.005f2100
test rbx, rbx
jne 0x5d7b74
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x38], rcx
cmp dword [0x0092d940], 0
jne 0x5d7a1a
mov rcx, qword [rsp + 0x78]
jmp 0x5d7a2f
call fcn.0045fe40
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 + 0xa0]
mov rbx, qword [rcx + 0x50]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x5d7a54
lea rbx, fcn.004ae7a0
mov rax, qword [rbx]
mov rdx, rbx
call rax
mov rdi, qword [rsp + 0x50]
call fcn.004adf20
nop
bt rax, 0x3f
jae 0x5d7a83
shl rax, 1
shr rax, 0x1f
movabs rcx, 0xdd7b17f80
lea rbx, [rax + rcx]
movabs rcx, 0xfffffff1886e0900
add rcx, rbx
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0xd0], rcx
mov rcx, qword [rsp + 0xa8]
mov ebx, dword [rcx + 0x1c]
mov dword [rdx + 0xd8], ebx
mov rbx, qword [rsp + 0xa0]
cmp qword [rbx + 0x20], 0
je 0x5d7ac6
cmp dword [rcx + 0x50], 0xffffffff
sete sil
jmp 0x5d7ac8
xor esi, esi
mov byte [rdx + 0x18], sil
lea rax, [0x00690a20]
call fcn.0040d480
mov rcx, qword [rsp + 0xa8]
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 [0x0092d940], 0
jne 0x5d7b04
mov rdx, qword [rsp + 0x70]
jmp 0x5d7b15
call fcn.0045fe40
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 + 0xa0]
call fcn.005d31e0
test rbx, rbx
je 0x5d7b67
mov rdx, qword [rsp + 0xa0]
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, 0x90
pop rbp
ret
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0xa0]
mov ebx, 0x50
call fcn.005c7da0
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
add rsp, 0x90
pop rbp
ret
mov ebx, 0x50
call fcn.005c7da0
add rsp, 0x90
pop rbp
ret
mov rax, r13
nop
call fcn.00460200
lea rax, [0x0066d140]
lea rbx, [0x00740a70]
call fcn.004337c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.005d77c0