It seems recent(?) 64-bit strcpy implementations of strcpy don't work properly for overlapping regions even when moving down. Quite the surprise, as I thought that would always work. *shrug*