private final void initializeType0(byte[] is, byte i) {
	anInt1828++;
	ByteBuffer class348_sub49 = new ByteBuffer(is);
	ByteBuffer class348_sub49_118_ = new ByteBuffer(is);
	ByteBuffer class348_sub49_119_ = new ByteBuffer(is);
	ByteBuffer class348_sub49_120_ = new ByteBuffer(is);
	ByteBuffer class348_sub49_121_ = new ByteBuffer(is);
	ByteBuffer class348_sub49_122_ = new ByteBuffer(is);
	ByteBuffer class348_sub49_123_ = new ByteBuffer(is);
	((ByteBuffer) class348_sub49).position = -23 + is.length;
	((Model) this).vertices = class348_sub49.getShort();
	((Model) this).triangles = class348_sub49.getShort();
	((Model) this).anInt1818 = class348_sub49.getUByte();
	int i_124_ = class348_sub49.getUByte();
	boolean bool = (0x1 & i_124_ ^ 0xffffffff) == -2;
	boolean bool_125_ = (i_124_ & 0x2) == 2;
	boolean bool_126_ = (i_124_ & 0x4 ^ 0xffffffff) == -5;
	boolean bool_127_ = (i_124_ & 0x8) == 8;
	if (bool_127_) {
	    ((ByteBuffer) class348_sub49).position -= 7;
	    ((Model) this).anInt1830 = class348_sub49.getUByte();
	    ((ByteBuffer) class348_sub49).position += 6;
	}
	int i_128_ = class348_sub49.getUByte();
	int i_129_ = class348_sub49.getUByte();
	int i_130_ = class348_sub49.getUByte();
	int i_131_ = class348_sub49.getUByte();
	int i_132_ = class348_sub49.getUByte();
	int i_133_ = class348_sub49.getShort();
	int i_134_ = class348_sub49.getShort();
	int i_135_ = class348_sub49.getShort();
	int i_136_ = class348_sub49.getShort();
	int i_137_ = class348_sub49.getShort();
	int i_138_ = 0;
	int i_139_ = 0;
	int i_140_ = 0;
	if ((((Model) this).anInt1818 ^ 0xffffffff) < -1) {
	    ((ByteBuffer) class348_sub49).position = 0;
	    ((Model) this).aByteArray1823
		= new byte[((Model) this).anInt1818];
	    for (int i_141_ = 0; ((((Model) this).anInt1818 ^ 0xffffffff)
				  < (i_141_ ^ 0xffffffff)); i_141_++) {
		byte i_142_ = (((Model) this).aByteArray1823[i_141_]
			       = class348_sub49.getByte());
		if (i_142_ >= 1 && (i_142_ ^ 0xffffffff) >= -4)
		    i_139_++;
		if (i_142_ == 2)
		    i_140_++;
		if (i_142_ == 0)
		    i_138_++;
	    }
	}
	int i_143_ = ((Model) this).anInt1818;
	int i_144_ = i_143_;
	i_143_ += ((Model) this).vertices;
	int i_145_ = i_143_;
	if (bool)
	    i_143_ += ((Model) this).triangles;
	int i_146_ = i_143_;
	i_143_ += ((Model) this).triangles;
	int i_147_ = i_143_;
	if ((i_128_ ^ 0xffffffff) == -256)
	    i_143_ += ((Model) this).triangles;
	int i_148_ = i_143_;
	if ((i_130_ ^ 0xffffffff) == -2)
	    i_143_ += ((Model) this).triangles;
	int i_149_ = i_143_;
	if (i_132_ == 1)
	    i_143_ += ((Model) this).vertices;
	int i_150_ = i_143_;
	if (i_129_ == 1)
	    i_143_ += ((Model) this).triangles;
	if (i <= 68)
	    ((Model) this).anInt1821 = 85;
	int i_151_ = i_143_;
	i_143_ += i_136_;
	int i_152_ = i_143_;
	if (i_131_ == 1)
	    i_143_ += 2 * ((Model) this).triangles;
	int i_153_ = i_143_;
	i_143_ += i_137_;
	int i_154_ = i_143_;
	i_143_ += 2 * ((Model) this).triangles;
	int i_155_ = i_143_;
	i_143_ += i_133_;
	int i_156_ = i_143_;
	i_143_ += i_134_;
	int i_157_ = i_143_;
	i_143_ += i_135_;
	int i_158_ = i_143_;
	i_143_ += i_138_ * 6;
	int i_159_ = i_143_;
	i_143_ += 6 * i_139_;
	int i_160_ = 6;
	if (((Model) this).anInt1830 == 14)
	    i_160_ = 7;
	else if (((Model) this).anInt1830 >= 15)
	    i_160_ = 9;
	int i_161_ = i_143_;
	i_143_ += i_160_ * i_139_;
	int i_162_ = i_143_;
	i_143_ += i_139_;
	int i_163_ = i_143_;
	i_143_ += i_139_;
	int i_164_ = i_143_;
	i_143_ += 2 * i_140_ + i_139_;
	((Model) this).aShortArray1835
	    = new short[((Model) this).triangles];
	((Model) this).triangleColors
	    = new short[((Model) this).triangles];
	if ((i_130_ ^ 0xffffffff) == -2)
	    ((Model) this).anIntArray1824
		= new int[((Model) this).triangles];
	if (((Model) this).anInt1818 > 0) {
	    if (i_140_ > 0) {
		((Model) this).anIntArray1857 = new int[i_140_];
		((Model) this).anIntArray1865 = new int[i_140_];
	    }
	    ((Model) this).aShortArray1849
		= new short[((Model) this).anInt1818];
	    ((Model) this).aShortArray1829
		= new short[((Model) this).anInt1818];
	    if ((i_139_ ^ 0xffffffff) < -1) {
		((Model) this).anIntArray1867 = new int[i_139_];
		((Model) this).aByteArray1853 = new byte[i_139_];
		((Model) this).anIntArray1816 = new int[i_139_];
		((Model) this).aByteArray1833 = new byte[i_139_];
		((Model) this).anIntArray1844 = new int[i_139_];
		((Model) this).anIntArray1859 = new int[i_139_];
	    }
	    ((Model) this).aShortArray1825
		= new short[((Model) this).anInt1818];
	}
	if (bool)
	    ((Model) this).aByteArray1843
		= new byte[((Model) this).triangles];
	if ((i_129_ ^ 0xffffffff) == -2)
	    ((Model) this).polyAlphas
		= new byte[((Model) this).triangles];
	if ((i_128_ ^ 0xffffffff) == -256)
	    ((Model) this).aByteArray1839
		= new byte[((Model) this).triangles];
	else
	    ((Model) this).aByte1851 = (byte) i_128_;
	((Model) this).aShortArray1855
	    = new short[((Model) this).triangles];
	((Model) this).vertexY
	    = new int[((Model) this).vertices];
	((Model) this).aShortArray1863
	    = new short[((Model) this).triangles];
	if ((i_131_ ^ 0xffffffff) == -2
	    && (((Model) this).anInt1818 ^ 0xffffffff) < -1)
	    ((Model) this).aByteArray1820
		= new byte[((Model) this).triangles];
	int i_165_ = i_143_;
	((Model) this).vertexZ
	    = new int[((Model) this).vertices];
	((Model) this).vertexX
	    = new int[((Model) this).vertices];
	if ((i_132_ ^ 0xffffffff) == -2)
	    ((Model) this).vgroups
		= new int[((Model) this).vertices];
	((ByteBuffer) class348_sub49).position = i_144_;
	if ((i_131_ ^ 0xffffffff) == -2)
	    ((Model) this).aShortArray1822
		= new short[((Model) this).triangles];
	((ByteBuffer) class348_sub49_118_).position = i_155_;
	((ByteBuffer) class348_sub49_119_).position = i_156_;
	((ByteBuffer) class348_sub49_120_).position = i_157_;
	((ByteBuffer) class348_sub49_121_).position = i_149_;
	int i_166_ = 0;
	int i_167_ = 0;
	int i_168_ = 0;
	for (int i_169_ = 0; ((Model) this).vertices > i_169_; i_169_++) {
	    int i_170_ = class348_sub49.getUByte();
	    int i_171_ = 0;
	    if ((i_170_ & 0x1 ^ 0xffffffff) != -1)
		i_171_ = class348_sub49_118_.method3362((byte) 77);
	    int i_172_ = 0;
	    if ((i_170_ & 0x2 ^ 0xffffffff) != -1)
		i_172_ = class348_sub49_119_.method3362((byte) 77);
	    int i_173_ = 0;
	    if ((0x4 & i_170_ ^ 0xffffffff) != -1)
		i_173_ = class348_sub49_120_.method3362((byte) 77);
	    ((Model) this).vertexX[i_169_] = i_171_ + i_166_;
	    ((Model) this).vertexY[i_169_] = i_172_ + i_167_;
	    ((Model) this).vertexZ[i_169_] = i_168_ + i_173_;
	    i_167_ = ((Model) this).vertexY[i_169_];
	    i_166_ = ((Model) this).vertexX[i_169_];
	    i_168_ = ((Model) this).vertexZ[i_169_];
	    if ((i_132_ ^ 0xffffffff) == -2)
		((Model) this).vgroups[i_169_]
		    = class348_sub49_121_.getUByte();
	}
	((ByteBuffer) class348_sub49).position = i_154_;
	((ByteBuffer) class348_sub49_118_).position = i_145_;
	((ByteBuffer) class348_sub49_119_).position = i_147_;
	((ByteBuffer) class348_sub49_120_).position = i_150_;
	((ByteBuffer) class348_sub49_121_).position = i_148_;
	((ByteBuffer) class348_sub49_122_).position = i_152_;
	((ByteBuffer) class348_sub49_123_).position = i_153_;
	for (int i_174_ = 0;
	     ((i_174_ ^ 0xffffffff)
	      > (((Model) this).triangles ^ 0xffffffff));
	     i_174_++) {
	    ((Model) this).triangleColors[i_174_]
		= (short) class348_sub49.getShort();
	    if (bool)
		((Model) this).aByteArray1843[i_174_]
		    = class348_sub49_118_.getByte();
	    if ((i_128_ ^ 0xffffffff) == -256)
		((Model) this).aByteArray1839[i_174_]
		    = class348_sub49_119_.getByte();
	    if (i_129_ == 1)
		((Model) this).polyAlphas[i_174_]
		    = class348_sub49_120_.getByte();
	    if (i_130_ == 1)
		((Model) this).anIntArray1824[i_174_]
		    = class348_sub49_121_.getUByte();
	    if (i_131_ == 1)
		((Model) this).aShortArray1822[i_174_]
		    = (short) (class348_sub49_122_.getShort() + -1);
	    if (((Model) this).aByteArray1820 != null) {
		if (((Model) this).aShortArray1822[i_174_] == -1)
		    ((Model) this).aByteArray1820[i_174_] = (byte) -1;
		else
		    ((Model) this).aByteArray1820[i_174_]
			= (byte) (-1 + class348_sub49_123_.getUByte());
	    }
	}
	((ByteBuffer) class348_sub49).position = i_151_;
	((Model) this).anInt1821 = -1;
	((ByteBuffer) class348_sub49_118_).position = i_146_;
	short i_175_ = 0;
	short i_176_ = 0;
	short i_177_ = 0;
	int i_178_ = 0;
	for (int i_179_ = 0; ((((Model) this).triangles ^ 0xffffffff)
			      < (i_179_ ^ 0xffffffff)); i_179_++) {
	    int i_180_ = class348_sub49_118_.getUByte();
	    if ((i_180_ ^ 0xffffffff) == -2) {
		i_175_
		    = (short) (class348_sub49.method3362((byte) 77) + i_178_);
		i_178_ = i_175_;
		i_176_
		    = (short) (class348_sub49.method3362((byte) 77) + i_178_);
		i_178_ = i_176_;
		i_177_
		    = (short) (i_178_ + class348_sub49.method3362((byte) 77));
		i_178_ = i_177_;
		((Model) this).aShortArray1863[i_179_] = i_175_;
		((Model) this).aShortArray1835[i_179_] = i_176_;
		((Model) this).aShortArray1855[i_179_] = i_177_;
		if ((((Model) this).anInt1821 ^ 0xffffffff)
		    > (i_175_ ^ 0xffffffff))
		    ((Model) this).anInt1821 = i_175_;
		if (((Model) this).anInt1821 < i_176_)
		    ((Model) this).anInt1821 = i_176_;
		if (i_177_ > ((Model) this).anInt1821)
		    ((Model) this).anInt1821 = i_177_;
	    }
	    if ((i_180_ ^ 0xffffffff) == -3) {
		i_176_ = i_177_;
		i_177_
		    = (short) (class348_sub49.method3362((byte) 77) + i_178_);
		((Model) this).aShortArray1863[i_179_] = i_175_;
		i_178_ = i_177_;
		((Model) this).aShortArray1835[i_179_] = i_176_;
		((Model) this).aShortArray1855[i_179_] = i_177_;
		if (((Model) this).anInt1821 < i_177_)
		    ((Model) this).anInt1821 = i_177_;
	    }
	    if (i_180_ == 3) {
		i_175_ = i_177_;
		i_177_
		    = (short) (class348_sub49.method3362((byte) 77) + i_178_);
		i_178_ = i_177_;
		((Model) this).aShortArray1863[i_179_] = i_175_;
		((Model) this).aShortArray1835[i_179_] = i_176_;
		((Model) this).aShortArray1855[i_179_] = i_177_;
		if (((Model) this).anInt1821 < i_177_)
		    ((Model) this).anInt1821 = i_177_;
	    }
	    if (i_180_ == 4) {
		short i_181_ = i_175_;
		i_175_ = i_176_;
		i_177_
		    = (short) (i_178_ + class348_sub49.method3362((byte) 77));
		i_176_ = i_181_;
		((Model) this).aShortArray1863[i_179_] = i_175_;
		i_178_ = i_177_;
		((Model) this).aShortArray1835[i_179_] = i_176_;
		((Model) this).aShortArray1855[i_179_] = i_177_;
		if (((Model) this).anInt1821 < i_177_)
		    ((Model) this).anInt1821 = i_177_;
	    }
	}
	((ByteBuffer) class348_sub49).position = i_158_;
	((Model) this).anInt1821++;
	((ByteBuffer) class348_sub49_118_).position = i_159_;
	((ByteBuffer) class348_sub49_119_).position = i_161_;
	((ByteBuffer) class348_sub49_120_).position = i_162_;
	((ByteBuffer) class348_sub49_121_).position = i_163_;
	((ByteBuffer) class348_sub49_122_).position = i_164_;
	for (int i_182_ = 0; ((Model) this).anInt1818 > i_182_; i_182_++) {
	    int i_183_ = ((Model) this).aByteArray1823[i_182_] & 0xff;
	    if (i_183_ == 0) {
		((Model) this).aShortArray1829[i_182_]
		    = (short) class348_sub49.getShort();
		((Model) this).aShortArray1849[i_182_]
		    = (short) class348_sub49.getShort();
		((Model) this).aShortArray1825[i_182_]
		    = (short) class348_sub49.getShort();
	    }
	    if ((i_183_ ^ 0xffffffff) == -2) {
		((Model) this).aShortArray1829[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1849[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1825[i_182_]
		    = (short) class348_sub49_118_.getShort();
		if (((Model) this).anInt1830 >= 15) {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1816[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getTri();
		} else {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getShort();
		    if ((((Model) this).anInt1830 ^ 0xffffffff) <= -15)
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getTri();
		    else
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getShort();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getShort();
		}
		((Model) this).aByteArray1833[i_182_]
		    = class348_sub49_120_.getByte();
		((Model) this).aByteArray1853[i_182_]
		    = class348_sub49_121_.getByte();
		((Model) this).anIntArray1867[i_182_]
		    = class348_sub49_122_.getByte();
	    }
	    if (i_183_ == 2) {
		((Model) this).aShortArray1829[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1849[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1825[i_182_]
		    = (short) class348_sub49_118_.getShort();
		if ((((Model) this).anInt1830 ^ 0xffffffff) <= -16) {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1816[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getTri();
		} else {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getShort();
		    if ((((Model) this).anInt1830 ^ 0xffffffff) > -15)
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getShort();
		    else
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getShort();
		}
		((Model) this).aByteArray1833[i_182_]
		    = class348_sub49_120_.getByte();
		((Model) this).aByteArray1853[i_182_]
		    = class348_sub49_121_.getByte();
		((Model) this).anIntArray1867[i_182_]
		    = class348_sub49_122_.getByte();
		((Model) this).anIntArray1857[i_182_]
		    = class348_sub49_122_.getByte();
		((Model) this).anIntArray1865[i_182_]
		    = class348_sub49_122_.getByte();
	    }
	    if (i_183_ == 3) {
		((Model) this).aShortArray1829[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1849[i_182_]
		    = (short) class348_sub49_118_.getShort();
		((Model) this).aShortArray1825[i_182_]
		    = (short) class348_sub49_118_.getShort();
		if ((((Model) this).anInt1830 ^ 0xffffffff) > -16) {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getShort();
		    if ((((Model) this).anInt1830 ^ 0xffffffff) > -15)
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getShort();
		    else
			((Model) this).anIntArray1816[i_182_]
			    = class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getShort();
		} else {
		    ((Model) this).anIntArray1859[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1816[i_182_]
			= class348_sub49_119_.getTri();
		    ((Model) this).anIntArray1844[i_182_]
			= class348_sub49_119_.getTri();
		}
		((Model) this).aByteArray1833[i_182_]
		    = class348_sub49_120_.getByte();
		((Model) this).aByteArray1853[i_182_]
		    = class348_sub49_121_.getByte();
		((Model) this).anIntArray1867[i_182_]
		    = class348_sub49_122_.getByte();
	    }
	}
	((ByteBuffer) class348_sub49).position = i_165_;
	if (bool_125_) {
	    int i_184_ = class348_sub49.getUByte();
	    if ((i_184_ ^ 0xffffffff) < -1) {
		((Model) this).aClass129Array1846 = new Class129[i_184_];
		for (int i_185_ = 0; i_184_ > i_185_; i_185_++) {
		    int i_186_ = class348_sub49.getShort();
		    int i_187_ = class348_sub49.getShort();
		    byte i_188_;
		    if ((i_128_ ^ 0xffffffff) != -256)
			i_188_ = (byte) i_128_;
		    else
			i_188_ = ((Model) this).aByteArray1839[i_187_];
		    ((Model) this).aClass129Array1846[i_185_]
			= (new Class129
			   (i_186_, ((Model) this).aShortArray1863[i_187_],
			    ((Model) this).aShortArray1835[i_187_],
			    ((Model) this).aShortArray1855[i_187_],
			    i_188_));
		}
	    }
	    int i_189_ = class348_sub49.getUByte();
	    if ((i_189_ ^ 0xffffffff) < -1) {
		((Model) this).aClass342Array1866 = new Class342[i_189_];
		for (int i_190_ = 0; i_189_ > i_190_; i_190_++) {
		    int i_191_ = class348_sub49.getShort();
		    int i_192_ = class348_sub49.getShort();
		    ((Model) this).aClass342Array1866[i_190_]
			= new Class342(i_191_, i_192_);
		}
	    }
	}
	if (bool_126_) {
	    int i_193_ = class348_sub49.getUByte();
	    if ((i_193_ ^ 0xffffffff) < -1) {
		((Model) this).polygons = new ModelPolygon[i_193_];
		for (int i_194_ = 0;
		     (i_194_ ^ 0xffffffff) > (i_193_ ^ 0xffffffff); i_194_++) {
		    int i_195_ = class348_sub49.getShort();
		    int i_196_ = class348_sub49.getShort();
		    int i_197_ = class348_sub49.getUByte();
		    byte i_198_ = class348_sub49.getByte();
		    ((Model) this).polygons[i_194_] = new ModelPolygon(i_195_, i_196_, i_197_, i_198_);
		}
	    }
	}
    }