PoLatencySensitivityHint

VOID __stdcall PoLatencySensitivityHint(INT64 a1){
  int v1; 
  int v2; 
  _BYTE *i; 
  REGHANDLE v4; 
  UINT64 v5; 
  bool v6; 
  bool v7; 
  int v8[8]; 
  int v9; 
  UINT64 PreviousTime; 
  UINT64 v11; 
  _EVENT_DATA_DESCRIPTOR UserData; 

  v1 = a1;
  PreviousTime = 0i64;
  if( !*(&stru_140C23628 + 3532) || (_DWORD)a1 != 4 )
  {
    v2 = 0;
    for( i = (_BYTE *)(2736i64 * *(&stru_140C23628 + 441) + *(&stru_140C00F40 + 365) + 117i64); !*i; ++i )
    {
      if( (unsigned int)++v2 >= 2 )
        return;
    }
    v9 = a1;
    if( PpmEtwRegistered )
    {
      v4 = PpmEtwHandle;
      if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_LATENCY_SENSITIVITY_HINT) )
      {
        *(_QWORD *)&UserData.Size = 4i64;
        UserData.Ptr = (unsigned __int64)&v9;
        EtwWriteEx(v4, &PPM_ETW_LATENCY_SENSITIVITY_HINT, 0i64, 0, 0, 0, 1u, &UserData);
      }
    }
    v11 = 0i64;
    v6 = PpmInterlockedUpdateTimeNoFence(
           (UINT64 *)&stru_140C23628 + 440,
           *(&PopIrpWorkerControlEvent + 160) + *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart,
           &PreviousTime) != 0;
    if( v1 == 4 && PpmInterlockedUpdateTimeNoFence((UINT64 *)&stru_140C23628 + 439, v5, &v11) )
      v6 = 1;
    if( v6 )
    {
      _InterlockedOr(v8, 0);
      v7 = PreviousTime <= *(&PopIrpWorkerControlEvent + 159);
      if( v1 == 4 && v11 <= *(&PopIrpWorkerControlEvent + 159) )
        v7 = 1;
      if( v7 )
      {
        if( PpmTryAcquireLock() )
        {
          PpmCheckCustomRun(PpmCheckIdAsyncLatencyHint);
        }
        else if( !_InterlockedExchange((_DWORD *)&stru_140C23628 + 869, 1) )
        {
          ExQueueWorkItem(
            (PWORK_QUEUE_ITEM)((char *)&stru_140C23628 + 3480),
            CustomPriorityWorkQueue|NormalWorkQueue|0x18);
        }
      }
    }
  }
}

Referenced by:

PopPerfBoostPowerRequest
PopPowerInformationInternal