Stainless, please, a question:
How have you obtained the right coordinates for mesh vertices?, I realized that the coordinates I got they were totally wrong , because they were extremely large, for that reason the file I got with MshConverter works so strangely.
In a binary mesh, coordinates can be stored in many formats.
For the vertices, the most common is float (4 bytes mapped as standard float format)
However there are others, in this case it seems to use a three byte format. the value is a 24 bit integer which you then divide by 65536 to get the actual coordinate. (8.16 fixed point maths)
There is also a multi-byte format, which is used a lot for hook locations. Each value in the matrix is preceded by a byte which defines the type of the next value ....
also you can have acumulators. An accumulator starts out as some value then each byte or short is added to that value to produce the actual required value. (so a triangle defined by the points 0,1,2 would be stored as 0,1,1 and if the next triangle was 3,2,1 it would be stored as 1,-1,-1 ....
it's why the binary format is such a head fuck.
It's likely that mesh converter assumed that the vertices were in float format reading 4 bytes at a time and getting garbage. Or it could have detected the 3 byte format, but forgot the divide.