Background
To get the product of a register and a constant and store it in another register, the naïve way is to do this:
imul ecx, 3 ; Set ecx to 5 times its previous value
imul edx, eax, 5 ; Store 5 times the contend of eax in edx
Use lea
Multiplications are expensive operation...