
public class Class225_Sub35 extends Class225 {

   int anInt8696;
   Class225_Sub26_Sub1[] aClass225_Sub26_Sub1Array8697 = new Class225_Sub26_Sub1[128];
   static int anInt8698;
   byte[] aByteArray8699 = new byte[128];
   byte[] aByteArray8700 = new byte[128];
   Class82[] aClass82Array8701 = new Class82[128];
   byte[] aByteArray8702 = new byte[128];
   int[] anIntArray8703 = new int[128];
   short[] aShortArray8704 = new short[128];


   Class225_Sub35(byte[] var1) {
      RS2Buffer var2 = new RS2Buffer(var1);

      int var3;
      for(var3 = 0; var2.buffer[var2.position * -543666943 + var3] != 0; ++var3) {
         ;
      }

      byte[] var4 = new byte[var3];

      int var5;
      for(var5 = 0; var5 < var3; ++var5) {
         var4[var5] = var2.readByte(-347536848);
      }

      var2.position += 1385214721;
      ++var3;
      var5 = -543666943 * var2.position;
      var2.position += var3 * 1385214721;

      int var6;
      for(var6 = 0; var2.buffer[var6 + var2.position * -543666943] != 0; ++var6) {
         ;
      }

      byte[] var7 = new byte[var6];

      int var8;
      for(var8 = 0; var8 < var6; ++var8) {
         var7[var8] = var2.readByte(1274432746);
      }

      var2.position += 1385214721;
      ++var6;
      var8 = -543666943 * var2.position;
      var2.position += var6 * 1385214721;

      int var9;
      for(var9 = 0; var2.buffer[-543666943 * var2.position + var9] != 0; ++var9) {
         ;
      }

      byte[] var10 = new byte[var9];

      for(int var11 = 0; var11 < var9; ++var11) {
         var10[var11] = var2.readByte(2072388475);
      }

      var2.position += 1385214721;
      ++var9;
      byte[] var36 = new byte[var9];
      int var13;
      int var14;
      if(var9 > 1) {
         var36[1] = 1;
         int var12 = 1;
         var13 = 2;

         for(var14 = 2; var14 < var9; ++var14) {
            int var15 = var2.readUnsignedByte(-700559597);
            if(var15 == 0) {
               var12 = var13++;
            } else {
               if(var15 <= var12) {
                  --var15;
               }

               var12 = var15;
            }

            var36[var14] = (byte)var12;
         }
      } else {
         var13 = var9;
      }

      Class82[] var37 = new Class82[var13];

      Class82 var40;
      for(var14 = 0; var14 < var37.length; ++var14) {
         var40 = var37[var14] = new Class82();
         int var16 = var2.readUnsignedByte(-700559597);
         if(var16 > 0) {
            var40.aByteArray847 = new byte[2 * var16];
         }

         var16 = var2.readUnsignedByte(-700559597);
         if(var16 > 0) {
            var40.aByteArray841 = new byte[2 + 2 * var16];
            var40.aByteArray841[1] = 64;
         }
      }

      var14 = var2.readUnsignedByte(-700559597);
      byte[] var39 = var14 > 0?new byte[2 * var14]:null;
      var14 = var2.readUnsignedByte(-700559597);
      byte[] var38 = var14 > 0?new byte[2 * var14]:null;

      int var17;
      for(var17 = 0; 0 != var2.buffer[-543666943 * var2.position + var17]; ++var17) {
         ;
      }

      byte[] var18 = new byte[var17];

      int var19;
      for(var19 = 0; var19 < var17; ++var19) {
         var18[var19] = var2.readByte(63663098);
      }

      var2.position += 1385214721;
      ++var17;
      var19 = 0;

      int var20;
      for(var20 = 0; var20 < 128; ++var20) {
         var19 += var2.readUnsignedByte(-700559597);
         this.aShortArray8704[var20] = (short)var19;
      }

      var19 = 0;

      for(var20 = 0; var20 < 128; ++var20) {
         var19 += var2.readUnsignedByte(-700559597);
         this.aShortArray8704[var20] = (short)(this.aShortArray8704[var20] + (var19 << 8));
      }

      var20 = 0;
      int var21 = 0;
      int var22 = 0;

      int var23;
      for(var23 = 0; var23 < 128; ++var23) {
         if(var20 == 0) {
            if(var21 < var18.length) {
               var20 = var18[var21++];
            } else {
               var20 = -1;
            }

            var22 = var2.method13744(200763824);
         }

         this.aShortArray8704[var23] = (short)(this.aShortArray8704[var23] + ((var22 - 1 & 2) << 14));
         this.anIntArray8703[var23] = var22;
         --var20;
      }

      var20 = 0;
      var21 = 0;
      var23 = 0;

      int var24;
      for(var24 = 0; var24 < 128; ++var24) {
         if(0 != this.anIntArray8703[var24]) {
            if(var20 == 0) {
               if(var21 < var4.length) {
                  var20 = var4[var21++];
               } else {
                  var20 = -1;
               }

               var23 = var2.buffer[var5++] - 1;
            }

            this.aByteArray8702[var24] = (byte)var23;
            --var20;
         }
      }

      var20 = 0;
      var21 = 0;
      var24 = 0;

      for(int var25 = 0; var25 < 128; ++var25) {
         if(0 != this.anIntArray8703[var25]) {
            if(0 == var20) {
               if(var21 < var7.length) {
                  var20 = var7[var21++];
               } else {
                  var20 = -1;
               }

               var24 = var2.buffer[var8++] + 16 << 2;
            }

            this.aByteArray8700[var25] = (byte)var24;
            --var20;
         }
      }

      var20 = 0;
      var21 = 0;
      Class82 var42 = null;

      int var26;
      for(var26 = 0; var26 < 128; ++var26) {
         if(this.anIntArray8703[var26] != 0) {
            if(0 == var20) {
               var42 = var37[var36[var21]];
               if(var21 < var10.length) {
                  var20 = var10[var21++];
               } else {
                  var20 = -1;
               }
            }

            this.aClass82Array8701[var26] = var42;
            --var20;
         }
      }

      var20 = 0;
      var21 = 0;
      var26 = 0;

      int var27;
      for(var27 = 0; var27 < 128; ++var27) {
         if(var20 == 0) {
            if(var21 < var18.length) {
               var20 = var18[var21++];
            } else {
               var20 = -1;
            }

            if(this.anIntArray8703[var27] > 0) {
               var26 = var2.readUnsignedByte(-700559597) + 1;
            }
         }

         this.aByteArray8699[var27] = (byte)var26;
         --var20;
      }

      this.anInt8696 = (var2.readUnsignedByte(-700559597) + 1) * -444890849;

      int var29;
      Class82 var28;
      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(null != var28.aByteArray847) {
            for(var29 = 1; var29 < var28.aByteArray847.length; var29 += 2) {
               var28.aByteArray847[var29] = var2.readByte(5375007);
            }
         }

         if(null != var28.aByteArray841) {
            for(var29 = 3; var29 < var28.aByteArray841.length - 2; var29 += 2) {
               var28.aByteArray841[var29] = var2.readByte(-596644282);
            }
         }
      }

