Snowman is a native code to C/C++ decompiler, see the examples of generated code.
Standalone Version
Supports x86 and x86-64 architectures, a bit of ARM.
Reads ELF and PE file formats.
Reconstructs functions, their names and arguments, local and global variables, expressions, integer, pointer and structural types, all types of control-flow structures, including switch.
Has a nice graphical user interface with one-click navigation between assembler code and reconstructed program.
Has a command-line interface for batch processing.