Anyone knows what "mov edi,edi " does?
According to this page: StackExchange's Reverse Engineering
In x86-64 mov edi,edi is not a NOP. In x86-64 it zeroes the top 32 bits of rdi.
I though it was important enough to point it out, in supplement to snoone's answer.
It's a 2 byte NOP instruction. It gets included at the beginning of any function in an image compiled with the /hotpatch option:
http://msdn.microsoft.com/en-us/library/ms173507.aspx
-scott