PopUpdatePowerRequestProcessWakeCounter
VOID __fastcall PopUpdatePowerRequestProcessWakeCounter(UINT64 Tag, CHAR a2){
char v2;
__int64 v4;
VOID *v5;
v2 = *(_BYTE *)(Tag + 112);
if( a2 )
{
if( !v2 )
{
if( qword_140C54190 )
{
PopStatsMarkPowerRequestActive(Tag);
LOBYTE(v4) = 1;
((void(__fastcall *)(__int64))qword_140C54190)(v4);
*(_BYTE *)(Tag + 112) = 1;
}
}
}
else
{
if( v2 )
{
((void(__fastcall *)(_QWORD))qword_140C54190)(0i64);
*(_BYTE *)(Tag + 112) = 0;
PopStatsMarkPowerRequestInactive(Tag);
}
v5 = *(VOID **)(Tag + 128);
if( v5 )
{
PsReleaseProcessWakeCounter(v5, Tag);
*(_QWORD *)(Tag + 128) = 0i64;
}
}
}Referenced by:
PopEnableExecutionRequiredPowerRequests
PopHandleConvergedPowerRequestUpdate
PopPowerRequestCleanUp