
public class Class8_Sub2 extends Class8 {

   int[] anIntArray9092;
   int[] anIntArray9093;
   byte[][] aByteArrayArray9094;
   int[] anIntArray9095;
   Class545_Sub3 aClass545_Sub3_9096;
   int[] anIntArray9097;
   int[] anIntArray9098;
   static Class171 aClass171_9099;


   void method14526(byte[] var1, int[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, Class496 var14, int var15, int var16) {
      Class496_Sub2 var17 = (Class496_Sub2)var14;
      int[] var18 = var17.anIntArray9835;
      int[] var19 = var17.anIntArray9836;
      int var20 = var11 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var21 = var12;
      if(var16 > var12) {
         var21 = var16;
         var6 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var16 - var12);
         var5 += var13 * (var16 - var12);
      }

      int var22 = var16 + var18.length < var8 + var12?var16 + var18.length:var8 + var12;
      boolean var23 = false;

      for(int var24 = var21; var24 < var22; ++var24) {
         int var25 = var18[var24 - var16] + var15;
         int var26 = var19[var24 - var16];
         int var27 = var7;
         int var28;
         if(var20 > var25) {
            var28 = var20 - var25;
            if(var28 >= var26) {
               var5 += var7 + var10;
               var6 += var7 + var9;
               continue;
            }

            var26 -= var28;
         } else {
            var28 = var25 - var20;
            if(var28 >= var7) {
               var5 += var10 + var7;
               var6 += var9 + var7;
               continue;
            }

            var5 += var28;
            var27 = var7 - var28;
            var6 += var28;
         }

         var28 = 0;
         if(var27 < var26) {
            var26 = var27;
         } else {
            var28 = var27 - var26;
         }

         for(int var29 = -var26; var29 < 0; ++var29) {
            byte var30;
            if((var30 = var1[var5++]) != 0) {
               var2[var6++] = var3[var30 & 255];
            } else {
               ++var6;
            }
         }

         var5 += var28 + var10;
         var6 += var28 + var9;
      }

   }

   void method14527(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class496 var13, int var14, int var15) {
      Class496_Sub2 var16 = (Class496_Sub2)var13;
      int[] var17 = var16.anIntArray9835;
      int[] var18 = var16.anIntArray9836;
      int var19 = var10 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var20 = var11;
      if(var15 > var11) {
         var20 = var15;
         var5 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var15 - var11);
         var4 += (var15 - var11) * var12;
      }

      int var21 = var17.length + var15 < var7 + var11?var15 + var17.length:var11 + var7;

