MiReferencePageRuns

PHYSICAL_MEMORY_DESCRIPTOR *__stdcall MiReferencePageRuns(_MI_PARTITION *Partition, UINT64 NumaList){
  unsigned int v2; 
  UINT8 CurrentIrql; 
  PHYSICAL_MEMORY_DESCRIPTOR *v5; 
  v2 = NumaList;
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(2ui64);
  ExpAcquireSpinLockExclusive((INT64 *)&dword_140C50B88, CurrentIrql);
  if( Partition != (_MI_PARTITION *)&MiSystemPartition )
    ExAcquireSpinLockExclusiveAtDpcLevel((INT64 *)Partition + 25);
  if( v2 == 1 )
  {
    v5 = (PHYSICAL_MEMORY_DESCRIPTOR *)*((_QWORD *)Partition + 4);
  }
  else if( Partition == (_MI_PARTITION *)&MiSystemPartition )
  {
    v5 = (PHYSICAL_MEMORY_DESCRIPTOR *)MmPhysicalMemoryBlock;
  }
  else
  {
    v5 = (PHYSICAL_MEMORY_DESCRIPTOR *)*((_QWORD *)Partition + 12);
  }
  if( v5 )
  {
    ++v5[-1].Run[0].PageCount;
    ++qword_140C50AE8;
  }
  if( Partition != (_MI_PARTITION *)&MiSystemPartition )
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)Partition + 25);
  dword_140C50B88 = 0;
  __writecr8(CurrentIrql);
  if( v5 )
    return v5;
  else
    return MiReferencePageRuns((_MI_PARTITION *)&MiSystemPartition, v2);
}

Referenced by:

MiAddPhysicalMemory
MiCombineAllPhysicalMemory
MiComputeNodeMemory
MiFindContiguousPages
MiFinishResume
MiGetPhysicalMemoryRanges
MiInitializeScrubPacket
MiRebuildLargePage
MiReferencePageRuns
MiRemovePhysicalMemory
MiScanPagefileSpace
MiWaitForFreePagesToZero
MiZeroLargePages
MmGetNodeChannelRanges
MmIdentifyPhysicalMemory