MiFreeEmptyBootPageTable

INT64 __fastcall MiFreeEmptyBootPageTable(INT64 a1){
  unsigned __int64 v1; 
  INT64 result; 
  v1 = *(_QWORD *)(a1 + 8) | 0x8000000000000000ui64;
  result = (_QWORD)MmGetPteBase() << 25;
  if( (((__int64)((v1 << 25) - result) >> 16 << 25) - result) >> 16 < (unsigned __int64)MiLowHalVa )
  {
    *(_QWORD *)(a1 + 24) &= 0xC000000000000000ui64;
    *(_WORD *)(a1 + 32) = 0;
    *(_QWORD *)v1 = ZeroPte;
    MiLockAndInsertPageInFreeList((_MMPFN *)a1);
  }
  return result;
}

Referenced by:

MxCreateFreePfns