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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x58]
cmp rax, qword [rcx + 0x10]
jbe 0x586736
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
lea rax, [0x006a76e0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rcx
lea rcx, [0x006625c0]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.00563620
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
jne 0x58665a
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
cmp rcx, 1
jne 0x5865a5
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x586577
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
call fcn.00589f70
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x90], rcx
test rcx, rcx
je 0x5864ec
lea rdx, [0x00694c00]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp], rax
call fcn.004ce140
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx + 0x38]
mov rbx, qword [rsp + 0x98]
mov qword [rsp], rbx
call rdx
mov rax, qword [rsp + 8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.004cdeb0
mov rax, qword [rsp + 0xb8]
lea rcx, [rax + 8]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x10]
test rdx, rdx
jge 0x586461
lea rdx, [0x006afc40]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x90]
mov qword [rax], rcx
mov edx, dword [0x008b4340]
lea rbx, [rax + 8]
test edx, edx
jne 0x586431
mov rdx, qword [rsp + 0x98]
mov qword [rax + 8], rdx
test byte [rax], al
mov ebx, dword [0x008b4340]
lea rsi, [rax + 0x20]
test ebx, ebx
jne 0x586401
mov rbx, qword [rsp + 0x80]
mov qword [rax + 0x20], rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp], rbx
call fcn.004ce310
mov rax, qword [rsp + 8]
lea rcx, [0x0066fcc0]
mov qword [rsp], rcx
lea rcx, [rax + 7]
sar rcx, 0x3f
shr rcx, 0x3d
lea rax, [rax + rcx + 7]
sar rax, 3
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call fcn.0043e630
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x60], rdx
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rbx + 8]
mov rdi, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
cmp rdi, rcx
jle 0x5862d5
test rdi, rdi
jbe 0x5862ce
movzx r9d, byte [rsi]
test r9b, r9b
jne 0x586243
dec rdi
mov qword [rbx + 0x10], rdi
lea rdi, [r8 - 1]
mov qword [rbx + 0x18], rdi
mov edi, dword [0x008b4340]
add r8, 0xfffffffffffffffe
sar r8, 0x3f
xor r8, 0xffffffffffffffff
and r8, 1
add rsi, r8
test edi, edi
jne 0x586211
mov qword [rbx + 8], rsi
jmp 0x5861b0
mov rdi, qword [rsp + 0xb0]
mov qword [rsp], rdi
mov qword [rsp + 8], rsi
call fcn.00410240
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xb8]
jmp 0x5861b0
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa8], rax
mov qword [rax + 8], 0x20
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5862af
lea rcx, [0x006d8e6b]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp], rax
lea rcx, [0x006d8e6b]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa8]
jmp 0x58627c
call fcn.004293e0
ud2
mov rbx, rcx
sub rcx, rdi
cmp rcx, rbx
ja 0x5863fa
mov r8, rbx
sub rbx, rcx
mov r9, rdx
sub rdx, rcx
dec rdx
sar rdx, 0x3f
xor rdx, 0xffffffffffffffff
and rcx, rdx
add rcx, rax
cmp rbx, rdi
jle 0x5863f2
mov qword [rsp], rcx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdi
call fcn.00455480
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x40]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp], rcx
call rax
mov eax, dword [0x008b4340]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0xa0], rdx
mov rbx, qword [rsp + 0x78]
lea rsi, [rbx + 0x10]
test eax, eax
jne 0x5863d5
mov qword [rbx + 0x10], rcx
mov eax, dword [0x008b4340]
lea rcx, [rbx + 0x18]
test eax, eax
jne 0x5863c0
mov qword [rbx + 0x18], rdx
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00410240
mov rbx, qword [rsp + 0x78]
jmp 0x586390
mov qword [rsp], rsi
mov qword [rsp + 8], rcx
call fcn.00410240
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x78]
jmp 0x58637e
mov rdi, rbx
jmp 0x58630a
call fcn.00429450
ud2
mov qword [rsp], rsi
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 8], rbx
call fcn.00410240
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
jmp 0x58614d
mov qword [rsp], rbx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 8], rdx
call fcn.00410240
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
jmp 0x58612d
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa8], rax
mov qword [rax + 8], 0x2e
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5864cd
lea rcx, [0x006dc56a]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp], rax
lea rcx, [0x006dc56a]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa8]
jmp 0x58649a
lea rax, [0x0068d4a0]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa8], rax
mov qword [rax + 8], 0x1c
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x586558
lea rcx, [0x006d77c6]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp], rax
lea rcx, [0x006d77c6]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa8]
jmp 0x586525
mov rcx, qword [rax + 0x28]
mov rdx, qword [rax + 0x20]
mov rbx, qword [rax + 0x30]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
call fcn.00589f70
mov rcx, qword [rsp + 0x18]
mov rax, qword [rsp + 0x20]
jmp 0x586020
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 8], rax
lea rax, [0x0066f400]
mov qword [rsp], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x006dabbc]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004b0de0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, qword [rcx + 0x20]
mov qword [rsp], rax
call rcx
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006da83d]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x26
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.004424a0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x68], rcx
lea rdx, [0x0068d4a0]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x586719
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp], rax
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0xa8]
jmp 0x5866e6
call fcn.00452210
jmp fcn.00585f30