
public class Class96 {

   public int[] anIntArray944;
   public short[] aShortArray945;
   public int anInt946 = 0;
   public int anInt947 = 12;
   public int[] anIntArray948;
   public int[] anIntArray949;
   public int[] anIntArray950;
   public byte[] aByteArray951;
   public int anInt952 = 0;
   public short[] aShortArray953;
   public short[] aShortArray954;
   public short[] aShortArray955;
   public byte[] aByteArray956;
   public byte[] aByteArray957;
   public byte[] aByteArray958;
   public byte[] aByteArray959;
   public short[] aShortArray960;
   public short[] aShortArray961;
   public int anInt962 = 0;
   public byte aByte963 = 0;
   public short[] aShortArray964;
   public int anInt965 = 0;
   public int[] anIntArray966;
   public short[] aShortArray967;
   public int[] anIntArray968;
   public short[] aShortArray969;
   public int[] anIntArray970;
   public Class80[] aClass80Array971;
   public int[] anIntArray972;
   public int[] anIntArray973;
   public int[] anIntArray974;
   public int[] anIntArray975;
   public byte[] aByteArray976;
   public short[] aShortArray977;
   public byte[] aByteArray978;
   public Class166[] aClass166Array979;
   public Class92[] aClass92Array980;


   final int method1846(Class96 var1, int var2, short var3) {
      int var4 = var1.anIntArray970[var2];
      int var5 = var1.anIntArray948[var2];
      int var6 = var1.anIntArray968[var2];

      for(int var7 = 0; var7 < this.anInt962; ++var7) {
         if(var4 == this.anIntArray970[var7] && var5 == this.anIntArray948[var7] && var6 == this.anIntArray968[var7]) {
            this.aShortArray953[var7] |= var3;
            return var7;
         }
      }

      this.anIntArray970[this.anInt962] = var4;
      this.anIntArray948[this.anInt962] = var5;
      this.anIntArray968[this.anInt962] = var6;
      this.aShortArray953[this.anInt962] = var3;
      this.anIntArray950[this.anInt962] = var1.anIntArray950 != null?var1.anIntArray950[var2]:-1;
      return this.anInt962++;
   }

