PopPowerAggregatorNotifySuspendResume
VOID __stdcall PopPowerAggregatorNotifySuspendResume(UINT8 a1){
int v1;
__int64 v2;
int v3;
int v4;
_EVENT_DATA_DESCRIPTOR UserData;
int *v6;
int v7;
int v8;
v1 = a1;
PopAcquireRwLockExclusive((_POP_RW_LOCK *)&PopIrpWorkerControlEvent + 187);
UserData.Reserved = 0;
v8 = 0;
v4 = *(&PopIrpWorkerControlEvent + 828);
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( ++*(&PopIrpWorkerControlEvent + 828) != 1 )
goto LABEL_5;
v2 = 7i64;
goto LABEL_4;
}
if( !--*(&PopIrpWorkerControlEvent + 828) )
{
v2 = 8i64;
LABEL_4:
PopPowerAggregatorHandleIntentUnsafe((_QWORD *)v2, 0, 0x14u);
}
LABEL_5:
PopReleaseRwLock((_POP_RW_LOCK *)&PopIrpWorkerControlEvent + 187);
if( (_BYTE)v1 )
KeWaitForSingleObject((UINT64)&PopIrpWorkerControlEvent + 3288, 0, 0, 0, 0i64);
}Referenced by:
PopIssueActionRequest