its a loop blocked by 4 bytes, the remainder is subtracted so it stops on the last multiple of 4 so the cleanup loop for these can continue with p.
One could just use a regular for loop with indices if that makes it clearer.