PopPowerAggregatorNotifySuspendResume
VOID __fastcall PopPowerAggregatorNotifySuspendResume(_WORD *a1){
int v1;
__int64 v2;
int v3;
int v4;
struct _EVENT_DATA_DESCRIPTOR UserData;
int *v6;
int v7;
int v8;
v1 = (unsigned __int8)a1;
PopAcquireRwLockExclusive((_POP_RW_LOCK *)&PopPowerAggregatorLock);
UserData.Reserved = 0;
v8 = 0;
v4 = dword_140C216D0;
UserData.Ptr = (unsigned __int64)&v3;
UserData.Size = 4;
v7 = 4;
v6 = &v4;
v3 = v1;
PopPowerAggregatorDiagTraceEvent(&POP_ETW_EVENT_POWER_AGGREGATOR_SUSPEND_RESUME, 2u, &UserData);
if( (_BYTE)v1 )
{
if( ++dword_140C216D0 != 1 )
goto LABEL_5;
v2 = 7i64;
goto LABEL_4;
}
if( !--dword_140C216D0 )
{
v2 = 8i64;
LABEL_4:
PopPowerAggregatorHandleIntentUnsafe((_QWORD *)v2, 0i64, 0x14ui64);
}
LABEL_5:
PopReleaseRwLock((UINT64)&PopPowerAggregatorLock);
if( (_BYTE)v1 )
KeWaitForSingleObject(&word_140C216B8, Executive, 0, 0, 0i64);
}Referenced by:
PopIssueActionRequest