This is really cool - how did you develop the background knowledge to solve this? I'm trying to learn more about low-level stuff and I would have no idea how to approach solving a problem like this
I was a reverse engineer for years and never was able to do anything like quoting docs. I'd be constantly googling or using reference material. The only real attribute I'd suggest is tenacity.
Both when looking at a particular problem, but also in sticking to RE in general for long enough to pick up the skills and tricks that make you quick. There are countless tricks you pick up that cleave off huge amounts of time that would otherwise be wasted.
And with most RE software(especially the mentioned inaccessible interactive disassembling tool) you'll get that by default, waiting for a 70mb binary to analyze isn't fun :)