      if(null != var39) {
         for(var27 = 1; var27 < var39.length; var27 += 2) {
            var39[var27] = var2.readByte(220900410);
         }
      }

      if(null != var38) {
         for(var27 = 1; var27 < var38.length; var27 += 2) {
            var38[var27] = var2.readByte(1854223777);
         }
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(null != var28.aByteArray841) {
            var19 = 0;

            for(var29 = 2; var29 < var28.aByteArray841.length; var29 += 2) {
               var19 = 1 + var19 + var2.readUnsignedByte(-700559597);
               var28.aByteArray841[var29] = (byte)var19;
            }
         }
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(var28.aByteArray847 != null) {
            var19 = 0;

            for(var29 = 2; var29 < var28.aByteArray847.length; var29 += 2) {
               var19 = var19 + 1 + var2.readUnsignedByte(-700559597);
               var28.aByteArray847[var29] = (byte)var19;
            }
         }
      }

      byte var30;
      int var34;
      int var32;
      int var33;
      int var43;
      byte var47;
      if(var39 != null) {
         var19 = var2.readUnsignedByte(-700559597);
         var39[0] = (byte)var19;

         for(var27 = 2; var27 < var39.length; var27 += 2) {
            var19 = var19 + 1 + var2.readUnsignedByte(-700559597);
            var39[var27] = (byte)var19;
         }

         var47 = var39[0];
         byte var45 = var39[1];

         for(var29 = 0; var29 < var47; ++var29) {
            this.aByteArray8699[var29] = (byte)(32 + this.aByteArray8699[var29] * var45 >> 6);
         }

         for(var29 = 2; var29 < var39.length; var29 += 2) {
            var30 = var39[var29];
            byte var31 = var39[var29 + 1];
            var32 = (var30 - var47) * var45 + (var30 - var47) / 2;

            for(var33 = var47; var33 < var30; ++var33) {
               var34 = Class72.method1587(var32, var30 - var47, (byte)-21);
               this.aByteArray8699[var33] = (byte)(this.aByteArray8699[var33] * var34 + 32 >> 6);
               var32 += var31 - var45;
            }

            var47 = var30;
            var45 = var31;
         }

         for(var43 = var47; var43 < 128; ++var43) {
            this.aByteArray8699[var43] = (byte)(32 + var45 * this.aByteArray8699[var43] >> 6);
         }

         var40 = null;
      }

