How did you come up with the number 0x39800 I’m guessing from decimal 920 – The version number won’t support a value above 0xFF (255)? Can you reduce your version number to Major.Minor.SubMinor ?
This is not enough: the original 0.920 would have been easily made compliant with this rule by simply adding a “.0” at the end (0.920.0), but this still would have given the wrong version in hex format.
An additional check is required to ensure that each of the values is less than 256.