Maybe I'm just dumb, but anytime I've tried to learn anything about modern x86 platforms I just end up completely lost.
I find it interesting the author uses FASM, and I've seen it used a bit more than I did in the past. Several years ago I toyed with it and found it neat because the editor and all the samples it shipped with. It did seems a bit different from things like nasm or gas as it the FASM code I saw used all sorts of interesting macros that provided quasi-high-level constructs like if statements.