So in this file seek doesn’t do anything because seek kills the requirement of 45 sec per loading screen.
Instead the logic is as follows: check if a .lin file exists. Yes: open a handle to it and only read from it with fread, what ever currently is at the current file position. No: while reading any file write the read bytes to a .lin file in the order they are read.
This gives a highlyy optimized .lin file which can be read from the disk into memory, without creating a better dedicated loading mechanism.
So if your really would like to unpack this. The first file being read is most likely the key, as it dictates what comes next. If it is a level model, then the position of the player in it might affect which other files to load etc.
In short it’s not a file format in the classical sense, it’s a linear stream of game data.