This might change now relatively fast, now that large language models can process code, you could give the function to LLM to rename the function. Iterating over the code and rename all functions and variables.
This won’t of course reproduce exact code, but it makes one really heavy part of reconstruction to human readable much lighter.
I would suggest more learn by doing approach. Learning OSI model etc is nice, but it is quite jargon :)
Use some old PC as a server, and get some network cards into it, and use it as firewall/router. Route your home network/NAT/DNS/DCHP through it. Raspberry Pi’s are nice, but their hw is still bit limited.
OPNSense is quite nice and easy free and open source firewall/router solution.
If you want to add bit of flexibility, you can use some virtualization platform like VMware in to the machine, so that you can run OPNSense in it, with some other virtual servers.
Then when you get things working, you can start looking in to VLAN’s, because they are quite important part of enterprise networking. Most cheap switches nowadays support VLAN’s out of the box.