MmBuildLargePages

NTSTATUS __stdcall MmBuildLargePages(INT64 a1, UINT64 a2){
  __int64 v2; 
  unsigned int v3; 
  unsigned int v4; 
  unsigned int v5; 
  __int64 *v6; 
  _MI_PARTITION *v7; 
  unsigned __int64 v8; 

  LODWORD(v2) = 0;
  v3 = a2;
  if( (unsigned int)a2 < (unsigned __int16)KeNumberNodes )
  {
    LOBYTE(v4) = MiGetLargestPageIndex();
    v5 = v4;
    if( v4 < 3 )
    {
      v6 = &MiLargePageSizes[v4];
      do
      {
        if( *v6 == 512 )
          break;
        ++v5;
        ++v6;
      }
      while( v5 < 3 );
    }
    if( v5 != 3 )
    {
      LODWORD(v7) = MiPartitionObjectToPartition((PVOID)0xFFFFFFFFFFFFFFFFi64);
      if( v7 )
      {
        LODWORD(v8) = MiRebuildLargePage(v7, v3);
        return v8 >> 9;
      }
    }
  }
  return v2;
}

Referenced by:

VmpAccessFaultBatchResolve