MmSetCommitReleaseEligibility

NTSTATUS __stdcall MmSetCommitReleaseEligibility(_EPROCESS *Process, UINT64 Eligible){
  int v2; 
  int v3; 
  _MMSUPPORT_SHARED *SharedVm; 
  UINT8 v6; 
  _MMSUPPORT_FLAGS Flags; 
  NTSTATUS v8; 
  __int8 v9; 
  _KAPC_STATE ApcState; 

  v2 = 0;
  memset(&ApcState, 0, sizeof(ApcState));
  v3 = Eligible;
  if( KeGetCurrentThread()->ApcState.Process != Process )
  {
    v2 = 1;
    KiStackAttachProcess(Process, 0i64, &ApcState);
  }
  SharedVm = MiGetSharedVm(&Process->Vm.Instance);
  v6 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
  SharedVm->GoodCitizenWaiting = 0;
  Flags = Process->Vm.Instance.Flags;
  if( (Process->Flags & 0x20) != 0 )
  {
    v8 = -1073741558;
  }
  else
  {
    if( v3 )
      v9 = Flags.$2436257948A9E417F8C1432C685A007E::$56A022E0416FA8F0D143F219D5D8FA21::_bf_0 & 0x9F | 0x20;
    else
      v9 = Flags.$2436257948A9E417F8C1432C685A007E::$56A022E0416FA8F0D143F219D5D8FA21::_bf_0 & 0x9F;
    Process->Vm.Instance.Flags._bf_0 = v9;
    v8 = 0;
  }
  MiUnlockWorkingSetExclusive(&Process->Vm.Instance, v6);
  if( v2 )
    KiUnstackDetachProcess(&ApcState, 0i64);
  return v8;
}

Referenced by:

NtSetInformationProcess