@JJ
So, you said "Thank you, José - you are right, the mov eax, ecx was redundant. Here is the final version:" and 1 month later it is not anymore? You are one of a kind. 
Even one month later, your remark about the
mov eax, ecx is still valid, and I thanked you for spotting that. It was indeed redundant, so I removed it - 2 bytes less, thank you so much again. But it had nothing to do with the problem, and it won't change the fact that your buggy code is still waiting to be fixed while my version is working perfectly. Maybe you should consider
using less buggy tools?
Re slow computers: My Core i5 is faster than the average computer, and definitely fast enough when using my own software. There is a reason why I am hanging around here, in an assembler forum: I like fast
software. Not bloated tools like VS Community; a Google search for
visual studio community slow yields "About 9,330,000 results"

I will admit, though, that my VS Community would load in "less than 2 seconds" if I used it so often that the whole crap was already in the cache. But I am not a masochist :P