PopQueryPowerSettingUlong

char __fastcall PopQueryPowerSettingUlong(_GUID *Guid, _DWORD *a2, _DWORD *a3){
  char v6; 
  _POP_POWER_SETTING_CONFIGURATION *PowerSettingConfiguration; 
  _POP_POWER_SETTING_CONFIGURATION *v8; 
  __int64 v9; 
  __int64 v10; 

  v6 = 0;
  ExAcquireFastMutex((PFAST_MUTEX)((char *)&stru_140C23628 + 3000));
  PowerSettingConfiguration = PopFindPowerSettingConfiguration(Guid, 0xFFFFFFFFui64);
  v8 = PowerSettingConfiguration;
  if( PowerSettingConfiguration )
  {
    v9 = *((_QWORD *)PowerSettingConfiguration + 8);
    if( v9 )
    {
      if( *(_DWORD *)(v9 + 4) >= 4u )
      {
        *a2 = *(_DWORD *)(v9 + 12);
        v10 = *((_QWORD *)v8 + 9);
        if( v10 )
        {
          if( *(_DWORD *)(v10 + 4) >= 4u )
          {
            v6 = 1;
            *a3 = *(_DWORD *)(v10 + 12);
          }
        }
      }
    }
  }
  KeReleaseGuardedMutex((PKGUARDED_MUTEX)((char *)&stru_140C23628 + 3000));
  return v6;
}

Referenced by:

PopCheckPowerSourceAfterRtcWakeTimerWorker
PopDeferDoze
PopTransitionSystemPowerStateEx