ExWakeTimersPause
VOID __stdcall ExWakeTimersPause(){
unsigned __int8 CurrentIrql;
UINT64 v1;
UINT64 v2;
void **v3;
_ETIMER *v4;
if( _interlockedbittestandset64((volatile signed __int32 *)&WheapDeferredInternalLogsEventLock + 728, 0i64) )
ExfAcquirePushLockExclusiveEx(
(_EX_PUSH_LOCK *)&WheapDeferredInternalLogsEventLock + 364,
0i64,
(char *)&WheapDeferredInternalLogsEventLock + 2912);
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
v1 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
v2 = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
v3 = (void **)*(&WheapDeferredInternalLogsEventLock + 366);
while( v3 != (void **)((char *)&WheapDeferredInternalLogsEventLock + 2928) )
{
v4 = (_ETIMER *)(v3 - 33);
v3 = (void **)*v3;
KxAcquireSpinLock(&v4->Lock);
if( v4->WakeTimerListEntry.Flink )
ExpTimerPause(v4, v2, v1);
KxReleaseSpinLock(&v4->Lock);
}
__writecr8(CurrentIrql);
}Referenced by:
PopTransitionSystemPowerStateEx