PopApplyLegacyPowerRequestFlags

VOID __stdcall PopApplyLegacyPowerRequestFlags(VOID *PowerRequest, UINT64 NewFlags, UINT64 ChangedFlags){
  char v3; 
  char v4; 

  v3 = NewFlags;
  v4 = ChangedFlags;
  if( (ChangedFlags & 1) != 0 )
  {
    if( (NewFlags & 1) != 0 )
      PoSetPowerRequest(PowerRequest, PowerRequestSystemRequired);
    else
      PoClearPowerRequest(PowerRequest, PowerRequestSystemRequired);
  }
  if( (v4 & 2) != 0 )
  {
    if( (v3 & 2) != 0 )
      PoSetPowerRequest(PowerRequest, PowerRequestDisplayRequired);
    else
      PoClearPowerRequest(PowerRequest, PowerRequestDisplayRequired);
  }
  if( (v4 & 0x40) != 0 )
  {
    if( (v3 & 0x40) != 0 )
      PoSetPowerRequest(PowerRequest, PowerRequestAwayModeRequired);
    else
      PoClearPowerRequest(PowerRequest, PowerRequestAwayModeRequired);
  }
}

Referenced by:

NtSetThreadExecutionState
PoRegisterSystemState