if you want to do disassembling,
NASM comes with a disassembler that goes with its assembler. it's a very handy tool.
there is also a hex editor i use called "Hackman" which has a built-in disassembler. it's slow and not really the best there is, but it serves its purpose.
there really aren't any decompilers that are any good. there was one for Visual Basic 3 that i used years ago, and there may be more recent versions of that, but it would be useless to you.
honestly, decompiling a game produces over a hundred thousand lines of code and hundreds (if not thousands) of randomly-named functions and variables al thrown together in a single C file. it's
very hard to sort through all that code and make sense of it, much less modify it.