MiGetBaseResidentPage

_MMPFN *__fastcall MiGetBaseResidentPage(_MMPFN *a1){
  _MMPFN *PfnDb; 
  _MMPFN *v2; 
  __int64 v3; 
  int v4; 
  unsigned __int64 v5; 
  int i; 
  __int64 v7; 
  unsigned int v8; 
  __int128 *v9; 
  _MMPFN *v10; 
  __int128 v12; 
  __int64 v13; 

  PfnDb = MmGetPfnDb();
  v2 = a1;
  v12 = 0i64;
  v13 = 0i64;
  v3 = a1 - PfnDb;
  v4 = 0;
  v5 = v3;
  for( i = 2; ; --i )
  {
    v7 = MiLargePageSizes[i] - 1;
    if( (v7 & v5) != 0 )
    {
      v5 &= ~v7;
      v2 = &PfnDb[v5];
      if( (unsigned int)++v4 > 3 )
        KeBugCheckEx(0x1Au, (PVOID)0x9700, (PVOID)v3, (PVOID)v5, 0i64);
      *((_QWORD *)&v12 + (unsigned int)(v4 - 1)) = v2;
      MiLockNestedPageAtDpcInline(&PfnDb[v5]);
    }
    if( (v2->ViewCount & 3) != 0 )
      break;
    if( !i )
      KeBugCheckEx(0x1Au, (PVOID)0x9701, (PVOID)v3, (PVOID)v5, 0i64);
  }
  v8 = 0;
  v9 = &v12;
  do
  {
    v10 = *(_MMPFN **)v9;
    if( !*(_QWORD *)v9 )
      break;
    if( v10 != v2 )
      _InterlockedAnd64(&v10->u2.Lock, 0x7FFFFFFFFFFFFFFFui64);
    ++v8;
    v9 = (__int128 *)((char *)v9 + 8);
  }
  while( v8 < 3 );
  return v2;
}

Referenced by:

MiActivePageClaimCandidate
MiGetPfnPageSizeIndexUnsynchronized
MiIdentifyPfn
MiTradePage
MiTransferPartitionPageRun
MmUnlockPages