PopThermalSxEntry

VOID __stdcall PopThermalSxEntry(){
  _ETHREAD *CurrentThread; 
  PVOID *i; 
  INT64 v2; 
  PopAcquireRwLockExclusive(&PopSystemThermalInfo);
  PopThermalStandbyEndTracking(4ui64);
  PopReleaseRwLock((UINT64)&PopSystemThermalInfo);
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  ExAcquirePushLockSharedEx((UINT64)&PopPolicyDeviceLock, 0i64);
  for( i = (PVOID *)PopThermal; i != &PopThermal; i = (PVOID *)*i )
  {
    PopAcquireRwLockExclusive((_POP_RW_LOCK *)i + 27);
    if( *((_BYTE *)i + 145) )
    {
      PopThermalUpdatePassiveTimeTracking((_POP_THERMAL_TELEMETRY_TRACKER *)(i + 63), *((_BYTE *)i + 80));
      PopTraceThermalZonePassiveHistogram((INT64)i);
    }
    if( *((_BYTE *)i + 505) )
    {
      LOBYTE(v2) = *((_BYTE *)i + 69);
      PopThermalUpdateActiveTimeTracking((INT64)(i + 63), v2);
      PopTraceThermalZoneActiveActivity((INT64)i);
    }
    *((_BYTE *)i + 504) = 1;
    PopReleaseRwLock((UINT64)(i + 54));
  }
  PopReleaseRwLock((UINT64)&PopPolicyDeviceLock);
  PopCoolingSxTransition(1);
}

Referenced by:

PopTransitionSystemPowerStateEx