PpmCheckContinueExecution

UINT8 __stdcall PpmCheckContinueExecution(){
  __int64 v0; 
  UINT8 v1; 
  int v2; 
  _KAFFINITY_EX *v3; 
  INT64 result[22]; 
  memset((INT64)result, 0i64);
  KeQuerySystemAllowedCpuSetAffinity(&PpmCachedSystemAllowedCpuSet, &PpmCachedSystemAllowedCpuSetVersion);
  v0 = *((unsigned int *)KeGetCurrentPrcb() + 9);
  if( ((PpmCachedSystemAllowedCpuSet.Bitmap[(unsigned __int64)(unsigned int)KiProcessorIndexToNumberMappingTable[v0] >> 6] >> (KiProcessorIndexToNumberMappingTable[v0] & 0x3F)) & 1) == 0 )
  {
    PoCopyDeepIdleMask(result);
    v2 = KeSubtractAffinityEx(&PpmCachedSystemAllowedCpuSet, (_KAFFINITY_EX *)result, (_KAFFINITY_EX *)result);
    v3 = (_KAFFINITY_EX *)result;
    if( !v2 )
      v3 = &PpmCachedSystemAllowedCpuSet;
    LOWORD(v0) = KeFindFirstSetRightAffinityEx(v3);
  }
  if( !qword_140C20E98 )
    word_140C20E62 = v0 + 1280;
  KiInsertQueueDpc((_KDPC *)&PpmCheckDpc, 0i64, 0i64, 0i64, 0);
  return v1;
}

Referenced by:

PpmPerfAction
PpmPerfControlActionCallback