MiCaptureSparsePages

INT64 __stdcall MiCaptureSparsePages(UINT64 a1, INT64 a2){
  INT64 v3; 
  INT64 v4; 
  UINT64 ValidPte; 
  _MMPFN *PfnDb; 
  INT64 v7; 
  __int64 v8; 
  unsigned __int64 v10; 
  v3 = 0i64;
  v4 = a1;
  ValidPte = MiMakeValidPte(a1, qword_140C4EAC0, 1i64);
  if( a2 )
  {
    PfnDb = MmGetPfnDb();
    do
    {
      v10 = MI_READ_PTE_LOCK_FREE(v4);
      if( v10 != ValidPte )
      {
        MiSetPfnLink((_QWORD *)PfnDb + 6 * ((v10 >> 12) & 0xFFFFFFFFFi64), v3);
        v3 = v7;
        MiLockAndDecrementShareCount((UINT64)PfnDb + 48 * v8, 0);
      }
      v4 += 8i64;
      --a2;
    }
    while( a2 );
  }
  return v3;
}

Referenced by:

MiDeleteSparseRange