Function at 0x1400dc170
Capabilities:
Reference processor manufacturer constants

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, rcx
mov rax, qword [0x140162028]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea r15, [rcx + 0x30]
xorps xmm0, xmm0
movups xmmword [rcx + 0x38], xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x19], xmm0
mov byte [rcx + 0x47], 7
mov eax, dword [str.unknown]
mov dword [rcx + 0x30], eax
mov eax, dword [0x140132f32]
mov dword [rcx + 0x33], eax
xor r14d, r14d
mov byte [rcx + 0x37], r14b
movups xmmword [rcx + 0x48], xmm0
mov qword [rcx + 0x58], 0
lea rbp, [rsp + 0x30]
xor eax, eax
xor ecx, ecx
cpuid
mov edi, eax
mov dword [rbp], ebx
mov dword [rbp + 4], edx
mov dword [rbp + 8], ecx
mov byte [rbp + 0xc], r14b
mov rcx, r15
mov rdx, rbp
call fcn.14005a448
test edi, edi
jle 0x1400dc328
mov eax, 1
xor ecx, ecx
cpuid
mov ebp, ecx
mov r12d, edx
mov r13d, eax
cmp edi, 7
jl 0x1400dc224
mov eax, 7
xor ecx, ecx
cpuid
mov r14d, ebx
and r14d, 0x20
mov dword [rsi], r13d
mov eax, r13d
and eax, 0xf
mov dword [rsi + 0x10], eax
mov eax, r13d
shr eax, 0xc
and eax, 3
mov dword [rsi + 4], eax
mov ebx, r13d
shr ebx, 8
and ebx, 0xf
mov edi, r13d
shr edi, 4
and edi, 0xf
cmp ebx, 6
jne 0x1400dc434
mov rcx, r15
movzx eax, byte [r15 + 0x17]
test al, al
jns 0x1400dc26a
lea rax, [rsi + 0x38]
mov rax, qword [rax]
xor r15d, r15d
cmp rax, 0xc
je 0x1400dc3d6
mov ebx, 6
xor eax, eax
mov dword [rsi + 0x14], r15d
mov dword [rsi + 0x18], eax
mov dword [rsi + 0xc], edi
mov dword [rsi + 8], ebx
mov eax, r12d
shr eax, 0x17
and al, 1
mov byte [rsi + 0x1c], al
mov eax, r12d
shr eax, 0x19
and al, 1
mov byte [rsi + 0x1d], al
shr r12d, 0x1a
and r12b, 1
mov byte [rsi + 0x1e], r12b
mov eax, ebp
and al, 1
mov byte [rsi + 0x1f], al
mov eax, ebp
shr eax, 9
and al, 1
mov byte [rsi + 0x20], al
mov eax, ebp
shr eax, 0x13
and al, 1
mov byte [rsi + 0x21], al
mov eax, ebp
shr eax, 0x14
and al, 1
mov byte [rsi + 0x22], al
mov eax, ebp
shr eax, 0x17
and al, 1
mov byte [rsi + 0x23], al
mov eax, ebp
shr eax, 0x1f
mov byte [rsi + 0x28], al
mov eax, ebp
and eax, 0x1c000000
mov ecx, 0x1c000000
cmp eax, ecx
jne 0x1400dc42d
xor ecx, ecx
xgetbv
and eax, 6
mov ecx, 6
cmp eax, ecx
sete al
mov byte [rsi + 0x24], al
shr ebp, 0x19
and bpl, 1
mov byte [rsi + 0x26], bpl
test al, al
setne al
test r14d, r14d
setne cl
and cl, al
mov byte [rsi + 0x25], cl
mov eax, 0x80000000
xor ecx, ecx
cpuid
cmp eax, 0x80000004
jl 0x1400dc3ab
mov edi, eax
lea r8, [rsi + 0x48]
lea rbp, [rsp + 0x30]
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [rbp], eax
mov dword [rbp + 4], ebx
mov dword [rbp + 8], ecx
mov dword [rbp + 0xc], edx
mov eax, 0x80000003
xor ecx, ecx
cpuid
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], ebx
mov dword [rbp + 0x18], ecx
mov dword [rbp + 0x1c], edx
mov eax, 0x80000004
xor ecx, ecx
cpuid
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x24], ebx
mov dword [rbp + 0x28], ecx
mov dword [rbp + 0x2c], edx
mov byte [rbp + 0x30], 0
mov rcx, r8
mov rdx, rbp
call fcn.14005a448
cmp edi, 0x80000007
jl 0x1400dc3ab
mov eax, 0x80000007
xor ecx, ecx
cpuid
shr edx, 8
and dl, 1
mov byte [rsi + 0x27], dl
cmp byte [rsi + 0x27], 0
je 0x1400dc43e
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400f0560
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0xc
lea r9, str.GenuineIntel
xor r15d, r15d
xor edx, edx
mov r8, 0xffffffffffffffff
call fcn.14005a816
test eax, eax
jne 0x1400dc277
mov r15d, r13d
shr r15d, 0x10
and r15d, 0xf
mov eax, r15d
shl eax, 4
or edi, eax
xor eax, eax
cmp ebx, 0xf
jne 0x1400dc27e
shr r13d, 0x14
movzx eax, r13b
lea ebx, [rax + 0xf]
jmp 0x1400dc27e
xor eax, eax
jmp 0x1400dc30a
xor r15d, r15d
cmp ebx, 0xf
je 0x1400dc3ff
jmp 0x1400dc412
cmp byte [rsi + 0x28], 0
je 0x1400dc3b5
mov eax, 0x40000000
xor ecx, ecx
cpuid
cmp edx, 0x76482074
jne 0x1400dc3b5
cmp ebx, 0x7263694d
jne 0x1400dc3b5
invalid
cmp ecx, 0x666f736f
jne 0x1400dc3b5
mov byte [rsi + 0x27], 1
jmp 0x1400dc3b5