KeSetCurrentUmsTeb

unsigned __int64 __fastcall KeSetCurrentUmsTeb(_ETHREAD *CurrentThread, unsigned __int64 a2){
  unsigned __int64 result; 
  if( !CurrentThread )
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  if( *((char *)CurrentThread + 3) < 0 )
  {
    result = a2;
    __writemsr(0xC0000102, a2);
  }
  return result;
}

Referenced by:

KeUnInitializeUmsThread
KiSwapToUmsThread
PspDisassociateUmsThreadFromPrimary