text: #include <string.h>
  
  void *memmove(void *dstptr, const void *srcptr, size_t size) {
  	unsigned char *      dst = (unsigned char *)dstptr;
  	const unsigned char *src = (const unsigned char *)srcptr;
  	if (dst < src) {
  		for (size_t i = 0; i < size; i++)
  			dst[i] = src[i];
  	} else {
  		for (size_t i = size; i != 0; i--)
  			dst[i - 1] = src[i - 1];
  	}
  	return dstptr;
  }
  