cmon i didnt write C in more then a year
took me 15min to remember it

"What about the case of: stuff that changes RCX, would create an infinite loop? "

rcx is a general purpose register
but it is treated also as a special counter register, by the programers and the cpu in some cases

when it comes down to it, if you have stuff that changes the "i" variable its the same thing

fun fact; theoretical throughput of x87 floating point and sse floating point are the same