MiClusterVadFull

INT64 __fastcall MiClusterVadFull(_MMPFN *Pfn1, _SUBSECTION *Subsection){
  unsigned __int64 v2; 
  signed __int64 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  _QWORD *v6; 
  unsigned int v7; 
  unsigned __int64 v8; 
  v2 = *((_QWORD *)Pfn1 + 1) | 0x8000000000000000ui64;
  v3 = (Pfn1 - MmGetPfnDb()) / 48;
  if( Subsection )
  {
    v4 = *((_QWORD *)Subsection + 1);
    if( v2 < v4
      || v2 >= v4 - 8i64 * (*((_DWORD *)Subsection + 13) & 0x3FFFFFFF) + 8i64 * *((unsigned int *)Subsection + 11) )
    {
      return 0i64;
    }
    v5 = (__int64)(v2 - v4) >> 3;
  }
  else
  {
    v5 = (unsigned __int64)*((unsigned int *)Pfn1 + 2) >> 3;
  }
  if( (((unsigned __int8)v5 ^ (unsigned __int8)v3) & 0xF) == 0 )
  {
    v6 = (_QWORD *)((char *)Pfn1 + 88);
    v7 = 1;
    v8 = v2 + 8;
    while( (*(v6 - 4) | 0x8000000000000000ui64) == v8
         && (*v6 & 0xFFFFFFFFFi64) == (*((_QWORD *)Pfn1 + 5) & 0xFFFFFFFFFi64) )
    {
      v8 += 8i64;
      ++v7;
      v6 += 6;
      if( v7 >= 0x10 )
        return 1i64;
    }
  }
  return 0i64;
}

Referenced by:

MiPfnsWorthTrying
MiTrimSharedPage