According to the MaxMind DB file specs which tells all the details about each data type and how to determine their size, I am wondering how can we approach this in the first place.
Let's say we have the data section's start and end offsets. How can we possibly traverse it, recognize each type we encounter within it and determine their respective sizes?
I tried traversing the data section byte-by-byte but when the extended type control byte is encountered, the byte next to it doesn't properly indicate the data type number which makes me think this traversing method isn't quite the correct approach