I have the following disassembly of a function prologue with comments. I'm unclear on what the author means in this line of disassembly "lea edi,[ebp-0xcc] ; getting the lowest address of stack frame". Dumping the headers of the executable I see the following in the OPTIONAL HEADER VALUES: 100000 size of stack reserve 1000. Windows Threads default stack size is 1MB so I'm believe the values from dumpbin are in units of Kilo.
Can you please clarify this statement: lea edi,[ebp-0xcc] ; getting the lowest address of stack frame
push ebp ; establishing stack frame
mov ebp,esp ; save stack pointer in ebp
sub esp,0xcc ; creating stack frame for local variables
push ebx ; saving registers that might be used
push esi ; outside
push edi ;
lea edi,[ebp-0xcc] ; getting the lowest address of stack frame
mov ecx,0x33 ; filling stack frame with 0xCC
mov eax,0xcccccccc ;
rep stosd ;