MiUpdateSystemPdes

INT64 __fastcall MiUpdateSystemPdes(INT64 a1, UINT64 a2, INT64 a3){
  UINT64 v4; 
  unsigned __int64 PxeSelfRef; 
  __int64 v6; 
  __int64 v7; 
  _QWORD *v8; 
  INT64 result; 
  UINT8 OldIrql; 
  OldIrql = 0;
  v4 = *(_QWORD *)(a1 + 40) >> 12;
  PxeSelfRef = (unsigned __int64)MmGetPxeSelfRef();
  v6 = *(_QWORD *)PxeSelfRef ^ (*(_QWORD *)PxeSelfRef ^ (v4 << 12)) & 0xFFFFFFFFF000i64;
  LODWORD(v7) = MiMapPageInHyperSpaceWorker(v4, &OldIrql, 0x80000000ui64);
  v8 = (_QWORD *)v7;
  MiCopyTopLevelMappings(a1, v7);
  v8[(PxeSelfRef >> 12) & 0x1FF] = v6;
  MiUnmapPageInHyperSpaceWorker(v8, OldIrql, 0x80000000ui64);
  return result;
}

Referenced by:

KiInSwapProcesses
MiSyncSystemPdes