protected override void ReadArgs(IBinaryStream reader) { if (IsOffset) { ReadString(reader); } else { var startOffset = reader.ReadInt32LE() - Offset; if (startOffset != 10) { throw new InvalidDataException($"code [55] start {startOffset} != 10"); } var unknown = reader.ReadByte(); if (unknown != 0x01) { throw new InvalidDataException("code [55] separator != 0x01"); } var endOffset = reader.ReadInt32LE() - Offset; ReadString(reader); if (endOffset != 10 + reader.GetStringZByteCount(Content)) { throw new InvalidDataException($"code [55] end {endOffset} != 10 + strlen {reader.GetStringZByteCount(Content)}"); } } }