Combine results in registers rather than using maskmovdqu twice
cld before movsb.

The expected state of this flag doesn't seem to be mentioned in the
ABI docs, so better safe than sorry.
Add a missing register save(!)
Typo.
Use hex offsets.

Makes more sense for things that are multiples of 16.