MiFreeLargeInitializationCodePages

VOID __fastcall MiFreeLargeInitializationCodePages(INT64 a1, INT64 a2, UINT64 a3){
  UINT64 v5; 
  INT64 i; 
  unsigned __int64 v7; 
  if( MiIsPfnFromSlabAllocation(a1) )
  {
    for( i = 48 * a3 + a1; a3; --a3 )
    {
      i -= 48i64;
      v7 = (unsigned __int8)MiLockPageInline(i);
      *(_BYTE *)(i + 34) = *(_BYTE *)(i + 34) & 0xF8 | 5;
      *(_QWORD *)(i + 16) = 0i64;
      MiSetOriginalPtePfnFromFreeList((UINT64 *)(i + 16));
      MiReturnFreeZeroPage(i);
      _InterlockedAnd64((volatile signed __int64 *)(i + 24), 0x7FFFFFFFFFFFFFFFui64);
      __writecr8(v7);
    }
  }
  else
  {
    MiAddExpansionNonPagedPool(v5, a3);
  }
}

Referenced by:

MiFreeInitializationCode