PopThermalSxEntry
VOID __stdcall PopThermalSxEntry(){
_ETHREAD *CurrentThread;
INT64 i;
INT64 v2;
PopAcquireRwLockExclusive(&PopSystemThermalInfo);
PopThermalStandbyEndTracking(4ui64);
PopReleaseRwLock(&PopSystemThermalInfo);
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--CurrentThread->Tcb.KernelApcDisable;
ExAcquirePushLockSharedEx((_EX_PUSH_LOCK *)&PopPolicyDeviceLock, 0i64);
for( i = *(&stru_140C23628 + 181); (_UNKNOWN *)i != (_UNKNOWN *)((char *)&stru_140C23628 + 1448); i = *(_QWORD *)i )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)(i + 432));
if( *(_BYTE *)(i + 145) )
{
PopThermalUpdatePassiveTimeTracking();
PopTraceThermalZonePassiveHistogram((_POP_THERMAL_ZONE *)i);
}
if( *(_BYTE *)(i + 505) )
{
LOBYTE(v2) = *(_BYTE *)(i + 69);
PopThermalUpdateActiveTimeTracking(i + 504, v2);
PopTraceThermalZoneActiveActivity(i);
}
*(_BYTE *)(i + 504) = 1;
PopReleaseRwLock((_POP_RW_LOCK *)(i + 432));
}
PopReleaseRwLock((_POP_RW_LOCK *)&PopPolicyDeviceLock);
PopCoolingSxTransition(1);
}Referenced by:
PopTransitionSystemPowerStateEx