INT64 __fastcall MiFreeReadListPageList(INT64 *a1, INT64 *a2){
INT64 v2;
INT64 v5;
INT64 PfnLink;
UINT64 v8;
__int64 v9;
bool v10;
INT64 v11;
v2 = *a1;
v5 = 0i64;
while( v2 )
{
PfnLink = MiGetPfnLink(v2);
v10 = *a2 == 0;
*a1 = PfnLink;
if( v10 )
{
LODWORD(v11) = MiPartitionIdToPointer((*(_QWORD *)(v9 + 40) >> 39) & 0x3FF, v8);
*a2 = v11;
}
MiReleaseFreshPage((_MMPFN *)v9);
v2 = *a1;
++v5;
}
return v5;
}