      if(var38 != null) {
         var19 = var2.readUnsignedByte(-700559597);
         var38[0] = (byte)var19;

         for(var27 = 2; var27 < var38.length; var27 += 2) {
            var19 = 1 + var19 + var2.readUnsignedByte(-700559597);
            var38[var27] = (byte)var19;
         }

         var47 = var38[0];
         int var46 = var38[1] << 1;

         for(var29 = 0; var29 < var47; ++var29) {
            var43 = var46 + (this.aByteArray8700[var29] & 255);
            if(var43 < 0) {
               var43 = 0;
            }

            if(var43 > 128) {
               var43 = 128;
            }

            this.aByteArray8700[var29] = (byte)var43;
         }

         int var44;
         for(var29 = 2; var29 < var38.length; var29 += 2) {
            var30 = var38[var29];
            var44 = var38[1 + var29] << 1;
            var32 = (var30 - var47) / 2 + (var30 - var47) * var46;

            for(var33 = var47; var33 < var30; ++var33) {
               var34 = Class72.method1587(var32, var30 - var47, (byte)-72);
               int var35 = var34 + (this.aByteArray8700[var33] & 255);
               if(var35 < 0) {
                  var35 = 0;
               }

               if(var35 > 128) {
                  var35 = 128;
               }

               this.aByteArray8700[var33] = (byte)var35;
               var32 += var44 - var46;
            }

            var47 = var30;
            var46 = var44;
         }

         for(var43 = var47; var43 < 128; ++var43) {
            var44 = (this.aByteArray8700[var43] & 255) + var46;
            if(var44 < 0) {
               var44 = 0;
            }

            if(var44 > 128) {
               var44 = 128;
            }

            this.aByteArray8700[var43] = (byte)var44;
         }

         Object var41 = null;
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var37[var27].anInt842 = var2.readUnsignedByte(-700559597) * -138797053;
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(var28.aByteArray847 != null) {
            var28.anInt843 = var2.readUnsignedByte(-700559597) * -1232946421;
         }

         if(var28.aByteArray841 != null) {
            var28.anInt844 = var2.readUnsignedByte(-700559597) * -1469801771;
         }

         if(-1334211925 * var28.anInt842 > 0) {
            var28.anInt846 = var2.readUnsignedByte(-700559597) * 2084648373;
         }
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var37[var27].anInt845 = var2.readUnsignedByte(-700559597) * 460517329;
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(var28.anInt845 * -1079654095 > 0) {
            var28.anInt840 = var2.readUnsignedByte(-700559597) * -1066192539;
         }
      }

