MiFreeLargeInitializationCodePages

VOID __fastcall MiFreeLargeInitializationCodePages(INT64 a1, INT64 a2, UINT64 a3){
  int v5; 
  UINT64 v6; 
  INT64 i; 
  unsigned __int64 v8; 

  LOBYTE(v5) = MiIsPfnFromSlabAllocation(a1);
  if( v5 )
  {
    for( i = 48 * a3 + a1; a3; --a3 )
    {
      i -= 48i64;
      v8 = MiLockPageInline((_MMPFN *)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(v8);
    }
  }
  else
  {
    MiAddExpansionNonPagedPool(v6, a3);
  }
}

Referenced by:

MiFreeInitializationCode