MiFreePartitionPageRun
VOID __stdcall MiFreePartitionPageRun(
_MI_PARTITION *TargetPartition,
UINT64 BasePage,
UINT64 PageCount,
UINT64 EntireRangeIsZeroed){
int v5;
int v8;
UINT64 v9;
UINT64 i;
__int64 v11;
v5 = EntireRangeIsZeroed;
MiIsPfn(BasePage);
if( v8 )
{
LODWORD(v11) = MiFreeMdlPageRun(BasePage, PageCount, v5 == 1);
if( v11 && TargetPartition == &Irp )
_InterlockedExchangeAdd64((_QWORD *)&stru_140C4DB30 + 569, -v11);
}
else
{
v9 = (BasePage >> 18) & 0x3FFFF;
for( i = PageCount >> 18; i; --i )
{
MiInsertHugeRangeInList(v9, v5 == 1, 0i64);
LODWORD(v9) = (v9 ^ (v9 + 1)) & 0x3FFFF ^ v9;
}
}
}Referenced by:
MiActOnPartitionNodePages