PopThermalUpdatePassiveTimeTracking

_KNOWN_CONTROLLER_TYPE __stdcall PopThermalUpdatePassiveTimeTracking(){
  unsigned __int8 v0; 
  __int64 v1; 
  int v2; 
  __int64 v3; 
  __int64 v4; 

  if( !*(_BYTE *)v1 )
  {
    v2 = 21;
    do
    {
      if( v0 >= PopThermalTrackingThresholds[v2 - 1] )
        break;
      --v2;
    }
    while( v2 );
    v3 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
    v4 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - *(_QWORD *)(v1 + 8);
    *(_QWORD *)(v1 + 8i64 * (unsigned int)(v2 - 1) + 24) += v4;
    *(_QWORD *)(v1 + 8) = v3;
  }
  return(int)v4;
}

Referenced by:

PoSetThermalPassiveCooling
PopCoolingSxTransition
PopCoolingTelemetryWorker
PopDeactiveThermalRequest
PopOrphanCoolingExtension
PopThermalSxEntry
PopThermalTelemetryWorker
PopThermalWorker
PopThermalZoneRemove