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