PopThermalProcessUsermodeEvent

__int64 __fastcall PopThermalProcessUsermodeEvent(__int64 a1, __int64 a2, EVENT_DESCRIPTOR *a3){
  PopDiagTraceUsermodeThermalEvent(a1, a2, a3);
  if( *(_DWORD *)a1 )
  {
    if( *(_DWORD *)a1 == 1 )
    {
      PopDiagTraceUsermodeTripPointExceeded(*(_WORD *)(a1 + 12), (WCHAR *)(a1 + 14), *(unsigned int *)(a1 + 8), 0);
      PopSqmThermalUsermodeEvent(
        *(_WORD *)(a1 + 12),
        (WCHAR *)(a1 + 14),
        *(unsigned int *)(a1 + 8),
        *(unsigned int *)(a1 + 4),
        0);
      PopAcquirePolicyLock();
      PopThermalHibernateInitiated = 1;
      PopReleasePolicyLock();
    }
  }
  else
  {
    PopDiagTraceUsermodeTripPointExceeded(*(_WORD *)(a1 + 12), (WCHAR *)(a1 + 14), *(unsigned int *)(a1 + 8), 1u);
    PopSqmThermalUsermodeEvent(
      *(_WORD *)(a1 + 12),
      (WCHAR *)(a1 + 14),
      *(unsigned int *)(a1 + 8),
      *(unsigned int *)(a1 + 4),
      1u);
    PopThermalWriteShutdownToRegistry();
  }
  return 0i64;
}

Referenced by:

NtPowerInformation