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

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x58a439
sub rsp, 0xc8
mov qword [rsp + 0xc0], rbp
lea rbp, [rsp + 0xc0]
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], r8
mov byte [rsp + 0x37], 0
mov qword [rsp + 0xa8], 0
movups xmmword [rsp + 0xb0], xmm15
lea rbx, [rsp + 0xa8]
lea rcx, [rsp + 0x37]
call fcn.00589d80
test al, al
je 0x58a3fb
cmp byte [rsp + 0x37], 0
jne 0x58a3ad
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x58a40d
mov esi, dword [rdx + 0x10]
cmp esi, 0x62de383d
ja 0x58a185
nop dword [rax]
cmp esi, 0x43cfbb1f
ja 0x589fd5
cmp esi, 0x2e74d42b
jne 0x589f91
lea rsi, [0x006714c0]
nop word [rax + rax]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0x338a7ec0
jne 0x589fb1
lea rsi, [0x00674340]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0x43cfbb1f
jne 0x58a40d
lea rsi, [0x0066fc40]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0x49163278
jne 0x58a000
lea rsi, [0x00674380]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0x5051f1be
jne 0x58a160
lea rsi, [0x006c6cc0]
cmp rdx, rsi
jne 0x58a40d
mov rdx, qword [rsp + 0x80]
cmp rdx, rsi
jne 0x58a425
nop
mov rdx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
nop dword [rax + rax]
cmp rdx, rdi
je 0x58a398
mov rsi, qword [rdi + 0x18]
mov r8, qword [rdi + 8]
mov rcx, qword [rdx + 0x10]
mov rbx, qword [rdx + 8]
cmp rsi, rcx
jl 0x58a066
mov rax, rcx
jmp 0x58a0e7
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rbx
cmp rcx, 1
jne 0x58a0ad
lea rax, [0x00678f80]
mov ebx, 1
mov rcx, rbx
call fcn.0044a840
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
mov r8, rax
mov ecx, 1
mov esi, 1
mov rax, qword [rsp + 0x48]
jmp 0x58a0e7
lea rdx, [rcx + 4]
mov qword [rsp + 0x38], rdx
lea rax, [0x00678f80]
mov rbx, rcx
mov rcx, rdx
call fcn.0044a840
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
mov r8, rax
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov rax, rcx
cmp rcx, rax
mov r9, rcx
cmovg rcx, rax
cmp r8, rbx
je 0x58a12a
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r8
shl rcx, 3
mov rax, r8
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov qword [rdi + 0x10], r9
mov qword [rdi + 0x18], rsi
cmp dword [0x0092b0b0], 0
jne 0x58a142
mov qword [rdi + 8], r8
nop
jmp 0x58a154
lea rcx, [rdi + 8]
mov rax, rdi
mov rdi, rcx
call fcn.00465a80
mov rdi, rax
movzx ecx, byte [rdx]
mov byte [rdi], cl
jmp 0x58a398
cmp esi, 0x62de383d
jne 0x58a40d
lea rsi, [0x00671480]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
nop
jmp 0x58a24d
cmp esi, 0xba585d67
ja 0x58a1ef
cmp esi, 0x6e78e923
jne 0x58a1b1
lea rsi, [0x006742c0]
nop dword [rax]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0x889ce7f8
jne 0x58a1ce
lea rsi, [0x00674300]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0xba585d67
jne 0x58a40d
lea rsi, [0x00671400]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0xc3230e0b
jne 0x58a20e
lea rsi, [0x00671440]
nop
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0xd6631a7c
jne 0x58a22e
lea rsi, [0x00671500]
nop dword [rax]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
jmp 0x58a24d
cmp esi, 0xf3b50de0
jne 0x58a40d
lea rsi, [0x006743c0]
cmp rdx, rsi
jne 0x58a40d
test rdx, rdx
je 0x58a2d6
nop
cmp byte [0x008d6390], 0
je 0x58a28e
mov qword [0x008d6398], rdx
cmp dword [0x0092b0b0], 0
jne 0x58a27b
mov rsi, qword [rsp + 0x78]
mov qword [0x008d63a0], rsi
jmp 0x58a293
lea rdi, [0x008d63a0]
mov rsi, qword [rsp + 0x78]
call fcn.00465a60
jmp 0x58a293
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rsi
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x58a2cd
movzx edi, byte [rdx + 0x17]
mov r8d, edi
and edi, 0x1f
mov r9, rdi
bts rdi, 7
test r8b, 0x20
cmove r9, rdi
nop
jmp 0x58a2dd
xor r9d, r9d
xor edx, edx
xor esi, esi
jmp 0x58a2dd
xor r9d, r9d
xor edx, edx
xor esi, esi
mov rax, rdx
mov rbx, rsi
mov rcx, r9
call fcn.0048d1a0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x58a382
nop
cmp byte [0x008d6390], 0
je 0x58a337
mov qword [0x008d6398], rdx
cmp dword [0x0092b0b0], 0
jne 0x58a324
mov r9, qword [rsp + 0x68]
mov qword [0x008d63a0], r9
jmp 0x58a33c
lea rdi, [0x008d63a0]
mov r9, qword [rsp + 0x68]
call fcn.00465aa0
jmp 0x58a33c
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], r9
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x58a378
movzx r10d, byte [rdx + 0x17]
mov r11d, r10d
and r10d, 0x1f
mov r12, r10
bts r10, 7
test r11b, 0x20
cmove r12, r10
nop
jmp 0x58a38a
xor r12d, r12d
xor edx, edx
xor r9d, r9d
jmp 0x58a38a
xor r12d, r12d
xor edx, edx
xor r9d, r9d
mov rdi, rdx
mov rsi, r9
mov r8, r12
call fcn.0048e6c0
mov eax, 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
lea rax, [rsp + 0xa8]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
nop
call fcn.00588840
test al, al
je 0x58a3e9
cmp qword [rsp + 0xb0], 0
jne 0x58a3e9
mov eax, 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
xor eax, eax
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
xor eax, eax
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
lea rax, [0x00679500]
lea rbx, [0x00742860]
nop dword [rax + rax]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x00742850]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00589ea0