So they might come with a set of nasty surprises to make deassembling and understanding them much more annoying than you would think possible. Since most common use case is replacing conditional jumps with unconditional jumps to, uh, write cracks. Not to mention that game developers don't LIKE when people try to peek into them. Modern compilers can do a lot of optimizations that reduce code's runtime but are an absolute nightmare to try and reverse engineer afterwards if all you have is an executable. Meaning that instead of a variable named bossHP it may just be 'a', some function calls are removed and replaced with inline code, loops might have been completely unraveled, instead of said loops there actually are JMP instructions and so on and on. You will not be able to really take a look at game's source code like this. Unless you know what EXACTLY you are looking for it's a MASSIVE pain in the ass and staring at an endless pile of millions upon millions lines of code. Worse still, it's not 'human readable' Assembly.
you will be dealing with x86-64 Assembly which is as close to machine language as it gets. Here's more bad news - you can indeed take an executable and decompile it all the way to assembly form. So here's bad news - this actually has nothing to do with game development.