I'm analyzing an application created with Borland Delphi but the poor quality of the object code makes analysis difficult and tedious. The code is so convoluted and inflated with superfluous instructions that it is very hard to make out what a given piece of code is trying to accomplish.
In the related topic Identify a decryption scheme it was suggested to recompile the decompiler output with a good optimizing compiler, to eliminate redundancy and to get object code that is easier to analyze.
I'm now wondering what would be the best way to do this.
What tools are there for doing this based on object code or disassembler output (IDA)?