Windows Kernel Programming
Windows kernel programming is obviously pretty complicated, and becoming effective at development (and, hopefully for my case - ultimately becoming a more proficient Windows reverser) requires understanding a lot of the Windows internals.