Thread: High quality renamed 865 deob

Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1 High quality renamed 865 deob 
    Renown Programmer


    Join Date
    Jul 2009
    Posts
    1,846
    Thanks given
    69
    Thanks received
    1,113
    Rep Power
    3170
    -> Download <-

    Features:
    • Over 100 classes automatically recognized and renamed
    • Dummy methods removed
    • Dummy method args removed
    • Multipliers removed
    • Original field declaration order reconstructed


    Bugs:
    • DirectX crashes (and was disabled)
    • Items appear choppy (need to fix a single line in software model rasterizer somewhere)


    Examples:

    Code:
    /* ItemDefs - Decompiled by JODE
     * Visit http://jode.sourceforge.net/
     */
    package rs3;
    
    import java.awt.Canvas;
    import java.util.Arrays;
    
    public class ItemDefs implements Class10 {
    	short[] f4833;
    	int f4836;
    	short[] f4838;
    	short[] f4839;
    	public int[] f1929;
    	short[] f4840;
    	byte[] f4841;
    	byte[] f4842;
    	int[] f4844;
    	int[] f4845;
    	byte[] f4846;
    	public int f4847;
    	int[] f2239;
    	int[] f2240;
    	NodeHashMap f4849;
    	public int f2219 = -1;
    	public String name = "null";
    	public int zoom2d = 2000;
    	public int xan2d = 0;
    	public int yan2d = 0;
    	public int zan2d = 0;
    	public int xof2d = 0;
    	public int yof2d = 0;
    	public int stackable = 0;
    	public int multistacksize = -1;
    	public int cost = 1;
    	public boolean members = false;
    	public int equip_slot = -1;
    	public int equip_flags = -1;
    	public int f3151 = -1;
    	int manmodel1 = -1;
    	int manmodel2 = -1;
    	int womanmodel1 = -1;
    	int womanmodel2 = -1;
    	int equip_color1 = -1;
    	int equip_color2 = -1;
    	int manwearxoff = 0;
    	int womanwearxoff = 0;
    	int manwearyoff = 0;
    	int womanwearyoff = 0;
    	int manwearzoff = 0;
    	int womanwearzoff = 0;
    	int manhead = -1;
    	int manhead2 = -1;
    	int womanhead = -1;
    	int womanhead2 = -1;
    	public int certLink = -1;
    	public int certTemplate = -1;
    	int lentLink = -1;
    	public int linkTemplate = -1;
    	public int f3969 = -1;
    	public int f3968 = -1;
    	String f4837 = "null";
    	public int f4843 = 0;
    	int resizex = 128;
    	int resizey = 128;
    	int resizez = 128;
    	int ambient = 0;
    	int contrast = 0;
    	public int team = 0;
    	public boolean stockmarket = false;
    	public int dummyitem = 0;
    	public int picksizeshift = 0;
    	int boughtLink = -1;
    	public int boughtTemplate = -1;
    	public boolean f4850 = false;
    	public boolean f4851 = false;
    	int id;
    	Class58 f4848;
    	Class187 f4835;
    	public String[] groundOp;
    	public String[] interOp;
    	public static short[] f4834 = new short[256];
    	static String f2408 = "</col>";
    
    	ItemDefs(int i, Class58 class58, Class187 class187) {
    		id = i;
    		f4848 = class58;
    		f4835 = class187;
    		groundOp = (String[]) f4835.f2230.clone();
    		interOp = (String[]) f4835.f2231.clone();
    	}
    
    	public void m16() {
    		if (certLink != -1)
    			m4432((ItemDefs) f4848.m81(certLink), (ItemDefs) f4848.m81(certTemplate), f4835.f2228);
    		else if (linkTemplate != -1)
    			m4433((ItemDefs) f4848.m81(linkTemplate), (ItemDefs) f4848.m81(lentLink), f4835.f2228);
    		else if (boughtTemplate != -1)
    			m4434((ItemDefs) f4848.m81(boughtTemplate), (ItemDefs) f4848.m81(boughtLink), f4835.f2228);
    		else if (f3968 != -1)
    			m4435((ItemDefs) f4848.m81(f3968), (ItemDefs) f4848.m81(f3969), f4835.f2228);
    		if (!f4835.f2222 && members) {
    			team = 0;
    			groundOp = f4835.f2230;
    			interOp = f4835.f2231;
    			stockmarket = false;
    			f1929 = null;
    			if (f4849 != null) {
    				boolean bool = false;
    				for (Node node = f4849.m243(); node != null; node = f4849.m246()) {
    					Class159 class159 = ((Class159) f4835.f2224.m81((int) (node.key)));
    					if (class159.f3380)
    						node.m833();
    					else
    						bool = true;
    				}
    				if (!bool)
    					f4849 = null;
    			}
    		}
    	}
    
    	public void m17(ByteBuffer bytebuffer) {
    		for (;;) {
    			int i = bytebuffer.m12();
    			if (i == 0)
    				break;
    			m4436(bytebuffer, i);
    		}
    	}
    
    	public ItemDefs m4438(int i) {
    		if (f2239 != null && i > 1) {
    			int i_0_ = -1;
    			for (int i_1_ = 0; i_1_ < 10; i_1_++) {
    				if (i >= f2240[i_1_] && f2240[i_1_] != 0)
    					i_0_ = f2239[i_1_];
    			}
    			if (i_0_ != -1)
    				return (ItemDefs) f4848.m81(i_0_);
    		}
    		return this;
    	}
    
    	public int m4443(int i) {
    		if (f4844 == null)
    			return -1;
    		return f4844[i];
    	}
    
    	public int m4444(int i) {
    		if (f4845 == null)
    			return -1;
    		return f4845[i];
    	}
    
    	public final boolean m3244(boolean bool, Class512 class512) {
    		int i;
    		int i_2_;
    		int i_3_;
    		if (bool) {
    			if (class512 != null && class512.f4854 != null) {
    				i = class512.f4854[0];
    				i_2_ = class512.f4854[1];
    				i_3_ = class512.f4854[2];
    			}
    			else {
    				i = womanmodel1;
    				i_2_ = womanmodel2;
    				i_3_ = equip_color2;
    			}
    		}
    		else if (class512 != null && class512.f4855 != null) {
    			i = class512.f4855[0];
    			i_2_ = class512.f4855[1];
    			i_3_ = class512.f4855[2];
    		}
    		else {
    			i = manmodel1;
    			i_2_ = manmodel2;
    			i_3_ = equip_color1;
    		}
    		if (i == -1)
    			return true;
    		boolean bool_4_ = true;
    		if (!f4835.f2227.m2132(i, 0))
    			bool_4_ = false;
    		if (i_2_ != -1 && !f4835.f2227.m2132(i_2_, 0))
    			bool_4_ = false;
    		if (i_3_ != -1 && !f4835.f2227.m2132(i_3_, 0))
    			bool_4_ = false;
    		return bool_4_;
    	}
    
    	public final Class26 m3245(boolean bool, Class512 class512) {
    		int i;
    		int i_5_;
    		int i_6_;
    		if (bool) {
    			if (class512 != null && class512.f4854 != null) {
    				i = class512.f4854[0];
    				i_5_ = class512.f4854[1];
    				i_6_ = class512.f4854[2];
    			}
    			else {
    				i = womanmodel1;
    				i_5_ = womanmodel2;
    				i_6_ = equip_color2;
    			}
    		}
    		else if (class512 != null && class512.f4855 != null) {
    			i = class512.f4855[0];
    			i_5_ = class512.f4855[1];
    			i_6_ = class512.f4855[2];
    		}
    		else {
    			i = manmodel1;
    			i_5_ = manmodel2;
    			i_6_ = equip_color1;
    		}
    		if (i == -1)
    			return null;
    		Class26 class26 = Class26.m36(f4835.f2227, i, 0);
    		if (class26 == null)
    			return null;
    		if (class26.f907 < 13)
    			class26.m679(2);
    		if (i_5_ != -1) {
    			Class26 class26_7_ = Class26.m36(f4835.f2227, i_5_, 0);
    			if (class26_7_.f907 < 13)
    				class26_7_.m679(2);
    			if (i_6_ != -1) {
    				Class26 class26_8_ = Class26.m36(f4835.f2227, i_6_, 0);
    				if (class26_8_.f907 < 13)
    					class26_8_.m679(2);
    				Class26[] class26s = { class26, class26_7_, class26_8_ };
    				class26 = new Class26(class26s, 3);
    			}
    			else {
    				Class26[] class26s = { class26, class26_7_ };
    				class26 = new Class26(class26s, 2);
    			}
    		}
    		if (!bool && (manwearxoff != 0 || manwearyoff != 0 || manwearzoff != 0))
    			class26.m672(manwearxoff, manwearyoff, manwearzoff);
    		if (bool && (womanwearxoff != 0 || womanwearyoff != 0 || womanwearzoff != 0))
    			class26.m672(womanwearxoff, womanwearyoff, womanwearzoff);
    		if (f4838 != null) {
    			short[] is;
    			if (class512 != null && class512.f4856 != null)
    				is = class512.f4856;
    			else
    				is = f4839;
    			for (int i_9_ = 0; i_9_ < f4838.length; i_9_++)
    				class26.m680(f4838[i_9_], is[i_9_]);
    		}
    		if (f4833 != null) {
    			short[] is;
    			if (class512 != null && class512.f4857 != null)
    				is = class512.f4857;
    			else
    				is = f4840;
    			for (int i_10_ = 0; i_10_ < f4833.length; i_10_++)
    				class26.m671(f4833[i_10_], is[i_10_]);
    		}
    		return class26;
    	}
    
    	public final boolean m4441(boolean bool, Class512 class512) {
    		int i;
    		int i_11_;
    		if (bool) {
    			if (class512 != null && class512.f4858 != null) {
    				i = class512.f4858[0];
    				i_11_ = class512.f4858[1];
    			}
    			else {
    				i = womanhead;
    				i_11_ = womanhead2;
    			}
    		}
    		else if (class512 != null && class512.f4859 != null) {
    			i = class512.f4859[0];
    			i_11_ = class512.f4859[1];
    		}
    		else {
    			i = manhead;
    			i_11_ = manhead2;
    		}
    		if (i == -1)
    			return true;
    		boolean bool_12_ = true;
    		if (!f4835.f2227.m2132(i, 0))
    			bool_12_ = false;
    		if (i_11_ != -1 && !f4835.f2227.m2132(i_11_, 0))
    			bool_12_ = false;
    		return bool_12_;
    	}
    
    	public final Class26 m4442(boolean bool, Class512 class512) {
    		int i;
    		int i_13_;
    		if (bool) {
    			if (class512 != null && class512.f4858 != null) {
    				i = class512.f4858[0];
    				i_13_ = class512.f4858[1];
    			}
    			else {
    				i = womanhead;
    				i_13_ = womanhead2;
    			}
    		}
    		else if (class512 != null && class512.f4859 != null) {
    			i = class512.f4859[0];
    			i_13_ = class512.f4859[1];
    		}
    		else {
    			i = manhead;
    			i_13_ = manhead2;
    		}
    		if (i == -1)
    			return null;
    		Class26 class26 = Class26.m36(f4835.f2227, i, 0);
    		if (class26.f907 < 13)
    			class26.m679(2);
    		if (i_13_ != -1) {
    			Class26 class26_14_ = Class26.m36(f4835.f2227, i_13_, 0);
    			if (class26_14_.f907 < 13)
    				class26_14_.m679(2);
    			Class26[] class26s = { class26, class26_14_ };
    			class26 = new Class26(class26s, 2);
    		}
    		if (f4838 != null) {
    			short[] is;
    			if (class512 != null && class512.f4856 != null)
    				is = class512.f4856;
    			else
    				is = f4839;
    			for (int i_15_ = 0; i_15_ < f4838.length; i_15_++)
    				class26.m680(f4838[i_15_], is[i_15_]);
    		}
    		if (f4833 != null) {
    			short[] is;
    			if (class512 != null && class512.f4857 != null)
    				is = class512.f4857;
    			else
    				is = f4840;
    			for (int i_16_ = 0; i_16_ < f4833.length; i_16_++)
    				class26.m671(f4833[i_16_], is[i_16_]);
    		}
    		return class26;
    	}
    
    	public String m217(int i, String string) {
    		if (f4849 == null)
    			return string;
    		ObjectNode objectnode = (ObjectNode) f4849.m389((long) i);
    		if (objectnode == null)
    			return string;
    		return (String) objectnode.obj;
    	}
    
    	public int m218(int i, int i_17_) {
    		if (f4849 == null)
    			return i_17_;
    		Class629 class629 = (Class629) f4849.m389((long) i);
    		if (class629 == null)
    			return i_17_;
    		return class629.f2110;
    	}
    
    	public final Class20 m1567(GraphicsToolkit graphicstoolkit, int i, int i_18_, Class413 class413, Animator animator, int i_19_, int i_20_, int i_21_, int i_22_) {
    		if (f2239 != null && i_18_ > 1) {
    			int i_23_ = -1;
    			for (int i_24_ = 0; i_24_ < 10; i_24_++) {
    				if (i_18_ >= f2240[i_24_] && f2240[i_24_] != 0)
    					i_23_ = f2239[i_24_];
    			}
    			if (i_23_ != -1)
    				return ((ItemDefs) f4848.m81(i_23_)).m1567(graphicstoolkit, i, 1, class413, animator, i_19_, i_20_, i_21_, i_22_);
    		}
    		int i_25_ = i;
    		if (animator != null)
    			i_25_ |= animator.m627();
    		Class20 class20;
    		synchronized (f4835.f2225) {
    			class20 = (Class20) f4835.f2225.m1105((long) (id | ((graphicstoolkit.f2106) << 29)));
    		}
    		if (class20 == null || graphicstoolkit.m1140(class20.m508(), i_25_) != 0) {
    			if (class20 != null)
    				i_25_ = graphicstoolkit.m1141(i_25_, class20.m508());
    			int i_26_ = i_25_;
    			if (f4833 != null)
    				i_26_ |= 0x8000;
    			if (f4838 != null || class413 != null)
    				i_26_ |= 0x4000;
    			if (resizex != 128)
    				i_26_ |= 0x1;
    			if (resizey != 128)
    				i_26_ |= 0x2;
    			if (resizez != 128)
    				i_26_ |= 0x4;
    			Class26 class26 = Class26.m36(f4835.f2227, f4836, 0);
    			if (class26 == null)
    				return null;
    			if (class26.f907 < 13)
    				class26.m679(2);
    			class20 = graphicstoolkit.m37(class26, i_26_, f4835.f2229, ambient + 64, contrast + 850);
    			if (resizex != 128 || resizey != 128 || resizez != 128)
    				class20.m523(resizex, resizey, resizez);
    			if (f4838 != null) {
    				for (int i_27_ = 0; i_27_ < f4838.length; i_27_++) {
    					if (f4846 != null && i_27_ < f4846.length)
    						class20.m550(f4838[i_27_], f4834[f4846[i_27_] & 0xff]);
    					else
    						class20.m550(f4838[i_27_], f4839[i_27_]);
    				}
    			}
    			if (f4833 != null) {
    				for (int i_28_ = 0; i_28_ < f4833.length; i_28_++)
    					class20.m551(f4833[i_28_], f4840[i_28_]);
    			}
    			if (class413 != null) {
    				for (int i_29_ = 0; i_29_ < 10; i_29_++) {
    					for (int i_30_ = 0; i_30_ < Class578.f4372[i_29_].length; i_30_++) {
    						if (class413.f4371[i_29_] < Class910.f4373[i_29_][i_30_].length)
    							class20.m550(Class578.f4372[i_29_][i_30_], (Class910.f4373[i_29_][i_30_][class413.f4371[i_29_]]));
    					}
    				}
    				for (int i_31_ = 0; i_31_ < 10; i_31_++) {
    					for (int i_32_ = 0; i_32_ < Class835.f4374[i_31_].length; i_32_++) {
    						if (class413.f4375[i_31_] < Class139.f220[i_31_][i_32_].length)
    							class20.m551(Class835.f4374[i_31_][i_32_], (Class139.f220[i_31_][i_32_][class413.f4375[i_31_]]));
    					}
    				}
    			}
    			class20.m509(i_25_);
    			synchronized (f4835.f2225) {
    				f4835.f2225.m1142(class20, (long) (id | (graphicstoolkit.f2106) << 29));
    			}
    		}
    		if (animator != null || i_22_ != 0) {
    			class20 = class20.m518((byte) 1, i_25_, true);
    			if (animator != null)
    				animator.m628(class20, 0);
    			if (i_22_ != 0)
    				class20.m556(i_19_, i_20_, i_21_, i_22_);
    		}
    		class20.m509(i);
    		return class20;
    	}
    
    	void m4436(ByteBuffer bytebuffer, int i) {
    		if (i == 1)
    			f4836 = bytebuffer.m1417();
    		else if (i == 2)
    			name = bytebuffer.m387();
    		else if (i == 4)
    			zoom2d = bytebuffer.m13();
    		else if (i == 5)
    			xan2d = bytebuffer.m13();
    		else if (i == 6)
    			yan2d = bytebuffer.m13();
    		else if (i == 7) {
    			xof2d = bytebuffer.m13();
    			if (xof2d > 32767)
    				xof2d += -65536;
    		}
    		else if (i == 8) {
    			yof2d = bytebuffer.m13();
    			if (yof2d > 32767)
    				yof2d += -65536;
    		}
    		else if (i == 11)
    			stackable = 1;
    		else if (i == 12)
    			cost = bytebuffer.m273();
    		else if (i == 13)
    			equip_slot = bytebuffer.m12();
    		else if (i == 14)
    			equip_flags = bytebuffer.m12();
    		else if (i == 16)
    			members = true;
    		else if (i == 18)
    			multistacksize = bytebuffer.m13();
    		else if (i == 23)
    			manmodel1 = bytebuffer.m1417();
    		else if (i == 24)
    			manmodel2 = bytebuffer.m1417();
    		else if (i == 25)
    			womanmodel1 = bytebuffer.m1417();
    		else if (i == 26)
    			womanmodel2 = bytebuffer.m1417();
    		else if (i == 27)
    			f3151 = bytebuffer.m12();
    		else if (i >= 30 && i < 35)
    			groundOp[i - 30] = bytebuffer.m387();
    		else if (i >= 35 && i < 40)
    			interOp[i - 35] = bytebuffer.m387();
    		else if (i == 40) {
    			int i_33_ = bytebuffer.m12();
    			f4838 = new short[i_33_];
    			f4839 = new short[i_33_];
    			for (int i_34_ = 0; i_34_ < i_33_; i_34_++) {
    				f4838[i_34_] = (short) bytebuffer.m13();
    				f4839[i_34_] = (short) bytebuffer.m13();
    			}
    		}
    		else if (i == 41) {
    			int i_35_ = bytebuffer.m12();
    			f4833 = new short[i_35_];
    			f4840 = new short[i_35_];
    			for (int i_36_ = 0; i_36_ < i_35_; i_36_++) {
    				f4833[i_36_] = (short) bytebuffer.m13();
    				f4840[i_36_] = (short) bytebuffer.m13();
    			}
    		}
    		else if (i == 42) {
    			int i_37_ = bytebuffer.m12();
    			f4846 = new byte[i_37_];
    			for (int i_38_ = 0; i_38_ < i_37_; i_38_++)
    				f4846[i_38_] = bytebuffer.m662();
    		}
    		else if (i == 43) {
    			f4847 = bytebuffer.m273();
    			f4850 = true;
    		}
    		else if (i == 44) {
    			int i_39_ = bytebuffer.m13();
    			int i_40_ = 0;
    			for (int i_41_ = i_39_; i_41_ > 0; i_41_ >>= 1)
    				i_40_++;
    			f4841 = new byte[i_40_];
    			byte i_42_ = 0;
    			for (int i_43_ = 0; i_43_ < i_40_; i_43_++) {
    				if ((i_39_ & 1 << i_43_) > 0) {
    					f4841[i_43_] = i_42_;
    					i_42_++;
    				}
    				else
    					f4841[i_43_] = (byte) -1;
    			}
    		}
    		else if (i == 45) {
    			int i_44_ = bytebuffer.m13();
    			int i_45_ = 0;
    			for (int i_46_ = i_44_; i_46_ > 0; i_46_ >>= 1)
    				i_45_++;
    			f4842 = new byte[i_45_];
    			byte i_47_ = 0;
    			for (int i_48_ = 0; i_48_ < i_45_; i_48_++) {
    				if ((i_44_ & 1 << i_48_) > 0) {
    					f4842[i_48_] = i_47_;
    					i_47_++;
    				}
    				else
    					f4842[i_48_] = (byte) -1;
    			}
    		}
    		else if (i == 65)
    			stockmarket = true;
    		else if (i == 78)
    			equip_color1 = bytebuffer.m1417();
    		else if (i == 79)
    			equip_color2 = bytebuffer.m1417();
    		else if (i == 90)
    			manhead = bytebuffer.m1417();
    		else if (i == 91)
    			womanhead = bytebuffer.m1417();
    		else if (i == 92)
    			manhead2 = bytebuffer.m1417();
    		else if (i == 93)
    			womanhead2 = bytebuffer.m1417();
    		else if (i == 94)
    			f2219 = bytebuffer.m13();
    		else if (i == 95)
    			zan2d = bytebuffer.m13();
    		else if (i == 96)
    			dummyitem = bytebuffer.m12();
    		else if (i == 97)
    			certTemplate = bytebuffer.m13();
    		else if (i == 98)
    			certLink = bytebuffer.m13();
    		else if (i >= 100 && i < 110) {
    			if (f2239 == null) {
    				f2239 = new int[10];
    				f2240 = new int[10];
    			}
    			f2239[i - 100] = bytebuffer.m13();
    			f2240[i - 100] = bytebuffer.m13();
    		}
    		else if (i == 110)
    			resizex = bytebuffer.m13();
    		else if (i == 111)
    			resizey = bytebuffer.m13();
    		else if (i == 112)
    			resizez = bytebuffer.m13();
    		else if (i == 113)
    			ambient = bytebuffer.m662();
    		else if (i == 114)
    			contrast = bytebuffer.m662() * 5;
    		else if (i == 115)
    			team = bytebuffer.m12();
    		else if (i == 121)
    			lentLink = bytebuffer.m13();
    		else if (i == 122)
    			linkTemplate = bytebuffer.m13();
    		else if (i == 125) {
    			manwearxoff = (bytebuffer.m662() << 2);
    			manwearyoff = (bytebuffer.m662() << 2);
    			manwearzoff = (bytebuffer.m662() << 2);
    		}
    		else if (i == 126) {
    			womanwearxoff = (bytebuffer.m662() << 2);
    			womanwearyoff = (bytebuffer.m662() << 2);
    			womanwearzoff = (bytebuffer.m662() << 2);
    		}
    		else if (i == 127 || i == 128 || i == 129 || i == 130) {
    			bytebuffer.m12();
    			bytebuffer.m13();
    		}
    		else if (i == 132) {
    			int i_49_ = bytebuffer.m12();
    			f1929 = new int[i_49_];
    			for (int i_50_ = 0; i_50_ < i_49_; i_50_++)
    				f1929[i_50_] = bytebuffer.m13();
    		}
    		else if (i == 134)
    			picksizeshift = bytebuffer.m12();
    		else if (i == 139)
    			boughtLink = bytebuffer.m13();
    		else if (i == 140)
    			boughtTemplate = bytebuffer.m13();
    		else if (i >= 142 && i < 147) {
    			if (f4844 == null) {
    				f4844 = new int[6];
    				Arrays.fill(f4844, -1);
    			}
    			f4844[i - 142] = bytebuffer.m13();
    		}
    		else if (i >= 150 && i < 155) {
    			if (f4845 == null) {
    				f4845 = new int[5];
    				Arrays.fill(f4845, -1);
    			}
    			f4845[i - 150] = bytebuffer.m13();
    		}
    		else if (i != 156) {
    			if (i == 157)
    				f4851 = true;
    			else if (i == 161)
    				f3969 = bytebuffer.m13();
    			else if (i == 162)
    				f3968 = bytebuffer.m13();
    			else if (i == 163)
    				f4843 = bytebuffer.m13();
    			else if (i == 164)
    				f4837 = bytebuffer.m387();
    			else if (i == 165)
    				stackable = 2;
    			else if (i == 249) {
    				int i_51_ = bytebuffer.m12();
    				if (f4849 == null) {
    					int i_52_ = Class548.m1197(i_51_);
    					f4849 = new NodeHashMap(i_52_);
    				}
    				for (int i_53_ = 0; i_53_ < i_51_; i_53_++) {
    					boolean bool = bytebuffer.m12() == 1;
    					int i_54_ = bytebuffer.m128();
    					Node node;
    					if (bool)
    						node = new ObjectNode(bytebuffer.m387());
    					else
    						node = new Class629(bytebuffer.m273());
    					f4849.m1364(node, (long) i_54_);
    				}
    			}
    		}
    	}
    
    	int[] m4439(int[] is, int i) {
    		int[] is_55_ = new int[1152];
    		int i_56_ = 0;
    		for (int i_57_ = 0; i_57_ < 32; i_57_++) {
    			for (int i_58_ = 0; i_58_ < 36; i_58_++) {
    				int i_59_ = is[i_56_];
    				if (i_59_ == 0) {
    					if (i_58_ > 0 && is[i_56_ - 1] != 0)
    						i_59_ = i;
    					else if (i_57_ > 0 && is[i_56_ - 36] != 0)
    						i_59_ = i;
    					else if (i_58_ < 35 && is[i_56_ + 1] != 0)
    						i_59_ = i;
    					else if (i_57_ < 31 && is[i_56_ + 36] != 0)
    						i_59_ = i;
    				}
    				is_55_[i_56_++] = i_59_;
    			}
    		}
    		return is_55_;
    	}
    
    	void m4440(int[] is, int i) {
    		for (int i_60_ = 31; i_60_ > 0; i_60_--) {
    			int i_61_ = i_60_ * 36;
    			for (int i_62_ = 35; i_62_ > 0; i_62_--) {
    				if (is[i_62_ + i_61_] == 0 && is[i_62_ + i_61_ - 1 - 36] != 0)
    					is[i_61_ + i_62_] = i;
    			}
    		}
    	}
    
    	void m4433(ItemDefs itemdefs_63_, ItemDefs itemdefs_64_, Class189 class189) {
    		m4437(Class719.f2615, itemdefs_63_, itemdefs_64_, Class213.f4852, class189);
    	}
    
    	void m4434(ItemDefs itemdefs_65_, ItemDefs itemdefs_66_, Class189 class189) {
    		m4437(Class719.f2616, itemdefs_65_, itemdefs_66_, Class213.f4853, class189);
    	}
    
    	void m4435(ItemDefs itemdefs_67_, ItemDefs itemdefs_68_, Class189 class189) {
    		m4437(Class719.f2613, itemdefs_67_, itemdefs_68_, Class213.f2243, class189);
    	}
    
    	void m4432(ItemDefs itemdefs_69_, ItemDefs itemdefs_70_, Class189 class189) {
    		m4437(Class719.f2614, itemdefs_69_, itemdefs_70_, null, class189);
    	}
    
    	void m4437(Class719 class719, ItemDefs itemdefs_71_, ItemDefs itemdefs_72_, Class213 class213, Class189 class189) {
    		f4836 = itemdefs_71_.f4836;
    		zoom2d = itemdefs_71_.zoom2d;
    		xan2d = itemdefs_71_.xan2d;
    		yan2d = itemdefs_71_.yan2d;
    		zan2d = itemdefs_71_.zan2d;
    		xof2d = itemdefs_71_.xof2d;
    		yof2d = itemdefs_71_.yof2d;
    		ItemDefs itemdefs_73_ = Class719.f2614 == class719 ? itemdefs_71_ : itemdefs_72_;
    		f4838 = itemdefs_73_.f4838;
    		f4839 = itemdefs_73_.f4839;
    		f4846 = itemdefs_73_.f4846;
    		f4833 = itemdefs_73_.f4833;
    		f4840 = itemdefs_73_.f4840;
    		name = itemdefs_72_.name;
    		members = itemdefs_72_.members;
    		if (class719 == Class719.f2614) {
    			cost = itemdefs_72_.cost;
    			stackable = 1;
    		}
    		else if (class719 == Class719.f2613) {
    			name = itemdefs_72_.f4837;
    			cost = (int) Math.floor((double) (itemdefs_72_.cost / (itemdefs_72_.f4843)));
    			stackable = 1;
    			stockmarket = itemdefs_72_.stockmarket;
    			f2219 = itemdefs_71_.f2219;
    			f4844 = itemdefs_71_.f4844;
    			f4845 = itemdefs_71_.f4845;
    			interOp = new String[5];
    			interOp[0] = Class213.f4860.m293(class189);
    			interOp[4] = class213.m293(class189);
    		}
    		else {
    			cost = 0;
    			stackable = itemdefs_72_.stackable;
    			equip_slot = itemdefs_72_.equip_slot;
    			equip_flags = itemdefs_72_.equip_flags;
    			f3151 = itemdefs_72_.f3151;
    			manmodel1 = itemdefs_72_.manmodel1;
    			manmodel2 = itemdefs_72_.manmodel2;
    			equip_color1 = itemdefs_72_.equip_color1;
    			womanmodel1 = itemdefs_72_.womanmodel1;
    			womanmodel2 = itemdefs_72_.womanmodel2;
    			equip_color2 = itemdefs_72_.equip_color2;
    			manwearxoff = itemdefs_72_.manwearxoff;
    			womanwearxoff = itemdefs_72_.womanwearxoff;
    			manwearyoff = itemdefs_72_.manwearyoff;
    			womanwearyoff = itemdefs_72_.womanwearyoff;
    			manwearzoff = itemdefs_72_.manwearzoff;
    			womanwearzoff = itemdefs_72_.womanwearzoff;
    			manhead = itemdefs_72_.manhead;
    			manhead2 = itemdefs_72_.manhead2;
    			womanhead = itemdefs_72_.womanhead;
    			womanhead2 = itemdefs_72_.womanhead2;
    			f2219 = itemdefs_72_.f2219;
    			team = itemdefs_72_.team;
    			groundOp = itemdefs_72_.groundOp;
    			f4849 = itemdefs_72_.f4849;
    			interOp = new String[5];
    			if (itemdefs_72_.interOp != null) {
    				for (int i = 0; i < 4; i++)
    					interOp[i] = itemdefs_72_.interOp[i];
    			}
    			interOp[4] = class213.m293(class189);
    		}
    	}
    
    	int[] m1691(GraphicsToolkit graphicstoolkit, GraphicsToolkit graphicstoolkit_74_, int i, int i_75_, int i_76_, boolean bool, int i_77_, Class450 class450, Class413 class413, Class174 class174) {
    		Class26 class26 = Class26.m36(f4835.f2227, f4836, 0);
    		if (class26 == null)
    			return null;
    		if (class26.f907 < 13)
    			class26.m679(2);
    		if (f4838 != null) {
    			for (int i_78_ = 0; i_78_ < f4838.length; i_78_++) {
    				if (f4846 != null && i_78_ < f4846.length)
    					class26.m680(f4838[i_78_], f4834[f4846[i_78_] & 0xff]);
    				else
    					class26.m680(f4838[i_78_], f4839[i_78_]);
    			}
    		}
    		if (f4833 != null) {
    			for (int i_79_ = 0; i_79_ < f4833.length; i_79_++)
    				class26.m671(f4833[i_79_], f4840[i_79_]);
    		}
    		if (class413 != null) {
    			for (int i_80_ = 0; i_80_ < 10; i_80_++) {
    				for (int i_81_ = 0; i_81_ < Class578.f4372[i_80_].length; i_81_++) {
    					if (class413.f4371[i_80_] < Class910.f4373[i_80_][i_81_].length)
    						class26.m680(Class578.f4372[i_80_][i_81_], (Class910.f4373[i_80_][i_81_][class413.f4371[i_80_]]));
    				}
    			}
    			for (int i_82_ = 0; i_82_ < 10; i_82_++) {
    				for (int i_83_ = 0; i_83_ < Class835.f4374[i_82_].length; i_83_++) {
    					if (class413.f4375[i_82_] < Class139.f220[i_82_][i_83_].length)
    						class26.m671(Class835.f4374[i_82_][i_83_], (Class139.f220[i_82_][i_83_][class413.f4375[i_82_]]));
    				}
    			}
    		}
    		int i_84_ = 2048;
    		boolean bool_85_ = false;
    		if (resizex != 128 || resizey != 128 || resizez != 128) {
    			bool_85_ = true;
    			i_84_ |= 0x7;
    		}
    		Class20 class20 = graphicstoolkit.m37(class26, i_84_, 64, ambient + 64, contrast + 768);
    		if (!class20.m553())
    			return null;
    		if (bool_85_)
    			class20.m523(resizex, resizey, resizez);
    		AbstractSprite abstractsprite = null;
    		if (certLink != -1) {
    			abstractsprite = f4835.m1690(graphicstoolkit, graphicstoolkit_74_, certTemplate, 10, 1, 0, true, true, 0, class450, class413, class174, f4848);
    			if (abstractsprite == null)
    				return null;
    		}
    		else if (linkTemplate != -1) {
    			abstractsprite = f4835.m1690(graphicstoolkit, graphicstoolkit_74_, lentLink, i, i_75_, i_76_, false, true, 0, class450, class413, class174, f4848);
    			if (abstractsprite == null)
    				return null;
    		}
    		else if (boughtTemplate != -1) {
    			abstractsprite = f4835.m1690(graphicstoolkit, graphicstoolkit_74_, boughtLink, i, i_75_, i_76_, false, true, 0, class450, class413, class174, f4848);
    			if (abstractsprite == null)
    				return null;
    		}
    		else if (f3968 != -1) {
    			abstractsprite = f4835.m1690(graphicstoolkit, graphicstoolkit_74_, f3969, 10, 1, 0, true, true, 0, class450, class413, class174, f4848);
    			if (abstractsprite == null)
    				return null;
    		}
    		int i_86_;
    		if (bool)
    			i_86_ = (int) ((double) (zoom2d) * 1.5) << 2;
    		else if (i_75_ == 2)
    			i_86_ = (int) ((double) (zoom2d) * 1.04) << 2;
    		else
    			i_86_ = zoom2d << 2;
    		Matrix4x4 matrix4x4 = graphicstoolkit.m52();
    		Matrix4x4 matrix4x4_87_ = graphicstoolkit.m2841();
    		matrix4x4_87_.m838(16.0F, 16.0F, 512.0F, 512.0F, 50.0F, 2.14748365E9F, (float) graphicstoolkit.m1839().m843(), (float) graphicstoolkit.m1839().m850());
    		graphicstoolkit.m53(matrix4x4_87_);
    		graphicstoolkit.m4413(0, 0, graphicstoolkit.m1839().m843(), graphicstoolkit.m1839().m850());
    		Matrix4x3 matrix4x3 = new Matrix4x3();
    		graphicstoolkit.m61(matrix4x3);
    		graphicstoolkit.m724((float) (Math.random() / 10.0) + 0.95F);
    		graphicstoolkit.m35(16777215, (float) (Math.random() / 10.0) + 0.95F, (float) (Math.random() / 10.0) + 0.95F, -50.0F, -10.0F, -50.0F);
    		Matrix4x3 matrix4x3_88_ = graphicstoolkit.m1062();
    		matrix4x3_88_.m2134(0.0F, 0.0F, 1.0F, Class33.m59(-(zan2d) << 3));
    		matrix4x3_88_.m60(0.0F, 1.0F, 0.0F, Class33.m59(yan2d << 3));
    		matrix4x3_88_.m1063((float) (xof2d << 2), (float) ((Class33.f659[xan2d << 3] * i_86_ >> 14) - class20.m546() / 2 + (yof2d << 2)), (float) ((yof2d << 2) + (i_86_ * Class33.f660[xan2d << 3] >> 14)));
    		matrix4x3_88_.m60(1.0F, 0.0F, 0.0F, Class33.m59(xan2d << 3));
    		graphicstoolkit.m2794(0, 0, 36, 32);
    		graphicstoolkit.m43(2, 0);
    		graphicstoolkit.m49(0, 0, 36, 32, 0, 0);
    		graphicstoolkit.m1825(0, -1, 0);
    		class20.m63(matrix4x3_88_, null, 1);
    		graphicstoolkit.m53(matrix4x4);
    		int[] is = graphicstoolkit.m1216(0, 0, 36, 32);
    		if (i_75_ >= 1) {
    			is = m4439(is, -16777214);
    			if (i_75_ >= 2)
    				is = m4439(is, -1);
    		}
    		if (i_76_ != 0)
    			m4440(is, i_76_);
    		if (linkTemplate != -1)
    			abstractsprite.m1720(0, 0);
    		else if (boughtTemplate != -1)
    			abstractsprite.m1720(0, 0);
    		graphicstoolkit.m48(is, 0, 36, 36, 32).m1720(0, 0);
    		if (certLink != -1)
    			abstractsprite.m1720(0, 0);
    		if (f3968 != -1)
    			abstractsprite.m1720(0, 0);
    		if (i_77_ == 1 || i_77_ == 2 && (stackable == 1 || i != 1) && i != -1)
    			class450.m3291(Class209.m1866(i, f4835.f2228, class174), 0, 9, -256, -16777215);
    		is = graphicstoolkit.m1216(0, 0, 36, 32);
    		for (int i_89_ = 0; i_89_ < is.length; i_89_++) {
    			if ((is[i_89_] & 0xffffff) == 0)
    				is[i_89_] = 0;
    			else
    				is[i_89_] |= ~0xffffff;
    		}
    		return is;
    	}
    
    	public static int m1172() {
    		Canvas canvas = new Canvas();
    		canvas.setSize(100, 100);
    		GraphicsToolkit graphicstoolkit = Class529.m1119(0, canvas, null, null, null, null, null, 0);
    		long l = Class64.m89();
    		for (int i = 0; i < 10000; i++)
    			graphicstoolkit.m4446(5, 10, 100.0F, 75, 50, 100.0F, 15, 90, 100.0F, -65536, -65536, -65536, 1);
    		int i = (int) (Class64.m89() - l);
    		graphicstoolkit.m51(0, 0, 100, 100, -16777216);
    		graphicstoolkit.m4447();
    		return i;
    	}
    
    	static void m1350(ByteBuffer bytebuffer) {
    		int i = bytebuffer.m220();
    		Class764.f3009 = new Class736[i];
    		for (int i_90_ = 0; i_90_ < i; i_90_++) {
    			Class764.f3009[i_90_] = new Class736();
    			Class764.f3009[i_90_].f2799 = bytebuffer.m220();
    			Class764.f3009[i_90_].f2800 = bytebuffer.m1383();
    		}
    		Class631.f2807 = bytebuffer.m220();
    		Class631.f2808 = bytebuffer.m220();
    		Class683.f2805 = bytebuffer.m220();
    		Class485.f1411 = new Class486[(Class631.f2808 - Class631.f2807 + 1)];
    		for (int i_91_ = 0; i_91_ < Class683.f2805; i_91_++) {
    			int i_92_ = bytebuffer.m220();
    			Class486 class486 = Class485.f1411[i_92_] = new Class486();
    			class486.f3010 = bytebuffer.m12();
    			class486.f1934 = bytebuffer.m273();
    			class486.f3006 = bytebuffer.m220();
    			if (class486.f3006 != 0)
    				class486.f3008 = bytebuffer.m1383();
    			class486.f3007 = (i_92_ + Class631.f2807);
    			class486.f1935 = bytebuffer.m1383();
    			class486.f1938 = bytebuffer.m1383();
    		}
    		Class71.f107 = bytebuffer.m273();
    		Class631.f4861 = true;
    	}
    
    	static final void m4445(InterfaceComponent interfacecomponent, Class4 class4) {
    		class4.f9 += -10;
    		interfacecomponent.f2102 = true;
    		interfacecomponent.f2038 = (Math.max(Math.min(class4.f8[class4.f9], 2816), 0));
    		interfacecomponent.f2036 = Math.max(Math.min(class4.f8[class4.f9 + 1], 2816), 0);
    		interfacecomponent.f2009 = Math.max(Math.min(class4.f8[class4.f9 + 2], 2816), 0);
    		int i = Math.max(Math.min(class4.f8[class4.f9 + 3], 255), 0);
    		int i_93_ = Math.max(Math.min(class4.f8[class4.f9 + 4], 255), 0);
    		int i_94_ = Math.max(Math.min(class4.f8[class4.f9 + 5], 255), 0);
    		interfacecomponent.f2022 = (i << 16 | i_93_ << 8 | i_94_);
    		interfacecomponent.f2033 = class4.f8[class4.f9 + 6];
    		interfacecomponent.f2059 = class4.f8[class4.f9 + 7];
    		interfacecomponent.f2094 = class4.f8[class4.f9 + 8];
    		interfacecomponent.f2039 = class4.f8[class4.f9 + 9];
    		Class275.m372(interfacecomponent);
    	}
    }
    Code:
    /* ByteBuffer - Decompiled by JODE
     * Visit http://jode.sourceforge.net/
     */
    package rs3;
    
    import java.math.BigInteger;
    
    public class ByteBuffer extends Node {
    	public byte[] buffer;
    	public int position;
    	static int[] f1862 = new int[256];
    	public static long[] f1863;
    
    	static {
    		for (int i = 0; i < 256; i++) {
    			int i_0_ = i;
    			for (int i_1_ = 0; i_1_ < 8; i_1_++) {
    				if ((i_0_ & 0x1) == 1)
    					i_0_ = i_0_ >>> 1 ^ ~0x12477cdf;
    				else
    					i_0_ >>>= 1;
    			}
    			f1862[i] = i_0_;
    		}
    		f1863 = new long[256];
    		for (int i = 0; i < 256; i++) {
    			long l = (long) i;
    			for (int i_2_ = 0; i_2_ < 8; i_2_++) {
    				if (1L == (l & 0x1L))
    					l = l >>> 1 ^ ~0x3693a86a2878f0bdL;
    				else
    					l >>>= 1;
    			}
    			f1863[i] = l;
    		}
    	}
    
    	public ByteBuffer(byte[] is) {
    		buffer = is;
    		position = 0;
    	}
    
    	public ByteBuffer(int i) {
    		buffer = Class557.m1239(i);
    		position = 0;
    	}
    
    	public ByteBuffer(int i, boolean bool) {
    		buffer = Class557.m1240(i, bool);
    	}
    
    	public void m1243() {
    		if (buffer != null)
    			Class557.m1241(buffer);
    		buffer = null;
    	}
    
    	public int m1368() {
    		position -= -4;
    		return ((buffer[position - 4] & 0xff) + (((buffer[position - 3] & 0xff) << 8) + (((buffer[position - 1] & 0xff) << 24) + ((buffer[position - 2] & 0xff) << 16))));
    	}
    
    	public int m1378() {
    		int i = 0;
    		int i_3_ = 0;
    		int i_4_;
    		do {
    			i_4_ = m12();
    			i |= (i_4_ & 0x7f) << i_3_;
    			i_3_ += 7;
    		}
    		while (i_4_ > 127);
    		return i;
    	}
    
    	public byte m662() {
    		return buffer[position++];
    	}
    
    	public int m14() {
    		position += 2;
    		int i = (((buffer[position - 2] & 0xff) << 8) + (buffer[position - 1] & 0xff));
    		if (i > 32767)
    			i -= 65536;
    		return i;
    	}
    
    	public int m273() {
    		position -= -4;
    		return (((buffer[position - 3] & 0xff) << 16) + ((buffer[position - 4] & 0xff) << 24) + ((buffer[position - 2] & 0xff) << 8) + (buffer[position - 1] & 0xff));
    	}
    
    	public int m1113() {
    		position -= -4;
    		return ((buffer[position - 4] & 0xff) + (((buffer[position - 3] & 0xff) << 8) + (((buffer[position - 2] & 0xff) << 16) + ((buffer[position - 1] & 0xff) << 24))));
    	}
    
    	public long m1379() {
    		long l = (long) m13() & 0xffffffffL;
    		long l_5_ = (long) m273() & 0xffffffffL;
    		return (l << 32) + l_5_;
    	}
    
    	public float m126() {
    		return Float.intBitsToFloat(m273());
    	}
    
    	public String m387() {
    		int i = position;
    		while (buffer[position++] != 0) {
    			/* empty */
    		}
    		int i_6_ = position - i - 1;
    		if (i_6_ == 0)
    			return "";
    		return Class595.m1382(buffer, i, i_6_);
    	}
    
    	public String m1383() {
    		byte i = buffer[position++];
    		if (i != 0)
    			throw new IllegalStateException("");
    		int i_7_ = position;
    		while (buffer[position++] != 0) {
    			/* empty */
    		}
    		int i_8_ = position - i_7_ - 1;
    		if (i_8_ == 0)
    			return "";
    		return Class595.m1382(buffer, i_7_, i_8_);
    	}
    
    	public String m1384() {
    		byte i = buffer[position++];
    		if (i != 0)
    			throw new IllegalStateException("");
    		int i_9_ = m1385();
    		if (i_9_ + position > buffer.length)
    			throw new IllegalStateException("");
    		String string = Class596.m1386(buffer, position, i_9_);
    		position += i_9_;
    		return string;
    	}
    
    	public int m220() {
    		int i = buffer[position] & 0xff;
    		if (i < 128)
    			return m12();
    		return m13() - 32768;
    	}
    
    	public int m871() {
    		int i = 0;
    		int i_10_;
    		for (i_10_ = m220(); i_10_ == 32767; i_10_ = m220())
    			i += 32767;
    		i += i_10_;
    		return i;
    	}
    
    	public int m1388() {
    		if (buffer[position] < 0)
    			return m273() & 0x7fffffff;
    		return m13();
    	}
    
    	public boolean m1394() {
    		position += -4;
    		int i = GameGround.m1393(buffer, 0, position);
    		int i_11_ = m273();
    		if (i == i_11_)
    			return true;
    		return false;
    	}
    
    	public long m1397() {
    		long l = (long) m12() & 0xffffffffL;
    		long l_12_ = (long) m273() & 0xffffffffL;
    		return (l << 32) + l_12_;
    	}
    
    	public int m1398() {
    		return buffer[position++] - 128 & 0xff;
    	}
    
    	public int m1399() {
    		return 0 - buffer[position++] & 0xff;
    	}
    
    	public int m1400() {
    		return 128 - buffer[position++] & 0xff;
    	}
    
    	public int m1405() {
    		position += 2;
    		return ((buffer[position - 2] & 0xff) + ((buffer[position - 1] & 0xff) << 8));
    	}
    
    	public int m1406() {
    		position += 2;
    		return (((buffer[position - 1] & 0xff) << 8) + (buffer[position - 2] - 128 & 0xff));
    	}
    
    	public int m1408() {
    		position += 2;
    		int i = (((buffer[position - 2] & 0xff) << 8) + (buffer[position - 1] - 128 & 0xff));
    		if (i > 32767)
    			i -= 65536;
    		return i;
    	}
    
    	public int m1409() {
    		position += 2;
    		int i = (((buffer[position - 1] & 0xff) << 8) + (buffer[position - 2] - 128 & 0xff));
    		if (i > 32767)
    			i -= 65536;
    		return i;
    	}
    
    	public int m1411() {
    		position -= -3;
    		return ((buffer[position - 2] & 0xff) + (((buffer[position - 3] & 0xff) << 16) + ((buffer[position - 1] & 0xff) << 8)));
    	}
    
    	public int m663() {
    		int i = buffer[position] & 0xff;
    		if (i < 128)
    			return m12() - 64;
    		return m13() - 49152;
    	}
    
    	public int m1416() {
    		position += 2;
    		int i = (((buffer[position - 1] & 0xff) << 8) + (buffer[position - 2] & 0xff));
    		if (i > 32767)
    			i -= 65536;
    		return i;
    	}
    
    	public int m664() {
    		int i = buffer[position] & 0xff;
    		if (i < 128)
    			return m12() - 1;
    		return m13() - 32769;
    	}
    
    	public int m1417() {
    		if (buffer[position] < 0)
    			return m273() & 0x7fffffff;
    		int i = m13();
    		if (i == 32767)
    			return -1;
    		return i;
    	}
    
    	public int m1418() {
    		position -= -4;
    		return (((buffer[position - 2] & 0xff) << 24) + ((buffer[position - 1] & 0xff) << 16) + ((buffer[position - 4] & 0xff) << 8) + (buffer[position - 3] & 0xff));
    	}
    
    	public int m128() {
    		position -= -3;
    		return (((buffer[position - 2] & 0xff) << 8) + ((buffer[position - 3] & 0xff) << 16) + (buffer[position - 1] & 0xff));
    	}
    
    	public int m1419() {
    		position -= -3;
    		int i = (((buffer[position - 3] & 0xff) << 16) + ((buffer[position - 2] & 0xff) << 8) + (buffer[position - 1] & 0xff));
    		if (i > 8388607)
    			i -= 16777216;
    		return i;
    	}
    
    	public int m12() {
    		return buffer[position++] & 0xff;
    	}
    
    	public String m453() {
    		if (buffer[position] == 0) {
    			++position;
    			return null;
    		}
    		return m387();
    	}
    
    	public byte m1421() {
    		return (byte) (buffer[position++] - 128);
    	}
    
    	public byte m1422() {
    		return (byte) (128 - buffer[position++]);
    	}
    
    	public byte m1423() {
    		return (byte) (0 - buffer[position++]);
    	}
    
    	public long m452() {
    		long l = (long) m273() & 0xffffffffL;
    		long l_13_ = (long) m273() & 0xffffffffL;
    		return (l << 32) + l_13_;
    	}
    
    	public int m13() {
    		position += 2;
    		return ((buffer[position - 1] & 0xff) + ((buffer[position - 2] & 0xff) << 8));
    	}
    
    	public int m1426() {
    		position += 2;
    		return ((buffer[position - 1] - 128 & 0xff) + ((buffer[position - 2] & 0xff) << 8));
    	}
    
    	public int m1427() {
    		position -= -4;
    		return (((buffer[position - 4] & 0xff) << 16) + ((buffer[position - 3] & 0xff) << 24) + ((buffer[position - 1] & 0xff) << 8) + (buffer[position - 2] & 0xff));
    	}
    
    	public void m1365(int i) {
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) (i >> 24);
    	}
    
    	public void m1366(int i) {
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) (i >> 24);
    	}
    
    	public void m1008(int i) {
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) i;
    	}
    
    	public void m311(int i) {
    		buffer[position++] = (byte) i;
    	}
    
    	public void m1367(int i) {
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) i;
    	}
    
    	public void m92(int i) {
    		buffer[position++] = (byte) (i >> 24);
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) i;
    	}
    
    	public void m1369(long l) {
    		buffer[position++] = (byte) (int) (l >> 32);
    		buffer[position++] = (byte) (int) (l >> 24);
    		buffer[position++] = (byte) (int) (l >> 16);
    		buffer[position++] = (byte) (int) (l >> 8);
    		buffer[position++] = (byte) (int) l;
    	}
    
    	public void m831(long l) {
    		buffer[position++] = (byte) (int) (l >> 56);
    		buffer[position++] = (byte) (int) (l >> 48);
    		buffer[position++] = (byte) (int) (l >> 40);
    		buffer[position++] = (byte) (int) (l >> 32);
    		buffer[position++] = (byte) (int) (l >> 24);
    		buffer[position++] = (byte) (int) (l >> 16);
    		buffer[position++] = (byte) (int) (l >> 8);
    		buffer[position++] = (byte) (int) l;
    	}
    
    	public void m1370(int i) {
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) (i >> 16);
    	}
    
    	public void m1371(CharSequence charsequence) {
    		int i = Class148.m1372(charsequence);
    		buffer[position++] = (byte) 0;
    		m1373(i);
    		position += (Class61.m1374(buffer, position, charsequence));
    	}
    
    	public void m1375(ByteBuffer bytebuffer_14_) {
    		m1242(bytebuffer_14_.buffer, 0, bytebuffer_14_.position);
    	}
    
    	public void m1348(int i) {
    		if (i < 0 || i > 65535)
    			throw new IllegalArgumentException();
    		buffer[position - i - 2] = (byte) (i >> 8);
    		buffer[position - i - 1] = (byte) i;
    	}
    
    	public void m1376(int i) {
    		if (i < 0 || i > 255)
    			throw new IllegalArgumentException();
    		buffer[position - i - 1] = (byte) i;
    	}
    
    	public void m778(int i) {
    		if (i >= 0 && i < 128)
    			m311(i);
    		else if (i >= 0 && i < 32768)
    			m1008(i + 32768);
    		else
    			throw new IllegalArgumentException();
    	}
    
    	public void m1377(int i) {
    		if (i < -1)
    			throw new IllegalArgumentException();
    		if (i == -1)
    			m1008(32767);
    		else if (i < 32767)
    			m1008(i);
    		else {
    			m92(i);
    			buffer[position - 4] |= 0x80;
    		}
    	}
    
    	public long m1380(int i) {
    		if (--i < 0 || i > 7)
    			throw new IllegalArgumentException();
    		int i_15_ = i * 8;
    		long l = 0L;
    		for (/**/; i_15_ >= 0; i_15_ -= 8)
    			l |= ((long) buffer[position++] & 0xffL) << i_15_;
    		return l;
    	}
    
    	public void m1389(int[] is) {
    		int i = position / 8;
    		position = 0;
    		for (int i_16_ = 0; i_16_ < i; i_16_++) {
    			int i_17_ = m273();
    			int i_18_ = m273();
    			int i_19_ = 0;
    			int i_20_ = -1640531527;
    			int i_21_ = 32;
    			while (i_21_-- > 0) {
    				i_17_ += ((i_18_ << 4 ^ i_18_ >>> 5) + i_18_ ^ i_19_ + is[i_19_ & 0x3]);
    				i_19_ += i_20_;
    				i_18_ += ((i_17_ << 4 ^ i_17_ >>> 5) + i_17_ ^ i_19_ + is[i_19_ >>> 11 & 0x3]);
    			}
    			position -= 8;
    			m92(i_17_);
    			m92(i_18_);
    		}
    	}
    
    	public void m1390(int[] is) {
    		int i = position / 8;
    		position = 0;
    		for (int i_22_ = 0; i_22_ < i; i_22_++) {
    			int i_23_ = m273();
    			int i_24_ = m273();
    			int i_25_ = -957401312;
    			int i_26_ = -1640531527;
    			int i_27_ = 32;
    			while (i_27_-- > 0) {
    				i_24_ -= (i_23_ + (i_23_ << 4 ^ i_23_ >>> 5) ^ i_25_ + is[i_25_ >>> 11 & 0x3]);
    				i_25_ -= i_26_;
    				i_23_ -= (i_24_ + (i_24_ << 4 ^ i_24_ >>> 5) ^ i_25_ + is[i_25_ & 0x3]);
    			}
    			position -= 8;
    			m92(i_23_);
    			m92(i_24_);
    		}
    	}
    
    	public int m832(int i) {
    		int i_28_ = GameGround.m1393(buffer, i, position);
    		m92(i_28_);
    		return i_28_;
    	}
    
    	public void m1395(int i) {
    		buffer[position++] = (byte) (i + 128);
    	}
    
    	public void m1396(int i) {
    		buffer[position++] = (byte) (0 - i);
    	}
    
    	public void m1402(int i) {
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    	}
    
    	public void m1403(int i) {
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) (i + 128);
    	}
    
    	public void m1404(int i) {
    		buffer[position++] = (byte) (i + 128);
    		buffer[position++] = (byte) (i >> 8);
    	}
    
    	public void m1407(int i) {
    		buffer[position++] = (byte) (128 - i);
    	}
    
    	public void m1410(int i) {
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    	}
    
    	public void m1412(int i) {
    		buffer[position++] = (byte) (i >> 8);
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 24);
    		buffer[position++] = (byte) (i >> 16);
    	}
    
    	public void m1413(long l) {
    		buffer[position++] = (byte) (int) (l >> 40);
    		buffer[position++] = (byte) (int) (l >> 32);
    		buffer[position++] = (byte) (int) (l >> 24);
    		buffer[position++] = (byte) (int) (l >> 16);
    		buffer[position++] = (byte) (int) (l >> 8);
    		buffer[position++] = (byte) (int) l;
    	}
    
    	public void m312(String string) {
    		int i = string.indexOf('\0');
    		if (i >= 0)
    			throw new IllegalArgumentException("");
    		position += Class597.m1414(string, 0, string.length(), buffer, position);
    		buffer[position++] = (byte) 0;
    	}
    
    	public void m1415(int i) {
    		if (i < 64 && i >= -64)
    			m311(i + 64);
    		else if (i < 16384 && i >= -16384)
    			m1008(i + 49152);
    		else
    			throw new IllegalArgumentException();
    	}
    
    	public void m1424(int i) {
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    	}
    
    	public void m1425(String string) {
    		int i = string.indexOf('\0');
    		if (i >= 0)
    			throw new IllegalArgumentException("");
    		buffer[position++] = (byte) 0;
    		position += Class597.m1414(string, 0, string.length(), buffer, position);
    		buffer[position++] = (byte) 0;
    	}
    
    	public void m1428(int i) {
    		buffer[position++] = (byte) (i >> 16);
    		buffer[position++] = (byte) (i >> 24);
    		buffer[position++] = (byte) i;
    		buffer[position++] = (byte) (i >> 8);
    	}
    
    	public void m1392(BigInteger biginteger, BigInteger biginteger_29_) {
    		int i = position;
    		position = 0;
    		byte[] is = new byte[i];
    		m1387(is, 0, i);
    		BigInteger biginteger_30_ = new BigInteger(is);
    		BigInteger biginteger_31_ = biginteger_30_.modPow(biginteger, biginteger_29_);
    		byte[] is_32_ = biginteger_31_.toByteArray();
    		position = 0;
    		m1008(is_32_.length);
    		m1242(is_32_, 0, is_32_.length);
    	}
    
    	public void m1401(long l, int i) {
    		if (--i < 0 || i > 7)
    			throw new IllegalArgumentException();
    		for (int i_33_ = i * 8; i_33_ >= 0; i_33_ -= 8)
    			buffer[position++] = (byte) (int) (l >> i_33_);
    	}
    
    	public void m1381(byte[] is, int i, int i_34_) {
    		for (int i_35_ = i + i_34_ - 1; i_35_ >= i; i_35_--)
    			is[i_35_] = (byte) (buffer[position++] - 128);
    	}
    
    	public void m1387(byte[] is, int i, int i_36_) {
    		for (int i_37_ = i; i_37_ < i + i_36_; i_37_++)
    			is[i_37_] = buffer[position++];
    	}
    
    	public void m1347(int[] is, int i, int i_38_) {
    		int i_39_ = position;
    		position = i;
    		int i_40_ = (i_38_ - i) / 8;
    		for (int i_41_ = 0; i_41_ < i_40_; i_41_++) {
    			int i_42_ = m273();
    			int i_43_ = m273();
    			int i_44_ = 0;
    			int i_45_ = -1640531527;
    			int i_46_ = 32;
    			while (i_46_-- > 0) {
    				i_42_ += (i_43_ + (i_43_ << 4 ^ i_43_ >>> 5) ^ i_44_ + is[i_44_ & 0x3]);
    				i_44_ += i_45_;
    				i_43_ += ((i_42_ << 4 ^ i_42_ >>> 5) + i_42_ ^ is[i_44_ >>> 11 & 0x3] + i_44_);
    			}
    			position -= 8;
    			m92(i_42_);
    			m92(i_43_);
    		}
    		position = i_39_;
    	}
    
    	public void m1391(int[] is, int i, int i_47_) {
    		int i_48_ = position;
    		position = i;
    		int i_49_ = (i_47_ - i) / 8;
    		for (int i_50_ = 0; i_50_ < i_49_; i_50_++) {
    			int i_51_ = m273();
    			int i_52_ = m273();
    			int i_53_ = -957401312;
    			int i_54_ = -1640531527;
    			int i_55_ = 32;
    			while (i_55_-- > 0) {
    				i_52_ -= (i_51_ + (i_51_ << 4 ^ i_51_ >>> 5) ^ is[i_53_ >>> 11 & 0x3] + i_53_);
    				i_53_ -= i_54_;
    				i_51_ -= (i_52_ + (i_52_ << 4 ^ i_52_ >>> 5) ^ is[i_53_ & 0x3] + i_53_);
    			}
    			position -= 8;
    			m92(i_51_);
    			m92(i_52_);
    		}
    		position = i_48_;
    	}
    
    	public void m1242(byte[] is, int i, int i_56_) {
    		for (int i_57_ = i; i_57_ < i + i_56_; i_57_++)
    			buffer[position++] = is[i_57_];
    	}
    
    	public void m1420(byte[] is, int i, int i_58_) {
    		for (int i_59_ = i; i_59_ < i_58_ + i; i_59_++)
    			is[i_59_] = (byte) (buffer[position++] - 128);
    	}
    
    	int m1385() {
    		int i = buffer[position++];
    		int i_60_ = 0;
    		for (/**/; i < 0; i = buffer[position++])
    			i_60_ = (i_60_ | i & 0x7f) << 7;
    		return i_60_ | i;
    	}
    
    	void m1373(int i) {
    		if ((i & ~0x7f) != 0) {
    			if ((i & ~0x3fff) != 0) {
    				if ((i & ~0x1fffff) != 0) {
    					if ((i & ~0xfffffff) != 0)
    						m311(i >>> 28 | 0x80);
    					m311(i >>> 21 | 0x80);
    				}
    				m311(i >>> 14 | 0x80);
    			}
    			m311(i >>> 7 | 0x80);
    		}
    		m311(i & 0x7f);
    	}
    
    	static final void m1429(Class4 class4) {
    		int i = class4.f8[(--class4.f9)];
    		class4.f8[class4.f9++] = i & 0x3fff;
    	}
    }

    Enjoy
     


  2. #2  
    Registered Member
    Join Date
    Oct 2012
    Posts
    223
    Thanks given
    21
    Thanks received
    24
    Rep Power
    16
    As always, uppit never finds the uploaded file.

    Could you use mega.nz please?
     

  3. #3  
    Renown Programmer


    Join Date
    Jul 2009
    Posts
    1,846
    Thanks given
    69
    Thanks received
    1,113
    Rep Power
    3170
    Quote Originally Posted by Eksinda Enea View Post
    As always, uppit never finds the uploaded file.

    Could you use mega.nz please?
    requires registration.
    uploaded here instead UPLOAD.EE - 865_Client.rar - Download
     

  4. #4  
    Donator

    Join Date
    Oct 2010
    Posts
    685
    Thanks given
    49
    Thanks received
    67
    Rep Power
    63
    Thank you, holy jesus christ. This will be a huge help towards my conversion. Again, thank you MGI and great work as always.

    Code:
    Class936(ByteBuffer bytebuffer, BigInteger biginteger, BigInteger biginteger_0_) {
    		bytebuffer.position = 5;
    		int i = bytebuffer.m12();
    		bytebuffer.position += i * 80;
    		byte[] is = (new byte[bytebuffer.buffer.length - bytebuffer.position]);
    		bytebuffer.m1387(is, 0, is.length);
    		byte[] is_1_;
    		if (biginteger == null || biginteger_0_ == null)
    			is_1_ = is;
    		else {
    			BigInteger biginteger_2_ = new BigInteger(is);
    			BigInteger biginteger_3_ = biginteger_2_.modPow(biginteger, biginteger_0_);
    			is_1_ = biginteger_3_.toByteArray();
    		}
    		if (65 != is_1_.length)
    			throw new RuntimeException();
    		byte[] is_4_ = Class638.m1745(bytebuffer.buffer, 5, bytebuffer.position - is.length - 5);
    		for (int i_5_ = 0; i_5_ < 64; i_5_++) {
    			if (is_4_[i_5_] != is_1_[i_5_ + 1])
    				throw new RuntimeException();
    		}
    		f8388 = new Class548[i];
    		for (int i_6_ = 0; i_6_ < i; i_6_++) {
    			bytebuffer.position = i_6_ * 80 + 6;
    			int i_7_ = bytebuffer.m273();
    			int i_8_ = bytebuffer.m273();
    			bytebuffer.m273();
    			bytebuffer.m273();
    			byte[] is_9_ = new byte[64];
    			bytebuffer.m1387(is_9_, 0, 64);
    			f8388[i_6_] = new Class548(i_7_, i_8_, is_9_);
    		}
    	}
     

  5. #5  
    Developer


    Join Date
    Aug 2012
    Posts
    2,493
    Thanks given
    180
    Thanks received
    1,732
    Rep Power
    2487
    Quote Originally Posted by Kagani View Post
    Thank you, holy jesus christ. This will be a huge help towards my conversion. Again, thank you MGI and great work as always.

    Code:
    Class936(ByteBuffer bytebuffer, BigInteger biginteger, BigInteger biginteger_0_) {
    		bytebuffer.position = 5;
    		int i = bytebuffer.m12();
    		bytebuffer.position += i * 80;
    		byte[] is = (new byte[bytebuffer.buffer.length - bytebuffer.position]);
    		bytebuffer.m1387(is, 0, is.length);
    		byte[] is_1_;
    		if (biginteger == null || biginteger_0_ == null)
    			is_1_ = is;
    		else {
    			BigInteger biginteger_2_ = new BigInteger(is);
    			BigInteger biginteger_3_ = biginteger_2_.modPow(biginteger, biginteger_0_);
    			is_1_ = biginteger_3_.toByteArray();
    		}
    		if (65 != is_1_.length)
    			throw new RuntimeException();
    		byte[] is_4_ = Class638.m1745(bytebuffer.buffer, 5, bytebuffer.position - is.length - 5);
    		for (int i_5_ = 0; i_5_ < 64; i_5_++) {
    			if (is_4_[i_5_] != is_1_[i_5_ + 1])
    				throw new RuntimeException();
    		}
    		f8388 = new Class548[i];
    		for (int i_6_ = 0; i_6_ < i; i_6_++) {
    			bytebuffer.position = i_6_ * 80 + 6;
    			int i_7_ = bytebuffer.m273();
    			int i_8_ = bytebuffer.m273();
    			bytebuffer.m273();
    			bytebuffer.m273();
    			byte[] is_9_ = new byte[64];
    			bytebuffer.m1387(is_9_, 0, 64);
    			f8388[i_6_] = new Class548(i_7_, i_8_, is_9_);
    		}
    	}
    yes except that the code that u posted hasn't changed for ages and u probably have no idea what u just posted

    OT: very nice contribution mgi125
     

  6. Thankful users:


  7. #6  
    A good beginning makes a good end.
    Elon Musk's Avatar
    Join Date
    Mar 2013
    Posts
    663
    Thanks given
    86
    Thanks received
    72
    Rep Power
    87
    Nice release man, keep up the good work.
    Attached image
    Attached image
    Attached image
     

  8. #7  
    Donator

    Join Date
    Oct 2010
    Posts
    685
    Thanks given
    49
    Thanks received
    67
    Rep Power
    63
    Quote Originally Posted by Savions Sw View Post
    yes except that the code that u posted hasn't changed for ages and u probably have no idea what u just posted

    OT: very nice contribution mgi125
    Really? So I'm spending hours not knowing the code receives, decrypts and processes archive information regarding revision, CRC and other neat stuff? Right...
     

  9. #8  
    Developer


    Join Date
    Aug 2012
    Posts
    2,493
    Thanks given
    180
    Thanks received
    1,732
    Rep Power
    2487
    Quote Originally Posted by Kagani View Post
    Really? So I'm spending hours not knowing the code receives, decrypts and processes archive information regarding revision, CRC and other neat stuff? Right...
    ya u do if it took u hours when u are provided with the encoding source code and also when the format hasn't changed for decades
     

  10. #9  
    Donator

    Join Date
    Oct 2010
    Posts
    685
    Thanks given
    49
    Thanks received
    67
    Rep Power
    63
    Quote Originally Posted by Savions Sw View Post
    ya u do if it took u hours when u are provided with the encoding source code and also when the format hasn't changed for decades

    'scuse me for being new to all of these encodings.
     

  11. #10  
    Registered Member
    Join Date
    Oct 2012
    Posts
    1,279
    Thanks given
    331
    Thanks received
    257
    Rep Power
    69
    Thanks will help the refactoring of the 637 client.
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Server Ip: Renamed 317 deob
    By Streax in forum Tutorials
    Replies: 4
    Last Post: 05-20-2010, 02:38 AM
  2. Replies: 26
    Last Post: 12-28-2009, 11:13 PM
  3. Renamed 317 Deob
    By Jordan :D in forum Requests
    Replies: 1
    Last Post: 07-24-2009, 12:08 PM
  4. [How To]Watch High Quality Youtube Videos!
    By Vv geget2 in forum Videos
    Replies: 1
    Last Post: 08-17-2008, 09:59 PM
  5. How to make youtube videos high quality!
    By Senses in forum Videos
    Replies: 1
    Last Post: 07-14-2008, 12:26 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •