The data of the three chunks seems to match how OpenGL does it (0xB020 is the translation in the X/Y/Z axes, 0xB021 is the rotation which I already explained, 0xB022 is the scaling in the X/Y/Z axes), there isn't much more to it, really (translation and scaling should be pretty easy to figure out). The only issue is that I don't know in what order they're made... but even then there are only six possible combinations, so in the worst case you could just try them all and you'll eventually hit the correct one.
There's also the issue of interpolation between keyframes. For translation and scaling I assume it's just interpolation as-is, for rotation I suppose you'll need to normalize the axis (the 2nd to 4th floats) before applying the rotation. Guessing here, never worked with the format.