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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x40]
cmp rax, qword [rcx + 0x10]
jbe 0x584b0e
sub rsp, 0xc0
mov qword [rsp + 0xb8], rbp
lea rbp, [rsp + 0xb8]
lea rax, [0x0069e320]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00662740]
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 0x584ad6
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
mov rcx, qword [0x0088f590]
mov rdx, qword [0x0088f588]
mov rbx, qword [0x0088f580]
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
call fcn.0055dc90
movzx eax, byte [rsp + 0x30]
mov rcx, qword [rsp + 0xa0]
lea rdx, [rcx + 8]
mov qword [rsp + 0x98], rdx
test al, al
je 0x5847bc
mov rax, qword [rcx + 0x68]
mov rdx, qword [rcx + 0x70]
mov rcx, qword [rcx + 0x78]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.00583e60
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
test rcx, rcx
je 0x58477d
mov rax, qword [rcx + 0x20]
mov qword [rsp], rdx
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006de348]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x3a
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.004424a0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rcx
lea rdx, [0x0068d4a0]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x584760
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov qword [rsp], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x584721
lea rcx, [0x00698f80]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 8]
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rax
mov rax, qword [0x0088f570]
mov rbx, qword [0x0088f568]
mov rsi, qword [0x0088f560]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rax
call fcn.0055dc90
movzx eax, byte [rsp + 0x30]
test al, al
je 0x584a0d
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x88], rcx
mov rdx, qword [rax + 0x58]
mov qword [rsp + 0x60], rdx
mov rbx, qword [rax + 0x60]
mov qword [rsp + 0x68], rbx
lea rsi, [0x00687fe0]
mov qword [rsp], rsi
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x10], rcx
lea rcx, [0x00685380]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.00563620
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x584a00
xor eax, eax
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x68]
mov rbx, qword [rcx + 0x70]
mov rcx, qword [rcx + 0x78]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp], rax
call fcn.00585f30
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
test rcx, rcx
je 0x5849c1
mov rax, qword [rcx + 0x20]
mov qword [rsp], rdx
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006de30f]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x39
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.004424a0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x58], rcx
lea rdx, [0x0068d4a0]
mov qword [rsp], rdx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x5849a4
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
lea rcx, [0x007e49c0]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov qword [rsp], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x90]
jmp 0x584965
lea rcx, [0x006aa0e0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, qword [rsp + 0x80]
jmp 0x584895
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 8], rax
lea rax, [0x00687fe0]
mov qword [rsp], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rcx
lea rax, [0x006dedef]
mov qword [rsp], rax
mov qword [rsp + 8], 0x46
lea rax, [rsp + 0xa8]
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 + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rcx
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
call fcn.00452210
jmp fcn.00584550