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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x587630
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x138], r10
mov qword [rsp + 0x140], r11
mov rdx, qword [0x008b7240]
mov r12, qword [0x008b7248]
mov qword [rsp + 0x80], r12
xor r13d, r13d
xor r15d, r15d
xor r13d, r13d
mov qword [rsp + 0x68], r13
xor r13d, r13d
jmp 0x587103
add rdx, 0x40
inc r13
mov qword [rsp + 0x68], r12
mov r12, qword [rsp + 0x80]
cmp r13, r12
jge 0x587163
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0xa8], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0xb8], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0xc8], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rsp + 0xd8], xmm0
nop word [rax + rax]
cmp qword [rsp + 0xa8], rax
jne 0x58715c
mov r15, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd8]
jmp 0x5870ef
mov r12, qword [rsp + 0x68]
jmp 0x5870ef
test r15, r15
jne 0x587195
mov rdx, qword [rsp + 0x68]
cmp rdx, 4
je 0x587362
mov rax, qword [0x008b5d40]
mov rbx, qword [0x008b5d48]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r15, 2
je 0x587605
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x140], r11
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x70], r15
cmp r15, 3
jne 0x587293
movzx edx, byte [rsp + 0xf8]
nop
test dl, dl
jne 0x587293
mov rax, qword [0x008b4f30]
call fcn.00500d60
cmp rbx, 1
jne 0x58721f
cmp byte [rax], 0x31
je 0x587246
mov rax, qword [rsp + 0x100]
call fcn.0040b000
mov rbx, rax
lea rax, [0x0072ef00]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x118]
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x130]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x140]
mov r15, qword [rsp + 0x70]
cmp r15, 0x14
jae 0x5875e7
mov rdx, qword [0x008c3b38]
mov r12, qword [0x008c3b30]
cmp r15, rdx
jae 0x587624
mov rdx, qword [r12 + r15*8]
nop dword [rax + rax]
test rdx, rdx
je 0x5875e7
mov rax, r15
call fcn.004a8be0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x98], rbx
mov rcx, qword [rax + 0x38]
mov rdi, qword [rsp + 0x118]
mov rax, rbx
mov rbx, qword [rsp + 0x108]
mov rsi, rcx
mov rcx, qword [rsp + 0x110]
call rsi
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x30]
mov rax, qword [rsp + 0x98]
xor ebx, ebx
xor edi, edi
mov rdx, rcx
mov rcx, rdi
call rdx
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x130]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x140]
mov r15, qword [rsp + 0x70]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x100]
test r10, r10
je 0x5875c9
mov r12d, dword [r10 + 0x10]
cmp r12d, 0x4bcec15d
jne 0x587447
lea r12, [0x006775a0]
cmp r10, r12
jne 0x5875c9
cmp rdx, 1
jne 0x587429
nop
lea rdx, [rax - 0xd]
nop dword [rax + rax]
cmp rdx, 2
ja 0x5873fc
movups xmmword [rsp + 0x88], xmm15
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x88], 0xffffffffffffffff
mov rax, r11
mov r10, r9
lea r11, [rsp + 0x88]
mov r9, r8
mov r8, rsi
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
mov rbx, r15
call fcn.00536fc0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, r11
mov r10, r9
mov r9, r8
mov r8, rsi
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
mov rbx, r15
call fcn.005364e0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, rdx
mov rbx, r12
mov rcx, r11
call fcn.00586fa0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r12d, 0x8c7bd38d
jne 0x5874e5
lea r12, [0x0069b400]
nop dword [rax + rax]
cmp r10, r12
jne 0x5875c9
cmp rdx, 3
jne 0x5874c7
mov rax, r11
call fcn.0052dfe0
test al, al
je 0x58748f
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x20
lea rcx, [0x006c397b]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, rdx
mov rbx, r12
mov rcx, r11
call fcn.00586fa0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r12d, 0xc0d9e4a4
jne 0x5875c9
lea r12, [0x00673080]
nop dword [rax]
cmp r10, r12
jne 0x5875c9
mov r13, qword [r11 + 8]
mov r15, qword [r11 + 0x10]
mov rax, qword [r11]
cmp rdx, 4
jne 0x587595
movups xmmword [rsp], xmm15
movups xmmword [rsp + 0x10], xmm15
mov r10, r8
mov r11, r9
mov r8, rdi
mov r9, rsi
mov rdi, rbx
mov rsi, rcx
mov rbx, r13
mov rcx, r15
nop dword [rax]
call fcn.00535ac0
test al, al
je 0x58755d
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x22
lea rcx, [0x006c4873]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rbx, r13
mov rcx, r15
nop dword [rax + rax]
call fcn.0040b120
lea rbx, [0x00673080]
mov rcx, rax
mov rax, qword [rsp + 0x68]
call fcn.00586fa0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [0x008b5d40]
mov rbx, qword [0x008b5d48]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [0x008b5d40]
mov rbx, qword [0x008b5d48]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
call fcn.0040b000
mov rbx, rax
lea rax, [0x0072ef00]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, r15
mov rcx, rdx
call fcn.00465ac0
nop
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r11
nop dword [rax]
call fcn.00463440
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
jmp fcn.00587080