MiReturnPfnList

NTSTATUS __stdcall MiReturnPfnList(_MMPFN *PfnList){
  _MMPFN *v1; 
  NTSTATUS v2; 
  _MMPFN *bf_0; 
  unsigned __int64 v4; 
  INT64 v5; 
  UINT64 v6; 
  UINT64 v8; 
  UINT64 v9; 

  v1 = PfnList;
  v2 = 0;
  if( PfnList )
  {
    do
    {
      bf_0 = (_MMPFN *)v1->u1.$976DF529DAC3D73085C9E386D94B91E6::$E228DCF3D8940E384DBC5EFCA756D8B6::_bf_0;
      v4 = MiLockPageInline(v1);
      v1->u3.ReferenceCount = 0;
      v1->u2._bf_0 &= 0xC000000000000000ui64;
      MiInsertPageInFreeOrZeroedList(v1 - MmGetPfnDb(), 2ui64, v5, v6, v8, v9);
      _InterlockedAnd64(&v1->u2.Lock, 0x7FFFFFFFFFFFFFFFui64);
      __writecr8(v4);
      ++v2;
      v1 = bf_0;
    }
    while( bf_0 );
  }
  return v2;
}

Referenced by:

MiDeleteSparseRange
MiInitializeDynamicBitmap