Secktor7 has cheap courses for this very topic. Force yourself to use windbg (the preview might not work on some setups), doing so will help you later on. Other people have brought it up but do some game hacking, follow some of the guides here or go to guided-hacking for material related to that. LiveOverflow has cool videos on the same topics. Then from game hacking go write your own static loaders, understand anonymous function pointers, create a dynamic reflected loader, create your own binary packer, modify UPX, write some shellcode and use Donut/Scarecrow 3.0.
Phrack, Zerosum0x0, Uniformed, Paged Out, VX-Underground, Valhalla, PoC||GTFO, secret.club
Reversing malware is the pinnacle of modern research, unless you do application security and create the 0-days. So I would recommend you follow suit.
The options are limitless when you want to do development. Just start looking shit up mang