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