It depends by what you exactly need because "decompiling" may have different meaning depending by the person, and usually it's the wrong meaning because users want to do something for which they have no knowledge and experience.
Often some people want to extract resources from an executable, and that's a job for a resource extractor like ResHacker
(that has a feature to parse PE files) or my parse_exe.bms script
Other people refer to "disassembling" the executable for viewing the x86 assembly code, that's a job for IDA Pro (there is also a free version).
If you mean "debugging" for finding specific functions and understanding how data is read/write in real-time then you have choices like Ollydbg
(Windbg is not user-friendly for first-time users).
The correct meaning of decompiling is converting the low level assembly language of an executable in a higher language, usually C-like, in this case the free tools are RecStudio
for IDA Pro (Boomerang is a pain to compile, use and for the results, not suggested), otherwise IDA Pro has its own native decompiler but it's not free.
Please note that the Steam executables are encrypted and you need to decrypt them first, 2 ways:
- Steamless: viewtopic.php?f=17&t=1354
- get directly the no-cd executable
I'm sure that other users have something to add to this topic.