KiGetCpuVendor
INT64 __stdcall KiGetCpuVendor(){
const INT8 *v0;
struct _KPRCB *CurrentPrcb;
__int64 v2;
const INT8 *v3;
const INT8 *v4;
const INT8 *v6;
char Str1[16];
CurrentPrcb = KeGetCurrentPrcb();
v2 = __cpuid(0, 0);
*((_BYTE *)CurrentPrcb + 34192) = 0;
*(_QWORD *)&Str1[4] = __PAIR64__(EDX(v2), EBX(v2));
*(_DWORD *)&Str1[12] = ECX(v2);
*(_DWORD *)Str1 = EAX(v2);
*((_QWORD *)CurrentPrcb + 4274) = *(_QWORD *)&Str1[4];
*((_DWORD *)CurrentPrcb + 8550) = *(_DWORD *)&Str1[12];
*((_BYTE *)CurrentPrcb + 34204) = 0;
if( !(unsigned int)strncmp(&Str1[4], (size_t)"AuthenticAMD", 0xCui64, v0, *(va_list *)Str1) )
return 1i64;
if( !(unsigned int)strncmp(&Str1[4], (size_t)"GenuineIntel", 0xCui64, v3, *(va_list *)Str1) )
return 2i64;
if( !(unsigned int)strncmp(&Str1[4], (size_t)"CentaurHauls", 0xCui64, v4, *(va_list *)Str1) )
return 3i64;
return !(unsigned int)strncmp(&Str1[4], (size_t)"HygonGenuine", 0xCui64, v6, *(va_list *)Str1);
}Referenced by:
EtwSetPerformanceTraceInformation
EtwpAddMicroarchitecturalPmcToPmcGroup
EtwpAddMicroarchitecturalPmcToRegistry
EtwpLoadMicroarchitecturalProfileGroup
EtwpLoadMicroarchitecturalProfileSource
EtwpRemoveMicroarchitecturalPmcFromRegistry
HvlpProcessIommu
KiGetIptInfo
KiGetProcessorSignature
KiInitializeNxSupportDiscard
KiIsNXSupported