PpmParkUnblockIdle
INT64 __fastcall PpmParkUnblockIdle(){
INT64 result;
char v1;
__int64 v2;
INT64 v3;
_KAFFINITY_EX *v4;
unsigned __int64 v5;
__int16 v6;
int v7;
__int16 v8;
UINT64 ProcessorNumber;
v7 = 0;
v8 = 0;
v1 = 1;
LODWORD(ProcessorNumber) = 0;
if( PpmIsParkingEnabled )
{
v5 = PpmPerfNewUnparkedMask.Bitmap[0];
v4 = &PpmPerfNewUnparkedMask;
v6 = 0;
while( !(unsigned int)KeEnumerateNextProcessor(&ProcessorNumber, (unsigned __int16 **)&v4) )
{
KeGetPrcb((unsigned int)ProcessorNumber);
if( *(_BYTE *)(v2 + 32829) )
*(_BYTE *)(v2 + 32829) = 0;
else
KeRemoveProcessorAffinityEx(&PpmPerfNewUnparkedMask.Count, ProcessorNumber);
}
result = KeCountSetBitsAffinityEx(&PpmPerfNewUnparkedMask);
if( (_DWORD)result )
{
PpmCheckCount = result;
v5 = PpmPerfNewUnparkedMask.Bitmap[0];
v6 = 0;
v4 = &PpmPerfNewUnparkedMask;
while( !(unsigned int)KeEnumerateNextProcessor(&ProcessorNumber, (unsigned __int16 **)&v4) )
{
KeGetPrcb((unsigned int)ProcessorNumber);
PpmPerfQueueAction(v3, 5);
}
*(_DWORD *)&PpmPerfNewUnparkedMask.Count = 1310721;
result = memset((INT64)&PpmPerfNewUnparkedMask.Reserved, 0i64);
v1 = 0;
}
}
LOBYTE(result) = v1;
return result;
}Referenced by:
No references.