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

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x5c0df2
push rbp
mov rbp, rsp
sub rsp, 0xf8
mov rdx, qword [rax + 0x50]
cmp byte [rdx + 0xc1], 0
jne 0x5c040d
cmp qword [rdx + 0xe8], 0
je 0x5c040d
mov byte [rbx + 0xc8], 1
cmp qword [rbx + 0x168], 0
jbe 0x5c0de7
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
mov rdx, qword [rbx + 0x160]
cmp word [rdx], 0x304
jne 0x5c0327
lea rax, [0x0065e4c0]
call fcn.0040d680
mov byte [rax], 1
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x1b8], 1
mov qword [rcx + 0x1c0], 1
cmp dword [0x00921500], 0
je 0x5c0315
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx + 0x1b0]
mov qword [r11 + 8], rdx
mov qword [rcx + 0x1b0], rax
mov rax, qword [rsp + 0x108]
mov rbx, rcx
cmp qword [rax + 0x58], 0
jne 0x5c03ec
call fcn.005c4ea0
nop word [rax + rax]
test rbx, rbx
je 0x5c03cb
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x50]
mov rdi, qword [rsi + 0xe8]
mov rsi, qword [rsi + 0xf0]
mov rdi, qword [rdi + 0x18]
mov rcx, rbx
mov rbx, rax
mov rax, rsi
call rdi
nop
test bl, bl
je 0x5c03aa
test rax, rax
je 0x5c03aa
mov r12, qword [rax + 0x18]
mov r13, qword [rsp + 0x110]
mov r15, qword [r13 + 0x160]
mov rcx, qword [r13 + 0x168]
xor edx, edx
jmp 0x5c0431
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
inc rdx
cmp rdx, rcx
jge 0x5c06a7
movzx ebx, word [r15 + rdx*2]
nop
cmp word [r12 + 0x1a], bx
jne 0x5c042e
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xf0], r12
mov rcx, qword [rsp + 0x108]
mov rbx, qword [rcx + 0x50]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x5c0474
lea rbx, vtable._.0
mov rax, qword [rbx]
mov rdx, rbx
call rax
mov rsi, qword [rsp + 0xf0]
cmp qword [rsi + 0x50], 0
jbe 0x5c0ddd
mov rdx, qword [rsi + 0x48]
mov rdx, qword [rdx]
mov rdi, qword [rdx + 0x2c8]
mov r9, qword [rdx + 0x2d0]
mov r8, qword [rdx + 0x2d8]
mov rsi, r9
call fcn.004cd440
test al, al
jne 0x5c0657
mov r12, qword [rsp + 0x108]
mov r13, qword [r12 + 0x50]
cmp byte [r13 + 0xa0], 0
jne 0x5c051e
mov rdx, qword [rsp + 0xf0]
cmp qword [rdx + 0xb0], 0
je 0x5c0636
cmp qword [rdx + 0x50], 0
jbe 0x5c0dd3
mov rsi, qword [rdx + 0x48]
mov rax, qword [rsi]
mov rbx, qword [r13 + 0x80]
mov rcx, qword [r13 + 0x88]
call fcn.005a0060
test rax, rax
jne 0x5c0615
mov r12, qword [rsp + 0x108]
mov rax, qword [rsp + 0xf0]
cmp word [rax + 0x1a], 0x304
je 0x5c054a
mov rdx, qword [rsp + 0x110]
mov r12, qword [rdx + 0x50]
mov r13, qword [rdx + 0x58]
movzx r15d, word [rax + 0x1e]
xor ecx, ecx
jmp 0x5c0d00
mov rcx, qword [r12 + 0x50]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x5c055f
lea rcx, vtable._.0
mov rax, qword [rcx]
mov rdx, rcx
call rax
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsi + 0xd0]
movabs r8, 0xe7791f700
add rdi, r8
mov r9, qword [0x008bd668]
nop
mov rdx, rdi
xor edi, edi
mov rsi, rdx
mov r8, r9
call fcn.004cd440
test al, al
jne 0x5c05c5
mov r12, qword [rsp + 0xf0]
movzx r13d, word [r12 + 0x1e]
mov r15, qword [0x008bf220]
mov rax, qword [0x008bf228]
xor ecx, ecx
nop dword [rax]
jmp 0x5c06cb
mov rdx, qword [rsp + 0x108]
mov rdx, qword [rdx + 0x50]
mov rsi, qword [rdx + 0xe8]
mov rax, qword [rdx + 0xf0]
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x60]
xor edi, edi
call rdx
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
mov rdx, qword [rsp + 0x108]
mov rdx, qword [rdx + 0x50]
mov rsi, qword [rdx + 0xe8]
mov rax, qword [rdx + 0xf0]
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x60]
xor edi, edi
call rdx
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
inc rcx
cmp rcx, rax
jge 0x5c06dc
mov rdx, qword [r15 + rcx*8]
cmp word [rdx], r13w
jne 0x5c06c8
jmp 0x5c06e0
xor edx, edx
nop
test rdx, rdx
je 0x5c06fc
mov ecx, r13d
mov r13, qword [rsp + 0x110]
mov rbx, qword [r13 + 0x50]
mov rsi, qword [r13 + 0x58]
xor edi, edi
jmp 0x5c0720
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
inc rdi
cmp rdi, rsi
jge 0x5c0748
movzx r8d, word [rbx + rdi*2]
xor r9d, r9d
jmp 0x5c076c
xor r10d, r10d
test r10, r10
je 0x5c071d
mov r8, qword [r10 + 0x18]
nop dword [rax + rax]
cmp qword [rdx + 0x18], r8
jne 0x5c071d
jmp 0x5c077d
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
inc r9
cmp r9, rax
jge 0x5c072f
mov r10, qword [r15 + r9*8]
cmp word [r10], r8w
jne 0x5c0769
jmp 0x5c0732
mov qword [rsp + 0xa0], rdx
mov rdi, qword [rsp + 0x108]
cmp qword [rdi + 0x20], 0
je 0x5c07a5
cmp byte [r12 + 0x18], 0
je 0x5c07a5
xor r8d, r8d
nop
jmp 0x5c0be8
mov rax, qword [rdi + 0x50]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x5c07b9
lea rax, vtable._.0
mov rcx, qword [rax]
mov rdx, rax
nop
call rcx
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsi + 0x20]
movabs r8, 0xe7791f700
add rdi, r8
mov r8, qword [0x008bd668]
nop
mov rdx, rdi
xor edi, edi
mov rsi, rdx
call fcn.004ce000
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rcx + 8]
mov qword [rsp + 0x50], rbx
mov rsi, qword [rcx + 0x10]
mov qword [rsp + 0x58], rsi
mov rdx, rax
movabs rax, 0x431bde82d7b634db
mov rdi, rdx
imul rdx
sar rdx, 0x12
sar rdi, 0x3f
sub rdx, rdi
mov rax, qword [rsp + 0xf0]
add edx, dword [rax + 0xd8]
mov dword [rsp + 0x44], edx
mov rcx, qword [rcx]
mov qword [rsp + 0xb0], rcx
lea rax, [0x00660ce0]
call fcn.0040d680
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x10], rcx
mov ecx, dword [rsp + 0x44]
mov dword [rax + 0x18], ecx
cmp dword [0x00921500], 0
jne 0x5c0880
mov rdx, qword [rsp + 0xb0]
jmp 0x5c0890
call fcn.004665a0
mov rdx, qword [rsp + 0xb0]
mov qword [r11], rdx
mov qword [rax], rdx
mov rdx, qword [rsp + 0x110]
mov qword [rdx + 0x1d0], 1
mov qword [rdx + 0x1d8], 1
cmp dword [0x00921500], 0
je 0x5c08cd
call fcn.004665c0
mov qword [r11], rax
mov rsi, qword [rdx + 0x1c8]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x1c8], rax
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsi + 0x18]
lea rdi, [rax - 1]
cmp rdi, 0x13
jae 0x5c0bd1
mov rcx, qword [0x008bf6c8]
cmp rcx, rax
jbe 0x5c0bcc
mov rdx, qword [0x008bf6c0]
movzx ecx, byte [rdx + rax]
mov qword [rsp + 0x98], rcx
lea rax, [0x0065bae0]
mov rbx, rcx
nop dword [rax + rax]
call fcn.0044b7a0
mov qword [rsp + 0xe8], rax
lea rax, [0x00660bc0]
call fcn.0040d680
mov rdx, qword [rsp + 0x98]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
cmp dword [0x00921500], 0
jne 0x5c0960
mov rdx, qword [rsp + 0xe8]
jmp 0x5c0970
call fcn.004665a0
mov rdx, qword [rsp + 0xe8]
mov qword [r11], rdx
mov qword [rax], rdx
mov rdx, qword [rsp + 0x110]
mov qword [rdx + 0x1e8], 1
mov qword [rdx + 0x1f0], 1
cmp dword [0x00921500], 0
je 0x5c09ad
call fcn.004665c0
mov qword [r11], rax
mov r10, qword [rdx + 0x1e0]
mov qword [r11 + 8], r10
mov qword [rdx + 0x1e0], rax
mov r10, qword [rsp + 0xf0]
mov rbx, qword [r10 + 0x28]
mov rcx, qword [r10 + 0x30]
mov rdi, qword [r10 + 0x38]
mov rax, qword [rsp + 0xa0]
xor esi, esi
xor r8d, r8d
mov r9, r8
call fcn.005e02c0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rcx
mov rdi, rcx
lea rsi, [0x006b1edc]
mov r8d, 0xa
xor r9d, r9d
xor r10d, r10d
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xa0]
call fcn.005e0160
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0xa0]
mov r10, qword [rdx + 0x18]
mov rax, r10
call fcn.004b49c0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x110]
nop
call fcn.005cf2e0
test rdi, rdi
jne 0x5c0bab
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0x78], rdi
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xa8]
call rsi
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0xa8]
call fcn.005e05e0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x00660bc0]
call fcn.0040d680
mov rdx, qword [rsp + 0x70]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 0x10], rdx
cmp dword [0x00921500], 0
jne 0x5c0b0c
mov rdx, qword [rsp + 0xc8]
jmp 0x5c0b1c
call fcn.004665a0
mov rdx, qword [rsp + 0xc8]
mov qword [r11], rdx
mov qword [rax], rdx
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, qword [rsp + 0x110]
call fcn.005cf380
test rax, rax
je 0x5c0b5d
xor ecx, ecx
mov rdi, rcx
xor esi, esi
mov r8, rcx
mov r9, rcx
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, rsi
add rsp, 0xf8
pop rbp
ret
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0xd0]
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov r8, rcx
mov r9, rcx
mov r10, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rbx
add rsp, 0xf8
pop rbp
ret
call fcn.00466980
lea rax, [0x0065b7a0]
lea rbx, [0x007279b0]
nop
call fcn.00436ac0
inc r8
cmp r8, rsi
jge 0x5c0bff
movzx r9d, word [rbx + r8*2]
cmp r9w, cx
jne 0x5c0be5
xor ecx, ecx
jmp 0x5c0ce0
xor eax, eax
test rax, rax
je 0x5c07a5
mov rsi, qword [r13 + 0x140]
mov r8, qword [r13 + 0x148]
mov qword [rsp + 0x98], r8
xor eax, eax
jmp 0x5c0c2b
add rsi, 0x10
inc rax
cmp rax, r8
jge 0x5c07a5
mov rcx, qword [rsi + 8]
nop dword [rax + rax]
cmp qword [r12 + 0xc8], rcx
jne 0x5c0c24
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xe8], rsi
mov rax, qword [rsi]
mov rbx, qword [r12 + 0xc0]
call fcn.00403880
test al, al
jne 0x5c0cab
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x98]
mov r12, qword [rsp + 0xf0]
mov r13, qword [rsp + 0x110]
jmp 0x5c0c24
mov rax, qword [rsp + 0x110]
mov byte [rax + 0x1a8], 1
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x108]
mov r12, qword [rsp + 0xf0]
mov r13, rax
jmp 0x5c07a5
inc rcx
nop dword [rax]
cmp rcx, rax
jge 0x5c0cf1
mov rsi, qword [r15 + rcx*8]
cmp word [rsi], r9w
jne 0x5c0cda
jmp 0x5c0cf3
xor esi, esi
mov rax, rsi
jmp 0x5c0c01
inc rcx
nop
cmp rcx, r13
jge 0x5c0d26
movzx ebx, word [r12 + rcx*2]
cmp bx, r15w
jne 0x5c0cfb
nop
mov r12, qword [0x008bf200]
mov r13, qword [0x008bf208]
xor ecx, ecx
jmp 0x5c0db7
xor ecx, ecx
test rcx, rcx
je 0x5c0d93
mov r12, qword [rsp + 0xb8]
mov r13, qword [r12 + 8]
mov r15, qword [r12 + 0x10]
mov r12, qword [r12]
mov qword [rdx + 0xd8], r13
mov qword [rdx + 0xe0], r15
cmp dword [0x00921500], 0
je 0x5c0d6d
call fcn.004665c0
mov qword [r11], r12
mov r13, qword [rdx + 0xd0]
mov qword [r11 + 8], r13
mov qword [rdx + 0xd0], r12
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rsi, rbx
mov r8, rcx
mov r9, rcx
xor r10d, r10d
mov r11, rbx
add rsp, 0xf8
pop rbp
ret
inc rcx
cmp rcx, r13
jge 0x5c0dc8
mov r15, qword [r12 + rcx*8]
cmp word [r15], bx
jne 0x5c0db4
jmp 0x5c0dcb
xor r15d, r15d
mov rcx, r15
jmp 0x5c0d28
xor eax, eax
mov rcx, rax
call fcn.00466960
xor eax, eax
mov rcx, rax
call fcn.00466960
xor eax, eax
mov rcx, rax
call fcn.00466960
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax]
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.005c0260