PpmHeteroHgsProcessorInit

UINT64 __fastcall PpmHeteroHgsProcessorInit(INT64 a1){
  unsigned __int32 v1; 
  UINT64 result; 
  __int64 v3; 
  if( PpmHeteroHgsEnabled )
  {
    v1 = EAX(__cpuid(0, 0));
    result = 7i64;
    *(_WORD *)(a1 + 33274) = (unsigned int)EDX(__cpuid(6, 0)) >> 16;
    if( v1 >= 7 )
    {
      v3 = __cpuid(7, 0);
      LODWORD(result) = EAX(v3);
      if( (EDX(v3) & 0x8000) != 0 )
      {
        result = 26i64;
        PpmHeteroHgsHeteroCoreTypes = 1;
        if( v1 >= 0x1A )
        {
          result = (unsigned int)EAX(__cpuid(26, 0)) >> 24;
          *(_BYTE *)(a1 + 33279) = result;
        }
      }
    }
  }
  return result;
}

Referenced by:

PpmCheckProcessorInit