1. lea eax, [esp-04h*2]
lea stands for load effective address so it evaluate esp-04h*2 and it will place the result in eax
2. mov [ebx-04h], bp ;
mov = move; but actually in assembler is just set the first operand with second operand:
so it will set the word (1 word = 2 bytes) from the evaluated address [ebx-04h] with bp register
3. cmp [esi+eax-06h], 'KCUF'
cmp = compare; will compare the dword from the address [esi+eax-06h] with 'KCUF'
I assume that first operand is a dword due to size of second: which has 4 chars = 4 bytes = 1 dword!
4. cmp word ptr [ebx+18h], 01h
compare the word from the address [ebx+18h] with 1
5. cmp dword ptr [esi], 00455000h
compare the dword from the address given by esi with 00455000
h - stand for hexadecimal value!