PopVideoPowerSettingCallback

INT64 __stdcall PopVideoPowerSettingCallback(GUID *SettingGuid, UINT64 *NewValue, UINT64 ValueLength, PVOID Context){
  unsigned int v7; 
  __int64 v8; 
  __int128 v9; 
  __int128 v10; 
  __int128 v11; 
  __int128 v12; 
  __int128 v13; 
  __int128 v14; 
  POWER_ACTION_POLICY *p_PowerPolicy; 
  __int128 v16; 
  __int128 v17; 
  __int128 v18; 
  __int128 v19; 
  __int128 v20; 
  __int64 v21; 
  _SYSTEM_POWER_POLICY NewPolicy; 
  v7 = -1073741811;
  v8 = *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 - *(_QWORD *)&SettingGuid->Data1;
  if( *(_QWORD *)&GUID_VIDEO_POWERDOWN_TIMEOUT.Data1 == *(_QWORD *)&SettingGuid->Data1 )
    v8 = *(_QWORD *)GUID_VIDEO_POWERDOWN_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
  if( !v8 && (_DWORD)ValueLength == 4 && NewValue )
  {
    PopAcquirePolicyLock();
    v9 = *((_OWORD *)PopPolicy + 1);
    *(_OWORD *)&NewPolicy.Revision = *(_OWORD *)PopPolicy;
    v10 = *((_OWORD *)PopPolicy + 2);
    *(_OWORD *)&NewPolicy.SleepButton.Action = v9;
    v11 = *((_OWORD *)PopPolicy + 3);
    *(_OWORD *)&NewPolicy.LidClose.Flags = v10;
    v12 = *((_OWORD *)PopPolicy + 4);
    *(_OWORD *)&NewPolicy.Idle.Action = v11;
    v13 = *((_OWORD *)PopPolicy + 5);
    *(_OWORD *)&NewPolicy.IdleSensitivity = v12;
    v14 = *((_OWORD *)PopPolicy + 6);
    *(_OWORD *)&NewPolicy.WinLogonFlags = v13;
    *(_OWORD *)&NewPolicy.DischargePolicy[0].Enable = v14;
    p_PowerPolicy = &NewPolicy.DischargePolicy[1].PowerPolicy;
    *(_OWORD *)&NewPolicy.DischargePolicy[0].PowerPolicy.EventCode = *((_OWORD *)PopPolicy + 7);
    v16 = *((_OWORD *)PopPolicy + 9);
    *(_OWORD *)&NewPolicy.DischargePolicy[1].PowerPolicy.Action = *((_OWORD *)PopPolicy + 8);
    v17 = *((_OWORD *)PopPolicy + 10);
    *(_OWORD *)&NewPolicy.DischargePolicy[2].Enable = v16;
    v18 = *((_OWORD *)PopPolicy + 11);
    *(_OWORD *)&NewPolicy.DischargePolicy[2].PowerPolicy.EventCode = v17;
    v19 = *((_OWORD *)PopPolicy + 12);
    *(_OWORD *)&NewPolicy.DischargePolicy[3].PowerPolicy.Action = v18;
    v20 = *((_OWORD *)PopPolicy + 13);
    v21 = *((_QWORD *)PopPolicy + 28);
    *(_OWORD *)&NewPolicy.VideoTimeout = v19;
    *(_OWORD *)&NewPolicy.VideoReserved[2] = v20;
    *(_QWORD *)&NewPolicy.OverThrottled.Flags = v21;
    LOBYTE(p_PowerPolicy) = 1;
    NewPolicy.VideoTimeout = *(_DWORD *)NewValue;
    v7 = PopApplyPolicy((INT64)p_PowerPolicy, 0i64, &NewPolicy, 0xE8ui64);
    PopReleasePolicyLock();
    PopAdaptivePowerSettingCallback(SettingGuid, NewValue, 4ui64, Context);
  }
  return v7;
}

Referenced by:

No references.