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

Disassembly:
lea r12, [rsp - 0xa38]
cmp r12, qword [r14 + 0x10]
jbe 0x58941a
push rbp
mov rbp, rsp
sub rsp, 0xab0
mov qword [rsp + 0xac0], rax
mov qword [rsp + 0xac8], rbx
mov qword [rsp + 0xad0], rcx
mov qword [rsp + 0xad8], rdi
mov qword [rsp + 0xaa8], 0
mov qword [rsp + 0xaa8], rcx
xor edx, edx
jmp 0x588e40
mov rax, qword [rsp + 0xac0]
mov rcx, qword [rsp + 0xad0]
mov rbx, qword [rsp + 0xac8]
mov rdi, qword [rsp + 0xad8]
mov edx, 1
nop word [rax + rax]
test rdx, rdx
jg 0x588ed2
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0xa98], rax
movups xmmword [rsp + 0xa70], xmm15
movups xmmword [rsp + 0xa78], xmm15
movups xmmword [rsp + 0xa88], xmm15
test byte [rax], al
lea rbx, [rsp + 0xa70]
mov ecx, 0x28
call fcn.004035a0
test al, al
je 0x588e15
movups xmmword [rsp + 0xa48], xmm15
movups xmmword [rsp + 0xa50], xmm15
movups xmmword [rsp + 0xa60], xmm15
mov rax, qword [rsp + 0xa98]
add rax, 0x28
lea rbx, [rsp + 0xa48]
mov ecx, 0x28
call fcn.004035a0
test al, al
je 0x588e15
jmp 0x589406
call fcn.00588d60
mov qword [rsp + 0xaa0], rax
lea rdi, [rsp + 0x310]
mov ecx, 0xa0
xor eax, eax
rep stosq qword [rdi], rax
lea rax, [rsp + 0x310]
mov rbx, qword [rsp + 0xad0]
call fcn.00589460
mov rax, qword [rsp + 0xac8]
mov ebx, 5
call fcn.00587880
lea rdi, [rsp + 0x210]
mov rsi, rsp
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607a0
mov rbp, qword [rbp]
mov rax, qword [rsp + 0xad8]
mov ebx, 8
call fcn.00587880
lea rdi, [rsp + 0x110]
mov rsi, rsp
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607a0
mov rbp, qword [rbp]
mov eax, 0xff
jmp 0x588f80
dec rax
nop dword [rax]
test rax, rax
jl 0x588f9d
movzx ecx, byte [rsp + rax + 0x210]
test cl, cl
jne 0x588f9d
movzx ecx, byte [rsp + rax + 0x110]
test cl, cl
je 0x588f7a
lea rdi, [rsp + 0x9a8]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604b4
mov rbp, qword [rbp]
movups xmmword [rsp + 0x930], xmm15
lea rdi, [rsp + 0x938]
lea rdi, [rdi - 0x10]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604c6
mov rbp, qword [rbp]
lea rdi, [rsp + 0x890]
lea rdi, [rdi - 0x20]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604b4
mov rbp, qword [rbp]
movups xmmword [rsp + 0x818], xmm15
lea rdi, [rsp + 0x820]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604c6
mov rbp, qword [rbp]
mov rcx, qword [0x008996f8]
mov rdx, qword [rcx]
nop
mov qword [rsp + 0x818], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x820], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x830], xmm0
mov rcx, qword [0x00899700]
mov rdx, qword [rcx]
nop
mov qword [rsp + 0x840], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x848], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x858], xmm0
mov rcx, qword [0x00899700]
mov rdx, qword [rcx]
nop
mov qword [rsp + 0x868], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x870], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x880], xmm0
mov eax, 0xff
jmp 0x5890e3
lea rax, [rsp + 0x818]
lea rbx, [rsp + 0x890]
call fcn.00585ca0
mov rax, qword [rsp + 0x810]
dec rax
test rax, rax
jl 0x5893b8
mov qword [rsp + 0x810], rax
lea rax, [rsp + 0x890]
lea rbx, [rsp + 0x818]
call fcn.005870c0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x210]
nop dword [rax]
test dl, dl
jg 0x5891c5
jge 0x58925a
mov rax, qword [rsp + 0xac0]
lea rbx, [rsp + 0x890]
nop
call fcn.00585dc0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x210]
mov esi, edx
neg edx
shr dl, 7
sub edx, esi
sar dl, 1
movsx rax, dl
cmp rax, 8
jae 0x5893fc
lea rdx, [rax + rax*4]
shl rdx, 5
lea rsi, [rsp + rdx + 0x310]
lea rdi, [rsp + 0x9a8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607f4
mov rbp, qword [rbp]
lea rax, [rsp + 0x890]
mov rbx, qword [rsp + 0xac0]
lea rcx, [rsp + 0x9a8]
call fcn.00586800
mov rcx, qword [rsp + 0x810]
nop
jmp 0x58925a
mov rax, qword [rsp + 0xac0]
lea rbx, [rsp + 0x890]
call fcn.00585dc0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x210]
mov esi, edx
shr dl, 7
add edx, esi
sar dl, 1
movsx rax, dl
nop word [rax + rax]
cmp rax, 8
jae 0x5893f2
lea rdx, [rax + rax*4]
shl rdx, 5
lea rsi, [rsp + rdx + 0x310]
lea rdi, [rsp + 0x9a8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004607f4
mov rbp, qword [rbp]
lea rax, [rsp + 0x890]
mov rbx, qword [rsp + 0xac0]
lea rcx, [rsp + 0x9a8]
call fcn.005864e0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x110]
test dl, dl
jg 0x58931d
jge 0x5890c3
mov rax, qword [rsp + 0xac0]
lea rbx, [rsp + 0x890]
call fcn.00585dc0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x110]
mov esi, edx
neg edx
shr dl, 7
sub edx, esi
sar dl, 1
movsx rax, dl
cmp rax, 0x40
jae 0x5893e8
mov rdx, qword [rsp + 0xaa0]
test byte [rdx], al
imul r8, rax, 0x78
mov r9, qword [rdx + r8]
mov qword [rsp + 0x930], r9
lea rsi, [rdx + r8]
lea rsi, [rsi + 8]
lea rdi, [rsp + 0x938]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046081e
mov rbp, qword [rbp]
lea rax, [rsp + 0x890]
mov rbx, qword [rsp + 0xac0]
lea rcx, [rsp + 0x930]
call fcn.00586e00
mov rcx, qword [rsp + 0x810]
jmp 0x5890c3
mov rax, qword [rsp + 0xac0]
lea rbx, [rsp + 0x890]
call fcn.00585dc0
mov rcx, qword [rsp + 0x810]
movzx edx, byte [rsp + rcx + 0x110]
mov esi, edx
shr dl, 7
add edx, esi
sar dl, 1
movsx rax, dl
cmp rax, 0x40
jae 0x5893de
mov rdx, qword [rsp + 0xaa0]
test byte [rdx], al
imul r8, rax, 0x78
mov r9, qword [rdx + r8]
mov qword [rsp + 0x930], r9
lea rsi, [rdx + r8]
lea rsi, [rsi + 8]
lea rdi, [rsp + 0x938]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046081e
mov rbp, qword [rbp]
lea rax, [rsp + 0x890]
mov rbx, qword [rsp + 0xac0]
lea rcx, [rsp + 0x930]
call fcn.00586b20
jmp 0x5890c3
mov rax, qword [rsp + 0xac0]
lea rbx, [rsp + 0x818]
call fcn.00585f20
mov rax, qword [rsp + 0xac0]
add rsp, 0xab0
pop rbp
ret
mov ecx, 0x40
call fcn.004601e0
mov ecx, 0x40
call fcn.004601e0
mov ecx, 8
call fcn.004601e0
mov ecx, 8
call fcn.004601e0
lea rax, [0x0066d140]
lea rbx, [0x00741160]
call fcn.004337c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00588dc0