I can't speak for the precise syntax; I'm used to MASM, which writes more or less the same information "backwards".
But in general the LEA instruction is used to compute addresses by combining values from base and index registers with various constants. In the general form what
LEA target_register, offset[base_register*k+index_register] ; MASM syntax, read from right to left
does is:
target_register:=content(base_register)*k+content(index_register)+offset
where k is 0, 1, 2 or 4 (and if k is zero, we don't bother writing "base register*k").
This combines arithmetic and register-to-register moves, so if you had to implement it without using LEA, yes, you'd likely use a MOV instruction (and SHL and ADD...). But LEA does NOT fetch anything from memory, and various forms of the MOV command do, so I don't think of LEA as a kind of MOV instruction.