KeRestoreSupervisorState

VOID __stdcall KeRestoreSupervisorState(INT64 a1, INT64 a2){
  INT64 v2; 

  if( a1 )
  {
    v2 = a2 & 0x100;
    if( ((unsigned __int64)KeFeatureBits & 0x800000) != 0 && KUSER_SHARED_DATA.XState.EnabledSupervisorFeatures )
      RtlXRestoreS(
        (PFN_IO_CONNECT_INTERRUPT *)(a1 - 512),
        (_XSTATE_CONFIGURATION *)(a2 & KUSER_SHARED_DATA.XState.EnabledSupervisorFeatures));
    if( (_DWORD)KiIptMsrMask )
    {
      if( v2 )
        KiRestoreIptState((UINT64 *)(a1
                                   + KUSER_SHARED_DATA.XState.AllFeatureSize
                                   - (unsigned __int64)KUSER_SHARED_DATA.XState.Size
                                   + 64));
    }
  }
}

Referenced by:

IopLiveDumpProcessCorralStateChange
KdExitDebugger
KiFreezeTargetExecution