--- /dev/null
+//------------------------------------------------------------------------------\r
+//\r
+// Copyright (c) 2019, Pete Batard. All rights reserved.\r
+//\r
+// SPDX-License-Identifier: BSD-2-Clause-Patent\r
+//\r
+//------------------------------------------------------------------------------\r
+\r
+#if defined(_M_ARM64)\r
+typedef unsigned __int64 size_t;\r
+#else\r
+typedef unsigned __int32 size_t;\r
+#endif\r
+\r
+void* memmove(void *, const void *, size_t);\r
+#pragma intrinsic(memmove)\r
+#pragma function(memmove)\r
+void* memmove(void *dest, const void *src, size_t n)\r
+{\r
+ unsigned char *d = dest;\r
+ unsigned char const *s = src;\r
+\r
+ if (d < s) {\r
+ while (n--)\r
+ *d++ = *s++;\r
+ } else {\r
+ d += n;\r
+ s += n;\r
+ while (n--)\r
+ *--d = *--s;\r
+ }\r
+\r
+ return dest;\r
+}\r