I have the following disassembly of a function prolog 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 ;