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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x18]
cmp rax, qword [rcx + 0x10]
jbe 0x520bc8
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
cmp rcx, rax
jne 0x520bab
mov rbx, qword [rsp + 0xd8]
nop word [rax + rax]
cmp rcx, rbx
jne 0x520bab
mov rbx, qword [rsp + 0xf0]
cmp rcx, rbx
jne 0x520bab
mov rsi, rcx
shl rcx, 1
mov rdx, qword [rsp + 0xb0]
cmp rdx, rcx
jl 0x520ac5
jb 0x520ba6
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa0], rdi
mov qword [rsp], rdi
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
call fcn.0051f7e0
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
xor r9d, r9d
xor r10d, r10d
jmp 0x52080f
mov r11, qword [rsp + 0x60]
lea r9, [r11 + 1]
mov r11, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
mov rsi, r8
mov rdi, r12
mov r8, r13
mov r10, rax
mov rax, r11
cmp rdx, r9
jle 0x520971
mov r11, qword [rcx + r9*8]
lea r12, [r9 + rdx]
cmp r12, r8
ja 0x520b9b
cmp r9, r12
ja 0x520b90
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x70], r10
mov rcx, r9
shl r9, 3
sub r8, rcx
mov qword [rsp + 0x78], r8
mov r12, r8
neg r8
sar r8, 0x3f
and r8, r9
add r8, rsi
mov qword [rsp + 0x88], r8
mov qword [rsp], r8
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r12
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r11
call fcn.0052c340
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jae 0x520b85
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + rcx*8]
mov rbx, qword [rsp + 0x88]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0xe8]
mov qword [rsp + 0x18], rsi
mov rdi, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rdi
mov r8, qword [rsp + 0xf8]
mov qword [rsp + 0x28], r8
mov r9, qword [rsp + 0x100]
imul rdx, r9
mov qword [rsp + 0x30], rdx
call fcn.0052c340
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rdx, rcx
lea rbx, [rdx + rax]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x50]
nop
cmp rsi, rdi
jae 0x520b78
mov r8, qword [rsp + 0xa0]
mov qword [r8 + rsi*8], rbx
cmp rcx, rdx
jbe 0x520965
mov eax, 1
nop
jmp 0x5207c7
cmp rax, rbx
ja 0x52095a
xor eax, eax
jmp 0x5207c7
test r10, r10
je 0x520a47
nop word [rax + rax]
cmp rdx, r8
ja 0x520b6d
mov rcx, qword [rsp + 0x50]
cmp rdx, rcx
ja 0x520b65
mov qword [rsp], rsi
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r8
sub r8, rdx
mov rbx, r8
neg r8
mov rdi, rdx
shl rdx, 3
sar r8, 0x3f
and r8, rdx
lea rdx, [rsi + r8]
mov qword [rsp + 0x18], rdx
sub rcx, rdi
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x40], rcx
call fcn.0052bfc0
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xb0]
cmp rcx, rdx
ja 0x520b4b
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], rdx
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
cmp rdx, r8
ja 0x520b58
mov rcx, qword [rsp + 0x50]
cmp rdx, rcx
ja 0x520b50
sub rcx, rdx
cmp rdx, rcx
mov rax, rdx
cmovg rdx, rcx
mov rcx, rax
sub rax, r8
mov rbx, rcx
shl rcx, 3
sar rax, 0x3f
and rax, rcx
lea rdi, [rsi + rax]
test rax, rax
je 0x5209fe
mov qword [rsp], rsi
mov qword [rsp + 8], rdi
shl rdx, 3
mov qword [rsp + 0x10], rdx
nop
call fcn.0046d6c0
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
nop dword [rax]
jmp 0x5209fe
cmp rcx, 1
jne 0x520b05
lea rax, [0x00613940]
mov qword [rsp], rax
mov qword [rsp + 8], 1
mov qword [rsp + 0x10], 1
call fcn.0044dcc0
mov rdi, qword [rsp + 0x18]
mov edx, 1
mov ecx, 1
nop dword [rax]
jmp 0x52075f
mov qword [rsp + 0x80], rcx
lea rax, [0x00613940]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
lea rax, [rsi + rsi]
lea rax, [rax + 4]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x10], rax
call fcn.0044dcc0
mov rdi, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
jmp 0x52075f
call fcn.0046ce40
mov rax, rdx
call fcn.0046ce80
mov rcx, rdx
mov rdx, r8
nop
call fcn.0046ce40
mov rax, rdx
call fcn.0046ce80
mov rcx, rdx
mov rdx, r8
call fcn.0046ce40
mov rax, rsi
mov rcx, rdi
nop
call fcn.0046cdc0
mov rax, rcx
mov rcx, rdx
call fcn.0046cdc0
mov rax, r9
mov rcx, r12
call fcn.0046ce80
mov rcx, r12
mov rdx, r8
call fcn.0046ce40
call fcn.0046ce40
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a14f0]
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.005206c0