Though since this has literally 0 effect... why not just use nop, or do nothing at all meaning literally don't write any code because you aren't doing anything...?

----------------

A loop is very different from code with no effect (aka nop - "no operation"). The code in a loop (can) be run multiple times, meaning it jumps back to the start of the loop when it reaches the end, conditionally if it's not an infinite loop.. often it does something useful at some point like copying a value or incrementing a counter / timer etc.

A nop simply doesn't change anything when it's done, "nop" in x86 is actually the instruction for xchg eax, eax which would more literally be what you were talking about with xmm1, exchange the value in operand 1 (eax) with the value in operand 2 (eax) so eax = eax which does, essentially, nothing just like anding with -1 or oring with 0 if you save and restore the flags so that they aren't changed.

Now, if you have some code that's changing what xmm1 is and you want to prevent it from changing xmm1 then the simple answer is to nop the instruction(s) that change it, meaning replace it's bytes with bytes that, overall, do nothing. Typically done by replacing each byte with 0x90 which is the xchg eax,eax instruction mentioned earlier, typically shown with the mnemonic "nop" though it could also be a jump which skips to the next instruction or to another jmp which would skip past it (that's what happens if you use the templates in CE where it allocates memory and then you just delete the code and leave it empty except for the jmp to return).

The instruction your injecting at (movss [rcx+000003E0],xmm1) however is storing the (float) value of xmm1 into [rcx+3E0], not changing xmm1. Though the maxss instruction just before the instruction you're injecting at could be changing it, to prevent that all you'd have to do is nop out that instruction.

yeah, xorps xmm1,xmm1 is pretty much the same as xor eax,eax (but with an SSE register), since it's taking the exclusive or with itself it will always end up as 0 (since if a bit is 0 then 0 xor 0 is 0 and if it's not then 1 xor 1 is also 0, leaving every bit as 0). Not exactly a nop since it does have an effect (assuming xmm1 isn't always 0) but if it's ok for it to be 0 then it's just as good a replacement as the typical nop is if you need to take up a multiple of 3 bytes (or if the size doesn't matter).