      for(var27 = 0; var27 < var13; ++var27) {
         var28 = var37[var27];
         if(958437485 * var28.anInt840 > 0) {
            var28.anInt848 = var2.readUnsignedByte(-700559597) * -2111797623;
         }
      }

   }

   static Class225_Sub35 method14047(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   boolean method14048(Class197 var1, byte[] var2, int[] var3) {
      boolean var4 = true;
      int var5 = 0;
      Object var6 = null;

      for(int var7 = 0; var7 < 128; ++var7) {
         if(var2 == null || var2[var7] != 0) {
            int var8 = this.anIntArray8703[var7];
            if(0 != var8) {
               if(var5 != var8) {
                  var5 = var8--;
                  if((var8 & 1) == 0) {
                     var6 = var1.method3374(var8 >> 2, var3, 257387255);
                  } else {
                     var6 = var1.method3376(var8 >> 2, var3, 1005550299);
                  }

                  if(var6 == null) {
                     var4 = false;
                  }
               }

               if(null != var6) {
                  this.aClass225_Sub26_Sub1Array8697[var7] = (Class225_Sub26_Sub1)var6;
                  this.anIntArray8703[var7] = 0;
               }
            }
         }
      }

      return var4;
   }

   void method14049(int var1) {
      this.anIntArray8703 = null;
   }

   static Class225_Sub35 method14050(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   boolean method14051(Class197 var1, byte[] var2, int[] var3, int var4) {
      boolean var5 = true;
      int var6 = 0;
      Object var7 = null;

      for(int var8 = 0; var8 < 128; ++var8) {
         if(var2 == null || var2[var8] != 0) {
            int var9 = this.anIntArray8703[var8];
            if(0 != var9) {
               if(var6 != var9) {
                  var6 = var9--;
                  if((var9 & 1) == 0) {
                     var7 = var1.method3374(var9 >> 2, var3, 257387255);
                  } else {
                     var7 = var1.method3376(var9 >> 2, var3, 1286877151);
                  }

                  if(var7 == null) {
                     var5 = false;
                  }
               }

               if(null != var7) {
                  this.aClass225_Sub26_Sub1Array8697[var8] = (Class225_Sub26_Sub1)var7;
                  this.anIntArray8703[var8] = 0;
               }
            }
         }
      }

      return var5;
   }

   static Class225_Sub35 method14052(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   static Class225_Sub35 method14053(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   static Class225_Sub35 method14054(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   boolean method14055(Class197 var1, byte[] var2, int[] var3) {
      boolean var4 = true;
      int var5 = 0;
      Object var6 = null;

      for(int var7 = 0; var7 < 128; ++var7) {
         if(var2 == null || var2[var7] != 0) {
            int var8 = this.anIntArray8703[var7];
            if(0 != var8) {
               if(var5 != var8) {
                  var5 = var8--;
                  if((var8 & 1) == 0) {
                     var6 = var1.method3374(var8 >> 2, var3, 257387255);
                  } else {
                     var6 = var1.method3376(var8 >> 2, var3, 1453434972);
                  }

                  if(var6 == null) {
                     var4 = false;
                  }
               }

               if(null != var6) {
                  this.aClass225_Sub26_Sub1Array8697[var7] = (Class225_Sub26_Sub1)var6;
                  this.anIntArray8703[var7] = 0;
               }
            }
         }
      }

      return var4;
   }

   static Class225_Sub35 method14056(Class253 var0, int var1) {
      byte[] var2 = var0.method4512(var1, 749605384);
      return null == var2?null:new Class225_Sub35(var2);
   }

   void method14057() {
      this.anIntArray8703 = null;
   }

   void method14058() {
      this.anIntArray8703 = null;
   }

   static final void method14059(Class124[] var0, int var1, int var2) {
      for(int var3 = 0; var3 < var0.length; ++var3) {
         Class124 var4 = var0[var3];
         if(var4 != null) {
            if(258921611 * var4.anInt1370 == 0) {
               if(var4.aClass124Array1521 != null) {
                  method14059(var4.aClass124Array1521, var1, 317240964);
               }

               Class225_Sub4 var5 = (Class225_Sub4)client.aClass423_7832.method7211((long)(34646887 * var4.anInt1406));
               if(null != var5) {
                  Class118_Sub10.method13194(-165881631 * var5.anInt8385, var1, (short)21092);
               }
            }

            Class225_Sub28 var6;
            if(0 == var1 && var4.anObjectArray1502 != null) {
               var6 = new Class225_Sub28();
               var6.aClass124_8636 = var4;
               var6.anObjectArray8635 = var4.anObjectArray1502;
               Class69.method1475(var6, (byte)1);
            }

            if(1 == var1 && var4.anObjectArray1503 != null) {
               if(-875927841 * var4.anInt1369 >= 0) {
                  Class124 var7 = Class97.method1903(var4.anInt1406 * 34646887, -541979252);
                  if(var7 == null || null == var7.aClass124Array1408 || var4.anInt1369 * -875927841 >= var7.aClass124Array1408.length || var7.aClass124Array1408[var4.anInt1369 * -875927841] != var4) {
                     continue;
                  }
               }

               var6 = new Class225_Sub28();
               var6.aClass124_8636 = var4;
               var6.anObjectArray8635 = var4.anObjectArray1503;
               Class69.method1475(var6, (byte)1);
            }
         }
      }

   }
}
