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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x38]
cmp rax, qword [rcx + 0x10]
jbe 0x5cd047
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
test rax, rax
jne 0x5cd03a
movzx ecx, byte [rsp + 0xd0]
test cl, cl
jne 0x5ccfaf
lea rdx, [0x006bb8c0]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0xc8]
cmp rcx, 1
jne 0x5ccfa2
mov rdx, qword [rsp + 0xc0]
movzx ebx, byte [rdx]
cmp bl, 0x2a
jne 0x5cc780
mov qword [rax + 0x40], 1
mov ecx, dword [0x008b4340]
lea rdx, [rax + 0x38]
test ecx, ecx
jne 0x5cc764
lea rcx, [0x006cf297]
mov qword [rax + 0x38], rcx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rdx
lea rcx, [0x006cf297]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x70]
jmp 0x5cc734
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.005cbf10
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x80], rdx
mov rbx, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x98], rdi
mov r8, qword [rsp + 0x70]
mov qword [r8 + 8], rbx
mov ebx, dword [0x008b4340]
test ebx, ebx
jne 0x5ccf6d
mov qword [r8], rsi
test rax, rax
jne 0x5ccf41
mov rax, qword [r8 + 8]
mov rbx, qword [r8]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
call fcn.004c6b20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 8], rax
mov eax, dword [0x008b4340]
test eax, eax
jne 0x5ccf29
mov qword [rdx], rcx
mov rax, qword [rsp + 0x48]
cmp rax, 1
jl 0x5ccf17
lea rcx, [rax - 1]
cmp rcx, rax
ja 0x5ccf10
mov rbx, rax
sub rax, rcx
lea rsi, [rax - 1]
sar rsi, 0x3f
xor rsi, 0xffffffffffffffff
and rcx, rsi
mov rsi, qword [rsp + 0x80]
add rcx, rsi
cmp rax, 1
je 0x5cced1
xor eax, eax
test al, al
jne 0x5cce5b
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
lea rax, [0x006cf2a4]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov byte [rsp + 0x20], 1
call fcn.005cc130
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x88], rcx
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x70]
mov qword [rsi + 0x68], rdx
mov edx, dword [0x008b4340]
lea rdi, [rsi + 0x60]
test edx, edx
jne 0x5cce36
mov qword [rsi + 0x60], rbx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x50], rax
cmp rax, 1
jge 0x5ccdf6
xor edx, edx
test dl, dl
je 0x5ccbd9
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x5ccb70
cmp rax, 2
jge 0x5ccb30
xor edx, edx
test dl, dl
je 0x5ccb28
cmp rax, 2
jb 0x5ccb21
lea rdx, [rax - 3]
sar rdx, 0x3f
xor rdx, 0xffffffffffffffff
and rdx, 2
add rcx, rdx
mov qword [rsp], rcx
add rax, 0xfffffffffffffffe
mov qword [rsp + 8], rax
lea rax, [0x006cf29c]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov byte [rsp + 0x20], 0
call fcn.005cc130
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
call fcn.005cd060
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x90], rcx
mov edx, dword [0x008b4340]
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x68], rbx
mov rsi, qword [rsp + 0x18]
mov qword [rsp + 0xa8], rsi
mov rdi, qword [rsp + 0x10]
mov r8, qword [rsp + 0x70]
lea r9, [r8 + 0x20]
test edx, edx
jne 0x5ccaec
mov qword [r8 + 0x20], rdi
mov qword [r8 + 0x30], rbx
mov edx, dword [0x008b4340]
lea rbx, [r8 + 0x28]
test edx, edx
jne 0x5ccac4
mov qword [r8 + 0x28], rsi
test rcx, rcx
jne 0x5cca98
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
mov qword [rsp], r8
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.005cdc20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
je 0x5cca63
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rbx
mov qword [rsp + 8], rsi
call fcn.00410240
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x70]
jmp 0x5cc9ff
mov qword [rsp], r9
mov qword [rsp + 8], rdi
call fcn.00410240
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x70]
jmp 0x5cc9e5
call fcn.00429450
ud2
mov r8, rsi
jmp 0x5cca15
mov qword [rsp], rcx
mov qword [rsp + 8], 2
lea rdx, [0x006cf2df]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 2
call fcn.00454360
movzx edx, byte [rsp + 0x20]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x5cc914
movzx edx, byte [rsp + 0xd0]
test dl, dl
je 0x5ccb84
mov r8, rsi
jmp 0x5cca15
cmp rax, 3
jge 0x5ccb9c
xor edx, edx
test dl, dl
je 0x5cc908
mov r8, rsi
jmp 0x5cca15
mov qword [rsp], rcx
mov qword [rsp + 8], 3
lea rdx, [0x006cf3ef]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 3
call fcn.00454360
movzx edx, byte [rsp + 0x20]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x5ccb8c
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x5ccc3d
mov qword [rsi + 0x18], rax
mov eax, dword [0x008b4340]
lea rdx, [rsi + 0x10]
test eax, eax
jne 0x5ccc28
mov qword [rsi + 0x10], rcx
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.00410240
mov rsi, qword [rsp + 0x70]
jmp 0x5ccbf8
movzx edx, byte [rsp + 0xd0]
test dl, dl
je 0x5cccd8
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa0], rax
mov qword [rax + 8], 0x17
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5cccb9
lea rcx, [0x006d56a5]
mov qword [rax], rcx
mov qword [rsp + 0xd8], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rax
lea rcx, [0x006d56a5]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa0]
jmp 0x5ccc86
mov qword [rsp], rcx
mov qword [rsp + 8], rax
lea rbx, [0x006cf29f]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 1
call fcn.004c7c20
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 8], rdx
lea rbx, [0x006cf29c]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 1
call fcn.004c7c20
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jl 0x5ccde2
test rax, rax
jge 0x5ccdd9
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa0], rax
mov qword [rax + 8], 0x2e
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5ccdba
lea rcx, [0x006dc28a]
mov qword [rax], rcx
mov qword [rsp + 0xd8], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rax
lea rcx, [0x006dc28a]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa0]
jmp 0x5ccd87
cmp rcx, rax
jl 0x5ccd4e
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x5cc8fb
mov qword [rsp], rcx
mov qword [rsp + 8], 1
lea rdx, [0x006cf29c]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 1
call fcn.00454360
movzx edx, byte [rsp + 0x20]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x5cc8f3
mov qword [rsp], rdi
mov qword [rsp + 8], rbx
call fcn.00410240
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x70]
jmp 0x5cc8dd
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
lea rax, [0x006cf2a4]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
call fcn.004c5080
mov rax, qword [rsp + 0x20]
cmp rax, 1
jne 0x5cceba
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x58], 1
mov rcx, qword [rsp + 0x48]
lea rdx, [rcx - 1]
cmp rdx, rcx
ja 0x5cceb3
mov rsi, rax
mov rcx, qword [rsp + 0x80]
mov rax, rdx
jmp 0x5cc8dd
call fcn.00429450
ud2
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
jmp 0x5cc875
mov qword [rsp], rcx
mov qword [rsp + 8], rax
lea rax, [0x006cf2a4]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
call fcn.00454360
movzx eax, byte [rsp + 0x20]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
jmp 0x5cc86d
call fcn.00429450
ud2
mov rbx, rax
mov rsi, qword [rsp + 0x80]
xor eax, eax
jmp 0x5cc86d
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.00410240
mov rdx, qword [rsp + 0x70]
jmp 0x5cc825
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdi
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], r8
mov qword [rsp + 8], rsi
call fcn.00410240
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x70]
jmp 0x5cc7e3
mov rdx, qword [rsp + 0xc0]
jmp 0x5cc780
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa0], rax
mov qword [rax + 8], 9
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5cd01b
lea rcx, [0x006d09a8]
mov qword [rax], rcx
mov qword [rsp + 0xd8], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov qword [rsp], rax
lea rcx, [0x006d09a8]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa0]
jmp 0x5ccfe8
movzx ecx, byte [rsp + 0xd0]
jmp 0x5cc6d7
call fcn.00452210
jmp fcn.005cc680