      for(int var22 = var20; var22 < var21; ++var22) {
         int var23 = var14 + var17[var22 - var15];
         int var24 = var18[var22 - var15];
         int var25 = var6;
         int var26;
         if(var19 > var23) {
            var26 = var19 - var23;
            if(var26 >= var24) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var24 -= var26;
         } else {
            var26 = var23 - var19;
            if(var26 >= var6) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var4 += var26;
            var25 = var6 - var26;
            var5 += var26;
         }

         var26 = 0;
         if(var25 < var24) {
            var24 = var25;
         } else {
            var26 = var25 - var24;
         }

         for(int var27 = -var24; var27 < 0; ++var27) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var4 += var26 + var4;
         var5 += var26 + var8;
      }

   }

   void method14528(byte[] var1, int[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      int var10 = -(var6 >> 2);
      var6 = -(var6 & 3);
      boolean var11 = false;

      for(int var12 = -var7; var12 < 0; ++var12) {
         int var13;
         byte var14;
         for(var13 = var10; var13 < 0; ++var13) {
            if((var14 = var1[var4++]) != 0) {
               var2[var5++] = var3[var14 & 255];
            } else {
               ++var5;
            }

            if((var14 = var1[var4++]) != 0) {
               var2[var5++] = var3[var14 & 255];
            } else {
               ++var5;
            }

            if((var14 = var1[var4++]) != 0) {
               var2[var5++] = var3[var14 & 255];
            } else {
               ++var5;
            }

            if((var14 = var1[var4++]) != 0) {
               var2[var5++] = var3[var14 & 255];
            } else {
               ++var5;
            }
         }

         for(var13 = var6; var13 < 0; ++var13) {
            if((var14 = var1[var4++]) != 0) {
               var2[var5++] = var3[var14 & 255];
            } else {
               ++var5;
            }
         }

         var5 += var8;
         var4 += var9;
      }

   }

   Class8_Sub2(Class545_Sub3 var1, Class405 var2, Class86_Sub1[] var3, int[] var4, int[] var5) {
      super(var1, var2);
      this.aClass545_Sub3_9096 = var1;
      this.aClass545_Sub3_9096 = var1;
      this.anIntArray9095 = var4;
      this.anIntArray9092 = var5;
      this.aByteArrayArray9094 = new byte[var3.length][];
      this.anIntArray9097 = new int[var3.length];
      this.anIntArray9098 = new int[var3.length];

      for(int var6 = 0; var6 < var3.length; ++var6) {
         this.aByteArrayArray9094[var6] = var3[var6].aByteArray9472;
         this.anIntArray9097[var6] = var3[var6].anInt9469;
         this.anIntArray9098[var6] = var3[var6].anInt9467;
      }

      this.anIntArray9093 = var3[0].anIntArray9466;
   }

   void method620(char var1, int var2, int var3, int var4, boolean var5, Class496 var6, int var7, int var8) {
      if(this.aClass545_Sub3_9096.anIntArray9788 != null) {
         if(var6 == null) {
            this.UA(var1, var2, var3, var4, var5);
         } else {
            var2 += this.anIntArray9098[var1];
            var3 += this.anIntArray9097[var1];
            int var9 = this.anIntArray9095[var1];
            int var10 = this.anIntArray9092[var1];
            int var11 = this.aClass545_Sub3_9096.anInt9789 * 1251184143;
            int var12 = var3 * var11 + var2;
            int var13 = var11 - var9;
            int var14 = 0;
            int var15 = 0;
            int var16;
            if(var3 < 493658681 * this.aClass545_Sub3_9096.anInt9800) {
               var16 = this.aClass545_Sub3_9096.anInt9800 * 493658681 - var3;
               var10 -= var16;
               var3 = this.aClass545_Sub3_9096.anInt9800 * 493658681;
               var15 += var9 * var16;
               var12 += var11 * var16;
            }

            if(var10 + var3 > -1644767141 * this.aClass545_Sub3_9096.anInt9795) {
               var10 -= var3 + var10 - -1644767141 * this.aClass545_Sub3_9096.anInt9795;
            }

            if(var2 < -399365585 * this.aClass545_Sub3_9096.anInt9785) {
               var16 = -399365585 * this.aClass545_Sub3_9096.anInt9785 - var2;
               var9 -= var16;
               var2 = this.aClass545_Sub3_9096.anInt9785 * -399365585;
               var15 += var16;
               var12 += var16;
               var14 += var16;
               var13 += var16;
            }

            if(var2 + var9 > -2090820537 * this.aClass545_Sub3_9096.anInt9797) {
               var16 = var9 + var2 - this.aClass545_Sub3_9096.anInt9797 * -2090820537;
               var9 -= var16;
               var14 += var16;
               var13 += var16;
            }

            if(var9 > 0 && var10 > 0) {
               if(var5) {
                  this.method14530(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, var4, var15, var12, var9, var10, var13, var14, var2, var3, this.anIntArray9095[var1], var6, var7, var8);
               } else {
                  this.method14529(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, this.anIntArray9093, var4, var15, var12, var9, var10, var13, var14, var2, var3, this.anIntArray9095[var1], var6, var7, var8);
               }

            }
         }
      }
   }

   void method14529(byte[] var1, int[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, Class496 var14, int var15, int var16) {
      Class496_Sub2 var17 = (Class496_Sub2)var14;
      int[] var18 = var17.anIntArray9835;
      int[] var19 = var17.anIntArray9836;
      int var20 = var11 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var21 = var12;
      if(var16 > var12) {
         var21 = var16;
         var6 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var16 - var12);
         var5 += var13 * (var16 - var12);
      }

      int var22 = var16 + var18.length < var8 + var12?var16 + var18.length:var8 + var12;
      boolean var23 = false;

      for(int var24 = var21; var24 < var22; ++var24) {
         int var25 = var18[var24 - var16] + var15;
         int var26 = var19[var24 - var16];
         int var27 = var7;
         int var28;
         if(var20 > var25) {
            var28 = var20 - var25;
            if(var28 >= var26) {
               var5 += var7 + var10;
               var6 += var7 + var9;
               continue;
            }

            var26 -= var28;
         } else {
            var28 = var25 - var20;
            if(var28 >= var7) {
               var5 += var10 + var7;
               var6 += var9 + var7;
               continue;
            }

            var5 += var28;
            var27 = var7 - var28;
            var6 += var28;
         }

         var28 = 0;
         if(var27 < var26) {
            var26 = var27;
         } else {
            var28 = var27 - var26;
         }

         for(int var29 = -var26; var29 < 0; ++var29) {
            byte var30;
            if((var30 = var1[var5++]) != 0) {
               var2[var6++] = var3[var30 & 255];
            } else {
               ++var6;
            }
         }

         var5 += var28 + var10;
         var6 += var28 + var9;
      }

   }

   void method14530(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class496 var13, int var14, int var15) {
      Class496_Sub2 var16 = (Class496_Sub2)var13;
      int[] var17 = var16.anIntArray9835;
      int[] var18 = var16.anIntArray9836;
      int var19 = var10 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var20 = var11;
      if(var15 > var11) {
         var20 = var15;
         var5 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var15 - var11);
         var4 += (var15 - var11) * var12;
      }

      int var21 = var17.length + var15 < var7 + var11?var15 + var17.length:var11 + var7;

      for(int var22 = var20; var22 < var21; ++var22) {
         int var23 = var14 + var17[var22 - var15];
         int var24 = var18[var22 - var15];
         int var25 = var6;
         int var26;
         if(var19 > var23) {
            var26 = var19 - var23;
            if(var26 >= var24) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var24 -= var26;
         } else {
            var26 = var23 - var19;
            if(var26 >= var6) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var4 += var26;
            var25 = var6 - var26;
            var5 += var26;
         }

         var26 = 0;
         if(var25 < var24) {
            var24 = var25;
         } else {
            var26 = var25 - var24;
         }

         for(int var27 = -var24; var27 < 0; ++var27) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var4 += var26 + var4;
         var5 += var26 + var8;
      }

   }

   void w(char var1, int var2, int var3, int var4, boolean var5) {
      if(null != this.aClass545_Sub3_9096.anIntArray9788) {
         var2 += this.anIntArray9098[var1];
         var3 += this.anIntArray9097[var1];
         int var6 = this.anIntArray9095[var1];
         int var7 = this.anIntArray9092[var1];
         int var8 = this.aClass545_Sub3_9096.anInt9789 * 1251184143;
         int var9 = var2 + var8 * var3;
         int var10 = var8 - var6;
         int var11 = 0;
         int var12 = 0;
         int var13;
         if(var3 < this.aClass545_Sub3_9096.anInt9800 * 493658681) {
            var13 = this.aClass545_Sub3_9096.anInt9800 * 493658681 - var3;
            var7 -= var13;
            var3 = this.aClass545_Sub3_9096.anInt9800 * 493658681;
            var12 += var13 * var6;
            var9 += var13 * var8;
         }

         if(var7 + var3 > this.aClass545_Sub3_9096.anInt9795 * -1644767141) {
            var7 -= var7 + var3 - -1644767141 * this.aClass545_Sub3_9096.anInt9795;
         }

         if(var2 < -399365585 * this.aClass545_Sub3_9096.anInt9785) {
            var13 = this.aClass545_Sub3_9096.anInt9785 * -399365585 - var2;
            var6 -= var13;
            var2 = this.aClass545_Sub3_9096.anInt9785 * -399365585;
            var12 += var13;
            var9 += var13;
            var11 += var13;
            var10 += var13;
         }

         if(var2 + var6 > this.aClass545_Sub3_9096.anInt9797 * -2090820537) {
            var13 = var6 + var2 - -2090820537 * this.aClass545_Sub3_9096.anInt9797;
            var6 -= var13;
            var11 += var13;
            var10 += var13;
         }

         if(var6 > 0 && var7 > 0) {
            if(var5) {
               this.method14532(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, var4, var12, var9, var6, var7, var10, var11);
            } else {
               this.method14528(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, this.anIntArray9093, var12, var9, var6, var7, var10, var11);
            }

         }
      }
   }

   void k(char var1, int var2, int var3, int var4, boolean var5) {
      if(null != this.aClass545_Sub3_9096.anIntArray9788) {
         var2 += this.anIntArray9098[var1];
         var3 += this.anIntArray9097[var1];
         int var6 = this.anIntArray9095[var1];
         int var7 = this.anIntArray9092[var1];
         int var8 = this.aClass545_Sub3_9096.anInt9789 * 1251184143;
         int var9 = var2 + var8 * var3;
         int var10 = var8 - var6;
         int var11 = 0;
         int var12 = 0;
         int var13;
         if(var3 < this.aClass545_Sub3_9096.anInt9800 * 493658681) {
            var13 = this.aClass545_Sub3_9096.anInt9800 * 493658681 - var3;
            var7 -= var13;
            var3 = this.aClass545_Sub3_9096.anInt9800 * 493658681;
            var12 += var13 * var6;
            var9 += var13 * var8;
         }

         if(var7 + var3 > this.aClass545_Sub3_9096.anInt9795 * -1644767141) {
            var7 -= var7 + var3 - -1644767141 * this.aClass545_Sub3_9096.anInt9795;
         }

         if(var2 < -399365585 * this.aClass545_Sub3_9096.anInt9785) {
            var13 = this.aClass545_Sub3_9096.anInt9785 * -399365585 - var2;
            var6 -= var13;
            var2 = this.aClass545_Sub3_9096.anInt9785 * -399365585;
            var12 += var13;
            var9 += var13;
            var11 += var13;
            var10 += var13;
         }

         if(var2 + var6 > this.aClass545_Sub3_9096.anInt9797 * -2090820537) {
            var13 = var6 + var2 - -2090820537 * this.aClass545_Sub3_9096.anInt9797;
            var6 -= var13;
            var11 += var13;
            var10 += var13;
         }

         if(var6 > 0 && var7 > 0) {
            if(var5) {
               this.method14532(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, var4, var12, var9, var6, var7, var10, var11);
            } else {
               this.method14528(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, this.anIntArray9093, var12, var9, var6, var7, var10, var11);
            }

         }
      }
   }

   void method14531(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      int var10 = -(var6 >> 2);
      var6 = -(var6 & 3);

      for(int var11 = -var7; var11 < 0; ++var11) {
         int var12;
         for(var12 = var10; var12 < 0; ++var12) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         for(var12 = var6; var12 < 0; ++var12) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var5 += var8;
         var4 += var9;
      }

   }

   void method629(char var1, int var2, int var3, int var4, boolean var5, Class496 var6, int var7, int var8) {
      if(this.aClass545_Sub3_9096.anIntArray9788 != null) {
         if(var6 == null) {
            this.UA(var1, var2, var3, var4, var5);
         } else {
            var2 += this.anIntArray9098[var1];
            var3 += this.anIntArray9097[var1];
            int var9 = this.anIntArray9095[var1];
            int var10 = this.anIntArray9092[var1];
            int var11 = this.aClass545_Sub3_9096.anInt9789 * 1251184143;
            int var12 = var3 * var11 + var2;
            int var13 = var11 - var9;
            int var14 = 0;
            int var15 = 0;
            int var16;
            if(var3 < 493658681 * this.aClass545_Sub3_9096.anInt9800) {
               var16 = this.aClass545_Sub3_9096.anInt9800 * 493658681 - var3;
               var10 -= var16;
               var3 = this.aClass545_Sub3_9096.anInt9800 * 493658681;
               var15 += var9 * var16;
               var12 += var11 * var16;
            }

            if(var10 + var3 > -1644767141 * this.aClass545_Sub3_9096.anInt9795) {
               var10 -= var3 + var10 - -1644767141 * this.aClass545_Sub3_9096.anInt9795;
            }

            if(var2 < -399365585 * this.aClass545_Sub3_9096.anInt9785) {
               var16 = -399365585 * this.aClass545_Sub3_9096.anInt9785 - var2;
               var9 -= var16;
               var2 = this.aClass545_Sub3_9096.anInt9785 * -399365585;
               var15 += var16;
               var12 += var16;
               var14 += var16;
               var13 += var16;
            }

            if(var2 + var9 > -2090820537 * this.aClass545_Sub3_9096.anInt9797) {
               var16 = var9 + var2 - this.aClass545_Sub3_9096.anInt9797 * -2090820537;
               var9 -= var16;
               var14 += var16;
               var13 += var16;
            }

            if(var9 > 0 && var10 > 0) {
               if(var5) {
                  this.method14530(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, var4, var15, var12, var9, var10, var13, var14, var2, var3, this.anIntArray9095[var1], var6, var7, var8);
               } else {
                  this.method14529(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, this.anIntArray9093, var4, var15, var12, var9, var10, var13, var14, var2, var3, this.anIntArray9095[var1], var6, var7, var8);
               }

            }
         }
      }
   }

   void method14532(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      int var10 = -(var6 >> 2);
      var6 = -(var6 & 3);

      for(int var11 = -var7; var11 < 0; ++var11) {
         int var12;
         for(var12 = var10; var12 < 0; ++var12) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }

            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         for(var12 = var6; var12 < 0; ++var12) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var5 += var8;
         var4 += var9;
      }

   }

   void method14533(byte[] var1, int[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, Class496 var14, int var15, int var16) {
      Class496_Sub2 var17 = (Class496_Sub2)var14;
      int[] var18 = var17.anIntArray9835;
      int[] var19 = var17.anIntArray9836;
      int var20 = var11 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var21 = var12;
      if(var16 > var12) {
         var21 = var16;
         var6 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var16 - var12);
         var5 += var13 * (var16 - var12);
      }

      int var22 = var16 + var18.length < var8 + var12?var16 + var18.length:var8 + var12;
      boolean var23 = false;

      for(int var24 = var21; var24 < var22; ++var24) {
         int var25 = var18[var24 - var16] + var15;
         int var26 = var19[var24 - var16];
         int var27 = var7;
         int var28;
         if(var20 > var25) {
            var28 = var20 - var25;
            if(var28 >= var26) {
               var5 += var7 + var10;
               var6 += var7 + var9;
               continue;
            }

            var26 -= var28;
         } else {
            var28 = var25 - var20;
            if(var28 >= var7) {
               var5 += var10 + var7;
               var6 += var9 + var7;
               continue;
            }

            var5 += var28;
            var27 = var7 - var28;
            var6 += var28;
         }

         var28 = 0;
         if(var27 < var26) {
            var26 = var27;
         } else {
            var28 = var27 - var26;
         }

         for(int var29 = -var26; var29 < 0; ++var29) {
            byte var30;
            if((var30 = var1[var5++]) != 0) {
               var2[var6++] = var3[var30 & 255];
            } else {
               ++var6;
            }
         }

         var5 += var28 + var10;
         var6 += var28 + var9;
      }

   }

   void method14534(byte[] var1, int[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, Class496 var14, int var15, int var16) {
      Class496_Sub2 var17 = (Class496_Sub2)var14;
      int[] var18 = var17.anIntArray9835;
      int[] var19 = var17.anIntArray9836;
      int var20 = var11 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var21 = var12;
      if(var16 > var12) {
         var21 = var16;
         var6 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var16 - var12);
         var5 += var13 * (var16 - var12);
      }

      int var22 = var16 + var18.length < var8 + var12?var16 + var18.length:var8 + var12;
      boolean var23 = false;

      for(int var24 = var21; var24 < var22; ++var24) {
         int var25 = var18[var24 - var16] + var15;
         int var26 = var19[var24 - var16];
         int var27 = var7;
         int var28;
         if(var20 > var25) {
            var28 = var20 - var25;
            if(var28 >= var26) {
               var5 += var7 + var10;
               var6 += var7 + var9;
               continue;
            }

            var26 -= var28;
         } else {
            var28 = var25 - var20;
            if(var28 >= var7) {
               var5 += var10 + var7;
               var6 += var9 + var7;
               continue;
            }

            var5 += var28;
            var27 = var7 - var28;
            var6 += var28;
         }

         var28 = 0;
         if(var27 < var26) {
            var26 = var27;
         } else {
            var28 = var27 - var26;
         }

         for(int var29 = -var26; var29 < 0; ++var29) {
            byte var30;
            if((var30 = var1[var5++]) != 0) {
               var2[var6++] = var3[var30 & 255];
            } else {
               ++var6;
            }
         }

         var5 += var28 + var10;
         var6 += var28 + var9;
      }

   }

   void method14535(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class496 var13, int var14, int var15) {
      Class496_Sub2 var16 = (Class496_Sub2)var13;
      int[] var17 = var16.anIntArray9835;
      int[] var18 = var16.anIntArray9836;
      int var19 = var10 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var20 = var11;
      if(var15 > var11) {
         var20 = var15;
         var5 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var15 - var11);
         var4 += (var15 - var11) * var12;
      }

      int var21 = var17.length + var15 < var7 + var11?var15 + var17.length:var11 + var7;

      for(int var22 = var20; var22 < var21; ++var22) {
         int var23 = var14 + var17[var22 - var15];
         int var24 = var18[var22 - var15];
         int var25 = var6;
         int var26;
         if(var19 > var23) {
            var26 = var19 - var23;
            if(var26 >= var24) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var24 -= var26;
         } else {
            var26 = var23 - var19;
            if(var26 >= var6) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var4 += var26;
            var25 = var6 - var26;
            var5 += var26;
         }

         var26 = 0;
         if(var25 < var24) {
            var24 = var25;
         } else {
            var26 = var25 - var24;
         }

         for(int var27 = -var24; var27 < 0; ++var27) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var4 += var26 + var4;
         var5 += var26 + var8;
      }

   }

   void method14536(byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class496 var13, int var14, int var15) {
      Class496_Sub2 var16 = (Class496_Sub2)var13;
      int[] var17 = var16.anIntArray9835;
      int[] var18 = var16.anIntArray9836;
      int var19 = var10 - this.aClass545_Sub3_9096.anInt9785 * -399365585;
      int var20 = var11;
      if(var15 > var11) {
         var20 = var15;
         var5 += this.aClass545_Sub3_9096.anInt9789 * 1251184143 * (var15 - var11);
         var4 += (var15 - var11) * var12;
      }

      int var21 = var17.length + var15 < var7 + var11?var15 + var17.length:var11 + var7;

      for(int var22 = var20; var22 < var21; ++var22) {
         int var23 = var14 + var17[var22 - var15];
         int var24 = var18[var22 - var15];
         int var25 = var6;
         int var26;
         if(var19 > var23) {
            var26 = var19 - var23;
            if(var26 >= var24) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var24 -= var26;
         } else {
            var26 = var23 - var19;
            if(var26 >= var6) {
               var4 += var6 + var9;
               var5 += var8 + var6;
               continue;
            }

            var4 += var26;
            var25 = var6 - var26;
            var5 += var26;
         }

         var26 = 0;
         if(var25 < var24) {
            var24 = var25;
         } else {
            var26 = var25 - var24;
         }

         for(int var27 = -var24; var27 < 0; ++var27) {
            if(var1[var4++] != 0) {
               var2[var5++] = var3;
            } else {
               ++var5;
            }
         }

         var4 += var26 + var4;
         var5 += var26 + var8;
      }

   }

   void UA(char var1, int var2, int var3, int var4, boolean var5) {
      if(null != this.aClass545_Sub3_9096.anIntArray9788) {
         var2 += this.anIntArray9098[var1];
         var3 += this.anIntArray9097[var1];
         int var6 = this.anIntArray9095[var1];
         int var7 = this.anIntArray9092[var1];
         int var8 = this.aClass545_Sub3_9096.anInt9789 * 1251184143;
         int var9 = var2 + var8 * var3;
         int var10 = var8 - var6;
         int var11 = 0;
         int var12 = 0;
         int var13;
         if(var3 < this.aClass545_Sub3_9096.anInt9800 * 493658681) {
            var13 = this.aClass545_Sub3_9096.anInt9800 * 493658681 - var3;
            var7 -= var13;
            var3 = this.aClass545_Sub3_9096.anInt9800 * 493658681;
            var12 += var13 * var6;
            var9 += var13 * var8;
         }

         if(var7 + var3 > this.aClass545_Sub3_9096.anInt9795 * -1644767141) {
            var7 -= var7 + var3 - -1644767141 * this.aClass545_Sub3_9096.anInt9795;
         }

         if(var2 < -399365585 * this.aClass545_Sub3_9096.anInt9785) {
            var13 = this.aClass545_Sub3_9096.anInt9785 * -399365585 - var2;
            var6 -= var13;
            var2 = this.aClass545_Sub3_9096.anInt9785 * -399365585;
            var12 += var13;
            var9 += var13;
            var11 += var13;
            var10 += var13;
         }

         if(var2 + var6 > this.aClass545_Sub3_9096.anInt9797 * -2090820537) {
            var13 = var6 + var2 - -2090820537 * this.aClass545_Sub3_9096.anInt9797;
            var6 -= var13;
            var11 += var13;
            var10 += var13;
         }

         if(var6 > 0 && var7 > 0) {
            if(var5) {
               this.method14532(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, var4, var12, var9, var6, var7, var10, var11);
            } else {
               this.method14528(this.aByteArrayArray9094[var1], this.aClass545_Sub3_9096.anIntArray9788, this.anIntArray9093, var12, var9, var6, var7, var10, var11);
            }

         }
      }
   }
}
