PpmCheckContinueExecution

UINT8 __stdcall PpmCheckContinueExecution(){
  __int64 Number; 
  UINT8 result; 
  NTSTATUS v2; 
  _KAFFINITY_EX *p_DeepIdleMask; 
  _KAFFINITY_EX DeepIdleMask; 

  memset(&DeepIdleMask, 0i64, sizeof(DeepIdleMask));
  KeQuerySystemAllowedCpuSetAffinity(&PpmCachedSystemAllowedCpuSet, &PpmCachedSystemAllowedCpuSetVersion);
  Number = KeGetCurrentPrcb()->Number;
  if( ((PpmCachedSystemAllowedCpuSet.Bitmap[(unsigned __int64)(unsigned int)KiProcessorIndexToNumberMappingTable[Number] >> 6] >> (KiProcessorIndexToNumberMappingTable[Number] & 0x3F)) & 1) == 0 )
  {
    PoCopyDeepIdleMask(&DeepIdleMask);
    v2 = KeSubtractAffinityEx(&PpmCachedSystemAllowedCpuSet.Count, (INT8 *)&DeepIdleMask, (INT8 *)&DeepIdleMask);
    p_DeepIdleMask = &DeepIdleMask;
    if( !v2 )
      p_DeepIdleMask = &PpmCachedSystemAllowedCpuSet;
    LOWORD(Number) = KeFindFirstSetRightAffinityEx(&p_DeepIdleMask->Count);
  }
  if( !*(&PopIrpWorkerControlEvent + 151) )
    *(&PopIrpWorkerControlEvent + 577) = Number + 1280;
  KiInsertQueueDpc((_KDPC *)&PopIrpWorkerControlEvent + 18, 0i64, 0i64, 0i64, 0);
  return result;
}

Referenced by:

PpmPerfAction
PpmPerfControlActionCallback