internal static unsafe void Memmove(byte *dest, byte *src, uint len) { if (((nuint)dest - (nuint)src < len) || ((nuint)src - (nuint)dest < len)) { goto PInvoke; } Memcpy(dest, src, (int)len); return; PInvoke: RuntimeImports.Memmove(dest, src, len); }