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

Disassembly:
lea r12, [rsp - 0xb0]
cmp r12, qword [r14 + 0x10]
jbe 0x5c64cd
push rbp
mov rbp, rsp
sub rsp, 0x128
mov qword [rsp + 0x138], rax
mov rdx, qword [rax + 0x80]
mov rsi, qword [rax + 0x88]
mov rdx, qword [rdx + 0x30]
mov r8, qword [rax]
mov qword [rsp + 0xc8], r8
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rax, rsi
call rdx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x138]
mov rsi, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x20]
mov rax, r8
call rsi
lea rax, [0x0065e520]
call fcn.0040d680
mov byte [rax], 0xfe
mov word [rax + 1], 0
mov rdx, qword [rsp + 0x70]
mov byte [rax + 3], dl
mov rsi, qword [rsp + 0x138]
mov r8, qword [rsi + 0x80]
mov r9, qword [rsi + 0x88]
mov r8, qword [r8 + 0x38]
mov rbx, rax
mov ecx, 4
mov rdi, rcx
mov rax, r9
call r8
mov rdx, qword [rsp + 0x138]
mov rsi, qword [rdx + 0x80]
mov rax, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x38]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
call rsi
mov rdx, qword [rsp + 0x138]
mov rsi, qword [rdx + 0x18]
mov qword [rsp + 0x100], rsi
mov rbx, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov qword [rsp + 0xf8], r8
lea rax, [0x0066ee00]
call fcn.0040afa0
mov rbx, qword [rsp + 0x100]
mov rcx, rax
mov rdi, qword [rsp + 0xf8]
lea rax, [0x00729798]
call fcn.005de3a0
test rax, rax
jne 0x5c5a2a
mov r8, qword [rsp + 0x138]
mov r9, qword [r8 + 0x18]
cmp word [r9 + 0x100], 0
jne 0x5c5957
cmp qword [r9 + 0xe8], 0
jne 0x5c5957
mov rax, qword [rsp + 0xc8]
mov ebx, 0x2f
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x39
lea rcx, [0x006c3309]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0x128
pop rbp
ret
mov r10, qword [r9 + 0xe8]
nop
test r10, r10
je 0x5c59ac
mov r11, qword [r9 + 0xf0]
mov r9, qword [r9 + 0xf8]
mov r12, qword [r8 + 0x20]
mov qword [r12 + 0x180], r11
mov qword [r12 + 0x188], r9
cmp dword [0x00921500], 0
je 0x5c59a4
call fcn.004665c0
mov qword [r11], r10
mov r9, qword [r12 + 0x178]
mov qword [r11 + 8], r9
mov qword [r12 + 0x178], r10
mov r9, qword [r8 + 0x18]
cmp word [r9 + 0xa8], 0
jne 0x5c59e5
movzx ecx, word [r9 + 0x100]
test cx, cx
je 0x5c5a33
mov rdx, qword [r8 + 0x20]
mov rsi, qword [rdx + 0x98]
mov rdx, qword [rdx + 0xa0]
xor eax, eax
nop dword [rax]
jmp 0x5c608f
mov rax, qword [rsp + 0xc8]
mov ebx, 0x32
call fcn.005b9d20
lea rax, [0x00673e00]
nop
call fcn.0040d680
mov qword [rax + 8], 0x2b
lea rcx, [0x006bfc9c]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0x128
pop rbp
ret
add rsp, 0x128
pop rbp
ret
mov r9, qword [r8 + 0x20]
movups xmmword [r9 + 8], xmm15
cmp dword [0x00921500], 0
je 0x5c5a50
mov r10, qword [r9]
call fcn.004665a0
mov qword [r11], r10
mov qword [r9], 0
mov r9, qword [r8 + 0x20]
cmp qword [r9 + 0x1d0], 0
je 0x5c5a85
mov r10, qword [r8 + 0x30]
movzx r10d, word [r10 + 0x1e]
mov r11, qword [0x008bf220]
mov r12, qword [0x008bf228]
xor eax, eax
nop
jmp 0x5c5d49
mov rdx, qword [r8 + 0x20]
cmp byte [rdx + 0x1a8], 0
je 0x5c5b93
mov byte [rdx + 0x1a8], 0
mov rdx, qword [rsp + 0xc8]
mov r9, qword [rdx + 0x20]
mov rcx, qword [r9 + 0x10]
mov rbx, qword [r9 + 8]
inc rbx
nop
mov rax, qword [r9]
cmp rcx, rbx
jae 0x5c5b10
mov qword [rsp + 0xf0], r9
mov edi, 1
lea rsi, [0x0068f9a0]
call fcn.0044b880
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + 0x10], rcx
cmp dword [0x00921500], 0
je 0x5c5afa
call fcn.004665c0
mov qword [r11], rax
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rax
mov r8, qword [rsp + 0x138]
mov r9, rdx
mov rdx, qword [rsp + 0xc8]
mov qword [r9 + 8], rbx
lea rsi, [rbx + rbx*2]
shl rsi, 4
lea rbx, [rsi + rax]
lea rbx, [rbx - 0x30]
cmp dword [0x00921500], 0
je 0x5c5b70
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0xe8], rax
lea rax, [0x0068f9a0]
lea rcx, [0x0072a300]
call fcn.00413880
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x138]
mov qword [rsi + rax - 0x30], 6
mov qword [rsi + rax - 0x28], 0
lea rcx, [rsi + rax]
lea rcx, [rcx - 0x20]
movups xmmword [rcx], xmm15
movups xmmword [rcx + 0x10], xmm15
mov rcx, qword [r8]
mov qword [rsp + 0xe0], rcx
mov rdx, qword [r8 + 0x20]
mov qword [rsp + 0xd8], rdx
mov rbx, qword [r8 + 0x80]
mov rsi, qword [r8 + 0x88]
mov qword [rsp + 0xf8], rsi
lea rax, [0x0066ee00]
call fcn.0040afa0
lea rbx, [0x00729770]
mov rcx, qword [rsp + 0xd8]
mov rdi, rax
mov rsi, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xe0]
call fcn.005bad80
test rbx, rbx
jne 0x5c5d37
mov rax, qword [rsp + 0xc8]
xor ebx, ebx
xor ecx, ecx
call fcn.005bb200
test rcx, rcx
jne 0x5c5d28
lea rcx, [0x0066ed80]
nop dword [rax]
cmp rax, rcx
jne 0x5c5c2a
mov rdx, rbx
jmp 0x5c5c32
mov rdx, rbx
mov ebx, 0
jne 0x5c5c83
cmp dword [0x00921500], 0
jne 0x5c5c47
mov rax, qword [rsp + 0x138]
jmp 0x5c5c5f
call fcn.004665c0
mov qword [r11], rbx
mov rax, qword [rsp + 0x138]
mov rcx, qword [rax + 0x18]
mov qword [r11 + 8], rcx
mov qword [rax + 0x18], rbx
call fcn.005c5400
test rax, rax
je 0x5c5c76
add rsp, 0x128
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x128
pop rbp
ret
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x100], rdx
mov rax, qword [rsp + 0xc8]
mov ebx, 0xa
call fcn.005b9d20
movups xmmword [rsp + 0x108], xmm15
movups xmmword [rsp + 0x118], xmm15
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x108], rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x110], rcx
lea rcx, [0x0066ed80]
mov qword [rsp + 0x118], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rcx
lea rax, [0x006c4a32]
mov ebx, 0x49
lea rcx, [rsp + 0x108]
mov edi, 2
mov rsi, rdi
call fcn.004dd6a0
add rsp, 0x128
pop rbp
ret
mov rax, rcx
mov rbx, rdi
add rsp, 0x128
pop rbp
ret
mov rax, rbx
mov rbx, rcx
add rsp, 0x128
pop rbp
ret
inc rax
cmp rax, r12
jge 0x5c5d5b
mov r13, qword [r11 + rax*8]
cmp word [r13], r10w
jne 0x5c5d46
jmp 0x5c5d60
xor r13d, r13d
nop
test r13, r13
je 0x5c6067
mov r10, qword [r13 + 0x18]
mov r11, qword [r8 + 0x78]
cmp qword [r11 + 0x18], r10
jne 0x5c6008
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x5c5d97
lea rcx, vtable._.0
mov rax, qword [rcx]
mov rdx, rcx
call rax
mov rsi, qword [rsp + 0x138]
mov rdi, qword [rsi + 0x30]
movabs r8, 0xe7791f700
add r8, qword [rdi + 0x20]
mov rdi, qword [0x008bd668]
nop
mov rdx, rdi
xor edi, edi
mov rsi, r8
mov r8, rdx
call fcn.004ce000
mov rcx, qword [rsp + 0x138]
mov rbx, qword [rcx + 0x20]
mov rdx, rax
movabs rax, 0x431bde82d7b634db
mov rsi, rdx
imul rdx
sar rdx, 0x12
sar rsi, 0x3f
sub rdx, rsi
mov rax, qword [rcx + 0x30]
add edx, dword [rax + 0xd8]
cmp qword [rbx + 0x1d0], 0
jbe 0x5c6082
mov rbx, qword [rbx + 0x1c8]
mov dword [rbx + 0x18], edx
mov rdx, qword [rcx + 0x78]
mov rax, qword [rdx + 0x18]
call fcn.004b49c0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xa0], rbx
lea rax, [0x0065e520]
nop
call fcn.0040d680
mov byte [rax], 0xfe
mov word [rax + 1], 0
mov rcx, qword [rsp + 0x70]
mov byte [rax + 3], cl
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rdx + 0x38]
mov edi, 4
mov rsi, rax
mov rax, qword [rsp + 0xa0]
mov r8, rbx
mov rbx, rsi
mov rcx, rdi
call r8
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx + 0x38]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
nop
call rdx
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x100], rdx
lea rax, [0x0066ee00]
mov rbx, qword [rsp + 0x60]
call fcn.0040afa0
mov rbx, qword [rsp + 0x100]
mov rcx, rax
mov rdi, qword [rsp + 0xa0]
lea rax, [0x00729798]
call fcn.005de3a0
test rax, rax
jne 0x5c5fff
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx + 0x20]
nop dword [rax + rax]
call fcn.005cf2e0
test rdi, rdi
jne 0x5c5ff0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xa0]
call rsi
mov rdx, qword [rsp + 0x138]
mov rax, qword [rdx + 0x78]
mov rbx, qword [rdx + 0x50]
mov rcx, qword [rdx + 0x58]
mov rdi, qword [rdx + 0x60]
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsp + 0xa0]
call fcn.005e05e0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xd0], rax
lea rax, [0x00660bc0]
call fcn.0040d680
mov rdx, qword [rsp + 0x88]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x10], rdx
cmp dword [0x00921500], 0
jne 0x5c5fa3
mov rdx, qword [rsp + 0xd0]
jmp 0x5c5fb3
call fcn.004665a0
mov rdx, qword [rsp + 0xd0]
mov qword [r11], rdx
mov qword [rax], rdx
mov rdx, qword [rsp + 0x138]
mov rsi, qword [rdx + 0x20]
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, rsi
call fcn.005cf380
test rax, rax
jne 0x5c5fe7
mov r8, qword [rsp + 0x138]
jmp 0x5c5a85
add rsp, 0x128
pop rbp
ret
mov rax, rdi
mov rbx, rsi
add rsp, 0x128
pop rbp
ret
add rsp, 0x128
pop rbp
ret
movups xmmword [r9 + 0x1d0], xmm15
cmp dword [0x00921500], 0
je 0x5c6028
mov rdx, qword [r9 + 0x1c8]
call fcn.004665a0
mov qword [r11], rdx
mov qword [r9 + 0x1c8], 0
mov rdx, qword [r8 + 0x20]
movups xmmword [rdx + 0x1e8], xmm15
cmp dword [0x00921500], 0
je 0x5c6057
mov r9, qword [rdx + 0x1e0]
call fcn.004665a0
mov qword [r11], r9
mov qword [rdx + 0x1e0], 0
jmp 0x5c5a85
mov rax, qword [rsp + 0xc8]
mov ebx, 0x50
call fcn.005b9d20
add rsp, 0x128
pop rbp
ret
xor eax, eax
mov rcx, rax
call fcn.00466960
inc rax
cmp rax, rdx
jge 0x5c648a
movzx edi, word [rsi + rax*2]
nop dword [rax]
cmp di, cx
jne 0x5c608c
mov word [rsp + 0x46], cx
mov rdx, qword [r8 + 0x28]
mov rax, qword [rdx]
mov qword [rsp + 0x50], rax
mov rbx, qword [rdx + 8]
mov qword [rsp + 0x98], rbx
lea rdx, [0x0072aa90]
cmp rax, rdx
jne 0x5c610f
mov rcx, qword [0x008bd948]
call fcn.00404940
test al, al
je 0x5c60f5
movzx ecx, word [rsp + 0x46]
mov r8, qword [rsp + 0x138]
mov eax, 0x1d
jmp 0x5c61ec
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x46]
mov rbx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x138]
lea rdx, [0x0072aad0]
cmp rax, rdx
jne 0x5c615f
mov rcx, qword [0x008bd930]
call fcn.00404940
test al, al
je 0x5c6145
movzx ecx, word [rsp + 0x46]
mov r8, qword [rsp + 0x138]
mov eax, 0x17
nop dword [rax]
jmp 0x5c61ec
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x46]
mov rbx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x138]
lea rdx, [0x0072ab10]
cmp rax, rdx
jne 0x5c61a9
mov rcx, qword [0x008bd938]
call fcn.00404940
test al, al
je 0x5c618f
movzx ecx, word [rsp + 0x46]
mov r8, qword [rsp + 0x138]
mov eax, 0x18
jmp 0x5c61ec
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x46]
mov rbx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x138]
lea rdx, [0x0072ab50]
cmp rax, rdx
jne 0x5c61ea
mov rcx, qword [0x008bd940]
nop dword [rax]
call fcn.00404940
test al, al
je 0x5c61dd
movzx ecx, word [rsp + 0x46]
mov r8, qword [rsp + 0x138]
mov eax, 0x19
jmp 0x5c61ec
movzx ecx, word [rsp + 0x46]
mov r8, qword [rsp + 0x138]
xor eax, eax
cmp ax, cx
je 0x5c6442
nop
cmp cx, 0x18
ja 0x5c6211
nop dword [rax]
cmp cx, 0x17
je 0x5c622a
cmp cx, 0x18
je 0x5c622a
jmp 0x5c63ff
cmp cx, 0x19
je 0x5c622a
nop word [rax + rax]
cmp cx, 0x1d
jne 0x5c63ff
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rdx + 0x50]
mov rdi, qword [rsi]
test rdi, rdi
je 0x5c6244
mov rsi, qword [rsi + 8]
jmp 0x5c6252
mov rdi, qword [0x008cc3c0]
mov rsi, qword [0x008cc3c8]
mov rax, rdi
mov rbx, rsi
call fcn.005e0a20
nop dword [rax]
test rbx, rbx
jne 0x5c63ca
cmp dword [0x00921500], 0
jne 0x5c6280
mov rcx, qword [rsp + 0x138]
jmp 0x5c6298
call fcn.004665c0
mov qword [r11], rax
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rcx + 0x28]
mov qword [r11 + 8], rdx
mov qword [rcx + 0x28], rax
nop dword [rax]
call fcn.0051d5e0
mov qword [rsp + 0xb0], rax
lea rax, [0x00660b60]
call fcn.0040d680
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
cmp rdi, 0x85
ja 0x5c62dc
mov rcx, rdi
mov edx, 0x85
jmp 0x5c631b
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xd0], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x0065bae0]
nop dword [rax + rax]
call fcn.0044b880
mov rdx, rcx
mov rdi, rbx
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], rdi
call fcn.00467360
lea rax, [0x00660c80]
call fcn.0040d680
movzx edx, word [rsp + 0x46]
mov word [rax], dx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 0x18], rdx
cmp dword [0x00921500], 0
nop
jne 0x5c636c
mov r8, qword [rsp + 0x90]
jmp 0x5c637c
call fcn.004665a0
mov r8, qword [rsp + 0x90]
mov qword [r11], r8
mov qword [rax + 8], r8
mov r8, qword [rsp + 0x138]
mov r9, qword [r8 + 0x20]
mov qword [r9 + 0x198], 1
mov qword [r9 + 0x1a0], 1
cmp dword [0x00921500], 0
je 0x5c63be
call fcn.004665c0
mov qword [r11], rax
mov r10, qword [r9 + 0x190]
mov qword [r11 + 8], r10
mov qword [r9 + 0x190], rax
jmp 0x5c5a33
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0xc8]
mov ebx, 0x50
call fcn.005b9d20
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xb8]
add rsp, 0x128
pop rbp
ret
mov rax, qword [rsp + 0xc8]
mov ebx, 0x50
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x30
lea rcx, [0x006c1577]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0x128
pop rbp
ret
mov rax, qword [rsp + 0xc8]
mov ebx, 0x2f
call fcn.005b9d20
lea rax, [0x00673e00]
nop dword [rax + rax]
call fcn.0040d680
mov qword [rax + 8], 0x3b
lea rcx, [0x006c3513]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0x128
pop rbp
ret
mov rax, qword [rsp + 0xc8]
mov ebx, 0x2f
call fcn.005b9d20
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x26
lea rcx, [0x006be040]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00728640]
add rsp, 0x128
pop rbp
ret
mov qword [rsp + 8], rax
call fcn.004646a0
mov rax, qword [rsp + 8]
nop dword [rax]
jmp fcn.005c57a0