PopCoolingTelemetryWorker
VOID __stdcall PopCoolingTelemetryWorker(){
__int64 i;
INT64 v1;
__int64 j;
PopAcquireRwLockExclusive(&PopCoolingExtensionLock);
for( i = PopCoolingExtensionList; (__int64 *)i != &PopCoolingExtensionList; i = *(_QWORD *)i )
{
if( *(_BYTE *)(i + 64) )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)(i + 32));
for( j = *(_QWORD *)(i + 16); j != i + 16; j = *(_QWORD *)j )
{
if( *(_BYTE *)(j + 18) )
{
if( *(_QWORD *)(i + 136) )
{
PopThermalUpdatePassiveTimeTracking();
PopTraceThermalRequestPassiveHistogram(j);
}
if( *(_QWORD *)(i + 128) )
{
LOBYTE(v1) = *(_BYTE *)(j + 17) == 0;
PopThermalUpdateActiveTimeTracking(j + 40, v1);
PopTraceThermalRequestActiveActivity(j);
}
}
}
PopReleaseRwLock((_POP_RW_LOCK *)(i + 32));
}
}
PopReleaseRwLock(&PopCoolingExtensionLock);
}Referenced by:
PopThermalTelemetryWorker