Function at 0x140088ad0
Capabilities:
Reference processor manufacturer constants

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r14, rcx
mov rax, qword [0x1401e3a38]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor eax, eax
xor ecx, ecx
cpuid
mov r15d, eax
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x28], ecx
mov byte [rsp + 0x2c], 0
lea rsi, [r14 + 0x28]
lea rcx, [rsp + 0x20]
call fcn.140186380
mov rdi, rax
mov rax, qword [r14 + 0x40]
cmp rax, rdi
jae 0x140088b3f
lea r9, [rsp + 0x20]
mov rcx, rsi
mov rdx, rdi
call fcn.140006900
test r15d, r15d
jg 0x140088b65
mov bpl, 1
jmp 0x140088c78
cmp rax, 0x10
jb 0x140088b48
mov rsi, qword [rsi]
mov qword [r14 + 0x38], rdi
lea rdx, [rsp + 0x20]
mov rcx, rsi
mov r8, rdi
call fcn.14016f270
mov byte [rsi + rdi], 0
test r15d, r15d
jle 0x140088b37
xor r8d, r8d
mov eax, 1
xor ecx, ecx
cpuid
mov esi, ecx
mov edi, edx
mov ebp, eax
cmp r15d, 7
jl 0x140088b91
mov eax, 7
xor ecx, ecx
cpuid
mov r8d, ebx
shr r8b, 5
and r8b, 1
mov dword [r14], ebp
mov eax, ebp
and eax, 0xf
mov dword [r14 + 0x10], eax
mov eax, ebp
shr eax, 4
and eax, 0xf
mov ecx, ebp
shr ecx, 0xc
mov edx, ecx
and edx, 0xf0
or edx, eax
mov dword [r14 + 0xc], edx
mov eax, ebp
shr eax, 8
and eax, 0xf
mov dword [r14 + 8], eax
and ecx, 3
mov dword [r14 + 4], ecx
mov eax, ebp
shr eax, 0x10
and eax, 0xf
mov dword [r14 + 0x14], eax
shr ebp, 0x14
movzx eax, bpl
mov dword [r14 + 0x18], eax
mov eax, edi
shr eax, 0x17
and al, 1
mov byte [r14 + 0x1c], al
mov eax, edi
shr eax, 0x19
and al, 1
mov byte [r14 + 0x1d], al
shr edi, 0x1a
and dil, 1
mov byte [r14 + 0x1e], dil
mov eax, esi
and al, 1
mov byte [r14 + 0x1f], al
mov eax, esi
shr eax, 9
and al, 1
mov byte [r14 + 0x20], al
mov eax, esi
shr eax, 0x13
and al, 1
mov byte [r14 + 0x21], al
mov eax, esi
shr eax, 0x14
and al, 1
mov byte [r14 + 0x22], al
mov eax, esi
shr eax, 0x17
and al, 1
mov byte [r14 + 0x23], al
test esi, esi
setns bpl
mov eax, esi
and eax, 0x1c000000
cmp eax, 0x1c000000
jne 0x140088c5c
xor ecx, ecx
xgetbv
and eax, 6
cmp rax, 6
sete al
jmp 0x140088c5e
xor eax, eax
mov byte [r14 + 0x24], al
shr esi, 0x19
and sil, 1
mov byte [r14 + 0x26], sil
test al, al
je 0x140088c74
mov eax, r8d
mov byte [r14 + 0x25], al
mov eax, 0x80000000
xor ecx, ecx
cpuid
cmp eax, 0x80000004
jl 0x140088d4e
mov esi, eax
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x2c], edx
mov eax, 0x80000003
xor ecx, ecx
cpuid
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
mov eax, 0x80000004
xor ecx, ecx
cpuid
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], edx
mov byte [rsp + 0x50], 0
lea rdi, [r14 + 0x48]
lea rcx, [rsp + 0x20]
call fcn.140186380
mov rbx, rax
mov rax, qword [r14 + 0x60]
cmp rax, rbx
jae 0x140088d12
lea r9, [rsp + 0x20]
mov rcx, rdi
mov rdx, rbx
call fcn.140006900
cmp esi, 0x80000007
jge 0x140088d3b
jmp 0x140088d4e
cmp rax, 0x10
jb 0x140088d1b
mov rdi, qword [rdi]
mov qword [r14 + 0x58], rbx
lea rdx, [rsp + 0x20]
mov rcx, rdi
mov r8, rbx
call fcn.14016f270
mov byte [rdi + rbx], 0
cmp esi, 0x80000007
jl 0x140088d4e
mov eax, 0x80000007
xor ecx, ecx
cpuid
shr edx, 8
and dl, 1
mov byte [r14 + 0x27], dl
cmp byte [r14 + 0x27], 0
setne al
or bpl, al
jne 0x140088d81
mov eax, 0x40000000
xor ecx, ecx
cpuid
cmp edx, 0x76482074
jne 0x140088d81
cmp ebx, 0x7263694d
jne 0x140088d81
cmp ecx, 0x666f736f
jne 0x140088d81
mov byte [r14 + 0x27], 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14014b5e0
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret