objdump doesn't give you the pretty "graph view," showing the basic block structure of the code. (In particular, this is really nice for switches and other jump tables.) It doesn't make it trivially easy to see where certain rather important-looking strings are referenced in the code. It doesn't show strings that are being referenced right next to the assembly instruction that references them, like changing
push 0x8049808
to push offset aD ; "%d"
It doesn't let you mark up mov eax, [ebp-0x4]
to mov eax, [ebp-first_number_I_entered]
and have that renaming automatically propagated through the entire function, so that you can easily track accesses to the same variable.In addition, the Hex-Rays decompiler (http://www.hex-rays.com/decompiler.shtml) produces C-like output. I don't have a license for it, but I imagine it would make short work of the bomb lab.