Why is the process of disassembling a native Win32 image (built in C/C++ for e.g.) miles more difficult than disassembling a .NET app?

What is the main reason? Because of what?

Edit
Report