Help with avr-objdump and disassembly

I've got an Arduino Mega board running a light display with 6 7-segment displays, and a bunch of bulbs. Sorry for the vagueness, I didn't design it, but I'm trying to figure out the design because it's been vandalized, and I've been asked to fix it. I could simply start putting wires in random header plugs, but that seems stupid. I'd rather look at the code stored on the Mega, and see if I can make heads or tails of the pinouts. I know the IDE has converted the code to a low level programming language, but is there a way to pull the hex/assembly off the arduino and disassemble it, using something like this http://onlinedisassembler.com/odaweb/#view/tab-assembly or Hopper http://www.hopperapp.com? I'm using a Mac, and I've read to open up a terminal window and run avr-objdump and avr-readelf to get the assembly code.

I'd like to make sure I don't accidentally erase what is already running on the Mega.

but is there a way to pull the hex/assembly off the arduino and disassemble it

In short, "No" to source-code recovery. Recovering hex from the chip, yes. http://www.instructables.com/id/Copy-n-Paste-Arduino-Firmware/

Ray