MiClusterVadFull

NTSTATUS __stdcall MiClusterVadFull(_MMPFN *Pfn1, _SUBSECTION *Subsection){
  unsigned __int64 v2; 
  signed __int64 v3; 
  _MMPTE *SubsectionBase; 
  unsigned __int64 v5; 
  union {$8D9ED47C9F2F2CD645B633E301950288 __s0;unsigned __int64 EntireField;} *p_u4; 
  unsigned int v7; 
  unsigned __int64 v8; 

  v2 = Pfn1->PteLong | 0x8000000000000000ui64;
  v3 = Pfn1 - MmGetPfnDb();
  if( Subsection )
  {
    SubsectionBase = Subsection->SubsectionBase;
    if( v2 < (unsigned __int64)SubsectionBase
      || v2 >= (unsigned __int64)&SubsectionBase[Subsection->PtesInSubsection - (Subsection->_bf_34 & 0x3FFFFFFF)] )
    {
      return 0;
    }
    v5 = (__int64)(v2 - (_QWORD)SubsectionBase) >> 3;
  }
  else
  {
    v5 = (unsigned __int64)LODWORD(Pfn1->PteLong) >> 3;
  }
  if( (((unsigned __int8)v5 ^ (unsigned __int8)v3) & 0xF) == 0 )
  {
    p_u4 = &Pfn1[1].u4;
    v7 = 1;
    v8 = v2 + 8;
    while( (p_u4[-4]._bf_0 | 0x8000000000000000ui64) == v8
         && (p_u4->_bf_0 & 0xFFFFFFFFFi64) == (Pfn1->u4._bf_0 & 0xFFFFFFFFFi64) )
    {
      v8 += 8i64;
      ++v7;
      p_u4 += 6;
      if( v7 >= 0x10 )
        return 1;
    }
  }
  return 0;
}

Referenced by:

MiPfnsWorthTrying
MiTrimSharedPage