PopSystemIdleWorker
INT64 __stdcall PopSystemIdleWorker(){
int v1;
UINT64 v3;
v3 = 0i64;
if( !PopPlatformAoAc )
KeBugCheckEx(0xA0u, 0xAui64, 0x100ui64, 0i64, 0i64);
PopAcquireRwLockExclusive(&PopSystemIdleLock);
while( _BitScanForward((unsigned int *)&v1, PopPendingSystemIdleResetMask) )
{
_InterlockedAnd(&PopPendingSystemIdleResetMask, ~(1 << v1));
if( v1 == 2 )
PopPulseSystemIdleEvent(2ui64);
}
PopUpdateLastUserInputTime();
PopIsSystemIdle((INT64)&qword_140C0F1A8, (unsigned int)dword_140C0F194, &v3, (INT64)&qword_140C0F2A8);
LODWORD(dword_140C0F288) = PopSystemIdleContext;
PopReleaseRwLock((UINT64)&PopSystemIdleLock);
PopIdleDetection();
PopExecuteSystemIdleAction((_LOADER_PARAMETER_BLOCK *)(unsigned int)dword_140C0F288);
PopAcquireRwLockExclusive(&PopSystemIdleLock);
LODWORD(dword_140C0F288) = 0;
PopReleaseRwLock((UINT64)&PopSystemIdleLock);
return 0i64;
}Referenced by:
No references.