RtlpCopyLegacyContext

void __fastcall RtlpCopyLegacyContext(char Operation, _CONTEXT *Destination, UINT64 ContextFlags, _CONTEXT *Source){
  if( (ContextFlags & 0x10000) != 0 )
  {
    RtlpCopyLegacyContextX86(Operation, (INT64)Destination, ContextFlags, (INT64)Source);
  }
  else if( (ContextFlags & 0x100000) != 0 )
  {
    RtlpCopyLegacyContextAmd64(Operation, (INT64)Destination, ContextFlags, (INT64)Source);
  }
  else if( (ContextFlags & 0x200000) != 0 )
  {
    RtlpCopyLegacyContextArm(Operation, (INT64)Destination, ContextFlags, (INT64)Source);
  }
  else if( (ContextFlags & 0x400000) != 0 )
  {
    RtlpCopyLegacyContextArm64(Operation, (INT64)Destination, ContextFlags, (INT64)Source);
  }
}

Referenced by:

KeCopyContextFromUmsContext
KeCopyContextToUmsContext
KeUpdatePrimaryThreadContext
RtlCopyContext