Ok! I'd say the ptr variable is actually not needed at all, it is just used as a cast, and read-only. Does removing "ptr" give you the 3 bytes back?