MiGetPteMappingPair

VOID __stdcall MiGetPteMappingPair(UINT64 SystemPtesOk, _MMPTE_COPY_LIST *PteCopyList){
  unsigned __int8 CurrentIrql; 
  unsigned __int64 HyperSpace; 

  if( (_DWORD)SystemPtesOk != 1 || (MiCreatePteCopyList(2ui64, 2ui64, PteCopyList), !PteCopyList[1]) )
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(2ui64);
    *((_BYTE *)PteCopyList + 8) = CurrentIrql;
    HyperSpace = (unsigned __int64)MiAllocateHyperSpace();
    *PteCopyList = 0;
    PteCopyList[1] = 2;
    *((_BYTE *)PteCopyList + 9) = 1;
    *((_QWORD *)PteCopyList + 2) = (char *)MmGetPteBase() + ((HyperSpace >> 9) & 0x7FFFFFFFF8i64);
  }
}

Referenced by:

MiSlowRotateCopy