PopAdaptivePowerSettingCallback

NTSTATUS __stdcall PopAdaptivePowerSettingCallback(
        const _GUID *SettingGuid,
        UINT64 *NewValue,
        UINT64 ValueLength,
        PVOID Context){
  NTSTATUS v6; 
  bool v7; 
  UINT64 v8; 
  UINT64 v9; 
  UINT64 v10; 
  __int64 v11; 
  UINT64 v12; 
  int v13; 
  UINT64 v15; 
  UINT64 v16; 

  if( (_DWORD)ValueLength != 4 )
    return -1073741811;
  v6 = 0;
  if( !NewValue )
    return -1073741811;
  v7 = PopConsoleSession != 0;
  PopAcquireAdaptiveLock(PopConsoleSession == 0);
  v11 = *(_QWORD *)&SettingGuid->Data1;
  v12 = *(_QWORD *)&GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data1 - *(_QWORD *)&SettingGuid->Data1;
  if( *(_QWORD *)&GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data1 == *(_QWORD *)&SettingGuid->Data1 )
    v12 = *(_QWORD *)GUID_NON_ADAPTIVE_INPUT_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
  if( !v12 )
  {
    v13 = *(_DWORD *)NewValue;
    LODWORD(PopInputTimeout) = *(_DWORD *)NewValue;
    if( v7 )
    {
      BYTE3(qword_140C203B0) = 1;
      DWORD2(PopLazyContext) = v13;
      if( !v13 )
        PopInputDisabled((unsigned int)PopConsoleContext, 0, 1u);
    }
    goto LABEL_14;
  }
  v12 = *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 - v11;
  if( *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 == v11 )
    v12 = *(_QWORD *)GUID_VIDEO_POWERDOWN_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
  if( !v12 )
  {
    PopDisplayTimeout = *(_DWORD *)NewValue;
LABEL_14:
    PopDiagTracePolicyChange(v12, v8, v9, v10, v15, v16);
    if( v7 )
      PopCheckConsoleTimeouts();
    goto LABEL_16;
  }
  v12 = *(_QWORD *)&GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data1 - v11;
  if( *(_QWORD *)&GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data1 == v11 )
    v12 = *(_QWORD *)GUID_VIDEO_CONSOLE_LOCK_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
  if( !v12 )
  {
    PopAdaptiveLockConsoleTimeout = *(_DWORD *)NewValue;
    goto LABEL_14;
  }
  v6 = -1073741811;
LABEL_16:
  PopReleaseAdaptiveLock();
  return v6;
}

Referenced by:

PopVideoPowerSettingCallback