I\'m currently disassembling some small C programs made in Visual Studio 2012 Express, and i\'ve noticed a trend amongst the binaries.
The first set of instructions
I can not speak for Visual Studio, but some environments in which I've coded have deliberately filled the stack with a predetermined value (such as 0xcccccccc). This was done so that the stack could be scanned (starting from the bottom) to determine how much had not been used. On embedded systems where the amount of memory can be rather limited, this is rather useful during development so that the memory usage can be optimized.
Hope this helps.