MiFreeExcessSegments

NTSTATUS __stdcall MiFreeExcessSegments(UINT64 TakeAction){
  unsigned __int64 NextPartition; 
  VOID **i; 

  NextPartition = 9 * (*(&stru_140C50B28 + 936) / 0xAui64);
  if( *(&stru_140C50B28 + 920) >= NextPartition )
  {
    LOBYTE(NextPartition) = MiShouldTrimUnusedSegments();
    if( (_DWORD)NextPartition )
    {
      NextPartition = (unsigned __int64)PsGetNextPartition(0i64);
      for( i = (VOID **)NextPartition; NextPartition; i = (VOID **)NextPartition )
      {
        if( *((_QWORD *)*i + 212) )
          KeSetEvent((PRKEVENT)((char *)*i + 1400), 0, 0);
        NextPartition = (unsigned __int64)PsGetNextPartition(i);
      }
    }
  }
  return NextPartition;
}

Referenced by:

MiChargeCommit
MiCheckControlArea
MiCountSystemPool
MmResourcesAvailable