PopArmIdlePhaseWatchdog
VOID __fastcall PopArmIdlePhaseWatchdog(INT64 rcx0){
__int64 v1;
__int64 v2;
char v3;
int v4;
int v5;
int InputBuffer;
__int64 v7;
int v8;
int v9;
__int64 v10;
__int64 v11;
__int64 v12;
__int64 *v13;
INT64(__fastcall *v14)(INT64, INT64, INT64, INT64, INT64, INT64);
int *p_InputBuffer;
int a2;
void *a1;
a1 = 0i64;
a2 = 0;
v1 = PopPdcIdlePhaseWatchdogContext;
v2 = (int)rcx0;
if( PopPdcIdlePhaseWatchdogContext )
{
PopPdcAreAllPhasesDisengaged();
if( v3 )
{
PopSnapSystemIdleContext(&a1, &a2);
PopAcquireRwLockExclusive(&stru_140C21188);
v4 = a2;
qword_140C21198 = a1;
dword_140C211A0 = a2;
PopReleaseRwLock((UINT64)&stru_140C21188);
if( (_DWORD)v2 == 12 || (unsigned int)(v2 - 5) <= 1 )
v5 = PopIdleScanInterval + v4;
else
v5 = PopPdcIdlePhaseDefaultWatchdogTimeoutSeconds;
memset((INT64)&InputBuffer, 0i64);
InputBuffer = 21;
v7 = v1;
v9 = 160;
v10 = 2050i64;
v8 = 1000 * v5;
v12 = (unsigned int)PopEventProcessorEnabled;
v13 = &PopPdcIdlePhaseWatchdogContext;
p_InputBuffer = &InputBuffer;
v14 = PopIdlePhaseWatchdogCallback;
v11 = v2;
ZwPowerInformation(SystemPowerStateLogging|0x40, &InputBuffer, 0x60u, 0i64, 0);
}
}
}Referenced by:
PopProcessSessionDisplayStateChange