   public int[][] method1847() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         var4 = this.anIntArray944[var3];
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.anInt952; ++var4) {
         int var5 = this.anIntArray944[var4];
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   public void method1848(int var1) {
      int var2;
      for(var2 = 0; var2 < this.anInt962; ++var2) {
         this.anIntArray970[var2] <<= var1;
         this.anIntArray948[var2] <<= var1;
         this.anIntArray968[var2] <<= var1;
      }

      if(this.anInt965 > 0 && this.anIntArray966 != null) {
         for(var2 = 0; var2 < this.anIntArray966.length; ++var2) {
            this.anIntArray966[var2] <<= var1;
            this.anIntArray949[var2] <<= var1;
            if(this.aByteArray957[var2] != 1) {
               this.anIntArray972[var2] <<= var1;
            }
         }
      }

   }

   public Class96(Class96[] var1, int var2) {
      this.anInt962 = 0;
      this.anInt952 = 0;
      this.anInt965 = 0;
      int var3 = 0;
      int var4 = 0;
      int var5 = 0;
      boolean var6 = false;
      boolean var7 = false;
      boolean var8 = false;
      boolean var9 = false;
      boolean var10 = false;
      boolean var11 = false;
      this.aByte963 = -1;

      int var12;
      for(var12 = 0; var12 < var2; ++var12) {
         Class96 var13 = var1[var12];
         if(var13 != null) {
            this.anInt962 += var13.anInt962;
            this.anInt952 += var13.anInt952;
            this.anInt965 += var13.anInt965;
            if(var13.aClass80Array971 != null) {
               var3 += var13.aClass80Array971.length;
            }

            if(var13.aClass166Array979 != null) {
               var4 += var13.aClass166Array979.length;
            }

            if(var13.aClass92Array980 != null) {
               var5 += var13.aClass92Array980.length;
            }

            var6 |= var13.aByteArray956 != null;
            if(var13.aByteArray978 != null) {
               var7 = true;
            } else {
               if(this.aByte963 == -1) {
                  this.aByte963 = var13.aByte963;
               }

               if(this.aByte963 != var13.aByte963) {
                  var7 = true;
               }
            }

            var8 |= var13.aByteArray958 != null;
            var9 |= var13.aByteArray951 != null;
            var10 |= var13.aShortArray961 != null;
            var11 |= var13.anIntArray944 != null;
         }
      }

      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.anIntArray950 = new int[this.anInt962];
      this.aShortArray953 = new short[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(var6) {
         this.aByteArray956 = new byte[this.anInt952];
      }

      if(var7) {
         this.aByteArray978 = new byte[this.anInt952];
      }

      if(var8) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var9) {
         this.aByteArray951 = new byte[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      if(var10) {
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var11) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray964 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
         this.anIntArray966 = new int[this.anInt965];
         this.anIntArray949 = new int[this.anInt965];
         this.anIntArray972 = new int[this.anInt965];
         this.aByteArray976 = new byte[this.anInt965];
         this.aByteArray959 = new byte[this.anInt965];
         this.anIntArray973 = new int[this.anInt965];
         this.anIntArray974 = new int[this.anInt965];
         this.anIntArray975 = new int[this.anInt965];
      }

      if(var5 > 0) {
         this.aClass92Array980 = new Class92[var5];
      }

      if(var3 > 0) {
         this.aClass80Array971 = new Class80[var3];
      }

      if(var4 > 0) {
         this.aClass166Array979 = new Class166[var4];
      }

      this.anInt962 = 0;
      this.anInt952 = 0;
      this.anInt965 = 0;
      var3 = 0;
      var4 = 0;
      var5 = 0;

      int var22;
      for(var12 = 0; var12 < var2; ++var12) {
         short var20 = (short)(1 << var12);
         Class96 var14 = var1[var12];
         if(var14 != null) {
            int var15;
            if(var14.aClass92Array980 != null) {
               for(var15 = 0; var15 < var14.aClass92Array980.length; ++var15) {
                  Class92 var16 = var14.aClass92Array980[var15];
                  this.aClass92Array980[var5++] = var16.method1808(var16.anInt910 * -1848462151 + this.anInt952, (byte)0);
               }
            }

            for(var15 = 0; var15 < var14.anInt952; ++var15) {
               if(var6 && var14.aByteArray956 != null) {
                  this.aByteArray956[this.anInt952] = var14.aByteArray956[var15];
               }

               if(var7) {
                  if(var14.aByteArray978 != null) {
                     this.aByteArray978[this.anInt952] = var14.aByteArray978[var15];
                  } else {
                     this.aByteArray978[this.anInt952] = var14.aByte963;
                  }
               }

               if(var8 && var14.aByteArray958 != null) {
                  this.aByteArray958[this.anInt952] = var14.aByteArray958[var15];
               }

               if(var10) {
                  if(var14.aShortArray961 != null) {
                     this.aShortArray961[this.anInt952] = var14.aShortArray961[var15];
                  } else {
                     this.aShortArray961[this.anInt952] = -1;
                  }
               }

               if(var11) {
                  if(var14.anIntArray944 != null) {
                     this.anIntArray944[this.anInt952] = var14.anIntArray944[var15];
                  } else {
                     this.anIntArray944[this.anInt952] = -1;
                  }
               }

               this.aShortArray955[this.anInt952] = (short)this.method1849(var14, var14.aShortArray955[var15], var20);
               this.aShortArray954[this.anInt952] = (short)this.method1849(var14, var14.aShortArray954[var15], var20);
               this.aShortArray945[this.anInt952] = (short)this.method1849(var14, var14.aShortArray945[var15], var20);
               this.aShortArray964[this.anInt952] = var20;
               this.aShortArray960[this.anInt952] = var14.aShortArray960[var15];
               ++this.anInt952;
            }

            if(var14.aClass80Array971 != null) {
               for(var15 = 0; var15 < var14.aClass80Array971.length; ++var15) {
                  var22 = this.method1849(var14, var14.aClass80Array971[var15].anInt823 * -1938327915, var20);
                  int var17 = this.method1849(var14, var14.aClass80Array971[var15].anInt817 * 155642623, var20);
                  int var18 = this.method1849(var14, var14.aClass80Array971[var15].anInt816 * 1387679, var20);
                  this.aClass80Array971[var3] = var14.aClass80Array971[var15].method1643(var22, var17, var18, -1440375379);
                  ++var3;
               }
            }

            if(var14.aClass166Array979 != null) {
               for(var15 = 0; var15 < var14.aClass166Array979.length; ++var15) {
                  var22 = this.method1849(var14, var14.aClass166Array979[var15].anInt2017 * 1229316477, var20);
                  this.aClass166Array979[var4] = var14.aClass166Array979[var15].method2850(var22, -43178324);
                  ++var4;
               }
            }
         }
      }

      var12 = 0;
      this.anInt946 = this.anInt962;

      for(int var19 = 0; var19 < var2; ++var19) {
         short var21 = (short)(1 << var19);
         Class96 var23 = var1[var19];
         if(var23 != null) {
            for(var22 = 0; var22 < var23.anInt952; ++var22) {
               if(var9) {
                  this.aByteArray951[var12++] = (byte)(var23.aByteArray951 != null && var23.aByteArray951[var22] != -1?var23.aByteArray951[var22] + this.anInt965:-1);
               }
            }

            for(var22 = 0; var22 < var23.anInt965; ++var22) {
               byte var24 = this.aByteArray957[this.anInt965] = var23.aByteArray957[var22];
               if(var24 == 0) {
                  this.aShortArray967[this.anInt965] = (short)this.method1849(var23, var23.aShortArray967[var22], var21);
                  this.aShortArray977[this.anInt965] = (short)this.method1849(var23, var23.aShortArray977[var22], var21);
                  this.aShortArray969[this.anInt965] = (short)this.method1849(var23, var23.aShortArray969[var22], var21);
               }

               if(var24 >= 1 && var24 <= 3) {
                  this.aShortArray967[this.anInt965] = var23.aShortArray967[var22];
                  this.aShortArray977[this.anInt965] = var23.aShortArray977[var22];
                  this.aShortArray969[this.anInt965] = var23.aShortArray969[var22];
                  this.anIntArray966[this.anInt965] = var23.anIntArray966[var22];
                  this.anIntArray949[this.anInt965] = var23.anIntArray949[var22];
                  this.anIntArray972[this.anInt965] = var23.anIntArray972[var22];
                  this.aByteArray976[this.anInt965] = var23.aByteArray976[var22];
                  this.aByteArray959[this.anInt965] = var23.aByteArray959[var22];
                  this.anIntArray973[this.anInt965] = var23.anIntArray973[var22];
               }

               if(var24 == 2) {
                  this.anIntArray974[this.anInt965] = var23.anIntArray974[var22];
                  this.anIntArray975[this.anInt965] = var23.anIntArray975[var22];
               }

               ++this.anInt965;
            }
         }
      }

   }

   final int method1849(Class96 var1, int var2, short var3) {
      int var4 = var1.anIntArray970[var2];
      int var5 = var1.anIntArray948[var2];
      int var6 = var1.anIntArray968[var2];

      for(int var7 = 0; var7 < this.anInt962; ++var7) {
         if(var4 == this.anIntArray970[var7] && var5 == this.anIntArray948[var7] && var6 == this.anIntArray968[var7]) {
            this.aShortArray953[var7] |= var3;
            return var7;
         }
      }

      this.anIntArray970[this.anInt962] = var4;
      this.anIntArray948[this.anInt962] = var5;
      this.anIntArray968[this.anInt962] = var6;
      this.aShortArray953[this.anInt962] = var3;
      this.anIntArray950[this.anInt962] = var1.anIntArray950 != null?var1.anIntArray950[var2]:-1;
      return this.anInt962++;
   }

   public int[][] method1850() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         var4 = this.anIntArray944[var3];
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.anInt952; ++var4) {
         int var5 = this.anIntArray944[var4];
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   void method1851(RS2Buffer var1, RS2Buffer var2) {
      short var3 = 0;
      short var4 = 0;
      short var5 = 0;
      short var6 = 0;

      for(int var7 = 0; var7 < this.anInt952; ++var7) {
         int var8 = var2.readUnsignedByte(-700559597);
         if(var8 == 1) {
            var3 = (short)(var1.method13738(162102972) + var6);
            var4 = (short)(var1.method13738(1445737215) + var3);
            var5 = (short)(var1.method13738(-161766965) + var4);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var3 > this.anInt946) {
               this.anInt946 = var3;
            }

            if(var4 > this.anInt946) {
               this.anInt946 = var4;
            }

            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 2) {
            var4 = var5;
            var5 = (short)(var1.method13738(-1881941689) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 3) {
            var3 = var5;
            var5 = (short)(var1.method13738(-39253794) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 4) {
            short var9 = var3;
            var3 = var4;
            var4 = var9;
            var5 = (short)(var1.method13738(-1477481362) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var9;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }
      }

      ++this.anInt946;
   }

   void method1852(RS2Buffer var1, RS2Buffer var2, RS2Buffer var3, RS2Buffer var4, RS2Buffer var5, RS2Buffer var6) {
      for(int var7 = 0; var7 < this.anInt965; ++var7) {
         int var8 = this.aByteArray957[var7] & 255;
         if(var8 == 0) {
            this.aShortArray967[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var1.readUnsignedShort(-937710807);
         }

         if(var8 == 1) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(-564753237);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(1325918740);
               this.anIntArray949[var7] = var3.readTriByte(-1137836433);
               this.anIntArray972[var7] = var3.readTriByte(695577923);
            }

            this.aByteArray976[var7] = var4.readByte(2005963275);
            this.aByteArray959[var7] = var5.readByte(-169995217);
            this.anIntArray973[var7] = var6.readByte(920020278);
         }

         if(var8 == 2) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(275598026);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(-491299304);
               this.anIntArray949[var7] = var3.readTriByte(509734289);
               this.anIntArray972[var7] = var3.readTriByte(1780558133);
            }

            this.aByteArray976[var7] = var4.readByte(1730101433);
            this.aByteArray959[var7] = var5.readByte(-952967524);
            this.anIntArray973[var7] = var6.readByte(1963647571);
            this.anIntArray974[var7] = var6.readByte(-161925346);
            this.anIntArray975[var7] = var6.readByte(310657234);
         }

         if(var8 == 3) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(1425440630);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(452495931);
               this.anIntArray949[var7] = var3.readTriByte(713362066);
               this.anIntArray972[var7] = var3.readTriByte(319199965);
            }

            this.aByteArray976[var7] = var4.readByte(87661020);
            this.aByteArray959[var7] = var5.readByte(-1063867773);
            this.anIntArray973[var7] = var6.readByte(1898006631);
         }
      }

   }

   void method1853(byte[] var1) {
      boolean var2 = false;
      boolean var3 = false;
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var4.position = (var1.length - 18) * 1385214721;
      this.anInt962 = var4.readUnsignedShort(-937710807);
      this.anInt952 = var4.readUnsignedShort(-937710807);
      this.anInt965 = var4.readUnsignedByte(-700559597);
      int var9 = var4.readUnsignedByte(-700559597);
      int var10 = var4.readUnsignedByte(-700559597);
      int var11 = var4.readUnsignedByte(-700559597);
      int var12 = var4.readUnsignedByte(-700559597);
      int var13 = var4.readUnsignedByte(-700559597);
      int var14 = var4.readUnsignedShort(-937710807);
      int var15 = var4.readUnsignedShort(-937710807);
      int var16 = var4.readUnsignedShort(-937710807);
      int var17 = var4.readUnsignedShort(-937710807);
      byte var18 = 0;
      int var42 = var18 + this.anInt962;
      int var20 = var42;
      var42 += this.anInt952;
      int var21 = var42;
      if(var10 == 255) {
         var42 += this.anInt952;
      }

      int var22 = var42;
      if(var12 == 1) {
         var42 += this.anInt952;
      }

      int var23 = var42;
      if(var9 == 1) {
         var42 += this.anInt952;
      }

      int var24 = var42;
      if(var13 == 1) {
         var42 += this.anInt962;
      }

      int var25 = var42;
      if(var11 == 1) {
         var42 += this.anInt952;
      }

      int var26 = var42;
      var42 += var17;
      int var27 = var42;
      var42 += this.anInt952 * 2;
      int var28 = var42;
      var42 += this.anInt965 * 6;
      int var29 = var42;
      var42 += var14;
      int var30 = var42;
      var42 += var15;
      int var10000 = var42 + var16;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
      }

      if(var13 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var9 == 1) {
         this.aByteArray956 = new byte[this.anInt952];
         this.aByteArray951 = new byte[this.anInt952];
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var10 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var10;
      }

      if(var11 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var12 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      var4.position = var18 * 1385214721;
      var5.position = var29 * 1385214721;
      var6.position = var30 * 1385214721;
      var7.position = var42 * 1385214721;
      var8.position = var24 * 1385214721;
      int var32 = 0;
      int var33 = 0;
      int var34 = 0;

      int var35;
      int var39;
      int var36;
      for(var35 = 0; var35 < this.anInt962; ++var35) {
         var36 = var4.readUnsignedByte(-700559597);
         int var37 = 0;
         if((var36 & 1) != 0) {
            var37 = var5.method13738(2052793639);
         }

         int var38 = 0;
         if((var36 & 2) != 0) {
            var38 = var6.method13738(846744577);
         }

         var39 = 0;
         if((var36 & 4) != 0) {
            var39 = var7.method13738(-1055672540);
         }

         this.anIntArray970[var35] = var32 + var37;
         this.anIntArray948[var35] = var33 + var38;
         this.anIntArray968[var35] = var34 + var39;
         var32 = this.anIntArray970[var35];
         var33 = this.anIntArray948[var35];
         var34 = this.anIntArray968[var35];
         if(var13 == 1) {
            this.anIntArray950[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      var4.position = var27 * 1385214721;
      var5.position = var23 * 1385214721;
      var6.position = var21 * 1385214721;
      var7.position = var25 * 1385214721;
      var8.position = var22 * 1385214721;

      for(var35 = 0; var35 < this.anInt952; ++var35) {
         this.aShortArray960[var35] = (short)var4.readUnsignedShort(-937710807);
         if(var9 == 1) {
            var36 = var5.readUnsignedByte(-700559597);
            if((var36 & 1) == 1) {
               this.aByteArray956[var35] = 1;
               var2 = true;
            } else {
               this.aByteArray956[var35] = 0;
            }

            if((var36 & 2) == 2) {
               this.aByteArray951[var35] = (byte)(var36 >> 2);
               this.aShortArray961[var35] = this.aShortArray960[var35];
               this.aShortArray960[var35] = 127;
               if(this.aShortArray961[var35] != -1) {
                  var3 = true;
               }
            } else {
               this.aByteArray951[var35] = -1;
               this.aShortArray961[var35] = -1;
            }
         }

         if(var10 == 255) {
            this.aByteArray978[var35] = var6.readByte(634247755);
         }

         if(var11 == 1) {
            this.aByteArray958[var35] = var7.readByte(884592885);
         }

         if(var12 == 1) {
            this.anIntArray944[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      this.anInt946 = -1;
      var4.position = var26 * 1385214721;
      var5.position = var20 * 1385214721;
      short var43 = 0;
      short var44 = 0;
      short var46 = 0;
      short var45 = 0;

      int var40;
      for(var39 = 0; var39 < this.anInt952; ++var39) {
         var40 = var5.readUnsignedByte(-700559597);
         if(var40 == 1) {
            var43 = (short)(var4.method13738(-1860607964) + var45);
            var44 = (short)(var4.method13738(1870354033) + var43);
            var46 = (short)(var4.method13738(1821568480) + var44);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var43 > this.anInt946) {
               this.anInt946 = var43;
            }

            if(var44 > this.anInt946) {
               this.anInt946 = var44;
            }

            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 2) {
            var44 = var46;
            var46 = (short)(var4.method13738(-92363112) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 3) {
            var43 = var46;
            var46 = (short)(var4.method13738(2112184432) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 4) {
            short var41 = var43;
            var43 = var44;
            var44 = var41;
            var46 = (short)(var4.method13738(-1699215138) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var41;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }
      }

      ++this.anInt946;
      var4.position = var28 * 1385214721;

      for(var39 = 0; var39 < this.anInt965; ++var39) {
         this.aByteArray957[var39] = 0;
         this.aShortArray967[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray977[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray969[var39] = (short)var4.readUnsignedShort(-937710807);
      }

      if(this.aByteArray951 != null) {
         boolean var47 = false;

         for(var40 = 0; var40 < this.anInt952; ++var40) {
            int var48 = this.aByteArray951[var40] & 255;
            if(var48 != 255) {
               if((this.aShortArray967[var48] & '\uffff') == this.aShortArray955[var40] && (this.aShortArray977[var48] & '\uffff') == this.aShortArray954[var40] && (this.aShortArray969[var48] & '\uffff') == this.aShortArray945[var40]) {
                  this.aByteArray951[var40] = -1;
               } else {
                  var47 = true;
               }
            }
         }

         if(!var47) {
            this.aByteArray951 = null;
         }
      }

      if(!var3) {
         this.aShortArray961 = null;
      }

      if(!var2) {
         this.aByteArray956 = null;
      }

   }

   public int method1854(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         if(this.anIntArray970[var4] == var1 && this.anIntArray948[var4] == var2 && this.anIntArray968[var4] == var3) {
            return var4;
         }
      }

      this.anIntArray970[this.anInt962] = var1;
      this.anIntArray948[this.anInt962] = var2;
      this.anIntArray968[this.anInt962] = var3;
      this.anInt946 = this.anInt962 + 1;
      return this.anInt962++;
   }

   public int method1855(int var1, int var2, int var3, byte var4, byte var5, short var6, byte var7, short var8) {
      this.aShortArray955[this.anInt952] = (short)var1;
      this.aShortArray954[this.anInt952] = (short)var2;
      this.aShortArray945[this.anInt952] = (short)var3;
      this.aByteArray956[this.anInt952] = var4;
      this.aByteArray951[this.anInt952] = var5;
      this.aShortArray960[this.anInt952] = var6;
      this.aByteArray958[this.anInt952] = var7;
      this.aShortArray961[this.anInt952] = var8;
      return this.anInt952++;
   }

   public void method1856(short var1, short var2) {
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         if(this.aShortArray960[var3] == var1) {
            this.aShortArray960[var3] = var2;
         }
      }

   }

   public byte method1857(short var1, short var2, short var3, short var4, short var5, short var6, byte var7, byte var8, byte var9) {
      if(this.anInt965 >= 255) {
         throw new IllegalStateException();
      } else {
         this.aByteArray957[this.anInt965] = 3;
         this.aShortArray967[this.anInt965] = var1;
         this.aShortArray977[this.anInt965] = var2;
         this.aShortArray969[this.anInt965] = var3;
         this.anIntArray966[this.anInt965] = var4;
         this.anIntArray949[this.anInt965] = var5;
         this.anIntArray972[this.anInt965] = var6;
         this.aByteArray976[this.anInt965] = var7;
         this.aByteArray959[this.anInt965] = var8;
         this.anIntArray973[this.anInt965] = var9;
         return (byte)(this.anInt965++);
      }
   }

   void method1858(RS2Buffer var1, RS2Buffer var2, RS2Buffer var3, RS2Buffer var4, RS2Buffer var5, RS2Buffer var6) {
      for(int var7 = 0; var7 < this.anInt965; ++var7) {
         int var8 = this.aByteArray957[var7] & 255;
         if(var8 == 0) {
            this.aShortArray967[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var1.readUnsignedShort(-937710807);
         }

         if(var8 == 1) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(1005590516);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(1147552495);
               this.anIntArray949[var7] = var3.readTriByte(-300612040);
               this.anIntArray972[var7] = var3.readTriByte(-624207497);
            }

            this.aByteArray976[var7] = var4.readByte(-105846938);
            this.aByteArray959[var7] = var5.readByte(504083449);
            this.anIntArray973[var7] = var6.readByte(417005943);
         }

         if(var8 == 2) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(1698904337);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(2034288314);
               this.anIntArray949[var7] = var3.readTriByte(1267511772);
               this.anIntArray972[var7] = var3.readTriByte(757905232);
            }

            this.aByteArray976[var7] = var4.readByte(698588260);
            this.aByteArray959[var7] = var5.readByte(-352349743);
            this.anIntArray973[var7] = var6.readByte(212336894);
            this.anIntArray974[var7] = var6.readByte(-952499200);
            this.anIntArray975[var7] = var6.readByte(-1103577897);
         }

         if(var8 == 3) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(226337070);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(1464528945);
               this.anIntArray949[var7] = var3.readTriByte(-166624921);
               this.anIntArray972[var7] = var3.readTriByte(-331459642);
            }

            this.aByteArray976[var7] = var4.readByte(1811433180);
            this.aByteArray959[var7] = var5.readByte(-871092420);
            this.anIntArray973[var7] = var6.readByte(925425326);
         }
      }

   }

   public int[][] method1859() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.aClass92Array980.length; ++var3) {
         var4 = this.aClass92Array980[var3].anInt909 * -1894700815;
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.aClass92Array980.length; ++var4) {
         int var5 = this.aClass92Array980[var4].anInt909 * -1894700815;
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   public void method1860(short var1, short var2) {
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         if(this.aShortArray960[var3] == var1) {
            this.aShortArray960[var3] = var2;
         }
      }

   }

   Class96(byte[] var1) {
      if(var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) {
         this.method1875(var1);
      } else {
         this.method1853(var1);
      }

   }

   void method1861(byte[] var1) {
      boolean var2 = false;
      boolean var3 = false;
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var4.position = (var1.length - 18) * 1385214721;
      this.anInt962 = var4.readUnsignedShort(-937710807);
      this.anInt952 = var4.readUnsignedShort(-937710807);
      this.anInt965 = var4.readUnsignedByte(-700559597);
      int var9 = var4.readUnsignedByte(-700559597);
      int var10 = var4.readUnsignedByte(-700559597);
      int var11 = var4.readUnsignedByte(-700559597);
      int var12 = var4.readUnsignedByte(-700559597);
      int var13 = var4.readUnsignedByte(-700559597);
      int var14 = var4.readUnsignedShort(-937710807);
      int var15 = var4.readUnsignedShort(-937710807);
      int var16 = var4.readUnsignedShort(-937710807);
      int var17 = var4.readUnsignedShort(-937710807);
      byte var18 = 0;
      int var42 = var18 + this.anInt962;
      int var20 = var42;
      var42 += this.anInt952;
      int var21 = var42;
      if(var10 == 255) {
         var42 += this.anInt952;
      }

      int var22 = var42;
      if(var12 == 1) {
         var42 += this.anInt952;
      }

      int var23 = var42;
      if(var9 == 1) {
         var42 += this.anInt952;
      }

      int var24 = var42;
      if(var13 == 1) {
         var42 += this.anInt962;
      }

      int var25 = var42;
      if(var11 == 1) {
         var42 += this.anInt952;
      }

      int var26 = var42;
      var42 += var17;
      int var27 = var42;
      var42 += this.anInt952 * 2;
      int var28 = var42;
      var42 += this.anInt965 * 6;
      int var29 = var42;
      var42 += var14;
      int var30 = var42;
      var42 += var15;
      int var10000 = var42 + var16;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
      }

      if(var13 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var9 == 1) {
         this.aByteArray956 = new byte[this.anInt952];
         this.aByteArray951 = new byte[this.anInt952];
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var10 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var10;
      }

      if(var11 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var12 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      var4.position = var18 * 1385214721;
      var5.position = var29 * 1385214721;
      var6.position = var30 * 1385214721;
      var7.position = var42 * 1385214721;
      var8.position = var24 * 1385214721;
      int var32 = 0;
      int var33 = 0;
      int var34 = 0;

      int var35;
      int var39;
      int var36;
      for(var35 = 0; var35 < this.anInt962; ++var35) {
         var36 = var4.readUnsignedByte(-700559597);
         int var37 = 0;
         if((var36 & 1) != 0) {
            var37 = var5.method13738(1074285233);
         }

         int var38 = 0;
         if((var36 & 2) != 0) {
            var38 = var6.method13738(-181605601);
         }

         var39 = 0;
         if((var36 & 4) != 0) {
            var39 = var7.method13738(1573742495);
         }

         this.anIntArray970[var35] = var32 + var37;
         this.anIntArray948[var35] = var33 + var38;
         this.anIntArray968[var35] = var34 + var39;
         var32 = this.anIntArray970[var35];
         var33 = this.anIntArray948[var35];
         var34 = this.anIntArray968[var35];
         if(var13 == 1) {
            this.anIntArray950[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      var4.position = var27 * 1385214721;
      var5.position = var23 * 1385214721;
      var6.position = var21 * 1385214721;
      var7.position = var25 * 1385214721;
      var8.position = var22 * 1385214721;

      for(var35 = 0; var35 < this.anInt952; ++var35) {
         this.aShortArray960[var35] = (short)var4.readUnsignedShort(-937710807);
         if(var9 == 1) {
            var36 = var5.readUnsignedByte(-700559597);
            if((var36 & 1) == 1) {
               this.aByteArray956[var35] = 1;
               var2 = true;
            } else {
               this.aByteArray956[var35] = 0;
            }

            if((var36 & 2) == 2) {
               this.aByteArray951[var35] = (byte)(var36 >> 2);
               this.aShortArray961[var35] = this.aShortArray960[var35];
               this.aShortArray960[var35] = 127;
               if(this.aShortArray961[var35] != -1) {
                  var3 = true;
               }
            } else {
               this.aByteArray951[var35] = -1;
               this.aShortArray961[var35] = -1;
            }
         }

         if(var10 == 255) {
            this.aByteArray978[var35] = var6.readByte(1134807487);
         }

         if(var11 == 1) {
            this.aByteArray958[var35] = var7.readByte(1343285852);
         }

         if(var12 == 1) {
            this.anIntArray944[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      this.anInt946 = -1;
      var4.position = var26 * 1385214721;
      var5.position = var20 * 1385214721;
      short var43 = 0;
      short var44 = 0;
      short var46 = 0;
      short var45 = 0;

      int var40;
      for(var39 = 0; var39 < this.anInt952; ++var39) {
         var40 = var5.readUnsignedByte(-700559597);
         if(var40 == 1) {
            var43 = (short)(var4.method13738(-1910676024) + var45);
            var44 = (short)(var4.method13738(-2008265482) + var43);
            var46 = (short)(var4.method13738(1869349292) + var44);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var43 > this.anInt946) {
               this.anInt946 = var43;
            }

            if(var44 > this.anInt946) {
               this.anInt946 = var44;
            }

            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 2) {
            var44 = var46;
            var46 = (short)(var4.method13738(353699892) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 3) {
            var43 = var46;
            var46 = (short)(var4.method13738(-196915007) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 4) {
            short var41 = var43;
            var43 = var44;
            var44 = var41;
            var46 = (short)(var4.method13738(1250888730) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var41;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }
      }

      ++this.anInt946;
      var4.position = var28 * 1385214721;

      for(var39 = 0; var39 < this.anInt965; ++var39) {
         this.aByteArray957[var39] = 0;
         this.aShortArray967[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray977[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray969[var39] = (short)var4.readUnsignedShort(-937710807);
      }

      if(this.aByteArray951 != null) {
         boolean var47 = false;

         for(var40 = 0; var40 < this.anInt952; ++var40) {
            int var48 = this.aByteArray951[var40] & 255;
            if(var48 != 255) {
               if((this.aShortArray967[var48] & '\uffff') == this.aShortArray955[var40] && (this.aShortArray977[var48] & '\uffff') == this.aShortArray954[var40] && (this.aShortArray969[var48] & '\uffff') == this.aShortArray945[var40]) {
                  this.aByteArray951[var40] = -1;
               } else {
                  var47 = true;
               }
            }
         }

         if(!var47) {
            this.aByteArray951 = null;
         }
      }

      if(!var3) {
         this.aShortArray961 = null;
      }

      if(!var2) {
         this.aByteArray956 = null;
      }

   }

   void method1862(RS2Buffer var1, RS2Buffer var2, RS2Buffer var3, RS2Buffer var4, RS2Buffer var5, RS2Buffer var6) {
      for(int var7 = 0; var7 < this.anInt965; ++var7) {
         int var8 = this.aByteArray957[var7] & 255;
         if(var8 == 0) {
            this.aShortArray967[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var1.readUnsignedShort(-937710807);
         }

         if(var8 == 1) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(2140490301);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(224110583);
               this.anIntArray949[var7] = var3.readTriByte(1888439633);
               this.anIntArray972[var7] = var3.readTriByte(-396317374);
            }

            this.aByteArray976[var7] = var4.readByte(1861720510);
            this.aByteArray959[var7] = var5.readByte(1625884925);
            this.anIntArray973[var7] = var6.readByte(1610344932);
         }

         if(var8 == 2) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(-1430369346);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(-353659198);
               this.anIntArray949[var7] = var3.readTriByte(936006820);
               this.anIntArray972[var7] = var3.readTriByte(-1783106749);
            }

            this.aByteArray976[var7] = var4.readByte(1543859590);
            this.aByteArray959[var7] = var5.readByte(1531427520);
            this.anIntArray973[var7] = var6.readByte(718753610);
            this.anIntArray974[var7] = var6.readByte(1717566211);
            this.anIntArray975[var7] = var6.readByte(-263851122);
         }

         if(var8 == 3) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(-195363648);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(-1662576811);
               this.anIntArray949[var7] = var3.readTriByte(-1477476617);
               this.anIntArray972[var7] = var3.readTriByte(-1762977706);
            }

            this.aByteArray976[var7] = var4.readByte(59237193);
            this.aByteArray959[var7] = var5.readByte(118380622);
            this.anIntArray973[var7] = var6.readByte(1814334145);
         }
      }

   }

   public void method1863(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         this.anIntArray970[var4] += var1;
         this.anIntArray948[var4] += var2;
         this.anIntArray968[var4] += var3;
      }

   }

   public static Class96 method1864(Class253 var0, int var1, int var2) {
      byte[] var3 = var0.method4547(var1, var2, (byte)-74);
      return var3 == null?null:new Class96(var3);
   }

   public static Class96 method1865(Class253 var0, int var1, int var2) {
      byte[] var3 = var0.method4547(var1, var2, (byte)-50);
      return var3 == null?null:new Class96(var3);
   }

   final int method1866(Class96 var1, int var2, short var3) {
      int var4 = var1.anIntArray970[var2];
      int var5 = var1.anIntArray948[var2];
      int var6 = var1.anIntArray968[var2];

      for(int var7 = 0; var7 < this.anInt962; ++var7) {
         if(var4 == this.anIntArray970[var7] && var5 == this.anIntArray948[var7] && var6 == this.anIntArray968[var7]) {
            this.aShortArray953[var7] |= var3;
            return var7;
         }
      }

      this.anIntArray970[this.anInt962] = var4;
      this.anIntArray948[this.anInt962] = var5;
      this.anIntArray968[this.anInt962] = var6;
      this.aShortArray953[this.anInt962] = var3;
      this.anIntArray950[this.anInt962] = var1.anIntArray950 != null?var1.anIntArray950[var2]:-1;
      return this.anInt962++;
   }

   public static Class96 method1867(Class253 var0, int var1, int var2) {
      byte[] var3 = var0.method4547(var1, var2, (byte)-18);
      return var3 == null?null:new Class96(var3);
   }

   void method1868(byte[] var1) {
      RS2Buffer var2 = new RS2Buffer(var1);
      RS2Buffer var3 = new RS2Buffer(var1);
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var2.position = (var1.length - 23) * 1385214721;
      this.anInt962 = var2.readUnsignedShort(-937710807);
      this.anInt952 = var2.readUnsignedShort(-937710807);
      this.anInt965 = var2.readUnsignedByte(-700559597);
      int var9 = var2.readUnsignedByte(-700559597);
      boolean var10 = (var9 & 1) == 1;
      boolean var11 = (var9 & 2) == 2;
      boolean var12 = (var9 & 4) == 4;
      boolean var13 = (var9 & 8) == 8;
      boolean var14 = (var9 & 16) == 16;
      boolean var15 = (var9 & 32) == 32;
      boolean var16 = (var9 & 64) == 64;
      int var17 = 0;
      int var18 = 0;
      if(var13) {
         var2.position -= 1106568455;
         if(var14) {
            var2.position -= -1524537854;
         }

         if(var15) {
            var2.position -= -1524537854;
         }

         if(var14) {
            var17 = var2.readUnsignedShort(-937710807);
         }

         if(var15) {
            var18 = var2.readUnsignedShort(-937710807);
         }

         this.anInt947 = var2.readUnsignedByte(-700559597);
         var2.position += -278646266;
      }

      int var19 = var2.readUnsignedByte(-700559597);
      int var20 = var2.readUnsignedByte(-700559597);
      int var21 = var2.readUnsignedByte(-700559597);
      int var22 = var2.readUnsignedByte(-700559597);
      int var23 = var2.readUnsignedByte(-700559597);
      int var24 = var2.readUnsignedShort(-937710807);
      int var25 = var2.readUnsignedShort(-937710807);
      int var26 = var2.readUnsignedShort(-937710807);
      int var27 = var2.readUnsignedShort(-937710807);
      int var28 = var2.readUnsignedShort(-937710807);
      if(!var14) {
         if(var23 == 1) {
            var17 = this.anInt962;
         } else {
            var17 = 0;
         }
      }

      if(!var15) {
         if(var21 == 1) {
            var18 = this.anInt952;
         } else {
            var18 = 0;
         }
      }

      int var29 = 0;
      int var30 = 0;
      int var31 = 0;
      int var32;
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         var2.position = 0;

         for(var32 = 0; var32 < this.anInt965; ++var32) {
            byte var33 = this.aByteArray957[var32] = var2.readByte(1677957194);
            if(var33 == 0) {
               ++var29;
            }

            if(var33 >= 1 && var33 <= 3) {
               ++var30;
            }

            if(var33 == 2) {
               ++var31;
            }
         }
      }

      var32 = this.anInt965;
      int var64 = var32;
      var32 += this.anInt962;
      int var34 = var32;
      if(var10) {
         var32 += this.anInt952;
      }

      int var35 = var32;
      var32 += this.anInt952;
      int var36 = var32;
      if(var19 == 255) {
         var32 += this.anInt952;
      }

      int var37 = var32;
      var32 += var18;
      int var38 = var32;
      var32 += var17;
      int var39 = var32;
      if(var20 == 1) {
         var32 += this.anInt952;
      }

      int var40 = var32;
      var32 += var27;
      int var41 = var32;
      if(var22 == 1) {
         var32 += this.anInt952 * 2;
      }

      int var42 = var32;
      var32 += var28;
      int var43 = var32;
      var32 += this.anInt952 * 2;
      int var44 = var32;
      var32 += var24;
      int var45 = var32;
      var32 += var25;
      int var46 = var32;
      var32 += var26;
      int var47 = var32;
      var32 += var29 * 6;
      int var48 = var32;
      var32 += var30 * 6;
      byte var49 = 6;
      if(this.anInt947 == 14) {
         var49 = 7;
      } else if(this.anInt947 >= 15) {
         var49 = 9;
      }

      int var50 = var32;
      var32 += var30 * var49;
      int var51 = var32;
      var32 += var30;
      int var52 = var32;
      var32 += var30;
      int var53 = var32;
      var32 += var30 + var31 * 2;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(var23 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var10) {
         this.aByteArray956 = new byte[this.anInt952];
      }

      if(var19 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var19;
      }

      if(var20 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var21 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      if(var22 == 1) {
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var22 == 1 && this.anInt965 > 0) {
         this.aByteArray951 = new byte[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
         if(var30 > 0) {
            this.anIntArray966 = new int[var30];
            this.anIntArray949 = new int[var30];
            this.anIntArray972 = new int[var30];
            this.aByteArray976 = new byte[var30];
            this.aByteArray959 = new byte[var30];
            this.anIntArray973 = new int[var30];
         }

         if(var31 > 0) {
            this.anIntArray974 = new int[var31];
            this.anIntArray975 = new int[var31];
         }
      }

      var2.position = var64 * 1385214721;
      var3.position = var44 * 1385214721;
      var4.position = var45 * 1385214721;
      var5.position = var46 * 1385214721;
      var6.position = var38 * 1385214721;
      int var55 = 0;
      int var56 = 0;
      int var57 = 0;

      int var59;
      int var58;
      int var62;
      int var61;
      int var60;
      for(var58 = 0; var58 < this.anInt962; ++var58) {
         var59 = var2.readUnsignedByte(-700559597);
         var60 = 0;
         if((var59 & 1) != 0) {
            var60 = var3.method13738(-1801627751);
         }

         var61 = 0;
         if((var59 & 2) != 0) {
            var61 = var4.method13738(2016451350);
         }

         var62 = 0;
         if((var59 & 4) != 0) {
            var62 = var5.method13738(-521123087);
         }

         this.anIntArray970[var58] = var55 + var60;
         this.anIntArray948[var58] = var56 + var61;
         this.anIntArray968[var58] = var57 + var62;
         var55 = this.anIntArray970[var58];
         var56 = this.anIntArray948[var58];
         var57 = this.anIntArray968[var58];
         if(var23 == 1) {
            if(var14) {
               this.anIntArray950[var58] = var6.method13740(-351398461);
            } else {
               this.anIntArray950[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray950[var58] == 255) {
                  this.anIntArray950[var58] = -1;
               }
            }
         }
      }

      var2.position = var43 * 1385214721;
      var3.position = var34 * 1385214721;
      var4.position = var36 * 1385214721;
      var5.position = var39 * 1385214721;
      var6.position = var37 * 1385214721;
      var7.position = var41 * 1385214721;
      var8.position = var42 * 1385214721;

      for(var58 = 0; var58 < this.anInt952; ++var58) {
         this.aShortArray960[var58] = (short)var2.readUnsignedShort(-937710807);
         if(var10) {
            this.aByteArray956[var58] = var3.readByte(-1348203248);
         }

         if(var19 == 255) {
            this.aByteArray978[var58] = var4.readByte(446809313);
         }

         if(var20 == 1) {
            this.aByteArray958[var58] = var5.readByte(65471806);
         }

         if(var21 == 1) {
            if(var15) {
               this.anIntArray944[var58] = var6.method13740(639142589);
            } else {
               this.anIntArray944[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray944[var58] == 255) {
                  this.anIntArray944[var58] = -1;
               }
            }
         }

         if(var22 == 1) {
            this.aShortArray961[var58] = (short)(var7.readUnsignedShort(-937710807) - 1);
         }

         if(this.aByteArray951 != null) {
            if(this.aShortArray961[var58] != -1) {
               this.aByteArray951[var58] = (byte)(var8.readUnsignedByte(-700559597) - 1);
            } else {
               this.aByteArray951[var58] = -1;
            }
         }
      }

      this.anInt946 = -1;
      var2.position = var40 * 1385214721;
      var3.position = var35 * 1385214721;
      this.method1851(var2, var3);
      var2.position = var47 * 1385214721;
      var3.position = var48 * 1385214721;
      var4.position = var50 * 1385214721;
      var5.position = var51 * 1385214721;
      var6.position = var52 * 1385214721;
      var7.position = var53 * 1385214721;
      this.method1852(var2, var3, var4, var5, var6, var7);
      var2.position = var32 * 1385214721;
      if(var11) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass80Array971 = new Class80[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               byte var65;
               if(var19 == 255) {
                  var65 = this.aByteArray978[var61];
               } else {
                  var65 = (byte)var19;
               }

               this.aClass80Array971[var59] = new Class80(var60, this.aShortArray955[var61], this.aShortArray954[var61], this.aShortArray945[var61], var65);
            }
         }

         var59 = var2.readUnsignedByte(-700559597);
         if(var59 > 0) {
            this.aClass166Array979 = new Class166[var59];

            for(var60 = 0; var60 < var59; ++var60) {
               var61 = var2.readUnsignedShort(-937710807);
               var62 = var2.readUnsignedShort(-937710807);
               this.aClass166Array979[var60] = new Class166(var61, var62);
            }
         }
      }

      if(var12) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass92Array980 = new Class92[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               if(var16) {
                  var62 = var2.method13740(-1166081771);
               } else {
                  var62 = var2.readUnsignedByte(-700559597);
                  if(var62 == 255) {
                     var62 = -1;
                  }
               }

               byte var63 = var2.readByte(1364484974);
               this.aClass92Array980[var59] = new Class92(var60, var61, var62, var63);
            }
         }
      }

   }

   public void method1869(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         this.anIntArray970[var4] += var1;
         this.anIntArray948[var4] += var2;
         this.anIntArray968[var4] += var3;
      }

   }

   void method1870(byte[] var1) {
      RS2Buffer var2 = new RS2Buffer(var1);
      RS2Buffer var3 = new RS2Buffer(var1);
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var2.position = (var1.length - 23) * 1385214721;
      this.anInt962 = var2.readUnsignedShort(-937710807);
      this.anInt952 = var2.readUnsignedShort(-937710807);
      this.anInt965 = var2.readUnsignedByte(-700559597);
      int var9 = var2.readUnsignedByte(-700559597);
      boolean var10 = (var9 & 1) == 1;
      boolean var11 = (var9 & 2) == 2;
      boolean var12 = (var9 & 4) == 4;
      boolean var13 = (var9 & 8) == 8;
      boolean var14 = (var9 & 16) == 16;
      boolean var15 = (var9 & 32) == 32;
      boolean var16 = (var9 & 64) == 64;
      int var17 = 0;
      int var18 = 0;
      if(var13) {
         var2.position -= 1106568455;
         if(var14) {
            var2.position -= -1524537854;
         }

         if(var15) {
            var2.position -= -1524537854;
         }

         if(var14) {
            var17 = var2.readUnsignedShort(-937710807);
         }

         if(var15) {
            var18 = var2.readUnsignedShort(-937710807);
         }

         this.anInt947 = var2.readUnsignedByte(-700559597);
         var2.position += -278646266;
      }

      int var19 = var2.readUnsignedByte(-700559597);
      int var20 = var2.readUnsignedByte(-700559597);
      int var21 = var2.readUnsignedByte(-700559597);
      int var22 = var2.readUnsignedByte(-700559597);
      int var23 = var2.readUnsignedByte(-700559597);
      int var24 = var2.readUnsignedShort(-937710807);
      int var25 = var2.readUnsignedShort(-937710807);
      int var26 = var2.readUnsignedShort(-937710807);
      int var27 = var2.readUnsignedShort(-937710807);
      int var28 = var2.readUnsignedShort(-937710807);
      if(!var14) {
         if(var23 == 1) {
            var17 = this.anInt962;
         } else {
            var17 = 0;
         }
      }

      if(!var15) {
         if(var21 == 1) {
            var18 = this.anInt952;
         } else {
            var18 = 0;
         }
      }

      int var29 = 0;
      int var30 = 0;
      int var31 = 0;
      int var32;
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         var2.position = 0;

         for(var32 = 0; var32 < this.anInt965; ++var32) {
            byte var33 = this.aByteArray957[var32] = var2.readByte(856867645);
            if(var33 == 0) {
               ++var29;
            }

            if(var33 >= 1 && var33 <= 3) {
               ++var30;
            }

            if(var33 == 2) {
               ++var31;
            }
         }
      }

      var32 = this.anInt965;
      int var64 = var32;
      var32 += this.anInt962;
      int var34 = var32;
      if(var10) {
         var32 += this.anInt952;
      }

      int var35 = var32;
      var32 += this.anInt952;
      int var36 = var32;
      if(var19 == 255) {
         var32 += this.anInt952;
      }

      int var37 = var32;
      var32 += var18;
      int var38 = var32;
      var32 += var17;
      int var39 = var32;
      if(var20 == 1) {
         var32 += this.anInt952;
      }

      int var40 = var32;
      var32 += var27;
      int var41 = var32;
      if(var22 == 1) {
         var32 += this.anInt952 * 2;
      }

      int var42 = var32;
      var32 += var28;
      int var43 = var32;
      var32 += this.anInt952 * 2;
      int var44 = var32;
      var32 += var24;
      int var45 = var32;
      var32 += var25;
      int var46 = var32;
      var32 += var26;
      int var47 = var32;
      var32 += var29 * 6;
      int var48 = var32;
      var32 += var30 * 6;
      byte var49 = 6;
      if(this.anInt947 == 14) {
         var49 = 7;
      } else if(this.anInt947 >= 15) {
         var49 = 9;
      }

      int var50 = var32;
      var32 += var30 * var49;
      int var51 = var32;
      var32 += var30;
      int var52 = var32;
      var32 += var30;
      int var53 = var32;
      var32 += var30 + var31 * 2;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(var23 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var10) {
         this.aByteArray956 = new byte[this.anInt952];
      }

      if(var19 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var19;
      }

      if(var20 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var21 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      if(var22 == 1) {
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var22 == 1 && this.anInt965 > 0) {
         this.aByteArray951 = new byte[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
         if(var30 > 0) {
            this.anIntArray966 = new int[var30];
            this.anIntArray949 = new int[var30];
            this.anIntArray972 = new int[var30];
            this.aByteArray976 = new byte[var30];
            this.aByteArray959 = new byte[var30];
            this.anIntArray973 = new int[var30];
         }

         if(var31 > 0) {
            this.anIntArray974 = new int[var31];
            this.anIntArray975 = new int[var31];
         }
      }

      var2.position = var64 * 1385214721;
      var3.position = var44 * 1385214721;
      var4.position = var45 * 1385214721;
      var5.position = var46 * 1385214721;
      var6.position = var38 * 1385214721;
      int var55 = 0;
      int var56 = 0;
      int var57 = 0;

      int var59;
      int var58;
      int var62;
      int var61;
      int var60;
      for(var58 = 0; var58 < this.anInt962; ++var58) {
         var59 = var2.readUnsignedByte(-700559597);
         var60 = 0;
         if((var59 & 1) != 0) {
            var60 = var3.method13738(1736483475);
         }

         var61 = 0;
         if((var59 & 2) != 0) {
            var61 = var4.method13738(1129134838);
         }

         var62 = 0;
         if((var59 & 4) != 0) {
            var62 = var5.method13738(2138591494);
         }

         this.anIntArray970[var58] = var55 + var60;
         this.anIntArray948[var58] = var56 + var61;
         this.anIntArray968[var58] = var57 + var62;
         var55 = this.anIntArray970[var58];
         var56 = this.anIntArray948[var58];
         var57 = this.anIntArray968[var58];
         if(var23 == 1) {
            if(var14) {
               this.anIntArray950[var58] = var6.method13740(782016882);
            } else {
               this.anIntArray950[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray950[var58] == 255) {
                  this.anIntArray950[var58] = -1;
               }
            }
         }
      }

      var2.position = var43 * 1385214721;
      var3.position = var34 * 1385214721;
      var4.position = var36 * 1385214721;
      var5.position = var39 * 1385214721;
      var6.position = var37 * 1385214721;
      var7.position = var41 * 1385214721;
      var8.position = var42 * 1385214721;

      for(var58 = 0; var58 < this.anInt952; ++var58) {
         this.aShortArray960[var58] = (short)var2.readUnsignedShort(-937710807);
         if(var10) {
            this.aByteArray956[var58] = var3.readByte(-13715001);
         }

         if(var19 == 255) {
            this.aByteArray978[var58] = var4.readByte(-1270511944);
         }

         if(var20 == 1) {
            this.aByteArray958[var58] = var5.readByte(-94692860);
         }

         if(var21 == 1) {
            if(var15) {
               this.anIntArray944[var58] = var6.method13740(-530988789);
            } else {
               this.anIntArray944[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray944[var58] == 255) {
                  this.anIntArray944[var58] = -1;
               }
            }
         }

         if(var22 == 1) {
            this.aShortArray961[var58] = (short)(var7.readUnsignedShort(-937710807) - 1);
         }

         if(this.aByteArray951 != null) {
            if(this.aShortArray961[var58] != -1) {
               this.aByteArray951[var58] = (byte)(var8.readUnsignedByte(-700559597) - 1);
            } else {
               this.aByteArray951[var58] = -1;
            }
         }
      }

      this.anInt946 = -1;
      var2.position = var40 * 1385214721;
      var3.position = var35 * 1385214721;
      this.method1851(var2, var3);
      var2.position = var47 * 1385214721;
      var3.position = var48 * 1385214721;
      var4.position = var50 * 1385214721;
      var5.position = var51 * 1385214721;
      var6.position = var52 * 1385214721;
      var7.position = var53 * 1385214721;
      this.method1852(var2, var3, var4, var5, var6, var7);
      var2.position = var32 * 1385214721;
      if(var11) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass80Array971 = new Class80[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               byte var65;
               if(var19 == 255) {
                  var65 = this.aByteArray978[var61];
               } else {
                  var65 = (byte)var19;
               }

               this.aClass80Array971[var59] = new Class80(var60, this.aShortArray955[var61], this.aShortArray954[var61], this.aShortArray945[var61], var65);
            }
         }

         var59 = var2.readUnsignedByte(-700559597);
         if(var59 > 0) {
            this.aClass166Array979 = new Class166[var59];

            for(var60 = 0; var60 < var59; ++var60) {
               var61 = var2.readUnsignedShort(-937710807);
               var62 = var2.readUnsignedShort(-937710807);
               this.aClass166Array979[var60] = new Class166(var61, var62);
            }
         }
      }

      if(var12) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass92Array980 = new Class92[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               if(var16) {
                  var62 = var2.method13740(195193141);
               } else {
                  var62 = var2.readUnsignedByte(-700559597);
                  if(var62 == 255) {
                     var62 = -1;
                  }
               }

               byte var63 = var2.readByte(-1289210629);
               this.aClass92Array980[var59] = new Class92(var60, var61, var62, var63);
            }
         }
      }

   }

   void method1871(RS2Buffer var1, RS2Buffer var2) {
      short var3 = 0;
      short var4 = 0;
      short var5 = 0;
      short var6 = 0;

      for(int var7 = 0; var7 < this.anInt952; ++var7) {
         int var8 = var2.readUnsignedByte(-700559597);
         if(var8 == 1) {
            var3 = (short)(var1.method13738(-1988861786) + var6);
            var4 = (short)(var1.method13738(1089989015) + var3);
            var5 = (short)(var1.method13738(1721998360) + var4);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var3 > this.anInt946) {
               this.anInt946 = var3;
            }

            if(var4 > this.anInt946) {
               this.anInt946 = var4;
            }

            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 2) {
            var4 = var5;
            var5 = (short)(var1.method13738(303623095) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 3) {
            var3 = var5;
            var5 = (short)(var1.method13738(2091423101) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 4) {
            short var9 = var3;
            var3 = var4;
            var4 = var9;
            var5 = (short)(var1.method13738(-1118487670) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var9;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }
      }

      ++this.anInt946;
   }

   void method1872(RS2Buffer var1, RS2Buffer var2) {
      short var3 = 0;
      short var4 = 0;
      short var5 = 0;
      short var6 = 0;

      for(int var7 = 0; var7 < this.anInt952; ++var7) {
         int var8 = var2.readUnsignedByte(-700559597);
         if(var8 == 1) {
            var3 = (short)(var1.method13738(1688819013) + var6);
            var4 = (short)(var1.method13738(-284649412) + var3);
            var5 = (short)(var1.method13738(-706942233) + var4);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var3 > this.anInt946) {
               this.anInt946 = var3;
            }

            if(var4 > this.anInt946) {
               this.anInt946 = var4;
            }

            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 2) {
            var4 = var5;
            var5 = (short)(var1.method13738(464594764) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 3) {
            var3 = var5;
            var5 = (short)(var1.method13738(427143359) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var4;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }

         if(var8 == 4) {
            short var9 = var3;
            var3 = var4;
            var4 = var9;
            var5 = (short)(var1.method13738(-542415651) + var6);
            var6 = var5;
            this.aShortArray955[var7] = var3;
            this.aShortArray954[var7] = var9;
            this.aShortArray945[var7] = var5;
            if(var5 > this.anInt946) {
               this.anInt946 = var5;
            }
         }
      }

      ++this.anInt946;
   }

   void method1873(byte[] var1) {
      boolean var2 = false;
      boolean var3 = false;
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var4.position = (var1.length - 18) * 1385214721;
      this.anInt962 = var4.readUnsignedShort(-937710807);
      this.anInt952 = var4.readUnsignedShort(-937710807);
      this.anInt965 = var4.readUnsignedByte(-700559597);
      int var9 = var4.readUnsignedByte(-700559597);
      int var10 = var4.readUnsignedByte(-700559597);
      int var11 = var4.readUnsignedByte(-700559597);
      int var12 = var4.readUnsignedByte(-700559597);
      int var13 = var4.readUnsignedByte(-700559597);
      int var14 = var4.readUnsignedShort(-937710807);
      int var15 = var4.readUnsignedShort(-937710807);
      int var16 = var4.readUnsignedShort(-937710807);
      int var17 = var4.readUnsignedShort(-937710807);
      byte var18 = 0;
      int var42 = var18 + this.anInt962;
      int var20 = var42;
      var42 += this.anInt952;
      int var21 = var42;
      if(var10 == 255) {
         var42 += this.anInt952;
      }

      int var22 = var42;
      if(var12 == 1) {
         var42 += this.anInt952;
      }

      int var23 = var42;
      if(var9 == 1) {
         var42 += this.anInt952;
      }

      int var24 = var42;
      if(var13 == 1) {
         var42 += this.anInt962;
      }

      int var25 = var42;
      if(var11 == 1) {
         var42 += this.anInt952;
      }

      int var26 = var42;
      var42 += var17;
      int var27 = var42;
      var42 += this.anInt952 * 2;
      int var28 = var42;
      var42 += this.anInt965 * 6;
      int var29 = var42;
      var42 += var14;
      int var30 = var42;
      var42 += var15;
      int var10000 = var42 + var16;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
      }

      if(var13 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var9 == 1) {
         this.aByteArray956 = new byte[this.anInt952];
         this.aByteArray951 = new byte[this.anInt952];
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var10 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var10;
      }

      if(var11 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var12 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      var4.position = var18 * 1385214721;
      var5.position = var29 * 1385214721;
      var6.position = var30 * 1385214721;
      var7.position = var42 * 1385214721;
      var8.position = var24 * 1385214721;
      int var32 = 0;
      int var33 = 0;
      int var34 = 0;

      int var35;
      int var39;
      int var36;
      for(var35 = 0; var35 < this.anInt962; ++var35) {
         var36 = var4.readUnsignedByte(-700559597);
         int var37 = 0;
         if((var36 & 1) != 0) {
            var37 = var5.method13738(-2063938302);
         }

         int var38 = 0;
         if((var36 & 2) != 0) {
            var38 = var6.method13738(494741361);
         }

         var39 = 0;
         if((var36 & 4) != 0) {
            var39 = var7.method13738(1205547965);
         }

         this.anIntArray970[var35] = var32 + var37;
         this.anIntArray948[var35] = var33 + var38;
         this.anIntArray968[var35] = var34 + var39;
         var32 = this.anIntArray970[var35];
         var33 = this.anIntArray948[var35];
         var34 = this.anIntArray968[var35];
         if(var13 == 1) {
            this.anIntArray950[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      var4.position = var27 * 1385214721;
      var5.position = var23 * 1385214721;
      var6.position = var21 * 1385214721;
      var7.position = var25 * 1385214721;
      var8.position = var22 * 1385214721;

      for(var35 = 0; var35 < this.anInt952; ++var35) {
         this.aShortArray960[var35] = (short)var4.readUnsignedShort(-937710807);
         if(var9 == 1) {
            var36 = var5.readUnsignedByte(-700559597);
            if((var36 & 1) == 1) {
               this.aByteArray956[var35] = 1;
               var2 = true;
            } else {
               this.aByteArray956[var35] = 0;
            }

            if((var36 & 2) == 2) {
               this.aByteArray951[var35] = (byte)(var36 >> 2);
               this.aShortArray961[var35] = this.aShortArray960[var35];
               this.aShortArray960[var35] = 127;
               if(this.aShortArray961[var35] != -1) {
                  var3 = true;
               }
            } else {
               this.aByteArray951[var35] = -1;
               this.aShortArray961[var35] = -1;
            }
         }

         if(var10 == 255) {
            this.aByteArray978[var35] = var6.readByte(1614822926);
         }

         if(var11 == 1) {
            this.aByteArray958[var35] = var7.readByte(1784132906);
         }

         if(var12 == 1) {
            this.anIntArray944[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      this.anInt946 = -1;
      var4.position = var26 * 1385214721;
      var5.position = var20 * 1385214721;
      short var43 = 0;
      short var44 = 0;
      short var46 = 0;
      short var45 = 0;

      int var40;
      for(var39 = 0; var39 < this.anInt952; ++var39) {
         var40 = var5.readUnsignedByte(-700559597);
         if(var40 == 1) {
            var43 = (short)(var4.method13738(-619177760) + var45);
            var44 = (short)(var4.method13738(-1647622681) + var43);
            var46 = (short)(var4.method13738(1768722366) + var44);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var43 > this.anInt946) {
               this.anInt946 = var43;
            }

            if(var44 > this.anInt946) {
               this.anInt946 = var44;
            }

            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 2) {
            var44 = var46;
            var46 = (short)(var4.method13738(-1025098391) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 3) {
            var43 = var46;
            var46 = (short)(var4.method13738(1134979547) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 4) {
            short var41 = var43;
            var43 = var44;
            var44 = var41;
            var46 = (short)(var4.method13738(-1480439950) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var41;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }
      }

      ++this.anInt946;
      var4.position = var28 * 1385214721;

      for(var39 = 0; var39 < this.anInt965; ++var39) {
         this.aByteArray957[var39] = 0;
         this.aShortArray967[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray977[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray969[var39] = (short)var4.readUnsignedShort(-937710807);
      }

      if(this.aByteArray951 != null) {
         boolean var47 = false;

         for(var40 = 0; var40 < this.anInt952; ++var40) {
            int var48 = this.aByteArray951[var40] & 255;
            if(var48 != 255) {
               if((this.aShortArray967[var48] & '\uffff') == this.aShortArray955[var40] && (this.aShortArray977[var48] & '\uffff') == this.aShortArray954[var40] && (this.aShortArray969[var48] & '\uffff') == this.aShortArray945[var40]) {
                  this.aByteArray951[var40] = -1;
               } else {
                  var47 = true;
               }
            }
         }

         if(!var47) {
            this.aByteArray951 = null;
         }
      }

      if(!var3) {
         this.aShortArray961 = null;
      }

      if(!var2) {
         this.aByteArray956 = null;
      }

   }

   public void method1874(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         this.anIntArray970[var4] += var1;
         this.anIntArray948[var4] += var2;
         this.anIntArray968[var4] += var3;
      }

   }

   void method1875(byte[] var1) {
      RS2Buffer var2 = new RS2Buffer(var1);
      RS2Buffer var3 = new RS2Buffer(var1);
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var2.position = (var1.length - 23) * 1385214721;
      this.anInt962 = var2.readUnsignedShort(-937710807);
      this.anInt952 = var2.readUnsignedShort(-937710807);
      this.anInt965 = var2.readUnsignedByte(-700559597);
      int var9 = var2.readUnsignedByte(-700559597);
      boolean var10 = (var9 & 1) == 1;
      boolean var11 = (var9 & 2) == 2;
      boolean var12 = (var9 & 4) == 4;
      boolean var13 = (var9 & 8) == 8;
      boolean var14 = (var9 & 16) == 16;
      boolean var15 = (var9 & 32) == 32;
      boolean var16 = (var9 & 64) == 64;
      int var17 = 0;
      int var18 = 0;
      if(var13) {
         var2.position -= 1106568455;
         if(var14) {
            var2.position -= -1524537854;
         }

         if(var15) {
            var2.position -= -1524537854;
         }

         if(var14) {
            var17 = var2.readUnsignedShort(-937710807);
         }

         if(var15) {
            var18 = var2.readUnsignedShort(-937710807);
         }

         this.anInt947 = var2.readUnsignedByte(-700559597);
         var2.position += -278646266;
      }

      int var19 = var2.readUnsignedByte(-700559597);
      int var20 = var2.readUnsignedByte(-700559597);
      int var21 = var2.readUnsignedByte(-700559597);
      int var22 = var2.readUnsignedByte(-700559597);
      int var23 = var2.readUnsignedByte(-700559597);
      int var24 = var2.readUnsignedShort(-937710807);
      int var25 = var2.readUnsignedShort(-937710807);
      int var26 = var2.readUnsignedShort(-937710807);
      int var27 = var2.readUnsignedShort(-937710807);
      int var28 = var2.readUnsignedShort(-937710807);
      if(!var14) {
         if(var23 == 1) {
            var17 = this.anInt962;
         } else {
            var17 = 0;
         }
      }

      if(!var15) {
         if(var21 == 1) {
            var18 = this.anInt952;
         } else {
            var18 = 0;
         }
      }

      int var29 = 0;
      int var30 = 0;
      int var31 = 0;
      int var32;
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         var2.position = 0;

         for(var32 = 0; var32 < this.anInt965; ++var32) {
            byte var33 = this.aByteArray957[var32] = var2.readByte(528170332);
            if(var33 == 0) {
               ++var29;
            }

            if(var33 >= 1 && var33 <= 3) {
               ++var30;
            }

            if(var33 == 2) {
               ++var31;
            }
         }
      }

      var32 = this.anInt965;
      int var64 = var32;
      var32 += this.anInt962;
      int var34 = var32;
      if(var10) {
         var32 += this.anInt952;
      }

      int var35 = var32;
      var32 += this.anInt952;
      int var36 = var32;
      if(var19 == 255) {
         var32 += this.anInt952;
      }

      int var37 = var32;
      var32 += var18;
      int var38 = var32;
      var32 += var17;
      int var39 = var32;
      if(var20 == 1) {
         var32 += this.anInt952;
      }

      int var40 = var32;
      var32 += var27;
      int var41 = var32;
      if(var22 == 1) {
         var32 += this.anInt952 * 2;
      }

      int var42 = var32;
      var32 += var28;
      int var43 = var32;
      var32 += this.anInt952 * 2;
      int var44 = var32;
      var32 += var24;
      int var45 = var32;
      var32 += var25;
      int var46 = var32;
      var32 += var26;
      int var47 = var32;
      var32 += var29 * 6;
      int var48 = var32;
      var32 += var30 * 6;
      byte var49 = 6;
      if(this.anInt947 == 14) {
         var49 = 7;
      } else if(this.anInt947 >= 15) {
         var49 = 9;
      }

      int var50 = var32;
      var32 += var30 * var49;
      int var51 = var32;
      var32 += var30;
      int var52 = var32;
      var32 += var30;
      int var53 = var32;
      var32 += var30 + var31 * 2;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(var23 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var10) {
         this.aByteArray956 = new byte[this.anInt952];
      }

      if(var19 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var19;
      }

      if(var20 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var21 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      if(var22 == 1) {
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var22 == 1 && this.anInt965 > 0) {
         this.aByteArray951 = new byte[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
         if(var30 > 0) {
            this.anIntArray966 = new int[var30];
            this.anIntArray949 = new int[var30];
            this.anIntArray972 = new int[var30];
            this.aByteArray976 = new byte[var30];
            this.aByteArray959 = new byte[var30];
            this.anIntArray973 = new int[var30];
         }

         if(var31 > 0) {
            this.anIntArray974 = new int[var31];
            this.anIntArray975 = new int[var31];
         }
      }

      var2.position = var64 * 1385214721;
      var3.position = var44 * 1385214721;
      var4.position = var45 * 1385214721;
      var5.position = var46 * 1385214721;
      var6.position = var38 * 1385214721;
      int var55 = 0;
      int var56 = 0;
      int var57 = 0;

      int var59;
      int var58;
      int var62;
      int var61;
      int var60;
      for(var58 = 0; var58 < this.anInt962; ++var58) {
         var59 = var2.readUnsignedByte(-700559597);
         var60 = 0;
         if((var59 & 1) != 0) {
            var60 = var3.method13738(-974187815);
         }

         var61 = 0;
         if((var59 & 2) != 0) {
            var61 = var4.method13738(312529660);
         }

         var62 = 0;
         if((var59 & 4) != 0) {
            var62 = var5.method13738(2076078923);
         }

         this.anIntArray970[var58] = var55 + var60;
         this.anIntArray948[var58] = var56 + var61;
         this.anIntArray968[var58] = var57 + var62;
         var55 = this.anIntArray970[var58];
         var56 = this.anIntArray948[var58];
         var57 = this.anIntArray968[var58];
         if(var23 == 1) {
            if(var14) {
               this.anIntArray950[var58] = var6.method13740(-942709889);
            } else {
               this.anIntArray950[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray950[var58] == 255) {
                  this.anIntArray950[var58] = -1;
               }
            }
         }
      }

      var2.position = var43 * 1385214721;
      var3.position = var34 * 1385214721;
      var4.position = var36 * 1385214721;
      var5.position = var39 * 1385214721;
      var6.position = var37 * 1385214721;
      var7.position = var41 * 1385214721;
      var8.position = var42 * 1385214721;

      for(var58 = 0; var58 < this.anInt952; ++var58) {
         this.aShortArray960[var58] = (short)var2.readUnsignedShort(-937710807);
         if(var10) {
            this.aByteArray956[var58] = var3.readByte(593091945);
         }

         if(var19 == 255) {
            this.aByteArray978[var58] = var4.readByte(-1118425866);
         }

         if(var20 == 1) {
            this.aByteArray958[var58] = var5.readByte(1705911460);
         }

         if(var21 == 1) {
            if(var15) {
               this.anIntArray944[var58] = var6.method13740(-204857590);
            } else {
               this.anIntArray944[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray944[var58] == 255) {
                  this.anIntArray944[var58] = -1;
               }
            }
         }

         if(var22 == 1) {
            this.aShortArray961[var58] = (short)(var7.readUnsignedShort(-937710807) - 1);
         }

         if(this.aByteArray951 != null) {
            if(this.aShortArray961[var58] != -1) {
               this.aByteArray951[var58] = (byte)(var8.readUnsignedByte(-700559597) - 1);
            } else {
               this.aByteArray951[var58] = -1;
            }
         }
      }

      this.anInt946 = -1;
      var2.position = var40 * 1385214721;
      var3.position = var35 * 1385214721;
      this.method1851(var2, var3);
      var2.position = var47 * 1385214721;
      var3.position = var48 * 1385214721;
      var4.position = var50 * 1385214721;
      var5.position = var51 * 1385214721;
      var6.position = var52 * 1385214721;
      var7.position = var53 * 1385214721;
      this.method1852(var2, var3, var4, var5, var6, var7);
      var2.position = var32 * 1385214721;
      if(var11) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass80Array971 = new Class80[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               byte var65;
               if(var19 == 255) {
                  var65 = this.aByteArray978[var61];
               } else {
                  var65 = (byte)var19;
               }

               this.aClass80Array971[var59] = new Class80(var60, this.aShortArray955[var61], this.aShortArray954[var61], this.aShortArray945[var61], var65);
            }
         }

         var59 = var2.readUnsignedByte(-700559597);
         if(var59 > 0) {
            this.aClass166Array979 = new Class166[var59];

            for(var60 = 0; var60 < var59; ++var60) {
               var61 = var2.readUnsignedShort(-937710807);
               var62 = var2.readUnsignedShort(-937710807);
               this.aClass166Array979[var60] = new Class166(var61, var62);
            }
         }
      }

      if(var12) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass92Array980 = new Class92[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               if(var16) {
                  var62 = var2.method13740(-984795234);
               } else {
                  var62 = var2.readUnsignedByte(-700559597);
                  if(var62 == 255) {
                     var62 = -1;
                  }
               }

               byte var63 = var2.readByte(19598046);
               this.aClass92Array980[var59] = new Class92(var60, var61, var62, var63);
            }
         }
      }

   }

   void method1876(byte[] var1) {
      boolean var2 = false;
      boolean var3 = false;
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var4.position = (var1.length - 18) * 1385214721;
      this.anInt962 = var4.readUnsignedShort(-937710807);
      this.anInt952 = var4.readUnsignedShort(-937710807);
      this.anInt965 = var4.readUnsignedByte(-700559597);
      int var9 = var4.readUnsignedByte(-700559597);
      int var10 = var4.readUnsignedByte(-700559597);
      int var11 = var4.readUnsignedByte(-700559597);
      int var12 = var4.readUnsignedByte(-700559597);
      int var13 = var4.readUnsignedByte(-700559597);
      int var14 = var4.readUnsignedShort(-937710807);
      int var15 = var4.readUnsignedShort(-937710807);
      int var16 = var4.readUnsignedShort(-937710807);
      int var17 = var4.readUnsignedShort(-937710807);
      byte var18 = 0;
      int var42 = var18 + this.anInt962;
      int var20 = var42;
      var42 += this.anInt952;
      int var21 = var42;
      if(var10 == 255) {
         var42 += this.anInt952;
      }

      int var22 = var42;
      if(var12 == 1) {
         var42 += this.anInt952;
      }

      int var23 = var42;
      if(var9 == 1) {
         var42 += this.anInt952;
      }

      int var24 = var42;
      if(var13 == 1) {
         var42 += this.anInt962;
      }

      int var25 = var42;
      if(var11 == 1) {
         var42 += this.anInt952;
      }

      int var26 = var42;
      var42 += var17;
      int var27 = var42;
      var42 += this.anInt952 * 2;
      int var28 = var42;
      var42 += this.anInt965 * 6;
      int var29 = var42;
      var42 += var14;
      int var30 = var42;
      var42 += var15;
      int var10000 = var42 + var16;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
      }

      if(var13 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var9 == 1) {
         this.aByteArray956 = new byte[this.anInt952];
         this.aByteArray951 = new byte[this.anInt952];
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var10 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var10;
      }

      if(var11 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var12 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      var4.position = var18 * 1385214721;
      var5.position = var29 * 1385214721;
      var6.position = var30 * 1385214721;
      var7.position = var42 * 1385214721;
      var8.position = var24 * 1385214721;
      int var32 = 0;
      int var33 = 0;
      int var34 = 0;

      int var35;
      int var39;
      int var36;
      for(var35 = 0; var35 < this.anInt962; ++var35) {
         var36 = var4.readUnsignedByte(-700559597);
         int var37 = 0;
         if((var36 & 1) != 0) {
            var37 = var5.method13738(68811983);
         }

         int var38 = 0;
         if((var36 & 2) != 0) {
            var38 = var6.method13738(-1768240886);
         }

         var39 = 0;
         if((var36 & 4) != 0) {
            var39 = var7.method13738(1682247322);
         }

         this.anIntArray970[var35] = var32 + var37;
         this.anIntArray948[var35] = var33 + var38;
         this.anIntArray968[var35] = var34 + var39;
         var32 = this.anIntArray970[var35];
         var33 = this.anIntArray948[var35];
         var34 = this.anIntArray968[var35];
         if(var13 == 1) {
            this.anIntArray950[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      var4.position = var27 * 1385214721;
      var5.position = var23 * 1385214721;
      var6.position = var21 * 1385214721;
      var7.position = var25 * 1385214721;
      var8.position = var22 * 1385214721;

      for(var35 = 0; var35 < this.anInt952; ++var35) {
         this.aShortArray960[var35] = (short)var4.readUnsignedShort(-937710807);
         if(var9 == 1) {
            var36 = var5.readUnsignedByte(-700559597);
            if((var36 & 1) == 1) {
               this.aByteArray956[var35] = 1;
               var2 = true;
            } else {
               this.aByteArray956[var35] = 0;
            }

            if((var36 & 2) == 2) {
               this.aByteArray951[var35] = (byte)(var36 >> 2);
               this.aShortArray961[var35] = this.aShortArray960[var35];
               this.aShortArray960[var35] = 127;
               if(this.aShortArray961[var35] != -1) {
                  var3 = true;
               }
            } else {
               this.aByteArray951[var35] = -1;
               this.aShortArray961[var35] = -1;
            }
         }

         if(var10 == 255) {
            this.aByteArray978[var35] = var6.readByte(-269678067);
         }

         if(var11 == 1) {
            this.aByteArray958[var35] = var7.readByte(-321133478);
         }

         if(var12 == 1) {
            this.anIntArray944[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      this.anInt946 = -1;
      var4.position = var26 * 1385214721;
      var5.position = var20 * 1385214721;
      short var43 = 0;
      short var44 = 0;
      short var46 = 0;
      short var45 = 0;

      int var40;
      for(var39 = 0; var39 < this.anInt952; ++var39) {
         var40 = var5.readUnsignedByte(-700559597);
         if(var40 == 1) {
            var43 = (short)(var4.method13738(-663391697) + var45);
            var44 = (short)(var4.method13738(-558429713) + var43);
            var46 = (short)(var4.method13738(-1858198462) + var44);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var43 > this.anInt946) {
               this.anInt946 = var43;
            }

            if(var44 > this.anInt946) {
               this.anInt946 = var44;
            }

            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 2) {
            var44 = var46;
            var46 = (short)(var4.method13738(-340275527) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 3) {
            var43 = var46;
            var46 = (short)(var4.method13738(-1411584742) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 4) {
            short var41 = var43;
            var43 = var44;
            var44 = var41;
            var46 = (short)(var4.method13738(1046314449) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var41;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }
      }

      ++this.anInt946;
      var4.position = var28 * 1385214721;

      for(var39 = 0; var39 < this.anInt965; ++var39) {
         this.aByteArray957[var39] = 0;
         this.aShortArray967[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray977[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray969[var39] = (short)var4.readUnsignedShort(-937710807);
      }

      if(this.aByteArray951 != null) {
         boolean var47 = false;

         for(var40 = 0; var40 < this.anInt952; ++var40) {
            int var48 = this.aByteArray951[var40] & 255;
            if(var48 != 255) {
               if((this.aShortArray967[var48] & '\uffff') == this.aShortArray955[var40] && (this.aShortArray977[var48] & '\uffff') == this.aShortArray954[var40] && (this.aShortArray969[var48] & '\uffff') == this.aShortArray945[var40]) {
                  this.aByteArray951[var40] = -1;
               } else {
                  var47 = true;
               }
            }
         }

         if(!var47) {
            this.aByteArray951 = null;
         }
      }

      if(!var3) {
         this.aShortArray961 = null;
      }

      if(!var2) {
         this.aByteArray956 = null;
      }

   }

   void method1877(byte[] var1) {
      boolean var2 = false;
      boolean var3 = false;
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var4.position = (var1.length - 18) * 1385214721;
      this.anInt962 = var4.readUnsignedShort(-937710807);
      this.anInt952 = var4.readUnsignedShort(-937710807);
      this.anInt965 = var4.readUnsignedByte(-700559597);
      int var9 = var4.readUnsignedByte(-700559597);
      int var10 = var4.readUnsignedByte(-700559597);
      int var11 = var4.readUnsignedByte(-700559597);
      int var12 = var4.readUnsignedByte(-700559597);
      int var13 = var4.readUnsignedByte(-700559597);
      int var14 = var4.readUnsignedShort(-937710807);
      int var15 = var4.readUnsignedShort(-937710807);
      int var16 = var4.readUnsignedShort(-937710807);
      int var17 = var4.readUnsignedShort(-937710807);
      byte var18 = 0;
      int var42 = var18 + this.anInt962;
      int var20 = var42;
      var42 += this.anInt952;
      int var21 = var42;
      if(var10 == 255) {
         var42 += this.anInt952;
      }

      int var22 = var42;
      if(var12 == 1) {
         var42 += this.anInt952;
      }

      int var23 = var42;
      if(var9 == 1) {
         var42 += this.anInt952;
      }

      int var24 = var42;
      if(var13 == 1) {
         var42 += this.anInt962;
      }

      int var25 = var42;
      if(var11 == 1) {
         var42 += this.anInt952;
      }

      int var26 = var42;
      var42 += var17;
      int var27 = var42;
      var42 += this.anInt952 * 2;
      int var28 = var42;
      var42 += this.anInt965 * 6;
      int var29 = var42;
      var42 += var14;
      int var30 = var42;
      var42 += var15;
      int var10000 = var42 + var16;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
      }

      if(var13 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var9 == 1) {
         this.aByteArray956 = new byte[this.anInt952];
         this.aByteArray951 = new byte[this.anInt952];
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var10 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var10;
      }

      if(var11 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var12 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      var4.position = var18 * 1385214721;
      var5.position = var29 * 1385214721;
      var6.position = var30 * 1385214721;
      var7.position = var42 * 1385214721;
      var8.position = var24 * 1385214721;
      int var32 = 0;
      int var33 = 0;
      int var34 = 0;

      int var35;
      int var39;
      int var36;
      for(var35 = 0; var35 < this.anInt962; ++var35) {
         var36 = var4.readUnsignedByte(-700559597);
         int var37 = 0;
         if((var36 & 1) != 0) {
            var37 = var5.method13738(1027325381);
         }

         int var38 = 0;
         if((var36 & 2) != 0) {
            var38 = var6.method13738(1329887949);
         }

         var39 = 0;
         if((var36 & 4) != 0) {
            var39 = var7.method13738(-2016327468);
         }

         this.anIntArray970[var35] = var32 + var37;
         this.anIntArray948[var35] = var33 + var38;
         this.anIntArray968[var35] = var34 + var39;
         var32 = this.anIntArray970[var35];
         var33 = this.anIntArray948[var35];
         var34 = this.anIntArray968[var35];
         if(var13 == 1) {
            this.anIntArray950[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      var4.position = var27 * 1385214721;
      var5.position = var23 * 1385214721;
      var6.position = var21 * 1385214721;
      var7.position = var25 * 1385214721;
      var8.position = var22 * 1385214721;

      for(var35 = 0; var35 < this.anInt952; ++var35) {
         this.aShortArray960[var35] = (short)var4.readUnsignedShort(-937710807);
         if(var9 == 1) {
            var36 = var5.readUnsignedByte(-700559597);
            if((var36 & 1) == 1) {
               this.aByteArray956[var35] = 1;
               var2 = true;
            } else {
               this.aByteArray956[var35] = 0;
            }

            if((var36 & 2) == 2) {
               this.aByteArray951[var35] = (byte)(var36 >> 2);
               this.aShortArray961[var35] = this.aShortArray960[var35];
               this.aShortArray960[var35] = 127;
               if(this.aShortArray961[var35] != -1) {
                  var3 = true;
               }
            } else {
               this.aByteArray951[var35] = -1;
               this.aShortArray961[var35] = -1;
            }
         }

         if(var10 == 255) {
            this.aByteArray978[var35] = var6.readByte(1776959337);
         }

         if(var11 == 1) {
            this.aByteArray958[var35] = var7.readByte(745749963);
         }

         if(var12 == 1) {
            this.anIntArray944[var35] = var8.readUnsignedByte(-700559597);
         }
      }

      this.anInt946 = -1;
      var4.position = var26 * 1385214721;
      var5.position = var20 * 1385214721;
      short var43 = 0;
      short var44 = 0;
      short var46 = 0;
      short var45 = 0;

      int var40;
      for(var39 = 0; var39 < this.anInt952; ++var39) {
         var40 = var5.readUnsignedByte(-700559597);
         if(var40 == 1) {
            var43 = (short)(var4.method13738(-617366831) + var45);
            var44 = (short)(var4.method13738(639202735) + var43);
            var46 = (short)(var4.method13738(-2130366374) + var44);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var43 > this.anInt946) {
               this.anInt946 = var43;
            }

            if(var44 > this.anInt946) {
               this.anInt946 = var44;
            }

            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 2) {
            var44 = var46;
            var46 = (short)(var4.method13738(-1860192029) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 3) {
            var43 = var46;
            var46 = (short)(var4.method13738(-1244191721) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var44;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }

         if(var40 == 4) {
            short var41 = var43;
            var43 = var44;
            var44 = var41;
            var46 = (short)(var4.method13738(-1003183759) + var45);
            var45 = var46;
            this.aShortArray955[var39] = var43;
            this.aShortArray954[var39] = var41;
            this.aShortArray945[var39] = var46;
            if(var46 > this.anInt946) {
               this.anInt946 = var46;
            }
         }
      }

      ++this.anInt946;
      var4.position = var28 * 1385214721;

      for(var39 = 0; var39 < this.anInt965; ++var39) {
         this.aByteArray957[var39] = 0;
         this.aShortArray967[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray977[var39] = (short)var4.readUnsignedShort(-937710807);
         this.aShortArray969[var39] = (short)var4.readUnsignedShort(-937710807);
      }

      if(this.aByteArray951 != null) {
         boolean var47 = false;

         for(var40 = 0; var40 < this.anInt952; ++var40) {
            int var48 = this.aByteArray951[var40] & 255;
            if(var48 != 255) {
               if((this.aShortArray967[var48] & '\uffff') == this.aShortArray955[var40] && (this.aShortArray977[var48] & '\uffff') == this.aShortArray954[var40] && (this.aShortArray969[var48] & '\uffff') == this.aShortArray945[var40]) {
                  this.aByteArray951[var40] = -1;
               } else {
                  var47 = true;
               }
            }
         }

         if(!var47) {
            this.aByteArray951 = null;
         }
      }

      if(!var3) {
         this.aShortArray961 = null;
      }

      if(!var2) {
         this.aByteArray956 = null;
      }

   }

   public void method1878(short var1, short var2) {
      if(this.aShortArray961 != null) {
         for(int var3 = 0; var3 < this.anInt952; ++var3) {
            if(this.aShortArray961[var3] == var1) {
               this.aShortArray961[var3] = var2;
            }
         }

      }
   }

   void method1879(RS2Buffer var1, RS2Buffer var2, RS2Buffer var3, RS2Buffer var4, RS2Buffer var5, RS2Buffer var6) {
      for(int var7 = 0; var7 < this.anInt965; ++var7) {
         int var8 = this.aByteArray957[var7] & 255;
         if(var8 == 0) {
            this.aShortArray967[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var1.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var1.readUnsignedShort(-937710807);
         }

         if(var8 == 1) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(1460557286);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(1678534790);
               this.anIntArray949[var7] = var3.readTriByte(-1221927309);
               this.anIntArray972[var7] = var3.readTriByte(-437050346);
            }

            this.aByteArray976[var7] = var4.readByte(1838082627);
            this.aByteArray959[var7] = var5.readByte(-868426526);
            this.anIntArray973[var7] = var6.readByte(1877156947);
         }

         if(var8 == 2) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(-117927074);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(-769777863);
               this.anIntArray949[var7] = var3.readTriByte(1204580816);
               this.anIntArray972[var7] = var3.readTriByte(-1262303951);
            }

            this.aByteArray976[var7] = var4.readByte(-1101014045);
            this.aByteArray959[var7] = var5.readByte(1514680999);
            this.anIntArray973[var7] = var6.readByte(-1283372568);
            this.anIntArray974[var7] = var6.readByte(-1332842878);
            this.anIntArray975[var7] = var6.readByte(2059091093);
         }

         if(var8 == 3) {
            this.aShortArray967[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray977[var7] = (short)var2.readUnsignedShort(-937710807);
            this.aShortArray969[var7] = (short)var2.readUnsignedShort(-937710807);
            if(this.anInt947 < 15) {
               this.anIntArray966[var7] = var3.readUnsignedShort(-937710807);
               if(this.anInt947 < 14) {
                  this.anIntArray949[var7] = var3.readUnsignedShort(-937710807);
               } else {
                  this.anIntArray949[var7] = var3.readTriByte(-1675225366);
               }

               this.anIntArray972[var7] = var3.readUnsignedShort(-937710807);
            } else {
               this.anIntArray966[var7] = var3.readTriByte(-63842206);
               this.anIntArray949[var7] = var3.readTriByte(-1652349353);
               this.anIntArray972[var7] = var3.readTriByte(-1869733023);
            }

            this.aByteArray976[var7] = var4.readByte(377733640);
            this.aByteArray959[var7] = var5.readByte(-506499854);
            this.anIntArray973[var7] = var6.readByte(-613829358);
         }
      }

   }

   public int method1880(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         if(this.anIntArray970[var4] == var1 && this.anIntArray948[var4] == var2 && this.anIntArray968[var4] == var3) {
            return var4;
         }
      }

      this.anIntArray970[this.anInt962] = var1;
      this.anIntArray948[this.anInt962] = var2;
      this.anIntArray968[this.anInt962] = var3;
      this.anInt946 = this.anInt962 + 1;
      return this.anInt962++;
   }

   public byte method1881(short var1, short var2, short var3, short var4, short var5, short var6, byte var7, byte var8, byte var9) {
      if(this.anInt965 >= 255) {
         throw new IllegalStateException();
      } else {
         this.aByteArray957[this.anInt965] = 3;
         this.aShortArray967[this.anInt965] = var1;
         this.aShortArray977[this.anInt965] = var2;
         this.aShortArray969[this.anInt965] = var3;
         this.anIntArray966[this.anInt965] = var4;
         this.anIntArray949[this.anInt965] = var5;
         this.anIntArray972[this.anInt965] = var6;
         this.aByteArray976[this.anInt965] = var7;
         this.aByteArray959[this.anInt965] = var8;
         this.anIntArray973[this.anInt965] = var9;
         return (byte)(this.anInt965++);
      }
   }

   public byte method1882(short var1, short var2, short var3, short var4, short var5, short var6, byte var7, byte var8, byte var9) {
      if(this.anInt965 >= 255) {
         throw new IllegalStateException();
      } else {
         this.aByteArray957[this.anInt965] = 3;
         this.aShortArray967[this.anInt965] = var1;
         this.aShortArray977[this.anInt965] = var2;
         this.aShortArray969[this.anInt965] = var3;
         this.anIntArray966[this.anInt965] = var4;
         this.anIntArray949[this.anInt965] = var5;
         this.anIntArray972[this.anInt965] = var6;
         this.aByteArray976[this.anInt965] = var7;
         this.aByteArray959[this.anInt965] = var8;
         this.anIntArray973[this.anInt965] = var9;
         return (byte)(this.anInt965++);
      }
   }

   public byte method1883(short var1, short var2, short var3, short var4, short var5, short var6, byte var7, byte var8, byte var9) {
      if(this.anInt965 >= 255) {
         throw new IllegalStateException();
      } else {
         this.aByteArray957[this.anInt965] = 3;
         this.aShortArray967[this.anInt965] = var1;
         this.aShortArray977[this.anInt965] = var2;
         this.aShortArray969[this.anInt965] = var3;
         this.anIntArray966[this.anInt965] = var4;
         this.anIntArray949[this.anInt965] = var5;
         this.anIntArray972[this.anInt965] = var6;
         this.aByteArray976[this.anInt965] = var7;
         this.aByteArray959[this.anInt965] = var8;
         this.anIntArray973[this.anInt965] = var9;
         return (byte)(this.anInt965++);
      }
   }

   public int[][] method1884(boolean var1) {
      int[] var2 = new int[256];
      int var3 = 0;
      int var4 = var1?this.anInt962:this.anInt946;

      int var6;
      for(int var5 = 0; var5 < var4; ++var5) {
         var6 = this.anIntArray950[var5];
         if(var6 >= 0) {
            ++var2[var6];
            if(var6 > var3) {
               var3 = var6;
            }
         }
      }

      int[][] var8 = new int[var3 + 1][];

      for(var6 = 0; var6 <= var3; ++var6) {
         var8[var6] = new int[var2[var6]];
         var2[var6] = 0;
      }

      for(var6 = 0; var6 < var4; ++var6) {
         int var7 = this.anIntArray950[var6];
         if(var7 >= 0) {
            var8[var7][var2[var7]++] = var6;
         }
      }

      return var8;
   }

   public void method1885(int var1, int var2, int var3) {
      int var4;
      int var5;
      int var6;
      int var7;
      if(var3 != 0) {
         var4 = Class312.anIntArray3943[var3];
         var5 = Class312.anIntArray3956[var3];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray948[var6] * var4 + this.anIntArray970[var6] * var5 >> 14;
            this.anIntArray948[var6] = this.anIntArray948[var6] * var5 - this.anIntArray970[var6] * var4 >> 14;
            this.anIntArray970[var6] = var7;
         }
      }

      if(var1 != 0) {
         var4 = Class312.anIntArray3943[var1];
         var5 = Class312.anIntArray3956[var1];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray948[var6] * var5 - this.anIntArray968[var6] * var4 >> 14;
            this.anIntArray968[var6] = this.anIntArray948[var6] * var4 + this.anIntArray968[var6] * var5 >> 14;
            this.anIntArray948[var6] = var7;
         }
      }

      if(var2 != 0) {
         var4 = Class312.anIntArray3943[var2];
         var5 = Class312.anIntArray3956[var2];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray968[var6] * var4 + this.anIntArray970[var6] * var5 >> 14;
            this.anIntArray968[var6] = this.anIntArray968[var6] * var5 - this.anIntArray970[var6] * var4 >> 14;
            this.anIntArray970[var6] = var7;
         }
      }

   }

   public int[][] method1886() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         var4 = this.anIntArray944[var3];
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.anInt952; ++var4) {
         int var5 = this.anIntArray944[var4];
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   public int[][] method1887() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.aClass92Array980.length; ++var3) {
         var4 = this.aClass92Array980[var3].anInt909 * -1894700815;
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.aClass92Array980.length; ++var4) {
         int var5 = this.aClass92Array980[var4].anInt909 * -1894700815;
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   public int[][] method1888() {
      int[] var1 = new int[256];
      int var2 = 0;

      int var4;
      for(int var3 = 0; var3 < this.aClass92Array980.length; ++var3) {
         var4 = this.aClass92Array980[var3].anInt909 * -1894700815;
         if(var4 >= 0) {
            ++var1[var4];
            if(var4 > var2) {
               var2 = var4;
            }
         }
      }

      int[][] var6 = new int[var2 + 1][];

      for(var4 = 0; var4 <= var2; ++var4) {
         var6[var4] = new int[var1[var4]];
         var1[var4] = 0;
      }

      for(var4 = 0; var4 < this.aClass92Array980.length; ++var4) {
         int var5 = this.aClass92Array980[var4].anInt909 * -1894700815;
         if(var5 >= 0) {
            var6[var5][var1[var5]++] = var4;
         }
      }

      return var6;
   }

   public void method1889(short var1, short var2) {
      for(int var3 = 0; var3 < this.anInt952; ++var3) {
         if(this.aShortArray960[var3] == var1) {
            this.aShortArray960[var3] = var2;
         }
      }

   }

   void method1890(byte[] var1) {
      RS2Buffer var2 = new RS2Buffer(var1);
      RS2Buffer var3 = new RS2Buffer(var1);
      RS2Buffer var4 = new RS2Buffer(var1);
      RS2Buffer var5 = new RS2Buffer(var1);
      RS2Buffer var6 = new RS2Buffer(var1);
      RS2Buffer var7 = new RS2Buffer(var1);
      RS2Buffer var8 = new RS2Buffer(var1);
      var2.position = (var1.length - 23) * 1385214721;
      this.anInt962 = var2.readUnsignedShort(-937710807);
      this.anInt952 = var2.readUnsignedShort(-937710807);
      this.anInt965 = var2.readUnsignedByte(-700559597);
      int var9 = var2.readUnsignedByte(-700559597);
      boolean var10 = (var9 & 1) == 1;
      boolean var11 = (var9 & 2) == 2;
      boolean var12 = (var9 & 4) == 4;
      boolean var13 = (var9 & 8) == 8;
      boolean var14 = (var9 & 16) == 16;
      boolean var15 = (var9 & 32) == 32;
      boolean var16 = (var9 & 64) == 64;
      int var17 = 0;
      int var18 = 0;
      if(var13) {
         var2.position -= 1106568455;
         if(var14) {
            var2.position -= -1524537854;
         }

         if(var15) {
            var2.position -= -1524537854;
         }

         if(var14) {
            var17 = var2.readUnsignedShort(-937710807);
         }

         if(var15) {
            var18 = var2.readUnsignedShort(-937710807);
         }

         this.anInt947 = var2.readUnsignedByte(-700559597);
         var2.position += -278646266;
      }

      int var19 = var2.readUnsignedByte(-700559597);
      int var20 = var2.readUnsignedByte(-700559597);
      int var21 = var2.readUnsignedByte(-700559597);
      int var22 = var2.readUnsignedByte(-700559597);
      int var23 = var2.readUnsignedByte(-700559597);
      int var24 = var2.readUnsignedShort(-937710807);
      int var25 = var2.readUnsignedShort(-937710807);
      int var26 = var2.readUnsignedShort(-937710807);
      int var27 = var2.readUnsignedShort(-937710807);
      int var28 = var2.readUnsignedShort(-937710807);
      if(!var14) {
         if(var23 == 1) {
            var17 = this.anInt962;
         } else {
            var17 = 0;
         }
      }

      if(!var15) {
         if(var21 == 1) {
            var18 = this.anInt952;
         } else {
            var18 = 0;
         }
      }

      int var29 = 0;
      int var30 = 0;
      int var31 = 0;
      int var32;
      if(this.anInt965 > 0) {
         this.aByteArray957 = new byte[this.anInt965];
         var2.position = 0;

         for(var32 = 0; var32 < this.anInt965; ++var32) {
            byte var33 = this.aByteArray957[var32] = var2.readByte(1543145475);
            if(var33 == 0) {
               ++var29;
            }

            if(var33 >= 1 && var33 <= 3) {
               ++var30;
            }

            if(var33 == 2) {
               ++var31;
            }
         }
      }

      var32 = this.anInt965;
      int var64 = var32;
      var32 += this.anInt962;
      int var34 = var32;
      if(var10) {
         var32 += this.anInt952;
      }

      int var35 = var32;
      var32 += this.anInt952;
      int var36 = var32;
      if(var19 == 255) {
         var32 += this.anInt952;
      }

      int var37 = var32;
      var32 += var18;
      int var38 = var32;
      var32 += var17;
      int var39 = var32;
      if(var20 == 1) {
         var32 += this.anInt952;
      }

      int var40 = var32;
      var32 += var27;
      int var41 = var32;
      if(var22 == 1) {
         var32 += this.anInt952 * 2;
      }

      int var42 = var32;
      var32 += var28;
      int var43 = var32;
      var32 += this.anInt952 * 2;
      int var44 = var32;
      var32 += var24;
      int var45 = var32;
      var32 += var25;
      int var46 = var32;
      var32 += var26;
      int var47 = var32;
      var32 += var29 * 6;
      int var48 = var32;
      var32 += var30 * 6;
      byte var49 = 6;
      if(this.anInt947 == 14) {
         var49 = 7;
      } else if(this.anInt947 >= 15) {
         var49 = 9;
      }

      int var50 = var32;
      var32 += var30 * var49;
      int var51 = var32;
      var32 += var30;
      int var52 = var32;
      var32 += var30;
      int var53 = var32;
      var32 += var30 + var31 * 2;
      this.anIntArray970 = new int[this.anInt962];
      this.anIntArray948 = new int[this.anInt962];
      this.anIntArray968 = new int[this.anInt962];
      this.aShortArray955 = new short[this.anInt952];
      this.aShortArray954 = new short[this.anInt952];
      this.aShortArray945 = new short[this.anInt952];
      if(var23 == 1) {
         this.anIntArray950 = new int[this.anInt962];
      }

      if(var10) {
         this.aByteArray956 = new byte[this.anInt952];
      }

      if(var19 == 255) {
         this.aByteArray978 = new byte[this.anInt952];
      } else {
         this.aByte963 = (byte)var19;
      }

      if(var20 == 1) {
         this.aByteArray958 = new byte[this.anInt952];
      }

      if(var21 == 1) {
         this.anIntArray944 = new int[this.anInt952];
      }

      if(var22 == 1) {
         this.aShortArray961 = new short[this.anInt952];
      }

      if(var22 == 1 && this.anInt965 > 0) {
         this.aByteArray951 = new byte[this.anInt952];
      }

      this.aShortArray960 = new short[this.anInt952];
      if(this.anInt965 > 0) {
         this.aShortArray967 = new short[this.anInt965];
         this.aShortArray977 = new short[this.anInt965];
         this.aShortArray969 = new short[this.anInt965];
         if(var30 > 0) {
            this.anIntArray966 = new int[var30];
            this.anIntArray949 = new int[var30];
            this.anIntArray972 = new int[var30];
            this.aByteArray976 = new byte[var30];
            this.aByteArray959 = new byte[var30];
            this.anIntArray973 = new int[var30];
         }

         if(var31 > 0) {
            this.anIntArray974 = new int[var31];
            this.anIntArray975 = new int[var31];
         }
      }

      var2.position = var64 * 1385214721;
      var3.position = var44 * 1385214721;
      var4.position = var45 * 1385214721;
      var5.position = var46 * 1385214721;
      var6.position = var38 * 1385214721;
      int var55 = 0;
      int var56 = 0;
      int var57 = 0;

      int var59;
      int var58;
      int var62;
      int var61;
      int var60;
      for(var58 = 0; var58 < this.anInt962; ++var58) {
         var59 = var2.readUnsignedByte(-700559597);
         var60 = 0;
         if((var59 & 1) != 0) {
            var60 = var3.method13738(-1400876177);
         }

         var61 = 0;
         if((var59 & 2) != 0) {
            var61 = var4.method13738(-1040313805);
         }

         var62 = 0;
         if((var59 & 4) != 0) {
            var62 = var5.method13738(-922613433);
         }

         this.anIntArray970[var58] = var55 + var60;
         this.anIntArray948[var58] = var56 + var61;
         this.anIntArray968[var58] = var57 + var62;
         var55 = this.anIntArray970[var58];
         var56 = this.anIntArray948[var58];
         var57 = this.anIntArray968[var58];
         if(var23 == 1) {
            if(var14) {
               this.anIntArray950[var58] = var6.method13740(1890783988);
            } else {
               this.anIntArray950[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray950[var58] == 255) {
                  this.anIntArray950[var58] = -1;
               }
            }
         }
      }

      var2.position = var43 * 1385214721;
      var3.position = var34 * 1385214721;
      var4.position = var36 * 1385214721;
      var5.position = var39 * 1385214721;
      var6.position = var37 * 1385214721;
      var7.position = var41 * 1385214721;
      var8.position = var42 * 1385214721;

      for(var58 = 0; var58 < this.anInt952; ++var58) {
         this.aShortArray960[var58] = (short)var2.readUnsignedShort(-937710807);
         if(var10) {
            this.aByteArray956[var58] = var3.readByte(311625787);
         }

         if(var19 == 255) {
            this.aByteArray978[var58] = var4.readByte(-852764974);
         }

         if(var20 == 1) {
            this.aByteArray958[var58] = var5.readByte(-1025506407);
         }

         if(var21 == 1) {
            if(var15) {
               this.anIntArray944[var58] = var6.method13740(1265334705);
            } else {
               this.anIntArray944[var58] = var6.readUnsignedByte(-700559597);
               if(this.anIntArray944[var58] == 255) {
                  this.anIntArray944[var58] = -1;
               }
            }
         }

         if(var22 == 1) {
            this.aShortArray961[var58] = (short)(var7.readUnsignedShort(-937710807) - 1);
         }

         if(this.aByteArray951 != null) {
            if(this.aShortArray961[var58] != -1) {
               this.aByteArray951[var58] = (byte)(var8.readUnsignedByte(-700559597) - 1);
            } else {
               this.aByteArray951[var58] = -1;
            }
         }
      }

      this.anInt946 = -1;
      var2.position = var40 * 1385214721;
      var3.position = var35 * 1385214721;
      this.method1851(var2, var3);
      var2.position = var47 * 1385214721;
      var3.position = var48 * 1385214721;
      var4.position = var50 * 1385214721;
      var5.position = var51 * 1385214721;
      var6.position = var52 * 1385214721;
      var7.position = var53 * 1385214721;
      this.method1852(var2, var3, var4, var5, var6, var7);
      var2.position = var32 * 1385214721;
      if(var11) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass80Array971 = new Class80[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               byte var65;
               if(var19 == 255) {
                  var65 = this.aByteArray978[var61];
               } else {
                  var65 = (byte)var19;
               }

               this.aClass80Array971[var59] = new Class80(var60, this.aShortArray955[var61], this.aShortArray954[var61], this.aShortArray945[var61], var65);
            }
         }

         var59 = var2.readUnsignedByte(-700559597);
         if(var59 > 0) {
            this.aClass166Array979 = new Class166[var59];

            for(var60 = 0; var60 < var59; ++var60) {
               var61 = var2.readUnsignedShort(-937710807);
               var62 = var2.readUnsignedShort(-937710807);
               this.aClass166Array979[var60] = new Class166(var61, var62);
            }
         }
      }

      if(var12) {
         var58 = var2.readUnsignedByte(-700559597);
         if(var58 > 0) {
            this.aClass92Array980 = new Class92[var58];

            for(var59 = 0; var59 < var58; ++var59) {
               var60 = var2.readUnsignedShort(-937710807);
               var61 = var2.readUnsignedShort(-937710807);
               if(var16) {
                  var62 = var2.method13740(1216237182);
               } else {
                  var62 = var2.readUnsignedByte(-700559597);
                  if(var62 == 255) {
                     var62 = -1;
                  }
               }

               byte var63 = var2.readByte(-269799999);
               this.aClass92Array980[var59] = new Class92(var60, var61, var62, var63);
            }
         }
      }

   }

   public void method1891(short var1, short var2) {
      if(this.aShortArray961 != null) {
         for(int var3 = 0; var3 < this.anInt952; ++var3) {
            if(this.aShortArray961[var3] == var1) {
               this.aShortArray961[var3] = var2;
            }
         }

      }
   }

   public void method1892(short var1, short var2) {
      if(this.aShortArray961 != null) {
         for(int var3 = 0; var3 < this.anInt952; ++var3) {
            if(this.aShortArray961[var3] == var1) {
               this.aShortArray961[var3] = var2;
            }
         }

      }
   }

   public void method1893(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.anInt962; ++var4) {
         this.anIntArray970[var4] += var1;
         this.anIntArray948[var4] += var2;
         this.anIntArray968[var4] += var3;
      }

   }

   public int[][] method1894(boolean var1) {
      int[] var2 = new int[256];
      int var3 = 0;
      int var4 = var1?this.anInt962:this.anInt946;

      int var6;
      for(int var5 = 0; var5 < var4; ++var5) {
         var6 = this.anIntArray950[var5];
         if(var6 >= 0) {
            ++var2[var6];
            if(var6 > var3) {
               var3 = var6;
            }
         }
      }

      int[][] var8 = new int[var3 + 1][];

      for(var6 = 0; var6 <= var3; ++var6) {
         var8[var6] = new int[var2[var6]];
         var2[var6] = 0;
      }

      for(var6 = 0; var6 < var4; ++var6) {
         int var7 = this.anIntArray950[var6];
         if(var7 >= 0) {
            var8[var7][var2[var7]++] = var6;
         }
      }

      return var8;
   }

   public Class96(int var1, int var2, int var3) {
      this.anIntArray970 = new int[var1];
      this.anIntArray948 = new int[var1];
      this.anIntArray968 = new int[var1];
      this.anIntArray950 = new int[var1];
      this.aShortArray955 = new short[var2];
      this.aShortArray954 = new short[var2];
      this.aShortArray945 = new short[var2];
      this.aByteArray956 = new byte[var2];
      this.aByteArray978 = new byte[var2];
      this.aByteArray958 = new byte[var2];
      this.aByteArray951 = new byte[var2];
      this.aShortArray960 = new short[var2];
      this.aShortArray961 = new short[var2];
      this.anIntArray944 = new int[var2];
      if(var3 > 0) {
         this.aByteArray957 = new byte[var3];
         this.aShortArray967 = new short[var3];
         this.aShortArray977 = new short[var3];
         this.aShortArray969 = new short[var3];
         this.anIntArray966 = new int[var3];
         this.anIntArray949 = new int[var3];
         this.anIntArray972 = new int[var3];
         this.aByteArray976 = new byte[var3];
         this.aByteArray959 = new byte[var3];
         this.anIntArray973 = new int[var3];
         this.anIntArray974 = new int[var3];
         this.anIntArray975 = new int[var3];
      }

   }

   public void method1895(int var1, int var2, int var3) {
      int var4;
      int var5;
      int var6;
      int var7;
      if(var3 != 0) {
         var4 = Class312.anIntArray3943[var3];
         var5 = Class312.anIntArray3956[var3];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray948[var6] * var4 + this.anIntArray970[var6] * var5 >> 14;
            this.anIntArray948[var6] = this.anIntArray948[var6] * var5 - this.anIntArray970[var6] * var4 >> 14;
            this.anIntArray970[var6] = var7;
         }
      }

      if(var1 != 0) {
         var4 = Class312.anIntArray3943[var1];
         var5 = Class312.anIntArray3956[var1];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray948[var6] * var5 - this.anIntArray968[var6] * var4 >> 14;
            this.anIntArray968[var6] = this.anIntArray948[var6] * var4 + this.anIntArray968[var6] * var5 >> 14;
            this.anIntArray948[var6] = var7;
         }
      }

      if(var2 != 0) {
         var4 = Class312.anIntArray3943[var2];
         var5 = Class312.anIntArray3956[var2];

         for(var6 = 0; var6 < this.anInt962; ++var6) {
            var7 = this.anIntArray968[var6] * var4 + this.anIntArray970[var6] * var5 >> 14;
            this.anIntArray968[var6] = this.anIntArray968[var6] * var5 - this.anIntArray970[var6] * var4 >> 14;
            this.anIntArray970[var6] = var7;
         }
      }

   }

   public void method1896(int var1) {
      int var2;
      for(var2 = 0; var2 < this.anInt962; ++var2) {
         this.anIntArray970[var2] <<= var1;
         this.anIntArray948[var2] <<= var1;
         this.anIntArray968[var2] <<= var1;
      }

      if(this.anInt965 > 0 && this.anIntArray966 != null) {
         for(var2 = 0; var2 < this.anIntArray966.length; ++var2) {
            this.anIntArray966[var2] <<= var1;
            this.anIntArray949[var2] <<= var1;
            if(this.aByteArray957[var2] != 1) {
               this.anIntArray972[var2] <<= var1;
            }
         }
      }

   }

   public void method1897(int var1) {
      int var2;
      for(var2 = 0; var2 < this.anInt962; ++var2) {
         this.anIntArray970[var2] <<= var1;
         this.anIntArray948[var2] <<= var1;
         this.anIntArray968[var2] <<= var1;
      }

      if(this.anInt965 > 0 && this.anIntArray966 != null) {
         for(var2 = 0; var2 < this.anIntArray966.length; ++var2) {
            this.anIntArray966[var2] <<= var1;
            this.anIntArray949[var2] <<= var1;
            if(this.aByteArray957[var2] != 1) {
               this.anIntArray972[var2] <<= var1;
            }
         }
      }

   }
}
