KeConfigureDynamicMemory

NTSTATUS __stdcall KeConfigureDynamicMemory(UINT64 StartingPage, UINT64 EndingPage, UINT64 Flags){
  unsigned int v3; 
  UINT64 v6; 
  NTSTATUS result; 

  v3 = Flags;
  if( StartingPage > EndingPage )
    goto LABEL_10;
  v6 = EndingPage - StartingPage;
  if( v6 == -1i64 )
    goto LABEL_10;
  if( (_BYTE)HvlHypervisorConnected && (HvlpFlags & 2) != 0 )
  {
    if( !(_DWORD)Flags )
    {
      result = HvlpAddPhysicalMemory(StartingPage, v6 + 1);
      goto LABEL_11;
    }
    if( (_DWORD)Flags == 1 || (_DWORD)Flags == 2 )
    {
      result = 0;
      goto LABEL_11;
    }
LABEL_10:
    result = -1073741811;
LABEL_11:
    if( result < 0 )
      return result;
  }
  return VslConfigureDynamicMemory(StartingPage, EndingPage, v3);
}

Referenced by:

MiAddPhysicalMemory
MiMapNewPfns
MiRemovePhysicalMemory