PopThermalTelemetryWorker

VOID __stdcall PopThermalTelemetryWorker(VOID *Context){
  _ETHREAD *CurrentThread; 
  INT64 i; 
  INT64 v3; 

  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(v3) = *(_BYTE *)(i + 69);
      PopThermalUpdateActiveTimeTracking(i + 504, v3);
      PopTraceThermalZoneActiveActivity(i);
    }
    PopReleaseRwLock((_POP_RW_LOCK *)(i + 432));
  }
  PopReleaseRwLock((_POP_RW_LOCK *)&PopPolicyDeviceLock);
  PopCoolingTelemetryWorker();
  _InterlockedExchange(&dword_140C22D28, 0);
}

Referenced by:

No references.