NTSTATUS __stdcall MiFreeReadListPageList(INT64 *a1, INT64 *a2){
INT64 v2;
NTSTATUS v5;
INT64 v7;
UINT64 v8;
_MMPFN *v9;
bool v10;
INT64 v11;
v2 = *a1;
v5 = 0;
while( v2 )
{
LODWORD(v7) = MiGetPfnLink(v2);
v10 = *a2 == 0;
*a1 = v7;
if( v10 )
{
LODWORD(v11) = MiPartitionIdToPointer(((unsigned __int64)v9->u4._bf_0 >> 39) & 0x3FF, v8);
*a2 = v11;
}
MiReleaseFreshPage(v9);
v2 = *a1;
++v5;
}
return v5;
}