
public class Class400_Sub1 extends Class400 {

   static final int anInt9388 = 1;
   float aFloat9389;
   float aFloat9390;
   static final int anInt9391 = 2;
   static final int anInt9392 = 4;
   float aFloat9393;
   int anInt9394;
   static final int anInt9395 = -1694498816;
   Class194[][] aClass194ArrayArray9396;
   Class138[][] aClass138ArrayArray9397;
   Class144[][] aClass144ArrayArray9398;
   Class128[][] aClass128ArrayArray9399;
   byte[][] aByteArrayArray9400;
   float aFloat9401;
   float aFloat9402;
   float aFloat9403;
   float aFloat9404;
   float aFloat9405;
   float aFloat9406;
   float aFloat9407;
   float aFloat9408;
   float aFloat9409;
   static final int anInt9410 = 64;
   float aFloat9411;
   float aFloat9412;
   Class140[][] aClass140ArrayArray9413;
   float aFloat9414;
   float aFloat9415;
   Class545_Sub3 aClass545_Sub3_9416;
   byte[][] aByteArrayArray9417;
   static final boolean aBool9418 = true;
   static final boolean aBool9419 = true;
   static final boolean aBool9420 = false;


   public Class225_Sub14_Sub16 z(int var1, int var2, Class225_Sub14_Sub16 var3) {
      return null;
   }

   public void LA(int var1, int var2, int var3) {
      if(this.aByteArrayArray9417[var1][var2] < var3) {
         this.aByteArrayArray9417[var1][var2] = (byte)var3;
      }

   }

   void method14835(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class128 var12 = this.aClass128ArrayArray9399[var1][var2];
      if(var11 == 0 || (var11 & 2) == 0) {
         if(var12 != null) {
            int var20;
            for(int var13 = 0; var13 < var12.aShort1544; ++var13) {
               int var14 = var12.aShortArray1545[var13] + (var1 << this.anInt4909 * -1451148795);
               int var15 = var12.aShortArray1546[var13];
               int var16 = var12.aShortArray1549[var13] + (var2 << this.anInt4909 * -1451148795);
               float var17 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               float var18 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var17 < -var18) {
                  return;
               }

               var10[var13] = 0.0F;
               float var19;
               if(var3) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var19 /= var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }

                     var10[var13] = var19;
                     var20 = (int)((float)var12.aShortArray1551[var13] * var19);
                     if(var20 > 0) {
                        var15 -= var20;
                     }
                  }
               } else if(var4.aBool2108) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var10[var13] = var19 / var4.aFloat2091;
                     if(var10[var13] > 1.0F) {
                        var10[var13] = 1.0F;
                     }
                  }
               }

               float var21 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               float var22 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var13] = var5.aFloat1646 + var5.aFloat1641 * var21 / var18;
               var7[var13] = var5.aFloat1660 + var5.aFloat1663 * var22 / var18;
               var8[var13] = var5.aFloat1644 + var5.aFloat1645 * var17 / var18;
               var9[var13] = var18;
            }

            float var33 = (float)(this.anInt4910 * 2111724147);

            for(int var34 = 0; var34 < var12.aShort1548; ++var34) {
               var20 = var34 * 3;
               int var23 = var20 + 1;
               int var24 = var23 + 1;
               float var25 = var6[var20];
               float var26 = var6[var23];
               float var27 = var6[var24];
               float var28 = var7[var20];
               float var29 = var7[var23];
               float var30 = var7[var24];
               if((var25 - var26) * (var30 - var29) - (var28 - var29) * (var27 - var26) > 0.0F) {
                  var5.aBool1650 = var25 < 0.0F || var26 < 0.0F || var27 < 0.0F || var25 > (float)var5.anInt1640 || var26 > (float)var5.anInt1640 || var27 > (float)var5.anInt1640;
                  if(var10[var20] + var10[var23] + var10[var24] < 3.0F) {
                     int var31 = var1 << this.anInt4909 * -1451148795;
                     int var32 = var2 << this.anInt4909 * -1451148795;
                     if((var12.anIntArray1543[var20] & 16777215) != 0) {
                        if(var12.aShortArray1550[var20] == var12.aShortArray1550[var23] && var12.aShortArray1550[var20] == var12.aShortArray1550[var24] && var12.aShortArray1547[var20] == var12.aShortArray1547[var23] && var12.aShortArray1547[var20] == var12.aShortArray1547[var24]) {
                           var5.method2650(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / (float)var12.aShortArray1547[var20], (float)(var31 + var12.aShortArray1545[var23]) / (float)var12.aShortArray1547[var23], (float)(var31 + var12.aShortArray1545[var24]) / (float)var12.aShortArray1547[var24], (float)(var32 + var12.aShortArray1549[var20]) / (float)var12.aShortArray1547[var20], (float)(var32 + var12.aShortArray1549[var23]) / (float)var12.aShortArray1547[var23], (float)(var32 + var12.aShortArray1549[var24]) / (float)var12.aShortArray1547[var24], var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20]);
                        } else {
                           var5.method2669(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / var33, (float)(var31 + var12.aShortArray1545[var23]) / var33, (float)(var31 + var12.aShortArray1545[var24]) / var33, (float)(var32 + var12.aShortArray1549[var20]) / var33, (float)(var32 + var12.aShortArray1549[var23]) / var33, (float)(var32 + var12.aShortArray1549[var24]) / var33, var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20], var33 / (float)var12.aShortArray1547[var20], var12.aShortArray1550[var23], var33 / (float)var12.aShortArray1547[var23], var12.aShortArray1550[var24], var33 / (float)var12.aShortArray1547[var24]);
                        }
                     }
                  } else {
                     var5.method2640(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var4.anInt2090 * 723388769);
                  }
               }
            }
         }

      }
   }

   public void method6785(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      boolean var13 = (this.anInt9394 & 32) == 0;
      if(this.aClass138ArrayArray9397 == null && !var13) {
         this.aClass138ArrayArray9397 = new Class138[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass144ArrayArray9398 = new Class144[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass128ArrayArray9399 == null && var13) {
         this.aClass128ArrayArray9399 = new Class128[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass140ArrayArray9413 != null) {
         throw new IllegalStateException();
      }

      if(var3 != null && var3.length != 0) {
         int var14;
         for(var14 = 0; var14 < var7.length; ++var14) {
            if(var7[var14] == -1) {
               var7[var14] = 0;
            } else {
               var7[var14] = Class516.anIntArray6082[Class166.method2855(var7[var14], 2039911014) & '\uffff'] << 8 | 255;
            }
         }

         if(var8 != null) {
            for(var14 = 0; var14 < var8.length; ++var14) {
               if(var8[var14] == -1) {
                  var8[var14] = 0;
               } else {
                  var8[var14] = Class516.anIntArray6082[Class166.method2855(var8[var14], 905149358) & '\uffff'] << 8 | 255;
               }
            }
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var21;
         int var20;
         int var31;
         int var30;
         if(var13) {
            Class128 var28 = new Class128();
            var28.aShort1544 = (short)var3.length;
            var28.aShort1548 = (short)(var3.length / 3);
            var28.aShortArray1545 = new short[var28.aShort1544];
            var28.aShortArray1546 = new short[var28.aShort1544];
            var28.aShortArray1549 = new short[var28.aShort1544];
            var28.anIntArray1543 = new int[var28.aShort1544];
            var28.aShortArray1550 = new short[var28.aShort1544];
            var28.aShortArray1547 = new short[var28.aShort1544];
            var28.aByteArray1552 = new byte[var28.aShort1544];
            if(var6 != null) {
               var28.aShortArray1551 = new short[var28.aShort1544];
            }

            for(var15 = 0; var15 < var28.aShort1544; ++var15) {
               var16 = var3[var15];
               var17 = var5[var15];
               boolean var18 = false;
               if(var16 == 0 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
               } else if(var16 == 0 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
               } else {
                  var19 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var16;
                  var20 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var16;
                  var30 = var19 * (this.anInt4910 * 2111724147 - var17) + var20 * var17 >> this.anInt4909 * 1392669706;
               }

               var19 = (var1 << this.anInt4909 * -1451148795) + var16;
               var20 = (var2 << this.anInt4909 * -1451148795) + var17;
               var28.aShortArray1545[var15] = (short)var16;
               var28.aShortArray1549[var15] = (short)var17;
               var28.aShortArray1546[var15] = (short)(this.method6791(var19, var20, 701663251) + (var4 != null?var4[var15]:0));
               if(var30 < 0) {
                  var30 = 0;
               }

               if(var7[var15] == 0) {
                  var28.anIntArray1543[var15] = 0;
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               } else {
                  var21 = 0;
                  if(var6 != null) {
                     short var22 = var28.aShortArray1551[var15] = (short)var6[var15];
                     if(var11.anInt1731 * -663176343 != 0) {
                        var21 = 255 * var22 / (var11.anInt1731 * -663176343);
                        if(var21 < 0) {
                           var21 = 0;
                        } else if(var21 > 255) {
                           var21 = 255;
                        }
                     }
                  }

                  var31 = -16777216;
                  if(var9[var15] != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var15], -1935646642).aByte1986)) {
                     var31 = -1694498816;
                  }

                  var28.anIntArray1543[var15] = var31 | Class559.method11912(method14847(var7[var15] >> 8, var30), var11.anInt1727 * 1679980725, var21, 748378292);
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               }

               var28.aShortArray1550[var15] = (short)var9[var15];
               var28.aShortArray1547[var15] = (short)var10[var15];
            }

            if(var8 != null) {
               var28.anIntArray1553 = new int[var28.aShort1548];
            }

            for(var15 = 0; var15 < var28.aShort1548; ++var15) {
               var16 = var15 * 3;
               if(var8 != null && var8[var16] != 0) {
                  var28.anIntArray1553[var15] = -16777216 | var8[var16] >> 8;
               }
            }

            this.aClass128ArrayArray9399[var1][var2] = var28;
         } else {
            boolean var29 = true;
            var15 = -1;
            var16 = -1;
            var17 = -1;
            var30 = -1;
            if(var3.length == 6) {
               for(var19 = 0; var19 < 6; ++var19) {
                  if(var3[var19] == 0 && var5[var19] == 0) {
                     if(var15 != -1 && var7[var15] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var15 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == 0) {
                     if(var16 != -1 && var7[var16] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var16 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var17 != -1 && var7[var17] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var17 = var19;
                  } else if(var3[var19] == 0 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var30 != -1 && var7[var30] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var30 = var19;
                  }
               }

               if(var15 == -1 || var16 == -1 || var17 == -1 || var30 == -1) {
                  var29 = false;
               }

               if(var29) {
                  if(var4 != null) {
                     for(var19 = 0; var19 < 4; ++var19) {
                        if(var4[var19] != 0) {
                           var29 = false;
                           break;
                        }
                     }
                  }

                  if(var29) {
                     for(var19 = 1; var19 < 4; ++var19) {
                        if(var3[var19] != var3[0] && var3[var19] != var3[0] + this.anInt4910 * 2111724147 && var3[var19] != var3[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }

                        if(var5[var19] != var5[0] && var5[var19] != var5[0] + this.anInt4910 * 2111724147 && var5[var19] != var5[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }
                     }
                  }
               }
            } else {
               var29 = false;
            }

            if(var29) {
               Class138 var33 = new Class138();
               var20 = var7[0];
               var21 = var9[0];
               if(var8 != null) {
                  var33.anInt1613 = var8[0] >> 8;
                  if(var20 == 0) {
                     var33.aByte1616 = (byte)(var33.aByte1616 | 2);
                  }
               } else if(var20 == 0) {
                  return;
               }

               if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
                  var33.aByte1616 = (byte)(var33.aByte1616 | 1);
               }

               if(var21 != -1 && (var33.aByte1616 & 2) == 0 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var21, 716851653).aBool1994) {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, 1821200756);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, 1480517252);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, -1703356932);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, -774666200);
                  var33.aShort1617 = (short)var21;
               } else {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, -1800318764);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, 42899825);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 1404753892);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 756238875);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1607 |= 255 - (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) << 25;
                  }

                  var33.aShort1617 = -1;
               }

               if(var6 != null) {
                  var33.aShort1614 = (short)var6[var17];
                  var33.aShort1615 = (short)var6[var30];
                  var33.aShort1611 = (short)var6[var16];
                  var33.aShort1612 = (short)var6[var15];
               }

               this.aClass138ArrayArray9397[var1][var2] = var33;
            } else {
               Class144 var35 = new Class144();
               var35.aShort1672 = (short)var3.length;
               var35.aShort1680 = (short)(var3.length / 3);
               var35.aShortArray1674 = new short[var35.aShort1672];
               var35.aShortArray1675 = new short[var35.aShort1672];
               var35.aShortArray1676 = new short[var35.aShort1672];
               var35.anIntArray1677 = new int[var35.aShort1672];
               if(var6 != null) {
                  var35.aShortArray1671 = new short[var35.aShort1672];
               }

               int var24;
               int var32;
               for(var20 = 0; var20 < var35.aShort1672; ++var20) {
                  var21 = var3[var20];
                  var31 = var5[var20];
                  boolean var23 = false;
                  int var25;
                  if(var21 == 0 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
                  } else if(var21 == 0 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
                  } else {
                     var24 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
                     var25 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
                     var32 = var24 * (this.anInt4910 * 2111724147 - var31) + var25 * var31 >> this.anInt4909 * 1392669706;
                  }

                  var24 = (var1 << this.anInt4909 * -1451148795) + var21;
                  var25 = (var2 << this.anInt4909 * -1451148795) + var31;
                  var35.aShortArray1674[var20] = (short)var21;
                  var35.aShortArray1676[var20] = (short)var31;
                  var35.aShortArray1675[var20] = (short)(this.method6791(var24, var25, 701663251) + (var4 != null?var4[var20]:0));
                  if(var32 < 0) {
                     var32 = 0;
                  }

                  if(var7[var20] == 0) {
                     if(var8 != null) {
                        var35.anIntArray1677[var20] = var32 << 25;
                     } else {
                        var35.anIntArray1677[var20] = 0;
                     }
                  } else {
                     int var26 = 0;
                     if(var6 != null) {
                        short var27 = var35.aShortArray1671[var20] = (short)var6[var20];
                        if(var11.anInt1731 * -663176343 != 0) {
                           var26 = 255 * var27 / (var11.anInt1731 * -663176343);
                           if(var26 < 0) {
                              var26 = 0;
                           } else if(var26 > 255) {
                              var26 = 255;
                           }
                        }
                     }

                     var35.anIntArray1677[var20] = Class559.method11912(method14847(var7[var20] >> 8, var32), var11.anInt1727 * 1679980725, var26, 1723212663);
                     if(var8 != null) {
                        var35.anIntArray1677[var20] |= var32 << 25;
                     }
                  }
               }

               boolean var34 = false;

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  if(var9[var21 * 3] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var21 * 3], -1827986123).aBool1994) {
                     var34 = true;
                  }
               }

               if(var8 != null) {
                  var35.anIntArray1681 = new int[var35.aShort1680];
               }

               if(var34) {
                  var35.aShortArray1678 = new short[var35.aShort1680];
                  var35.aShortArray1673 = new short[var35.aShort1680];
               }

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  var31 = var21 * 3;
                  if(var8 != null && var8[var31] != 0) {
                     var35.anIntArray1681[var21] = var8[var31] >> 8;
                  }

                  if(var34) {
                     var32 = var31 + 1;
                     var24 = var32 + 1;
                     boolean var36 = false;
                     boolean var37 = true;
                     int var38 = var9[var31];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -85084096).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var32];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -2081415688).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var24];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 878895007).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     if(var37) {
                        var35.aShortArray1678[var21] = (short)var38;
                        var35.aShortArray1673[var21] = (short)var10[var31];
                     } else {
                        if(var36) {
                           var38 = var9[var31];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 590454940).aBool1994) {
                              var35.anIntArray1677[var31] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 1344877252).aShort1975 & '\uffff', -1268220610) & '\uffff'];
                           }

                           var38 = var9[var32];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1431257832).aBool1994) {
                              var35.anIntArray1677[var32] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 535690259).aShort1975 & '\uffff', -846258008) & '\uffff'];
                           }

                           var38 = var9[var24];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1974024276).aBool1994) {
                              var35.anIntArray1677[var24] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 256718904).aShort1975 & '\uffff', -1712831665) & '\uffff'];
                           }
                        }

                        var35.aShortArray1678[var21] = -1;
                     }
                  }
               }

               this.aClass144ArrayArray9398[var1][var2] = var35;
            }
         }

      }
   }

   public void method6788(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8) {
      Class174 var9 = this.aClass545_Sub3_9416.method15346(Thread.currentThread());
      Class143 var10 = var9.aClass143_2098;
      var10.anInt1636 = 0;
      var10.aBool1650 = true;
      this.aClass545_Sub3_9416.method15343();
      if(this.aClass138ArrayArray9397 == null && this.aClass128ArrayArray9399 == null) {
         if(this.aClass140ArrayArray9413 != null) {
            this.method14841(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var9.aFloatArray2113, var9.aFloatArray2125);
         }
      } else {
         this.method14842(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var9.aFloatArray2113, var9.aFloatArray2125);
      }

   }

   public void SA() {
      this.aByteArrayArray9400 = (byte[][])null;
      this.aByteArrayArray9417 = (byte[][])null;
   }

   public void method6787(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass545_Sub3_9416.anIntArray9788 != null && this.aClass545_Sub3_9416.aFloatArray9808 != null) {
         Class317 var7 = this.aClass545_Sub3_9416.aClass317_9805;
         this.aFloat9393 = var7.aFloatArray4000[0];
         this.aFloat9390 = var7.aFloatArray4000[1];
         this.aFloat9402 = var7.aFloatArray4000[2];
         this.aFloat9403 = var7.aFloatArray4000[3];
         this.aFloat9404 = var7.aFloatArray4000[4];
         this.aFloat9405 = var7.aFloatArray4000[5];
         this.aFloat9406 = var7.aFloatArray4000[6];
         this.aFloat9407 = var7.aFloatArray4000[7];
         this.aFloat9389 = var7.aFloatArray4000[8];
         this.aFloat9401 = var7.aFloatArray4000[9];
         this.aFloat9408 = var7.aFloatArray4000[10];
         this.aFloat9411 = var7.aFloatArray4000[11];
         this.aFloat9412 = var7.aFloatArray4000[12];
         this.aFloat9409 = var7.aFloatArray4000[13];
         this.aFloat9414 = var7.aFloatArray4000[14];
         this.aFloat9415 = var7.aFloatArray4000[15];

         for(int var8 = 0; var8 < var3 + var3; ++var8) {
            for(int var9 = 0; var9 < var3 + var3; ++var9) {
               if(var4[var8][var9]) {
                  int var10 = var1 - var3 + var8;
                  int var11 = var2 - var3 + var9;
                  if(var10 >= 0 && var10 < this.anInt4911 * 1724373523 && var11 >= 0 && var11 < this.anInt4908 * 1696648095) {
                     this.method14836(var10, var11, var6);
                  }
               }
            }
         }

      } else {
         throw new IllegalStateException("");
      }
   }

   void method14836(int var1, int var2, int var3) {
      Class174 var4 = this.aClass545_Sub3_9416.method15346(Thread.currentThread());
      var4.aClass143_2098.anInt1636 = 0;
      if(this.aClass138ArrayArray9397 != null) {
         this.method14839(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass140ArrayArray9413 != null) {
         this.method14837(var1, var2, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass128ArrayArray9399 != null) {
         this.method14853(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      }

   }

   void method14837(int var1, int var2, Class143 var3, float[] var4, float[] var5, float[] var6, float[] var7, float[] var8, int var9) {
      Class140 var10 = this.aClass140ArrayArray9413[var1][var2];
      int var12;
      int var14;
      float var29;
      float var28;
      float var34;
      float var32;
      float var33;
      float var39;
      float var37;
      float var42;
      float var47;
      float var44;
      if(var10 != null) {
         if((var10.aByte1626 & 2) == 0) {
            if(var9 != 0) {
               if((var10.aByte1626 & 4) != 0) {
                  if((var9 & 1) != 0) {
                     return;
                  }
               } else if((var9 & 2) != 0) {
                  return;
               }
            }

            int var48 = var1 * this.anInt4910 * 2111724147;
            var12 = var48 + this.anInt4910 * 2111724147;
            int var49 = var2 * this.anInt4910 * 2111724147;
            var14 = var49 + this.anInt4910 * 2111724147;
            int var15;
            float var19;
            float var18;
            float var21;
            float var20;
            float var23;
            float var22;
            float var25;
            float var24;
            float var30;
            float var35;
            float var40;
            float var45;
            float var55;
            float var54;
            float var53;
            float var59;
            float var58;
            float var57;
            if((var10.aByte1626 & 1) != 0) {
               var15 = this.anIntArrayArray4912[var1][var2];
               float var16 = this.aFloat9406 * (float)var15;
               float var17 = this.aFloat9407 * (float)var15;
               var18 = this.aFloat9414 + this.aFloat9402 * (float)var48 + var16 + this.aFloat9408 * (float)var49;
               var19 = this.aFloat9415 + this.aFloat9403 * (float)var48 + var17 + this.aFloat9411 * (float)var49;
               if(var18 < -var19) {
                  return;
               }

               var20 = this.aFloat9414 + this.aFloat9402 * (float)var12 + var16 + this.aFloat9408 * (float)var49;
               var21 = this.aFloat9415 + this.aFloat9403 * (float)var12 + var17 + this.aFloat9411 * (float)var49;
               if(var20 < -var21) {
                  return;
               }

               var22 = this.aFloat9414 + this.aFloat9402 * (float)var12 + var16 + this.aFloat9408 * (float)var14;
               var23 = this.aFloat9415 + this.aFloat9403 * (float)var12 + var17 + this.aFloat9411 * (float)var14;
               if(var22 < -var23) {
                  return;
               }

               var24 = this.aFloat9414 + this.aFloat9402 * (float)var48 + var16 + this.aFloat9408 * (float)var14;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var48 + var17 + this.aFloat9411 * (float)var14;
               if(var24 < -var25) {
                  return;
               }

               float var26 = this.aFloat9404 * (float)var15;
               float var27 = this.aFloat9405 * (float)var15;
               var28 = this.aFloat9412 + this.aFloat9393 * (float)var48 + var26 + this.aFloat9389 * (float)var49;
               var29 = var3.aFloat1646 + var3.aFloat1641 * var28 / var19;
               var30 = this.aFloat9409 + this.aFloat9390 * (float)var48 + var27 + this.aFloat9401 * (float)var49;
               var53 = var3.aFloat1660 + var3.aFloat1663 * var30 / var19;
               var32 = var3.aFloat1644 + var3.aFloat1645 * var18 / var19;
               var33 = this.aFloat9412 + this.aFloat9393 * (float)var12 + var26 + this.aFloat9389 * (float)var49;
               var34 = var3.aFloat1646 + var3.aFloat1641 * var33 / var21;
               var35 = this.aFloat9409 + this.aFloat9390 * (float)var12 + var27 + this.aFloat9401 * (float)var49;
               var54 = var3.aFloat1660 + var3.aFloat1663 * var35 / var21;
               var37 = var3.aFloat1644 + var3.aFloat1645 * var20 / var21;
               var55 = this.aFloat9412 + this.aFloat9393 * (float)var12 + var26 + this.aFloat9389 * (float)var14;
               var39 = var3.aFloat1646 + var3.aFloat1641 * var55 / var23;
               var40 = this.aFloat9409 + this.aFloat9390 * (float)var12 + var27 + this.aFloat9401 * (float)var14;
               var57 = var3.aFloat1660 + var3.aFloat1663 * var40 / var23;
               var42 = var3.aFloat1644 + var3.aFloat1645 * var22 / var23;
               var59 = this.aFloat9412 + this.aFloat9393 * (float)var48 + var26 + this.aFloat9389 * (float)var14;
               var44 = var3.aFloat1646 + var3.aFloat1641 * var59 / var25;
               var45 = this.aFloat9409 + this.aFloat9390 * (float)var48 + var27 + this.aFloat9401 * (float)var14;
               var58 = var3.aFloat1660 + var3.aFloat1663 * var45 / var25;
               var47 = var3.aFloat1644 + var3.aFloat1645 * var24 / var25;
            } else {
               var15 = this.anIntArrayArray4912[var1][var2];
               int var50 = this.anIntArrayArray4912[var1 + 1][var2];
               int var51 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var52 = this.anIntArrayArray4912[var1][var2 + 1];
               var18 = this.aFloat9414 + this.aFloat9402 * (float)var48 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var49;
               var19 = this.aFloat9415 + this.aFloat9403 * (float)var48 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var49;
               if(var18 < -var19) {
                  return;
               }

               var20 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var50 + this.aFloat9408 * (float)var49;
               var21 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var50 + this.aFloat9411 * (float)var49;
               if(var20 < -var21) {
                  return;
               }

               var22 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var51 + this.aFloat9408 * (float)var14;
               var23 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var51 + this.aFloat9411 * (float)var14;
               if(var22 < -var23) {
                  return;
               }

               var24 = this.aFloat9414 + this.aFloat9402 * (float)var48 + this.aFloat9406 * (float)var52 + this.aFloat9408 * (float)var14;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var48 + this.aFloat9407 * (float)var52 + this.aFloat9411 * (float)var14;
               if(var24 < -var25) {
                  return;
               }

               var28 = this.aFloat9412 + this.aFloat9393 * (float)var48 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var49;
               var29 = var3.aFloat1646 + var3.aFloat1641 * var28 / var19;
               var30 = this.aFloat9409 + this.aFloat9390 * (float)var48 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var49;
               var53 = var3.aFloat1660 + var3.aFloat1663 * var30 / var19;
               var32 = var3.aFloat1644 + var3.aFloat1645 * var18 / var19;
               var33 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var50 + this.aFloat9389 * (float)var49;
               var34 = var3.aFloat1646 + var3.aFloat1641 * var33 / var21;
               var35 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var50 + this.aFloat9401 * (float)var49;
               var54 = var3.aFloat1660 + var3.aFloat1663 * var35 / var21;
               var37 = var3.aFloat1644 + var3.aFloat1645 * var20 / var21;
               var55 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var51 + this.aFloat9389 * (float)var14;
               var39 = var3.aFloat1646 + var3.aFloat1641 * var55 / var23;
               var40 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var51 + this.aFloat9401 * (float)var14;
               var57 = var3.aFloat1660 + var3.aFloat1663 * var40 / var23;
               var42 = var3.aFloat1644 + var3.aFloat1645 * var22 / var23;
               var59 = this.aFloat9412 + this.aFloat9393 * (float)var48 + this.aFloat9404 * (float)var52 + this.aFloat9389 * (float)var14;
               var44 = var3.aFloat1646 + var3.aFloat1641 * var59 / var25;
               var45 = this.aFloat9409 + this.aFloat9390 * (float)var48 + this.aFloat9405 * (float)var52 + this.aFloat9401 * (float)var14;
               var58 = var3.aFloat1660 + var3.aFloat1663 * var45 / var25;
               var47 = var3.aFloat1644 + var3.aFloat1645 * var24 / var25;
            }

            if((var39 - var44) * (var54 - var58) - (var57 - var58) * (var34 - var44) > 0.0F) {
               var3.aBool1650 = var39 < 0.0F || var44 < 0.0F || var34 < 0.0F || var39 > (float)var3.anInt1640 || var44 > (float)var3.anInt1640 || var34 > (float)var3.anInt1640;
               if(var10.aShort1627 >= 0) {
                  var3.method2650(true, true, false, var57, var58, var54, var39, var44, var34, var42, var47, var37, var23, var25, var21, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, -16777216 | Class516.anIntArray6082[var10.aShort1623 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1624 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1621 & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var10.aShort1627);
               } else {
                  var3.method2644(true, true, false, var57, var58, var54, var39, var44, var34, var42, var47, var37, (float)(var10.aShort1623 & '\uffff'), (float)(var10.aShort1624 & '\uffff'), (float)(var10.aShort1621 & '\uffff'));
               }
            }

            if((var29 - var34) * (var58 - var54) - (var53 - var54) * (var44 - var34) > 0.0F) {
               var3.aBool1650 = var29 < 0.0F || var34 < 0.0F || var44 < 0.0F || var29 > (float)var3.anInt1640 || var34 > (float)var3.anInt1640 || var44 > (float)var3.anInt1640;
               if(var10.aShort1627 >= 0) {
                  var3.method2650(true, true, false, var53, var54, var58, var29, var34, var44, var32, var37, var47, var19, var21, var25, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, -16777216 | Class516.anIntArray6082[var10.aShort1622 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1621 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1624 & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var10.aShort1627);
               } else {
                  var3.method2644(true, true, false, var53, var54, var58, var29, var34, var44, var32, var37, var47, (float)(var10.aShort1622 & '\uffff'), (float)(var10.aShort1621 & '\uffff'), (float)(var10.aShort1624 & '\uffff'));
               }
            }

         }
      } else {
         Class194 var11 = this.aClass194ArrayArray9396[var1][var2];
         if(var11 != null) {
            if(var9 != 0) {
               if((var11.aByte2333 & 4) != 0) {
                  if((var9 & 1) != 0) {
                     return;
                  }
               } else if((var9 & 2) != 0) {
                  return;
               }
            }

            int var31;
            for(var31 = 0; var31 < var11.aShort2332; ++var31) {
               var12 = var11.aShortArray2334[var31] + (var1 << this.anInt4909 * -1451148795);
               short var13 = var11.aShortArray2335[var31];
               var14 = var11.aShortArray2336[var31] + (var2 << this.anInt4909 * -1451148795);
               var39 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var13 + this.aFloat9408 * (float)var14;
               var44 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var13 + this.aFloat9411 * (float)var14;
               if(var39 < -var44) {
                  return;
               }

               var29 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var13 + this.aFloat9389 * (float)var14;
               var34 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var13 + this.aFloat9401 * (float)var14;
               var4[var31] = var3.aFloat1646 + var3.aFloat1641 * var29 / var44;
               var5[var31] = var3.aFloat1660 + var3.aFloat1663 * var34 / var44;
               var6[var31] = var3.aFloat1644 + var3.aFloat1645 * var39 / var44;
               var7[var31] = var44;
            }

            short var36;
            short var41;
            short var46;
            if(var11.aShortArray2341 != null) {
               for(var31 = 0; var31 < var11.aShort2331; ++var31) {
                  var36 = var11.aShortArray2337[var31];
                  var41 = var11.aShortArray2339[var31];
                  var46 = var11.aShortArray2340[var31];
                  var32 = var4[var36];
                  var37 = var4[var41];
                  var42 = var4[var46];
                  var47 = var5[var36];
                  var28 = var5[var41];
                  var33 = var5[var46];
                  if((var32 - var37) * (var33 - var28) - (var47 - var28) * (var42 - var37) > 0.0F) {
                     var3.aBool1650 = var32 < 0.0F || var37 < 0.0F || var42 < 0.0F || var32 > (float)var3.anInt1640 || var37 > (float)var3.anInt1640 || var42 > (float)var3.anInt1640;
                     short var38 = var11.aShortArray2341[var31];
                     if(var38 != -1) {
                        var3.method2650(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], var7[var36], var7[var41], var7[var46], (float)var11.aShortArray2334[var36] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2334[var41] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2334[var46] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var36] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var41] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var46] / (float)(this.anInt4910 * 2111724147), -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var36] & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var41] & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var46] & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var38);
                     } else {
                        int var43 = var11.anIntArray2343[var31];
                        if(var43 != -1) {
                           var3.method2644(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], (float)Class576.method12223(var43, var11.aShortArray2342[var36], 431922138), (float)Class576.method12223(var43, var11.aShortArray2342[var41], 431922138), (float)Class576.method12223(var43, var11.aShortArray2342[var46], 431922138));
                        }
                     }
                  }
               }
            } else {
               for(var31 = 0; var31 < var11.aShort2331; ++var31) {
                  var36 = var11.aShortArray2337[var31];
                  var41 = var11.aShortArray2339[var31];
                  var46 = var11.aShortArray2340[var31];
                  var32 = var4[var36];
                  var37 = var4[var41];
                  var42 = var4[var46];
                  var47 = var5[var36];
                  var28 = var5[var41];
                  var33 = var5[var46];
                  if((var32 - var37) * (var33 - var28) - (var47 - var28) * (var42 - var37) > 0.0F) {
                     int var56 = var11.anIntArray2343[var31];
                     if(var56 != -1) {
                        var3.aBool1650 = var32 < 0.0F || var37 < 0.0F || var42 < 0.0F || var32 > (float)var3.anInt1640 || var37 > (float)var3.anInt1640 || var42 > (float)var3.anInt1640;
                        var3.method2644(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], (float)Class576.method12223(var56, var11.aShortArray2342[var36], 431922138), (float)Class576.method12223(var56, var11.aShortArray2342[var41], 431922138), (float)Class576.method12223(var56, var11.aShortArray2342[var46], 431922138));
                     }
                  }
               }
            }
         }

      }
   }

   static int method14838(int var0, int var1) {
      int var2 = (var0 & 16711680) * var1 >> 23;
      if(var2 < 2) {
         var2 = 2;
      } else if(var2 > 253) {
         var2 = 253;
      }

      int var3 = (var0 & '\uff00') * var1 >> 15;
      if(var3 < 2) {
         var3 = 2;
      } else if(var3 > 253) {
         var3 = 253;
      }

      int var4 = (var0 & 255) * var1 >> 7;
      if(var4 < 2) {
         var4 = 2;
      } else if(var4 > 253) {
         var4 = 253;
      }

      return var2 << 16 | var3 << 8 | var4;
   }

   void method14839(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class138 var12 = this.aClass138ArrayArray9397[var1][var2];
      int var14;
      int var15;
      int var16;
      float var34;
      float var35;
      float var33;
      float var39;
      float var42;
      float var43;
      float var40;
      float var47;
      float var44;
      float var51;
      float var50;
      float var48;
      float var52;
      if(var12 != null) {
         if((var12.aByte1616 & 2) == 0) {
            if(var11 != 0) {
               if((var12.aByte1616 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var55 = var1 * this.anInt4910 * 2111724147;
            var14 = var55 + this.anInt4910 * 2111724147;
            var15 = var2 * this.anInt4910 * 2111724147;
            var16 = var15 + this.anInt4910 * 2111724147;
            float var17 = 0.0F;
            float var18 = 0.0F;
            float var19 = 0.0F;
            float var20 = 0.0F;
            int var21;
            int var23;
            float var25;
            float var24;
            float var27;
            float var26;
            float var29;
            float var28;
            float var31;
            float var30;
            float var36;
            float var49;
            float var53;
            float var59;
            float var57;
            float var63;
            float var62;
            float var65;
            float var66;
            if((var12.aByte1616 & 1) != 0 && !var3) {
               var21 = this.anIntArrayArray4912[var1][var2];
               var57 = this.aFloat9406 * (float)var21;
               float var58 = this.aFloat9407 * (float)var21;
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               float var61 = this.aFloat9404 * (float)var21;
               float var60 = this.aFloat9405 * (float)var21;
               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            } else {
               var21 = this.anIntArrayArray4912[var1][var2];
               int var22 = this.anIntArrayArray4912[var1 + 1][var2];
               var23 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var37 = this.anIntArrayArray4912[var1][var2 + 1];
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var21 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var21 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var22 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var22 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var23 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var23 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var37 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var37 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var3) {
                  var36 = var24 - var4.aFloat2088;
                  int var38;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var17 = var36;
                     var38 = (int)((float)var12.aShort1612 * var36);
                     if(var38 > 0) {
                        var21 -= var38;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var18 = var36;
                     var38 = (int)((float)var12.aShort1611 * var36);
                     if(var38 > 0) {
                        var22 -= var38;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var19 = var36;
                     var38 = (int)((float)var12.aShort1614 * var36);
                     if(var38 > 0) {
                        var23 -= var38;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var20 = var36;
                     var38 = (int)((float)var12.aShort1615 * var36);
                     if(var38 > 0) {
                        var37 -= var38;
                     }
                  }
               } else if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var21 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var21 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var22 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var22 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var23 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var23 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var37 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var37 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            }

            boolean var56 = var12.aShort1617 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var12.aShort1617, -1463076821).aByte1986);
            var57 = var18 + var19 + var20;
            if((var48 - var52) * (var65 - var66) - (var50 - var66) * (var44 - var52) > 0.0F) {
               var5.aBool1650 = var48 < 0.0F || var52 < 0.0F || var44 < 0.0F || var48 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, var4.anInt2090 * 723388769, var19 * 255.0F, var20 * 255.0F, var18 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, Class363.method6466(var12.anInt1610, (int)(var19 * 255.0F) << 24 | var4.anInt2090 * 723388769, 606459798), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1429765224), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 717087187));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var12.anInt1610, var12.anInt1607, var12.anInt1609);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var4.anInt2090 * 723388769);
               }
            }

            var57 = var17 + var18 + var20;
            if((var40 - var44) * (var66 - var65) - (var42 - var65) * (var52 - var44) > 0.0F) {
               var5.aBool1650 = var40 < 0.0F || var44 < 0.0F || var52 < 0.0F || var40 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var56) {
                     var5.anInt1636 = -1694498816;
                  }

                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, var4.anInt2090 * 723388769, var17 * 255.0F, var18 * 255.0F, var20 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, Class363.method6466(var12.anInt1608, (int)(var17 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1850145920), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1020162322), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1846361124));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var12.anInt1608, var12.anInt1609, var12.anInt1607);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var4.anInt2090 * 723388769);
               }
            }

         }
      } else {
         Class144 var13 = this.aClass144ArrayArray9398[var1][var2];
         if(var13 != null) {
            if(var11 != 0) {
               if((var13.aByte1679 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var46;
            int var54;
            for(var46 = 0; var46 < var13.aShort1672; ++var46) {
               var14 = var13.aShortArray1674[var46] + (var1 << this.anInt4909 * -1451148795);
               var15 = var13.aShortArray1675[var46];
               var16 = var13.aShortArray1676[var46] + (var2 << this.anInt4909 * -1451148795);
               var48 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               var52 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var48 < -var52) {
                  return;
               }

               var42 = var5.aFloat1644 + var5.aFloat1645 * var48 / var52;
               var10[var46] = 0.0F;
               if(var3) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var50 /= var4.aFloat2091;
                     if(var50 > 1.0F) {
                        var50 = 1.0F;
                     }

                     var10[var46] = var50;
                     var54 = (int)((float)var13.aShortArray1671[var46] * var50);
                     if(var54 > 0) {
                        var15 -= var54;
                     }
                  }
               } else if(var4.aBool2108) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var10[var46] = var50 / var4.aFloat2091;
                     if(var10[var46] > 1.0F) {
                        var10[var46] = 1.0F;
                     }
                  }
               }

               var40 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               var44 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var46] = var5.aFloat1646 + var5.aFloat1641 * var40 / var52;
               var7[var46] = var5.aFloat1660 + var5.aFloat1663 * var44 / var52;
               var8[var46] = var42;
               var9[var46] = var52;
            }

            int var32;
            int var64;
            if(var13.aShortArray1678 != null) {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     short var41 = var13.aShortArray1678[var46];
                     if(var51 < 3.0F) {
                        int var45;
                        if(var51 > 0.0F) {
                           if(var41 != -1) {
                              var45 = -16777216;
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -953987584).aByte1986)) {
                                 var45 = -1694498816;
                              }

                              var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, var4.anInt2090 * 723388769, var10[var64] * 255.0F, var10[var54] * 255.0F, var10[var32] * 255.0F, var41);
                           } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1088016819).aByte1986)) {
                                 var5.anInt1636 = -1694498816;
                              }

                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class363.method6466(var13.anIntArray1677[var64], (int)(var10[var64] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1238416509), Class363.method6466(var13.anIntArray1677[var54], (int)(var10[var54] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1667635878), Class363.method6466(var13.anIntArray1677[var32], (int)(var10[var32] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1760655121));
                              var5.anInt1636 = 0;
                           }
                        } else if(var41 != -1) {
                           var45 = -16777216;
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1594854618).aByte1986)) {
                              var45 = -1694498816;
                           }

                           var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, 0, 0.0F, 0.0F, 0.0F, var41);
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1666913537).aByte1986)) {
                              var5.anInt1636 = -1694498816;
                           }

                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                           var5.anInt1636 = 0;
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            } else {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     if(var51 < 3.0F) {
                        if(var51 > 0.0F) {
                           if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class169.method2899(var13.anIntArray1677[var64], var4.anInt2090 * 723388769, var10[var64] * 255.0F, 1538682762), Class169.method2899(var13.anIntArray1677[var54], var4.anInt2090 * 723388769, var10[var54] * 255.0F, 660800031), Class169.method2899(var13.anIntArray1677[var32], var4.anInt2090 * 723388769, var10[var32] * 255.0F, 763995066));
                           }
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            }
         }

      }
   }

   boolean method14840(int var1) {
      return (this.anInt9394 & 8) == 0?false:(var1 == 4?true:(var1 == 8?true:var1 == 9));
   }

   public void method6786(int 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, Class153 var14, boolean var15) {
      if(this.aClass140ArrayArray9413 == null) {
         this.aClass140ArrayArray9413 = new Class140[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass194ArrayArray9396 = new Class194[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass138ArrayArray9397 != null || this.aClass128ArrayArray9399 != null) {
         throw new IllegalStateException();
      }

      boolean var16 = false;
      int var19;
      int var18;
      if(var10.length == 2 && var7.length == 2 && (var10[0] == var10[1] || var12[0] != -1 && var12[0] == var12[1])) {
         var16 = true;

         for(int var17 = 1; var17 < 2; ++var17) {
            var18 = var3[var7[var17]];
            var19 = var5[var7[var17]];
            if(var18 != 0 && var18 != this.anInt4910 * 2111724147 || var19 != 0 && var19 != this.anInt4910 * 2111724147) {
               var16 = false;
               break;
            }
         }
      }

      if(!var16) {
         Class194 var26 = new Class194();
         short var28 = (short)var3.length;
         short var27 = (short)var10.length;
         var26.aShort2332 = var28;
         var26.aShortArray2342 = new short[var28];
         var26.aShortArray2334 = new short[var28];
         var26.aShortArray2335 = new short[var28];
         var26.aShortArray2336 = new short[var28];

         int var21;
         int var23;
         int var22;
         for(int var20 = 0; var20 < var28; ++var20) {
            var21 = var3[var20];
            var22 = var5[var20];
            int var24;
            if(var21 == 0 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            } else if(var21 == 0 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            } else {
               var23 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
               var24 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
               var26.aShortArray2342[var20] = (short)(var23 * (this.anInt4910 * 2111724147 - var22) + var24 * var22 >> this.anInt4909 * 1392669706);
            }

            var23 = (var1 << this.anInt4909 * -1451148795) + var21;
            var24 = (var2 << this.anInt4909 * -1451148795) + var22;
            var26.aShortArray2334[var20] = (short)var21;
            var26.aShortArray2336[var20] = (short)var22;
            var26.aShortArray2335[var20] = (short)(this.method6791(var23, var24, 701663251) + (var4 != null?var4[var20]:0));
            if(var26.aShortArray2342[var20] < 2) {
               var26.aShortArray2342[var20] = 2;
            }
         }

         boolean var29 = false;
         var21 = 0;

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               ++var21;
            }

            var23 = var12[var22];
            if(var23 != -1) {
               Class161 var32 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var23, -577803407);
               if(!var32.aBool1994) {
                  var29 = true;
                  if(this.method14840(var32.aByte1986) || var32.aByte1972 != 0 || var32.aByte1993 != 0) {
                     var26.aByte2333 = (byte)(var26.aByte2333 | 4);
                  }
               }
            }
         }

         var26.anIntArray2343 = new int[var21];
         if(var11 != null) {
            var26.anIntArray2344 = new int[var21];
         }

         var26.aShortArray2337 = new short[var21];
         var26.aShortArray2339 = new short[var21];
         var26.aShortArray2340 = new short[var21];
         if(var29) {
            var26.aShortArray2341 = new short[var21];
            var26.aShortArray2338 = new short[var21];
         }

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               if(var10[var22] >= 0) {
                  var26.anIntArray2343[var26.aShort2331] = Class166.method2855(var10[var22], -338224140);
               } else {
                  var26.anIntArray2343[var26.aShort2331] = -1;
               }

               if(var11 != null) {
                  if(var11[var22] != -1) {
                     var26.anIntArray2344[var26.aShort2331] = Class166.method2855(var11[var22], -175062383);
                  } else {
                     var26.anIntArray2344[var26.aShort2331] = -1;
                  }
               }

               var26.aShortArray2337[var26.aShort2331] = (short)var7[var22];
               var26.aShortArray2339[var26.aShort2331] = (short)var8[var22];
               var26.aShortArray2340[var26.aShort2331] = (short)var9[var22];
               if(var29) {
                  if(var12[var22] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var12[var22], -360469022).aBool1994) {
                     var26.aShortArray2341[var26.aShort2331] = (short)var12[var22];
                     var26.aShortArray2338[var26.aShort2331] = (short)var13[var22];
                  } else {
                     var26.aShortArray2341[var26.aShort2331] = -1;
                  }
               }

               ++var26.aShort2331;
            }
         }

         this.aClass194ArrayArray9396[var1][var2] = var26;
      } else if(var10[0] >= 0 || var11 != null && var11[0] >= 0) {
         Class140 var25 = new Class140();
         var18 = var10[0];
         var19 = var12[0];
         if(var11 != null) {
            var25.anInt1625 = Class576.method12223(Class166.method2855(var11[0], 468115556), this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            if(var18 == -1) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 2);
            }
         }

         if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
            var25.aByte1626 = (byte)(var25.aByte1626 | 1);
         }

         Class161 var30 = null;
         if(var19 != -1) {
            var30 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var19, 2053319411);
         }

         if(var30 != null && (var25.aByte1626 & 2) == 0 && !var30.aBool1994) {
            var25.aShort1622 = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            var25.aShort1621 = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            var25.aShort1623 = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            var25.aShort1624 = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            var25.aShort1627 = (short)var19;
            if(this.method14840(var30.aByte1986) || var30.aByte1972 != 0 || var30.aByte1993 != 0) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 4);
            }
         } else {
            short var31 = Class166.method2855(var18, 344709980);
            var25.aShort1622 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            var25.aShort1621 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2], 431922138);
            var25.aShort1623 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1], 431922138);
            var25.aShort1624 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1], 431922138);
            var25.aShort1627 = -1;
         }

         this.aClass140ArrayArray9413[var1][var2] = var25;
      }

   }

   void method14841(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8, Class174 var9, Class143 var10, float[] var11, float[] var12) {
      int var13 = (var7 - var5) * var3 / 256;
      int var14 = var3 >> 8;
      boolean var15 = var9.aBool2126;
      this.aClass545_Sub3_9416.RA(false);
      var10.aBool1634 = false;
      var10.aBool1635 = false;
      int var16 = var1;
      int var17 = var2 + var13;

      for(int var18 = var4; var18 < var6; ++var18) {
         for(int var19 = var5; var19 < var7; ++var19) {
            if(var8[var18 - var4][var19 - var5]) {
               int var21;
               if(this.aClass140ArrayArray9413[var18][var19] != null) {
                  Class140 var32 = this.aClass140ArrayArray9413[var18][var19];
                  if(var32.aShort1627 != -1 && (var32.aByte1626 & 2) == 0 && var32.anInt1625 == -1) {
                     var21 = this.aClass545_Sub3_9416.method15340(var32.aShort1627);
                     var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var32.aShort1623 & '\uffff', 431922138), (float)Class576.method12223(var21, var32.aShort1624 & '\uffff', 431922138), (float)Class576.method12223(var21, var32.aShort1621 & '\uffff', 431922138));
                     var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var32.aShort1622 & '\uffff', 431922138), (float)Class576.method12223(var21, var32.aShort1621 & '\uffff', 431922138), (float)Class576.method12223(var21, var32.aShort1624 & '\uffff', 431922138));
                  } else if(var32.anInt1625 == -1) {
                     var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)(var32.aShort1623 & '\uffff'), (float)(var32.aShort1624 & '\uffff'), (float)(var32.aShort1621 & '\uffff'));
                     var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)(var32.aShort1622 & '\uffff'), (float)(var32.aShort1621 & '\uffff'), (float)(var32.aShort1624 & '\uffff'));
                  } else {
                     var21 = var32.anInt1625;
                     var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)var21, (float)var21, (float)var21);
                     var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)var21, (float)var21, (float)var21);
                  }
               } else if(this.aClass194ArrayArray9396[var18][var19] != null) {
                  Class194 var20 = this.aClass194ArrayArray9396[var18][var19];

                  for(var21 = 0; var21 < var20.aShort2332; ++var21) {
                     var11[var21] = (float)(var16 + var20.aShortArray2334[var21] * var14 / (this.anInt4910 * 2111724147));
                     var12[var21] = (float)(var17 - var20.aShortArray2336[var21] * var14 / (this.anInt4910 * 2111724147));
                  }

                  for(var21 = 0; var21 < var20.aShort2331; ++var21) {
                     short var22 = var20.aShortArray2337[var21];
                     short var23 = var20.aShortArray2339[var21];
                     short var24 = var20.aShortArray2340[var21];
                     float var25 = var11[var22];
                     float var26 = var11[var23];
                     float var27 = var11[var24];
                     float var28 = var12[var22];
                     float var29 = var12[var23];
                     float var30 = var12[var24];
                     int var31;
                     if(var20.anIntArray2344 != null && var20.anIntArray2344[var21] != -1) {
                        var31 = var20.anIntArray2344[var21];
                        var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var31, var20.aShortArray2342[var22], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var23], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var24], 431922138));
                     } else if(var20.aShortArray2341 != null && var20.aShortArray2341[var21] != -1) {
                        var31 = this.aClass545_Sub3_9416.method15340(var20.aShortArray2341[var21]);
                        var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var31, var20.aShortArray2342[var22], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var23], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var24], 431922138));
                     } else {
                        var31 = var20.anIntArray2343[var21];
                        var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var31, var20.aShortArray2342[var22], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var23], 431922138), (float)Class576.method12223(var31, var20.aShortArray2342[var24], 431922138));
                     }
                  }
               }
            }

            var17 -= var14;
         }

         var17 = var2 + var13;
         var16 += var14;
      }

      var10.aBool1634 = true;
      this.aClass545_Sub3_9416.RA(var15);
   }

   void method14842(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8, Class174 var9, Class143 var10, float[] var11, float[] var12) {
      int var13 = (var7 - var5) * var3 / 256;
      int var14 = var3 >> 8;
      boolean var15 = var9.aBool2126;
      this.aClass545_Sub3_9416.RA(false);
      var10.aBool1634 = false;
      var10.aBool1635 = false;
      int var16 = var1;
      int var17 = var2 + var13;

      for(int var18 = var4; var18 < var6; ++var18) {
         for(int var19 = var5; var19 < var7; ++var19) {
            if(var8[var18 - var4][var19 - var5]) {
               int var21;
               int var23;
               int var22;
               float var25;
               int var24;
               float var27;
               float var26;
               float var29;
               float var28;
               int var31;
               float var30;
               if(this.aClass138ArrayArray9397 != null) {
                  if(this.aClass138ArrayArray9397[var18][var19] == null) {
                     if(this.aClass144ArrayArray9398[var18][var19] != null) {
                        Class144 var32 = this.aClass144ArrayArray9398[var18][var19];

                        for(var21 = 0; var21 < var32.aShort1672; ++var21) {
                           var11[var21] = (float)(var16 + var32.aShortArray1674[var21] * var14 / (this.anInt4910 * 2111724147));
                           var12[var21] = (float)(var17 - var32.aShortArray1676[var21] * var14 / (this.anInt4910 * 2111724147));
                        }

                        for(var21 = 0; var21 < var32.aShort1680; ++var21) {
                           var22 = var21 * 3;
                           var23 = var22 + 1;
                           var24 = var23 + 1;
                           var25 = var11[var22];
                           var26 = var11[var23];
                           var27 = var11[var24];
                           var28 = var12[var22];
                           var29 = var12[var23];
                           var30 = var12[var24];
                           if(var32.anIntArray1681 != null && var32.anIntArray1681[var21] != 0 && (var32.aShortArray1678 == null || var32.aShortArray1678 != null && var32.aShortArray1678[var21] == -1)) {
                              var31 = var32.anIntArray1681[var21];
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var22] & -16777216), 1912687458), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var23] & -16777216), 1044180166), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var24] & -16777216), 974500078));
                           } else if(var32.aShortArray1678 != null && var32.aShortArray1678[var21] != -1) {
                              var31 = this.aClass545_Sub3_9416.method15340(var32.aShortArray1678[var21]);
                              var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)var31, (float)var31, (float)var31);
                           } else {
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var32.anIntArray1677[var22], var32.anIntArray1677[var23], var32.anIntArray1677[var24]);
                           }
                        }
                     }
                  } else {
                     Class138 var33 = this.aClass138ArrayArray9397[var18][var19];
                     if(var33.aShort1617 != -1 && (var33.aByte1616 & 2) == 0 && var33.anInt1613 == 0) {
                        var21 = this.aClass545_Sub3_9416.method15340(var33.aShort1617);
                        var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1610, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138));
                        var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1608, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138));
                     } else if(var33.anInt1613 == 0) {
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, var33.anInt1610, var33.anInt1607, var33.anInt1609);
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, var33.anInt1608, var33.anInt1609, var33.anInt1607);
                     } else {
                        var21 = var33.anInt1613;
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1610 & -16777216, 1704953786), Class363.method6466(var21, var33.anInt1607 & -16777216, 2108798677), Class363.method6466(var21, var33.anInt1609 & -16777216, 507003596));
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1608 & -16777216, 492281016), Class363.method6466(var21, var33.anInt1609 & -16777216, 1846665714), Class363.method6466(var21, var33.anInt1607 & -16777216, 504825094));
                     }
                  }
               } else if(this.aClass128ArrayArray9399[var18][var19] != null) {
                  Class128 var20 = this.aClass128ArrayArray9399[var18][var19];

                  for(var21 = 0; var21 < var20.aShort1544; ++var21) {
                     var11[var21] = (float)(var16 + var20.aShortArray1545[var21] * var14 / (this.anInt4910 * 2111724147));
                     var12[var21] = (float)(var17 - var20.aShortArray1549[var21] * var14 / (this.anInt4910 * 2111724147));
                  }

                  for(var21 = 0; var21 < var20.aShort1548; ++var21) {
                     var22 = var21 * 3;
                     var23 = var22 + 1;
                     var24 = var23 + 1;
                     var25 = var11[var22];
                     var26 = var11[var23];
                     var27 = var11[var24];
                     var28 = var12[var22];
                     var29 = var12[var23];
                     var30 = var12[var24];
                     if(var20.anIntArray1553 != null && var20.anIntArray1553[var21] != 0) {
                        var31 = var20.anIntArray1553[var21];
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var31, var31, var31);
                     } else {
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var20.anIntArray1543[var22], var20.anIntArray1543[var23], var20.anIntArray1543[var24]);
                     }
                  }
               }
            }

            var17 -= var14;
         }

         var17 = var2 + var13;
         var16 += var14;
      }

      var10.aBool1634 = true;
      this.aClass545_Sub3_9416.RA(var15);
   }

   public Class225_Sub14_Sub16 w(int var1, int var2, Class225_Sub14_Sub16 var3) {
      return null;
   }

   public void UA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   public boolean method6792(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      return false;
   }

   public void method6790(int 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, Class153 var14, boolean var15) {
      if(this.aClass140ArrayArray9413 == null) {
         this.aClass140ArrayArray9413 = new Class140[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass194ArrayArray9396 = new Class194[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass138ArrayArray9397 != null || this.aClass128ArrayArray9399 != null) {
         throw new IllegalStateException();
      }

      boolean var16 = false;
      int var19;
      int var18;
      if(var10.length == 2 && var7.length == 2 && (var10[0] == var10[1] || var12[0] != -1 && var12[0] == var12[1])) {
         var16 = true;

         for(int var17 = 1; var17 < 2; ++var17) {
            var18 = var3[var7[var17]];
            var19 = var5[var7[var17]];
            if(var18 != 0 && var18 != this.anInt4910 * 2111724147 || var19 != 0 && var19 != this.anInt4910 * 2111724147) {
               var16 = false;
               break;
            }
         }
      }

      if(!var16) {
         Class194 var26 = new Class194();
         short var28 = (short)var3.length;
         short var27 = (short)var10.length;
         var26.aShort2332 = var28;
         var26.aShortArray2342 = new short[var28];
         var26.aShortArray2334 = new short[var28];
         var26.aShortArray2335 = new short[var28];
         var26.aShortArray2336 = new short[var28];

         int var21;
         int var23;
         int var22;
         for(int var20 = 0; var20 < var28; ++var20) {
            var21 = var3[var20];
            var22 = var5[var20];
            int var24;
            if(var21 == 0 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            } else if(var21 == 0 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            } else {
               var23 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
               var24 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
               var26.aShortArray2342[var20] = (short)(var23 * (this.anInt4910 * 2111724147 - var22) + var24 * var22 >> this.anInt4909 * 1392669706);
            }

            var23 = (var1 << this.anInt4909 * -1451148795) + var21;
            var24 = (var2 << this.anInt4909 * -1451148795) + var22;
            var26.aShortArray2334[var20] = (short)var21;
            var26.aShortArray2336[var20] = (short)var22;
            var26.aShortArray2335[var20] = (short)(this.method6791(var23, var24, 701663251) + (var4 != null?var4[var20]:0));
            if(var26.aShortArray2342[var20] < 2) {
               var26.aShortArray2342[var20] = 2;
            }
         }

         boolean var29 = false;
         var21 = 0;

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               ++var21;
            }

            var23 = var12[var22];
            if(var23 != -1) {
               Class161 var32 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var23, 1213158172);
               if(!var32.aBool1994) {
                  var29 = true;
                  if(this.method14840(var32.aByte1986) || var32.aByte1972 != 0 || var32.aByte1993 != 0) {
                     var26.aByte2333 = (byte)(var26.aByte2333 | 4);
                  }
               }
            }
         }

         var26.anIntArray2343 = new int[var21];
         if(var11 != null) {
            var26.anIntArray2344 = new int[var21];
         }

         var26.aShortArray2337 = new short[var21];
         var26.aShortArray2339 = new short[var21];
         var26.aShortArray2340 = new short[var21];
         if(var29) {
            var26.aShortArray2341 = new short[var21];
            var26.aShortArray2338 = new short[var21];
         }

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               if(var10[var22] >= 0) {
                  var26.anIntArray2343[var26.aShort2331] = Class166.method2855(var10[var22], -1798121385);
               } else {
                  var26.anIntArray2343[var26.aShort2331] = -1;
               }

               if(var11 != null) {
                  if(var11[var22] != -1) {
                     var26.anIntArray2344[var26.aShort2331] = Class166.method2855(var11[var22], 1064803547);
                  } else {
                     var26.anIntArray2344[var26.aShort2331] = -1;
                  }
               }

               var26.aShortArray2337[var26.aShort2331] = (short)var7[var22];
               var26.aShortArray2339[var26.aShort2331] = (short)var8[var22];
               var26.aShortArray2340[var26.aShort2331] = (short)var9[var22];
               if(var29) {
                  if(var12[var22] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var12[var22], 1982705976).aBool1994) {
                     var26.aShortArray2341[var26.aShort2331] = (short)var12[var22];
                     var26.aShortArray2338[var26.aShort2331] = (short)var13[var22];
                  } else {
                     var26.aShortArray2341[var26.aShort2331] = -1;
                  }
               }

               ++var26.aShort2331;
            }
         }

         this.aClass194ArrayArray9396[var1][var2] = var26;
      } else if(var10[0] >= 0 || var11 != null && var11[0] >= 0) {
         Class140 var25 = new Class140();
         var18 = var10[0];
         var19 = var12[0];
         if(var11 != null) {
            var25.anInt1625 = Class576.method12223(Class166.method2855(var11[0], 117254670), this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            if(var18 == -1) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 2);
            }
         }

         if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
            var25.aByte1626 = (byte)(var25.aByte1626 | 1);
         }

         Class161 var30 = null;
         if(var19 != -1) {
            var30 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var19, -1443439567);
         }

         if(var30 != null && (var25.aByte1626 & 2) == 0 && !var30.aBool1994) {
            var25.aShort1622 = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            var25.aShort1621 = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            var25.aShort1623 = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            var25.aShort1624 = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            var25.aShort1627 = (short)var19;
            if(this.method14840(var30.aByte1986) || var30.aByte1972 != 0 || var30.aByte1993 != 0) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 4);
            }
         } else {
            short var31 = Class166.method2855(var18, 1613627836);
            var25.aShort1622 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            var25.aShort1621 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2], 431922138);
            var25.aShort1623 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1], 431922138);
            var25.aShort1624 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1], 431922138);
            var25.aShort1627 = -1;
         }

         this.aClass140ArrayArray9413[var1][var2] = var25;
      }

   }

   public void method6793(Class225_Sub40 var1, int[] var2) {}

   public void b(int var1, int var2, int var3) {
      if(this.aByteArrayArray9417[var1][var2] < var3) {
         this.aByteArrayArray9417[var1][var2] = (byte)var3;
      }

   }

   public void h(int var1, int var2, int var3) {
      if(this.aByteArrayArray9417[var1][var2] < var3) {
         this.aByteArrayArray9417[var1][var2] = (byte)var3;
      }

   }

   public void m(int var1, int var2, int var3) {
      if(this.aByteArrayArray9417[var1][var2] < var3) {
         this.aByteArrayArray9417[var1][var2] = (byte)var3;
      }

   }

   public void method6794(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      boolean var13 = (this.anInt9394 & 32) == 0;
      if(this.aClass138ArrayArray9397 == null && !var13) {
         this.aClass138ArrayArray9397 = new Class138[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass144ArrayArray9398 = new Class144[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass128ArrayArray9399 == null && var13) {
         this.aClass128ArrayArray9399 = new Class128[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass140ArrayArray9413 != null) {
         throw new IllegalStateException();
      }

      if(var3 != null && var3.length != 0) {
         int var14;
         for(var14 = 0; var14 < var7.length; ++var14) {
            if(var7[var14] == -1) {
               var7[var14] = 0;
            } else {
               var7[var14] = Class516.anIntArray6082[Class166.method2855(var7[var14], -557691402) & '\uffff'] << 8 | 255;
            }
         }

         if(var8 != null) {
            for(var14 = 0; var14 < var8.length; ++var14) {
               if(var8[var14] == -1) {
                  var8[var14] = 0;
               } else {
                  var8[var14] = Class516.anIntArray6082[Class166.method2855(var8[var14], -1102999762) & '\uffff'] << 8 | 255;
               }
            }
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var21;
         int var20;
         int var31;
         int var30;
         if(var13) {
            Class128 var28 = new Class128();
            var28.aShort1544 = (short)var3.length;
            var28.aShort1548 = (short)(var3.length / 3);
            var28.aShortArray1545 = new short[var28.aShort1544];
            var28.aShortArray1546 = new short[var28.aShort1544];
            var28.aShortArray1549 = new short[var28.aShort1544];
            var28.anIntArray1543 = new int[var28.aShort1544];
            var28.aShortArray1550 = new short[var28.aShort1544];
            var28.aShortArray1547 = new short[var28.aShort1544];
            var28.aByteArray1552 = new byte[var28.aShort1544];
            if(var6 != null) {
               var28.aShortArray1551 = new short[var28.aShort1544];
            }

            for(var15 = 0; var15 < var28.aShort1544; ++var15) {
               var16 = var3[var15];
               var17 = var5[var15];
               boolean var18 = false;
               if(var16 == 0 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
               } else if(var16 == 0 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
               } else {
                  var19 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var16;
                  var20 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var16;
                  var30 = var19 * (this.anInt4910 * 2111724147 - var17) + var20 * var17 >> this.anInt4909 * 1392669706;
               }

               var19 = (var1 << this.anInt4909 * -1451148795) + var16;
               var20 = (var2 << this.anInt4909 * -1451148795) + var17;
               var28.aShortArray1545[var15] = (short)var16;
               var28.aShortArray1549[var15] = (short)var17;
               var28.aShortArray1546[var15] = (short)(this.method6791(var19, var20, 701663251) + (var4 != null?var4[var15]:0));
               if(var30 < 0) {
                  var30 = 0;
               }

               if(var7[var15] == 0) {
                  var28.anIntArray1543[var15] = 0;
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               } else {
                  var21 = 0;
                  if(var6 != null) {
                     short var22 = var28.aShortArray1551[var15] = (short)var6[var15];
                     if(var11.anInt1731 * -663176343 != 0) {
                        var21 = 255 * var22 / (var11.anInt1731 * -663176343);
                        if(var21 < 0) {
                           var21 = 0;
                        } else if(var21 > 255) {
                           var21 = 255;
                        }
                     }
                  }

                  var31 = -16777216;
                  if(var9[var15] != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var15], 916164124).aByte1986)) {
                     var31 = -1694498816;
                  }

                  var28.anIntArray1543[var15] = var31 | Class559.method11912(method14847(var7[var15] >> 8, var30), var11.anInt1727 * 1679980725, var21, 2077676766);
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               }

               var28.aShortArray1550[var15] = (short)var9[var15];
               var28.aShortArray1547[var15] = (short)var10[var15];
            }

            if(var8 != null) {
               var28.anIntArray1553 = new int[var28.aShort1548];
            }

            for(var15 = 0; var15 < var28.aShort1548; ++var15) {
               var16 = var15 * 3;
               if(var8 != null && var8[var16] != 0) {
                  var28.anIntArray1553[var15] = -16777216 | var8[var16] >> 8;
               }
            }

            this.aClass128ArrayArray9399[var1][var2] = var28;
         } else {
            boolean var29 = true;
            var15 = -1;
            var16 = -1;
            var17 = -1;
            var30 = -1;
            if(var3.length == 6) {
               for(var19 = 0; var19 < 6; ++var19) {
                  if(var3[var19] == 0 && var5[var19] == 0) {
                     if(var15 != -1 && var7[var15] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var15 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == 0) {
                     if(var16 != -1 && var7[var16] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var16 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var17 != -1 && var7[var17] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var17 = var19;
                  } else if(var3[var19] == 0 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var30 != -1 && var7[var30] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var30 = var19;
                  }
               }

               if(var15 == -1 || var16 == -1 || var17 == -1 || var30 == -1) {
                  var29 = false;
               }

               if(var29) {
                  if(var4 != null) {
                     for(var19 = 0; var19 < 4; ++var19) {
                        if(var4[var19] != 0) {
                           var29 = false;
                           break;
                        }
                     }
                  }

                  if(var29) {
                     for(var19 = 1; var19 < 4; ++var19) {
                        if(var3[var19] != var3[0] && var3[var19] != var3[0] + this.anInt4910 * 2111724147 && var3[var19] != var3[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }

                        if(var5[var19] != var5[0] && var5[var19] != var5[0] + this.anInt4910 * 2111724147 && var5[var19] != var5[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }
                     }
                  }
               }
            } else {
               var29 = false;
            }

            if(var29) {
               Class138 var33 = new Class138();
               var20 = var7[0];
               var21 = var9[0];
               if(var8 != null) {
                  var33.anInt1613 = var8[0] >> 8;
                  if(var20 == 0) {
                     var33.aByte1616 = (byte)(var33.aByte1616 | 2);
                  }
               } else if(var20 == 0) {
                  return;
               }

               if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
                  var33.aByte1616 = (byte)(var33.aByte1616 | 1);
               }

               if(var21 != -1 && (var33.aByte1616 & 2) == 0 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var21, -1469411659).aBool1994) {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, -1717256384);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, -1397767462);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, -1920696720);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 1930748426);
                  var33.aShort1617 = (short)var21;
               } else {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, 1071675011);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, 350390537);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, -786766480);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 2030203073);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1607 |= 255 - (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) << 25;
                  }

                  var33.aShort1617 = -1;
               }

               if(var6 != null) {
                  var33.aShort1614 = (short)var6[var17];
                  var33.aShort1615 = (short)var6[var30];
                  var33.aShort1611 = (short)var6[var16];
                  var33.aShort1612 = (short)var6[var15];
               }

               this.aClass138ArrayArray9397[var1][var2] = var33;
            } else {
               Class144 var35 = new Class144();
               var35.aShort1672 = (short)var3.length;
               var35.aShort1680 = (short)(var3.length / 3);
               var35.aShortArray1674 = new short[var35.aShort1672];
               var35.aShortArray1675 = new short[var35.aShort1672];
               var35.aShortArray1676 = new short[var35.aShort1672];
               var35.anIntArray1677 = new int[var35.aShort1672];
               if(var6 != null) {
                  var35.aShortArray1671 = new short[var35.aShort1672];
               }

               int var24;
               int var32;
               for(var20 = 0; var20 < var35.aShort1672; ++var20) {
                  var21 = var3[var20];
                  var31 = var5[var20];
                  boolean var23 = false;
                  int var25;
                  if(var21 == 0 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
                  } else if(var21 == 0 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
                  } else {
                     var24 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
                     var25 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
                     var32 = var24 * (this.anInt4910 * 2111724147 - var31) + var25 * var31 >> this.anInt4909 * 1392669706;
                  }

                  var24 = (var1 << this.anInt4909 * -1451148795) + var21;
                  var25 = (var2 << this.anInt4909 * -1451148795) + var31;
                  var35.aShortArray1674[var20] = (short)var21;
                  var35.aShortArray1676[var20] = (short)var31;
                  var35.aShortArray1675[var20] = (short)(this.method6791(var24, var25, 701663251) + (var4 != null?var4[var20]:0));
                  if(var32 < 0) {
                     var32 = 0;
                  }

                  if(var7[var20] == 0) {
                     if(var8 != null) {
                        var35.anIntArray1677[var20] = var32 << 25;
                     } else {
                        var35.anIntArray1677[var20] = 0;
                     }
                  } else {
                     int var26 = 0;
                     if(var6 != null) {
                        short var27 = var35.aShortArray1671[var20] = (short)var6[var20];
                        if(var11.anInt1731 * -663176343 != 0) {
                           var26 = 255 * var27 / (var11.anInt1731 * -663176343);
                           if(var26 < 0) {
                              var26 = 0;
                           } else if(var26 > 255) {
                              var26 = 255;
                           }
                        }
                     }

                     var35.anIntArray1677[var20] = Class559.method11912(method14847(var7[var20] >> 8, var32), var11.anInt1727 * 1679980725, var26, -314123496);
                     if(var8 != null) {
                        var35.anIntArray1677[var20] |= var32 << 25;
                     }
                  }
               }

               boolean var34 = false;

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  if(var9[var21 * 3] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var21 * 3], -1074830103).aBool1994) {
                     var34 = true;
                  }
               }

               if(var8 != null) {
                  var35.anIntArray1681 = new int[var35.aShort1680];
               }

               if(var34) {
                  var35.aShortArray1678 = new short[var35.aShort1680];
                  var35.aShortArray1673 = new short[var35.aShort1680];
               }

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  var31 = var21 * 3;
                  if(var8 != null && var8[var31] != 0) {
                     var35.anIntArray1681[var21] = var8[var31] >> 8;
                  }

                  if(var34) {
                     var32 = var31 + 1;
                     var24 = var32 + 1;
                     boolean var36 = false;
                     boolean var37 = true;
                     int var38 = var9[var31];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -341021516).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var32];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 2013915369).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var24];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1286716566).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     if(var37) {
                        var35.aShortArray1678[var21] = (short)var38;
                        var35.aShortArray1673[var21] = (short)var10[var31];
                     } else {
                        if(var36) {
                           var38 = var9[var31];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 1587703723).aBool1994) {
                              var35.anIntArray1677[var31] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 568830390).aShort1975 & '\uffff', -1421488807) & '\uffff'];
                           }

                           var38 = var9[var32];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1870092104).aBool1994) {
                              var35.anIntArray1677[var32] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -546242238).aShort1975 & '\uffff', 2025244082) & '\uffff'];
                           }

                           var38 = var9[var24];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 889921639).aBool1994) {
                              var35.anIntArray1677[var24] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -949273146).aShort1975 & '\uffff', -389327041) & '\uffff'];
                           }
                        }

                        var35.aShortArray1678[var21] = -1;
                     }
                  }
               }

               this.aClass144ArrayArray9398[var1][var2] = var35;
            }
         }

      }
   }

   public void method6795(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      boolean var13 = (this.anInt9394 & 32) == 0;
      if(this.aClass138ArrayArray9397 == null && !var13) {
         this.aClass138ArrayArray9397 = new Class138[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass144ArrayArray9398 = new Class144[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass128ArrayArray9399 == null && var13) {
         this.aClass128ArrayArray9399 = new Class128[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass140ArrayArray9413 != null) {
         throw new IllegalStateException();
      }

      if(var3 != null && var3.length != 0) {
         int var14;
         for(var14 = 0; var14 < var7.length; ++var14) {
            if(var7[var14] == -1) {
               var7[var14] = 0;
            } else {
               var7[var14] = Class516.anIntArray6082[Class166.method2855(var7[var14], -1101608702) & '\uffff'] << 8 | 255;
            }
         }

         if(var8 != null) {
            for(var14 = 0; var14 < var8.length; ++var14) {
               if(var8[var14] == -1) {
                  var8[var14] = 0;
               } else {
                  var8[var14] = Class516.anIntArray6082[Class166.method2855(var8[var14], -181849011) & '\uffff'] << 8 | 255;
               }
            }
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var21;
         int var20;
         int var31;
         int var30;
         if(var13) {
            Class128 var28 = new Class128();
            var28.aShort1544 = (short)var3.length;
            var28.aShort1548 = (short)(var3.length / 3);
            var28.aShortArray1545 = new short[var28.aShort1544];
            var28.aShortArray1546 = new short[var28.aShort1544];
            var28.aShortArray1549 = new short[var28.aShort1544];
            var28.anIntArray1543 = new int[var28.aShort1544];
            var28.aShortArray1550 = new short[var28.aShort1544];
            var28.aShortArray1547 = new short[var28.aShort1544];
            var28.aByteArray1552 = new byte[var28.aShort1544];
            if(var6 != null) {
               var28.aShortArray1551 = new short[var28.aShort1544];
            }

            for(var15 = 0; var15 < var28.aShort1544; ++var15) {
               var16 = var3[var15];
               var17 = var5[var15];
               boolean var18 = false;
               if(var16 == 0 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
               } else if(var16 == 0 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == this.anInt4910 * 2111724147) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
               } else if(var16 == this.anInt4910 * 2111724147 && var17 == 0) {
                  var30 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
               } else {
                  var19 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var16;
                  var20 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var16) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var16;
                  var30 = var19 * (this.anInt4910 * 2111724147 - var17) + var20 * var17 >> this.anInt4909 * 1392669706;
               }

               var19 = (var1 << this.anInt4909 * -1451148795) + var16;
               var20 = (var2 << this.anInt4909 * -1451148795) + var17;
               var28.aShortArray1545[var15] = (short)var16;
               var28.aShortArray1549[var15] = (short)var17;
               var28.aShortArray1546[var15] = (short)(this.method6791(var19, var20, 701663251) + (var4 != null?var4[var15]:0));
               if(var30 < 0) {
                  var30 = 0;
               }

               if(var7[var15] == 0) {
                  var28.anIntArray1543[var15] = 0;
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               } else {
                  var21 = 0;
                  if(var6 != null) {
                     short var22 = var28.aShortArray1551[var15] = (short)var6[var15];
                     if(var11.anInt1731 * -663176343 != 0) {
                        var21 = 255 * var22 / (var11.anInt1731 * -663176343);
                        if(var21 < 0) {
                           var21 = 0;
                        } else if(var21 > 255) {
                           var21 = 255;
                        }
                     }
                  }

                  var31 = -16777216;
                  if(var9[var15] != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var15], 2014388141).aByte1986)) {
                     var31 = -1694498816;
                  }

                  var28.anIntArray1543[var15] = var31 | Class559.method11912(method14847(var7[var15] >> 8, var30), var11.anInt1727 * 1679980725, var21, 1556884733);
                  if(var8 != null) {
                     var28.aByteArray1552[var15] = (byte)var30;
                  }
               }

               var28.aShortArray1550[var15] = (short)var9[var15];
               var28.aShortArray1547[var15] = (short)var10[var15];
            }

            if(var8 != null) {
               var28.anIntArray1553 = new int[var28.aShort1548];
            }

            for(var15 = 0; var15 < var28.aShort1548; ++var15) {
               var16 = var15 * 3;
               if(var8 != null && var8[var16] != 0) {
                  var28.anIntArray1553[var15] = -16777216 | var8[var16] >> 8;
               }
            }

            this.aClass128ArrayArray9399[var1][var2] = var28;
         } else {
            boolean var29 = true;
            var15 = -1;
            var16 = -1;
            var17 = -1;
            var30 = -1;
            if(var3.length == 6) {
               for(var19 = 0; var19 < 6; ++var19) {
                  if(var3[var19] == 0 && var5[var19] == 0) {
                     if(var15 != -1 && var7[var15] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var15 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == 0) {
                     if(var16 != -1 && var7[var16] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var16 = var19;
                  } else if(var3[var19] == this.anInt4910 * 2111724147 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var17 != -1 && var7[var17] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var17 = var19;
                  } else if(var3[var19] == 0 && var5[var19] == this.anInt4910 * 2111724147) {
                     if(var30 != -1 && var7[var30] != var7[var19]) {
                        var29 = false;
                        break;
                     }

                     var30 = var19;
                  }
               }

               if(var15 == -1 || var16 == -1 || var17 == -1 || var30 == -1) {
                  var29 = false;
               }

               if(var29) {
                  if(var4 != null) {
                     for(var19 = 0; var19 < 4; ++var19) {
                        if(var4[var19] != 0) {
                           var29 = false;
                           break;
                        }
                     }
                  }

                  if(var29) {
                     for(var19 = 1; var19 < 4; ++var19) {
                        if(var3[var19] != var3[0] && var3[var19] != var3[0] + this.anInt4910 * 2111724147 && var3[var19] != var3[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }

                        if(var5[var19] != var5[0] && var5[var19] != var5[0] + this.anInt4910 * 2111724147 && var5[var19] != var5[0] - this.anInt4910 * 2111724147) {
                           var29 = false;
                           break;
                        }
                     }
                  }
               }
            } else {
               var29 = false;
            }

            if(var29) {
               Class138 var33 = new Class138();
               var20 = var7[0];
               var21 = var9[0];
               if(var8 != null) {
                  var33.anInt1613 = var8[0] >> 8;
                  if(var20 == 0) {
                     var33.aByte1616 = (byte)(var33.aByte1616 | 2);
                  }
               } else if(var20 == 0) {
                  return;
               }

               if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
                  var33.aByte1616 = (byte)(var33.aByte1616 | 1);
               }

               if(var21 != -1 && (var33.aByte1616 & 2) == 0 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var21, -1371877019).aBool1994) {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, -1332223428);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, -2104917303);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, -1772783658);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 856731357);
                  var33.aShort1617 = (short)var21;
               } else {
                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var15] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1608 = Class559.method11912(method14847(var7[var15] >> 8, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]), var11.anInt1727 * 1679980725, var31, -1832745864);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1608 |= 255 - (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var16] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1609 = Class559.method11912(method14847(var7[var16] >> 8, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]), var11.anInt1727 * 1679980725, var31, 1299905260);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1609 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var17] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1610 = Class559.method11912(method14847(var7[var17] >> 8, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 1687330131);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1610 |= 255 - (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) << 25;
                  }

                  if(var6 != null && var11.anInt1731 * -663176343 != 0) {
                     var31 = 255 * var6[var30] / (var11.anInt1731 * -663176343);
                     if(var31 < 0) {
                        var31 = 0;
                     } else if(var31 > 255) {
                        var31 = 255;
                     }
                  } else {
                     var31 = 0;
                  }

                  var33.anInt1607 = Class559.method11912(method14847(var7[var30] >> 8, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]), var11.anInt1727 * 1679980725, var31, 1538914151);
                  if(var33.anInt1613 != 0) {
                     var33.anInt1607 |= 255 - (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) << 25;
                  }

                  var33.aShort1617 = -1;
               }

               if(var6 != null) {
                  var33.aShort1614 = (short)var6[var17];
                  var33.aShort1615 = (short)var6[var30];
                  var33.aShort1611 = (short)var6[var16];
                  var33.aShort1612 = (short)var6[var15];
               }

               this.aClass138ArrayArray9397[var1][var2] = var33;
            } else {
               Class144 var35 = new Class144();
               var35.aShort1672 = (short)var3.length;
               var35.aShort1680 = (short)(var3.length / 3);
               var35.aShortArray1674 = new short[var35.aShort1672];
               var35.aShortArray1675 = new short[var35.aShort1672];
               var35.aShortArray1676 = new short[var35.aShort1672];
               var35.anIntArray1677 = new int[var35.aShort1672];
               if(var6 != null) {
                  var35.aShortArray1671 = new short[var35.aShort1672];
               }

               int var24;
               int var32;
               for(var20 = 0; var20 < var35.aShort1672; ++var20) {
                  var21 = var3[var20];
                  var31 = var5[var20];
                  boolean var23 = false;
                  int var25;
                  if(var21 == 0 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2];
                  } else if(var21 == 0 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == this.anInt4910 * 2111724147) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1];
                  } else if(var21 == this.anInt4910 * 2111724147 && var31 == 0) {
                     var32 = this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2];
                  } else {
                     var24 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
                     var25 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
                     var32 = var24 * (this.anInt4910 * 2111724147 - var31) + var25 * var31 >> this.anInt4909 * 1392669706;
                  }

                  var24 = (var1 << this.anInt4909 * -1451148795) + var21;
                  var25 = (var2 << this.anInt4909 * -1451148795) + var31;
                  var35.aShortArray1674[var20] = (short)var21;
                  var35.aShortArray1676[var20] = (short)var31;
                  var35.aShortArray1675[var20] = (short)(this.method6791(var24, var25, 701663251) + (var4 != null?var4[var20]:0));
                  if(var32 < 0) {
                     var32 = 0;
                  }

                  if(var7[var20] == 0) {
                     if(var8 != null) {
                        var35.anIntArray1677[var20] = var32 << 25;
                     } else {
                        var35.anIntArray1677[var20] = 0;
                     }
                  } else {
                     int var26 = 0;
                     if(var6 != null) {
                        short var27 = var35.aShortArray1671[var20] = (short)var6[var20];
                        if(var11.anInt1731 * -663176343 != 0) {
                           var26 = 255 * var27 / (var11.anInt1731 * -663176343);
                           if(var26 < 0) {
                              var26 = 0;
                           } else if(var26 > 255) {
                              var26 = 255;
                           }
                        }
                     }

                     var35.anIntArray1677[var20] = Class559.method11912(method14847(var7[var20] >> 8, var32), var11.anInt1727 * 1679980725, var26, 1384451572);
                     if(var8 != null) {
                        var35.anIntArray1677[var20] |= var32 << 25;
                     }
                  }
               }

               boolean var34 = false;

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  if(var9[var21 * 3] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var9[var21 * 3], -408897304).aBool1994) {
                     var34 = true;
                  }
               }

               if(var8 != null) {
                  var35.anIntArray1681 = new int[var35.aShort1680];
               }

               if(var34) {
                  var35.aShortArray1678 = new short[var35.aShort1680];
                  var35.aShortArray1673 = new short[var35.aShort1680];
               }

               for(var21 = 0; var21 < var35.aShort1680; ++var21) {
                  var31 = var21 * 3;
                  if(var8 != null && var8[var31] != 0) {
                     var35.anIntArray1681[var21] = var8[var31] >> 8;
                  }

                  if(var34) {
                     var32 = var31 + 1;
                     var24 = var32 + 1;
                     boolean var36 = false;
                     boolean var37 = true;
                     int var38 = var9[var31];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 128126451).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var32];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 1279709625).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     var38 = var9[var24];
                     if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1479259319).aBool1994) {
                        var36 = true;
                     } else {
                        var37 = false;
                     }

                     if(var37) {
                        var35.aShortArray1678[var21] = (short)var38;
                        var35.aShortArray1673[var21] = (short)var10[var31];
                     } else {
                        if(var36) {
                           var38 = var9[var31];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 56883655).aBool1994) {
                              var35.anIntArray1677[var31] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1688984936).aShort1975 & '\uffff', 305257637) & '\uffff'];
                           }

                           var38 = var9[var32];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 498982559).aBool1994) {
                              var35.anIntArray1677[var32] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, 220991156).aShort1975 & '\uffff', 854878195) & '\uffff'];
                           }

                           var38 = var9[var24];
                           if(var38 != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -119395215).aBool1994) {
                              var35.anIntArray1677[var24] = Class516.anIntArray6082[Class166.method2855(this.aClass545_Sub3_9416.anInterface24_7370.method113(var38, -1690320538).aShort1975 & '\uffff', -1136739691) & '\uffff'];
                           }
                        }

                        var35.aShortArray1678[var21] = -1;
                     }
                  }
               }

               this.aClass144ArrayArray9398[var1][var2] = var35;
            }
         }

      }
   }

   public void ah(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   public void method6800(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass545_Sub3_9416.anIntArray9788 != null && this.aClass545_Sub3_9416.aFloatArray9808 != null) {
         Class317 var7 = this.aClass545_Sub3_9416.aClass317_9805;
         this.aFloat9393 = var7.aFloatArray4000[0];
         this.aFloat9390 = var7.aFloatArray4000[1];
         this.aFloat9402 = var7.aFloatArray4000[2];
         this.aFloat9403 = var7.aFloatArray4000[3];
         this.aFloat9404 = var7.aFloatArray4000[4];
         this.aFloat9405 = var7.aFloatArray4000[5];
         this.aFloat9406 = var7.aFloatArray4000[6];
         this.aFloat9407 = var7.aFloatArray4000[7];
         this.aFloat9389 = var7.aFloatArray4000[8];
         this.aFloat9401 = var7.aFloatArray4000[9];
         this.aFloat9408 = var7.aFloatArray4000[10];
         this.aFloat9411 = var7.aFloatArray4000[11];
         this.aFloat9412 = var7.aFloatArray4000[12];
         this.aFloat9409 = var7.aFloatArray4000[13];
         this.aFloat9414 = var7.aFloatArray4000[14];
         this.aFloat9415 = var7.aFloatArray4000[15];

         for(int var8 = 0; var8 < var3 + var3; ++var8) {
            for(int var9 = 0; var9 < var3 + var3; ++var9) {
               if(var4[var8][var9]) {
                  int var10 = var1 - var3 + var8;
                  int var11 = var2 - var3 + var9;
                  if(var10 >= 0 && var10 < this.anInt4911 * 1724373523 && var11 >= 0 && var11 < this.anInt4908 * 1696648095) {
                     this.method14836(var10, var11, var6);
                  }
               }
            }
         }

      } else {
         throw new IllegalStateException("");
      }
   }

   public void method6797(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass545_Sub3_9416.anIntArray9788 != null && this.aClass545_Sub3_9416.aFloatArray9808 != null) {
         Class317 var7 = this.aClass545_Sub3_9416.aClass317_9805;
         this.aFloat9393 = var7.aFloatArray4000[0];
         this.aFloat9390 = var7.aFloatArray4000[1];
         this.aFloat9402 = var7.aFloatArray4000[2];
         this.aFloat9403 = var7.aFloatArray4000[3];
         this.aFloat9404 = var7.aFloatArray4000[4];
         this.aFloat9405 = var7.aFloatArray4000[5];
         this.aFloat9406 = var7.aFloatArray4000[6];
         this.aFloat9407 = var7.aFloatArray4000[7];
         this.aFloat9389 = var7.aFloatArray4000[8];
         this.aFloat9401 = var7.aFloatArray4000[9];
         this.aFloat9408 = var7.aFloatArray4000[10];
         this.aFloat9411 = var7.aFloatArray4000[11];
         this.aFloat9412 = var7.aFloatArray4000[12];
         this.aFloat9409 = var7.aFloatArray4000[13];
         this.aFloat9414 = var7.aFloatArray4000[14];
         this.aFloat9415 = var7.aFloatArray4000[15];

         for(int var8 = 0; var8 < var3 + var3; ++var8) {
            for(int var9 = 0; var9 < var3 + var3; ++var9) {
               if(var4[var8][var9]) {
                  int var10 = var1 - var3 + var8;
                  int var11 = var2 - var3 + var9;
                  if(var10 >= 0 && var10 < this.anInt4911 * 1724373523 && var11 >= 0 && var11 < this.anInt4908 * 1696648095) {
                     this.method14836(var10, var11, var6);
                  }
               }
            }
         }

      } else {
         throw new IllegalStateException("");
      }
   }

   public void NA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   void method14843(int var1, int var2, int var3) {
      Class174 var4 = this.aClass545_Sub3_9416.method15346(Thread.currentThread());
      var4.aClass143_2098.anInt1636 = 0;
      if(this.aClass138ArrayArray9397 != null) {
         this.method14839(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass140ArrayArray9413 != null) {
         this.method14837(var1, var2, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass128ArrayArray9399 != null) {
         this.method14853(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      }

   }

   void method14844(int var1, int var2, int var3) {
      Class174 var4 = this.aClass545_Sub3_9416.method15346(Thread.currentThread());
      var4.aClass143_2098.anInt1636 = 0;
      if(this.aClass138ArrayArray9397 != null) {
         this.method14839(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass140ArrayArray9413 != null) {
         this.method14837(var1, var2, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      } else if(this.aClass128ArrayArray9399 != null) {
         this.method14853(var1, var2, var4.aBool2092, var4, var4.aClass143_2098, var4.aFloatArray2113, var4.aFloatArray2125, var4.aFloatArray2121, var4.aFloatArray2127, var4.aFloatArray2124, var3);
      }

   }

   void method14845(int var1, int var2, Class143 var3, float[] var4, float[] var5, float[] var6, float[] var7, float[] var8, int var9) {
      Class140 var10 = this.aClass140ArrayArray9413[var1][var2];
      int var12;
      int var14;
      float var29;
      float var28;
      float var34;
      float var32;
      float var33;
      float var39;
      float var37;
      float var42;
      float var47;
      float var44;
      if(var10 != null) {
         if((var10.aByte1626 & 2) == 0) {
            if(var9 != 0) {
               if((var10.aByte1626 & 4) != 0) {
                  if((var9 & 1) != 0) {
                     return;
                  }
               } else if((var9 & 2) != 0) {
                  return;
               }
            }

            int var48 = var1 * this.anInt4910 * 2111724147;
            var12 = var48 + this.anInt4910 * 2111724147;
            int var49 = var2 * this.anInt4910 * 2111724147;
            var14 = var49 + this.anInt4910 * 2111724147;
            int var15;
            float var19;
            float var18;
            float var21;
            float var20;
            float var23;
            float var22;
            float var25;
            float var24;
            float var30;
            float var35;
            float var40;
            float var45;
            float var55;
            float var54;
            float var53;
            float var59;
            float var58;
            float var57;
            if((var10.aByte1626 & 1) != 0) {
               var15 = this.anIntArrayArray4912[var1][var2];
               float var16 = this.aFloat9406 * (float)var15;
               float var17 = this.aFloat9407 * (float)var15;
               var18 = this.aFloat9414 + this.aFloat9402 * (float)var48 + var16 + this.aFloat9408 * (float)var49;
               var19 = this.aFloat9415 + this.aFloat9403 * (float)var48 + var17 + this.aFloat9411 * (float)var49;
               if(var18 < -var19) {
                  return;
               }

               var20 = this.aFloat9414 + this.aFloat9402 * (float)var12 + var16 + this.aFloat9408 * (float)var49;
               var21 = this.aFloat9415 + this.aFloat9403 * (float)var12 + var17 + this.aFloat9411 * (float)var49;
               if(var20 < -var21) {
                  return;
               }

               var22 = this.aFloat9414 + this.aFloat9402 * (float)var12 + var16 + this.aFloat9408 * (float)var14;
               var23 = this.aFloat9415 + this.aFloat9403 * (float)var12 + var17 + this.aFloat9411 * (float)var14;
               if(var22 < -var23) {
                  return;
               }

               var24 = this.aFloat9414 + this.aFloat9402 * (float)var48 + var16 + this.aFloat9408 * (float)var14;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var48 + var17 + this.aFloat9411 * (float)var14;
               if(var24 < -var25) {
                  return;
               }

               float var26 = this.aFloat9404 * (float)var15;
               float var27 = this.aFloat9405 * (float)var15;
               var28 = this.aFloat9412 + this.aFloat9393 * (float)var48 + var26 + this.aFloat9389 * (float)var49;
               var29 = var3.aFloat1646 + var3.aFloat1641 * var28 / var19;
               var30 = this.aFloat9409 + this.aFloat9390 * (float)var48 + var27 + this.aFloat9401 * (float)var49;
               var53 = var3.aFloat1660 + var3.aFloat1663 * var30 / var19;
               var32 = var3.aFloat1644 + var3.aFloat1645 * var18 / var19;
               var33 = this.aFloat9412 + this.aFloat9393 * (float)var12 + var26 + this.aFloat9389 * (float)var49;
               var34 = var3.aFloat1646 + var3.aFloat1641 * var33 / var21;
               var35 = this.aFloat9409 + this.aFloat9390 * (float)var12 + var27 + this.aFloat9401 * (float)var49;
               var54 = var3.aFloat1660 + var3.aFloat1663 * var35 / var21;
               var37 = var3.aFloat1644 + var3.aFloat1645 * var20 / var21;
               var55 = this.aFloat9412 + this.aFloat9393 * (float)var12 + var26 + this.aFloat9389 * (float)var14;
               var39 = var3.aFloat1646 + var3.aFloat1641 * var55 / var23;
               var40 = this.aFloat9409 + this.aFloat9390 * (float)var12 + var27 + this.aFloat9401 * (float)var14;
               var57 = var3.aFloat1660 + var3.aFloat1663 * var40 / var23;
               var42 = var3.aFloat1644 + var3.aFloat1645 * var22 / var23;
               var59 = this.aFloat9412 + this.aFloat9393 * (float)var48 + var26 + this.aFloat9389 * (float)var14;
               var44 = var3.aFloat1646 + var3.aFloat1641 * var59 / var25;
               var45 = this.aFloat9409 + this.aFloat9390 * (float)var48 + var27 + this.aFloat9401 * (float)var14;
               var58 = var3.aFloat1660 + var3.aFloat1663 * var45 / var25;
               var47 = var3.aFloat1644 + var3.aFloat1645 * var24 / var25;
            } else {
               var15 = this.anIntArrayArray4912[var1][var2];
               int var50 = this.anIntArrayArray4912[var1 + 1][var2];
               int var51 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var52 = this.anIntArrayArray4912[var1][var2 + 1];
               var18 = this.aFloat9414 + this.aFloat9402 * (float)var48 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var49;
               var19 = this.aFloat9415 + this.aFloat9403 * (float)var48 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var49;
               if(var18 < -var19) {
                  return;
               }

               var20 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var50 + this.aFloat9408 * (float)var49;
               var21 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var50 + this.aFloat9411 * (float)var49;
               if(var20 < -var21) {
                  return;
               }

               var22 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var51 + this.aFloat9408 * (float)var14;
               var23 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var51 + this.aFloat9411 * (float)var14;
               if(var22 < -var23) {
                  return;
               }

               var24 = this.aFloat9414 + this.aFloat9402 * (float)var48 + this.aFloat9406 * (float)var52 + this.aFloat9408 * (float)var14;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var48 + this.aFloat9407 * (float)var52 + this.aFloat9411 * (float)var14;
               if(var24 < -var25) {
                  return;
               }

               var28 = this.aFloat9412 + this.aFloat9393 * (float)var48 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var49;
               var29 = var3.aFloat1646 + var3.aFloat1641 * var28 / var19;
               var30 = this.aFloat9409 + this.aFloat9390 * (float)var48 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var49;
               var53 = var3.aFloat1660 + var3.aFloat1663 * var30 / var19;
               var32 = var3.aFloat1644 + var3.aFloat1645 * var18 / var19;
               var33 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var50 + this.aFloat9389 * (float)var49;
               var34 = var3.aFloat1646 + var3.aFloat1641 * var33 / var21;
               var35 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var50 + this.aFloat9401 * (float)var49;
               var54 = var3.aFloat1660 + var3.aFloat1663 * var35 / var21;
               var37 = var3.aFloat1644 + var3.aFloat1645 * var20 / var21;
               var55 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var51 + this.aFloat9389 * (float)var14;
               var39 = var3.aFloat1646 + var3.aFloat1641 * var55 / var23;
               var40 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var51 + this.aFloat9401 * (float)var14;
               var57 = var3.aFloat1660 + var3.aFloat1663 * var40 / var23;
               var42 = var3.aFloat1644 + var3.aFloat1645 * var22 / var23;
               var59 = this.aFloat9412 + this.aFloat9393 * (float)var48 + this.aFloat9404 * (float)var52 + this.aFloat9389 * (float)var14;
               var44 = var3.aFloat1646 + var3.aFloat1641 * var59 / var25;
               var45 = this.aFloat9409 + this.aFloat9390 * (float)var48 + this.aFloat9405 * (float)var52 + this.aFloat9401 * (float)var14;
               var58 = var3.aFloat1660 + var3.aFloat1663 * var45 / var25;
               var47 = var3.aFloat1644 + var3.aFloat1645 * var24 / var25;
            }

            if((var39 - var44) * (var54 - var58) - (var57 - var58) * (var34 - var44) > 0.0F) {
               var3.aBool1650 = var39 < 0.0F || var44 < 0.0F || var34 < 0.0F || var39 > (float)var3.anInt1640 || var44 > (float)var3.anInt1640 || var34 > (float)var3.anInt1640;
               if(var10.aShort1627 >= 0) {
                  var3.method2650(true, true, false, var57, var58, var54, var39, var44, var34, var42, var47, var37, var23, var25, var21, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, -16777216 | Class516.anIntArray6082[var10.aShort1623 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1624 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1621 & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var10.aShort1627);
               } else {
                  var3.method2644(true, true, false, var57, var58, var54, var39, var44, var34, var42, var47, var37, (float)(var10.aShort1623 & '\uffff'), (float)(var10.aShort1624 & '\uffff'), (float)(var10.aShort1621 & '\uffff'));
               }
            }

            if((var29 - var34) * (var58 - var54) - (var53 - var54) * (var44 - var34) > 0.0F) {
               var3.aBool1650 = var29 < 0.0F || var34 < 0.0F || var44 < 0.0F || var29 > (float)var3.anInt1640 || var34 > (float)var3.anInt1640 || var44 > (float)var3.anInt1640;
               if(var10.aShort1627 >= 0) {
                  var3.method2650(true, true, false, var53, var54, var58, var29, var34, var44, var32, var37, var47, var19, var21, var25, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, -16777216 | Class516.anIntArray6082[var10.aShort1622 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1621 & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var10.aShort1624 & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var10.aShort1627);
               } else {
                  var3.method2644(true, true, false, var53, var54, var58, var29, var34, var44, var32, var37, var47, (float)(var10.aShort1622 & '\uffff'), (float)(var10.aShort1621 & '\uffff'), (float)(var10.aShort1624 & '\uffff'));
               }
            }

         }
      } else {
         Class194 var11 = this.aClass194ArrayArray9396[var1][var2];
         if(var11 != null) {
            if(var9 != 0) {
               if((var11.aByte2333 & 4) != 0) {
                  if((var9 & 1) != 0) {
                     return;
                  }
               } else if((var9 & 2) != 0) {
                  return;
               }
            }

            int var31;
            for(var31 = 0; var31 < var11.aShort2332; ++var31) {
               var12 = var11.aShortArray2334[var31] + (var1 << this.anInt4909 * -1451148795);
               short var13 = var11.aShortArray2335[var31];
               var14 = var11.aShortArray2336[var31] + (var2 << this.anInt4909 * -1451148795);
               var39 = this.aFloat9414 + this.aFloat9402 * (float)var12 + this.aFloat9406 * (float)var13 + this.aFloat9408 * (float)var14;
               var44 = this.aFloat9415 + this.aFloat9403 * (float)var12 + this.aFloat9407 * (float)var13 + this.aFloat9411 * (float)var14;
               if(var39 < -var44) {
                  return;
               }

               var29 = this.aFloat9412 + this.aFloat9393 * (float)var12 + this.aFloat9404 * (float)var13 + this.aFloat9389 * (float)var14;
               var34 = this.aFloat9409 + this.aFloat9390 * (float)var12 + this.aFloat9405 * (float)var13 + this.aFloat9401 * (float)var14;
               var4[var31] = var3.aFloat1646 + var3.aFloat1641 * var29 / var44;
               var5[var31] = var3.aFloat1660 + var3.aFloat1663 * var34 / var44;
               var6[var31] = var3.aFloat1644 + var3.aFloat1645 * var39 / var44;
               var7[var31] = var44;
            }

            short var36;
            short var41;
            short var46;
            if(var11.aShortArray2341 != null) {
               for(var31 = 0; var31 < var11.aShort2331; ++var31) {
                  var36 = var11.aShortArray2337[var31];
                  var41 = var11.aShortArray2339[var31];
                  var46 = var11.aShortArray2340[var31];
                  var32 = var4[var36];
                  var37 = var4[var41];
                  var42 = var4[var46];
                  var47 = var5[var36];
                  var28 = var5[var41];
                  var33 = var5[var46];
                  if((var32 - var37) * (var33 - var28) - (var47 - var28) * (var42 - var37) > 0.0F) {
                     var3.aBool1650 = var32 < 0.0F || var37 < 0.0F || var42 < 0.0F || var32 > (float)var3.anInt1640 || var37 > (float)var3.anInt1640 || var42 > (float)var3.anInt1640;
                     short var38 = var11.aShortArray2341[var31];
                     if(var38 != -1) {
                        var3.method2650(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], var7[var36], var7[var41], var7[var46], (float)var11.aShortArray2334[var36] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2334[var41] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2334[var46] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var36] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var41] / (float)(this.anInt4910 * 2111724147), (float)var11.aShortArray2336[var46] / (float)(this.anInt4910 * 2111724147), -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var36] & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var41] & '\uffff'] & 16777215, -16777216 | Class516.anIntArray6082[var11.aShortArray2342[var46] & '\uffff'] & 16777215, 0, 0.0F, 0.0F, 0.0F, var38);
                     } else {
                        int var43 = var11.anIntArray2343[var31];
                        if(var43 != -1) {
                           var3.method2644(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], (float)Class576.method12223(var43, var11.aShortArray2342[var36], 431922138), (float)Class576.method12223(var43, var11.aShortArray2342[var41], 431922138), (float)Class576.method12223(var43, var11.aShortArray2342[var46], 431922138));
                        }
                     }
                  }
               }
            } else {
               for(var31 = 0; var31 < var11.aShort2331; ++var31) {
                  var36 = var11.aShortArray2337[var31];
                  var41 = var11.aShortArray2339[var31];
                  var46 = var11.aShortArray2340[var31];
                  var32 = var4[var36];
                  var37 = var4[var41];
                  var42 = var4[var46];
                  var47 = var5[var36];
                  var28 = var5[var41];
                  var33 = var5[var46];
                  if((var32 - var37) * (var33 - var28) - (var47 - var28) * (var42 - var37) > 0.0F) {
                     int var56 = var11.anIntArray2343[var31];
                     if(var56 != -1) {
                        var3.aBool1650 = var32 < 0.0F || var37 < 0.0F || var42 < 0.0F || var32 > (float)var3.anInt1640 || var37 > (float)var3.anInt1640 || var42 > (float)var3.anInt1640;
                        var3.method2644(true, true, false, var47, var28, var33, var32, var37, var42, var6[var36], var6[var41], var6[var46], (float)Class576.method12223(var56, var11.aShortArray2342[var36], 431922138), (float)Class576.method12223(var56, var11.aShortArray2342[var41], 431922138), (float)Class576.method12223(var56, var11.aShortArray2342[var46], 431922138));
                     }
                  }
               }
            }
         }

      }
   }

   void method14846(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class138 var12 = this.aClass138ArrayArray9397[var1][var2];
      int var14;
      int var15;
      int var16;
      float var34;
      float var35;
      float var33;
      float var39;
      float var42;
      float var43;
      float var40;
      float var47;
      float var44;
      float var51;
      float var50;
      float var48;
      float var52;
      if(var12 != null) {
         if((var12.aByte1616 & 2) == 0) {
            if(var11 != 0) {
               if((var12.aByte1616 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var55 = var1 * this.anInt4910 * 2111724147;
            var14 = var55 + this.anInt4910 * 2111724147;
            var15 = var2 * this.anInt4910 * 2111724147;
            var16 = var15 + this.anInt4910 * 2111724147;
            float var17 = 0.0F;
            float var18 = 0.0F;
            float var19 = 0.0F;
            float var20 = 0.0F;
            int var21;
            int var23;
            float var25;
            float var24;
            float var27;
            float var26;
            float var29;
            float var28;
            float var31;
            float var30;
            float var36;
            float var49;
            float var53;
            float var59;
            float var57;
            float var63;
            float var62;
            float var65;
            float var66;
            if((var12.aByte1616 & 1) != 0 && !var3) {
               var21 = this.anIntArrayArray4912[var1][var2];
               var57 = this.aFloat9406 * (float)var21;
               float var58 = this.aFloat9407 * (float)var21;
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               float var61 = this.aFloat9404 * (float)var21;
               float var60 = this.aFloat9405 * (float)var21;
               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            } else {
               var21 = this.anIntArrayArray4912[var1][var2];
               int var22 = this.anIntArrayArray4912[var1 + 1][var2];
               var23 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var37 = this.anIntArrayArray4912[var1][var2 + 1];
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var21 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var21 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var22 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var22 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var23 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var23 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var37 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var37 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var3) {
                  var36 = var24 - var4.aFloat2088;
                  int var38;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var17 = var36;
                     var38 = (int)((float)var12.aShort1612 * var36);
                     if(var38 > 0) {
                        var21 -= var38;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var18 = var36;
                     var38 = (int)((float)var12.aShort1611 * var36);
                     if(var38 > 0) {
                        var22 -= var38;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var19 = var36;
                     var38 = (int)((float)var12.aShort1614 * var36);
                     if(var38 > 0) {
                        var23 -= var38;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var20 = var36;
                     var38 = (int)((float)var12.aShort1615 * var36);
                     if(var38 > 0) {
                        var37 -= var38;
                     }
                  }
               } else if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var21 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var21 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var22 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var22 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var23 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var23 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var37 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var37 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            }

            boolean var56 = var12.aShort1617 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var12.aShort1617, 711767755).aByte1986);
            var57 = var18 + var19 + var20;
            if((var48 - var52) * (var65 - var66) - (var50 - var66) * (var44 - var52) > 0.0F) {
               var5.aBool1650 = var48 < 0.0F || var52 < 0.0F || var44 < 0.0F || var48 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, var4.anInt2090 * 723388769, var19 * 255.0F, var20 * 255.0F, var18 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, Class363.method6466(var12.anInt1610, (int)(var19 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1566513744), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 993376827), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1674345222));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var12.anInt1610, var12.anInt1607, var12.anInt1609);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var4.anInt2090 * 723388769);
               }
            }

            var57 = var17 + var18 + var20;
            if((var40 - var44) * (var66 - var65) - (var42 - var65) * (var52 - var44) > 0.0F) {
               var5.aBool1650 = var40 < 0.0F || var44 < 0.0F || var52 < 0.0F || var40 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var56) {
                     var5.anInt1636 = -1694498816;
                  }

                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, var4.anInt2090 * 723388769, var17 * 255.0F, var18 * 255.0F, var20 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, Class363.method6466(var12.anInt1608, (int)(var17 * 255.0F) << 24 | var4.anInt2090 * 723388769, 573426603), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 465079399), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 535133409));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var12.anInt1608, var12.anInt1609, var12.anInt1607);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var4.anInt2090 * 723388769);
               }
            }

         }
      } else {
         Class144 var13 = this.aClass144ArrayArray9398[var1][var2];
         if(var13 != null) {
            if(var11 != 0) {
               if((var13.aByte1679 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var46;
            int var54;
            for(var46 = 0; var46 < var13.aShort1672; ++var46) {
               var14 = var13.aShortArray1674[var46] + (var1 << this.anInt4909 * -1451148795);
               var15 = var13.aShortArray1675[var46];
               var16 = var13.aShortArray1676[var46] + (var2 << this.anInt4909 * -1451148795);
               var48 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               var52 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var48 < -var52) {
                  return;
               }

               var42 = var5.aFloat1644 + var5.aFloat1645 * var48 / var52;
               var10[var46] = 0.0F;
               if(var3) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var50 /= var4.aFloat2091;
                     if(var50 > 1.0F) {
                        var50 = 1.0F;
                     }

                     var10[var46] = var50;
                     var54 = (int)((float)var13.aShortArray1671[var46] * var50);
                     if(var54 > 0) {
                        var15 -= var54;
                     }
                  }
               } else if(var4.aBool2108) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var10[var46] = var50 / var4.aFloat2091;
                     if(var10[var46] > 1.0F) {
                        var10[var46] = 1.0F;
                     }
                  }
               }

               var40 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               var44 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var46] = var5.aFloat1646 + var5.aFloat1641 * var40 / var52;
               var7[var46] = var5.aFloat1660 + var5.aFloat1663 * var44 / var52;
               var8[var46] = var42;
               var9[var46] = var52;
            }

            int var32;
            int var64;
            if(var13.aShortArray1678 != null) {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     short var41 = var13.aShortArray1678[var46];
                     if(var51 < 3.0F) {
                        int var45;
                        if(var51 > 0.0F) {
                           if(var41 != -1) {
                              var45 = -16777216;
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 1642083546).aByte1986)) {
                                 var45 = -1694498816;
                              }

                              var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, var4.anInt2090 * 723388769, var10[var64] * 255.0F, var10[var54] * 255.0F, var10[var32] * 255.0F, var41);
                           } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1154202938).aByte1986)) {
                                 var5.anInt1636 = -1694498816;
                              }

                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class363.method6466(var13.anIntArray1677[var64], (int)(var10[var64] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1972360002), Class363.method6466(var13.anIntArray1677[var54], (int)(var10[var54] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1556316180), Class363.method6466(var13.anIntArray1677[var32], (int)(var10[var32] * 255.0F) << 24 | var4.anInt2090 * 723388769, 618317741));
                              var5.anInt1636 = 0;
                           }
                        } else if(var41 != -1) {
                           var45 = -16777216;
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -93374665).aByte1986)) {
                              var45 = -1694498816;
                           }

                           var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, 0, 0.0F, 0.0F, 0.0F, var41);
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1810116974).aByte1986)) {
                              var5.anInt1636 = -1694498816;
                           }

                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                           var5.anInt1636 = 0;
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            } else {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     if(var51 < 3.0F) {
                        if(var51 > 0.0F) {
                           if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class169.method2899(var13.anIntArray1677[var64], var4.anInt2090 * 723388769, var10[var64] * 255.0F, 1864070681), Class169.method2899(var13.anIntArray1677[var54], var4.anInt2090 * 723388769, var10[var54] * 255.0F, 2077395957), Class169.method2899(var13.anIntArray1677[var32], var4.anInt2090 * 723388769, var10[var32] * 255.0F, 1281013111));
                           }
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            }
         }

      }
   }

   public void method6805(int 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, Class153 var14, boolean var15) {
      if(this.aClass140ArrayArray9413 == null) {
         this.aClass140ArrayArray9413 = new Class140[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
         this.aClass194ArrayArray9396 = new Class194[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095];
      } else if(this.aClass138ArrayArray9397 != null || this.aClass128ArrayArray9399 != null) {
         throw new IllegalStateException();
      }

      boolean var16 = false;
      int var19;
      int var18;
      if(var10.length == 2 && var7.length == 2 && (var10[0] == var10[1] || var12[0] != -1 && var12[0] == var12[1])) {
         var16 = true;

         for(int var17 = 1; var17 < 2; ++var17) {
            var18 = var3[var7[var17]];
            var19 = var5[var7[var17]];
            if(var18 != 0 && var18 != this.anInt4910 * 2111724147 || var19 != 0 && var19 != this.anInt4910 * 2111724147) {
               var16 = false;
               break;
            }
         }
      }

      if(!var16) {
         Class194 var26 = new Class194();
         short var28 = (short)var3.length;
         short var27 = (short)var10.length;
         var26.aShort2332 = var28;
         var26.aShortArray2342 = new short[var28];
         var26.aShortArray2334 = new short[var28];
         var26.aShortArray2335 = new short[var28];
         var26.aShortArray2336 = new short[var28];

         int var21;
         int var23;
         int var22;
         for(int var20 = 0; var20 < var28; ++var20) {
            var21 = var3[var20];
            var22 = var5[var20];
            int var24;
            if(var21 == 0 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            } else if(var21 == 0 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == this.anInt4910 * 2111724147) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            } else if(var21 == this.anInt4910 * 2111724147 && var22 == 0) {
               var26.aShortArray2342[var20] = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            } else {
               var23 = (this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]) * var21;
               var24 = (this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]) * (this.anInt4910 * 2111724147 - var21) + (this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]) * var21;
               var26.aShortArray2342[var20] = (short)(var23 * (this.anInt4910 * 2111724147 - var22) + var24 * var22 >> this.anInt4909 * 1392669706);
            }

            var23 = (var1 << this.anInt4909 * -1451148795) + var21;
            var24 = (var2 << this.anInt4909 * -1451148795) + var22;
            var26.aShortArray2334[var20] = (short)var21;
            var26.aShortArray2336[var20] = (short)var22;
            var26.aShortArray2335[var20] = (short)(this.method6791(var23, var24, 701663251) + (var4 != null?var4[var20]:0));
            if(var26.aShortArray2342[var20] < 2) {
               var26.aShortArray2342[var20] = 2;
            }
         }

         boolean var29 = false;
         var21 = 0;

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               ++var21;
            }

            var23 = var12[var22];
            if(var23 != -1) {
               Class161 var32 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var23, 1245059797);
               if(!var32.aBool1994) {
                  var29 = true;
                  if(this.method14840(var32.aByte1986) || var32.aByte1972 != 0 || var32.aByte1993 != 0) {
                     var26.aByte2333 = (byte)(var26.aByte2333 | 4);
                  }
               }
            }
         }

         var26.anIntArray2343 = new int[var21];
         if(var11 != null) {
            var26.anIntArray2344 = new int[var21];
         }

         var26.aShortArray2337 = new short[var21];
         var26.aShortArray2339 = new short[var21];
         var26.aShortArray2340 = new short[var21];
         if(var29) {
            var26.aShortArray2341 = new short[var21];
            var26.aShortArray2338 = new short[var21];
         }

         for(var22 = 0; var22 < var27; ++var22) {
            if(var10[var22] >= 0 || var11 != null && var11[var22] >= 0) {
               if(var10[var22] >= 0) {
                  var26.anIntArray2343[var26.aShort2331] = Class166.method2855(var10[var22], -1505168392);
               } else {
                  var26.anIntArray2343[var26.aShort2331] = -1;
               }

               if(var11 != null) {
                  if(var11[var22] != -1) {
                     var26.anIntArray2344[var26.aShort2331] = Class166.method2855(var11[var22], -2145261236);
                  } else {
                     var26.anIntArray2344[var26.aShort2331] = -1;
                  }
               }

               var26.aShortArray2337[var26.aShort2331] = (short)var7[var22];
               var26.aShortArray2339[var26.aShort2331] = (short)var8[var22];
               var26.aShortArray2340[var26.aShort2331] = (short)var9[var22];
               if(var29) {
                  if(var12[var22] != -1 && !this.aClass545_Sub3_9416.anInterface24_7370.method113(var12[var22], -510702051).aBool1994) {
                     var26.aShortArray2341[var26.aShort2331] = (short)var12[var22];
                     var26.aShortArray2338[var26.aShort2331] = (short)var13[var22];
                  } else {
                     var26.aShortArray2341[var26.aShort2331] = -1;
                  }
               }

               ++var26.aShort2331;
            }
         }

         this.aClass194ArrayArray9396[var1][var2] = var26;
      } else if(var10[0] >= 0 || var11 != null && var11[0] >= 0) {
         Class140 var25 = new Class140();
         var18 = var10[0];
         var19 = var12[0];
         if(var11 != null) {
            var25.anInt1625 = Class576.method12223(Class166.method2855(var11[0], 1005110539), this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            if(var18 == -1) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 2);
            }
         }

         if(this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1 + 1][var2 + 1] && this.anIntArrayArray4912[var1][var2] == this.anIntArrayArray4912[var1][var2 + 1]) {
            var25.aByte1626 = (byte)(var25.aByte1626 | 1);
         }

         Class161 var30 = null;
         if(var19 != -1) {
            var30 = this.aClass545_Sub3_9416.anInterface24_7370.method113(var19, -104599654);
         }

         if(var30 != null && (var25.aByte1626 & 2) == 0 && !var30.aBool1994) {
            var25.aShort1622 = (short)(this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2]);
            var25.aShort1621 = (short)(this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2]);
            var25.aShort1623 = (short)(this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1]);
            var25.aShort1624 = (short)(this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1]);
            var25.aShort1627 = (short)var19;
            if(this.method14840(var30.aByte1986) || var30.aByte1972 != 0 || var30.aByte1993 != 0) {
               var25.aByte1626 = (byte)(var25.aByte1626 | 4);
            }
         } else {
            short var31 = Class166.method2855(var18, -199597356);
            var25.aShort1622 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2] - this.aByteArrayArray9417[var1][var2], 431922138);
            var25.aShort1621 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2] - this.aByteArrayArray9417[var1 + 1][var2], 431922138);
            var25.aShort1623 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1 + 1][var2 + 1] - this.aByteArrayArray9417[var1 + 1][var2 + 1], 431922138);
            var25.aShort1624 = (short)Class576.method12223(var31, this.aByteArrayArray9400[var1][var2 + 1] - this.aByteArrayArray9417[var1][var2 + 1], 431922138);
            var25.aShort1627 = -1;
         }

         this.aClass140ArrayArray9413[var1][var2] = var25;
      }

   }

   static int method14847(int var0, int var1) {
      int var2 = (var0 & 16711680) * var1 >> 23;
      if(var2 < 2) {
         var2 = 2;
      } else if(var2 > 253) {
         var2 = 253;
      }

      int var3 = (var0 & '\uff00') * var1 >> 15;
      if(var3 < 2) {
         var3 = 2;
      } else if(var3 > 253) {
         var3 = 253;
      }

      int var4 = (var0 & 255) * var1 >> 7;
      if(var4 < 2) {
         var4 = 2;
      } else if(var4 > 253) {
         var4 = 253;
      }

      return var2 << 16 | var3 << 8 | var4;
   }

   Class400_Sub1(Class545_Sub3 var1, int var2, int var3, int var4, int var5, int[][] var6, int[][] var7, int var8) {
      super(var4, var5, var8, var6);
      this.aClass545_Sub3_9416 = var1;
      this.anInt9394 = var3;
      this.aByteArrayArray9400 = new byte[var4 + 1][var5 + 1];
      int var9 = this.aClass545_Sub3_9416.anInt9801 * 39418165 >> 9;

      for(int var10 = 1; var10 < var5; ++var10) {
         for(int var11 = 1; var11 < var4; ++var11) {
            int var13 = var7[var11 + 1][var10] - var7[var11 - 1][var10];
            int var14 = var7[var11][var10 + 1] - var7[var11][var10 - 1];
            int var15 = (int)Math.sqrt((double)(var13 * var13 + 512 * var8 + var14 * var14));
            int var16 = (var13 << 8) / var15;
            int var17 = -512 * var8 / var15;
            int var18 = (var14 << 8) / var15;
            int var12 = var9 + (this.aClass545_Sub3_9416.anInt9796 * -326293289 * var16 + this.aClass545_Sub3_9416.anInt9821 * -830589473 * var17 + this.aClass545_Sub3_9416.anInt9798 * 1044205117 * var18 >> 17);
            var12 >>= 1;
            if(var12 < 2) {
               var12 = 2;
            } else if(var12 > 126) {
               var12 = 126;
            }

            this.aByteArrayArray9400[var11][var10] = (byte)var12;
         }
      }

      this.aByteArrayArray9417 = new byte[var4 + 1][var5 + 1];
   }

   public void q() {
      this.aByteArrayArray9400 = (byte[][])null;
      this.aByteArrayArray9417 = (byte[][])null;
   }

   void method14848(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class128 var12 = this.aClass128ArrayArray9399[var1][var2];
      if(var11 == 0 || (var11 & 2) == 0) {
         if(var12 != null) {
            int var20;
            for(int var13 = 0; var13 < var12.aShort1544; ++var13) {
               int var14 = var12.aShortArray1545[var13] + (var1 << this.anInt4909 * -1451148795);
               int var15 = var12.aShortArray1546[var13];
               int var16 = var12.aShortArray1549[var13] + (var2 << this.anInt4909 * -1451148795);
               float var17 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               float var18 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var17 < -var18) {
                  return;
               }

               var10[var13] = 0.0F;
               float var19;
               if(var3) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var19 /= var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }

                     var10[var13] = var19;
                     var20 = (int)((float)var12.aShortArray1551[var13] * var19);
                     if(var20 > 0) {
                        var15 -= var20;
                     }
                  }
               } else if(var4.aBool2108) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var10[var13] = var19 / var4.aFloat2091;
                     if(var10[var13] > 1.0F) {
                        var10[var13] = 1.0F;
                     }
                  }
               }

               float var21 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               float var22 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var13] = var5.aFloat1646 + var5.aFloat1641 * var21 / var18;
               var7[var13] = var5.aFloat1660 + var5.aFloat1663 * var22 / var18;
               var8[var13] = var5.aFloat1644 + var5.aFloat1645 * var17 / var18;
               var9[var13] = var18;
            }

            float var33 = (float)(this.anInt4910 * 2111724147);

            for(int var34 = 0; var34 < var12.aShort1548; ++var34) {
               var20 = var34 * 3;
               int var23 = var20 + 1;
               int var24 = var23 + 1;
               float var25 = var6[var20];
               float var26 = var6[var23];
               float var27 = var6[var24];
               float var28 = var7[var20];
               float var29 = var7[var23];
               float var30 = var7[var24];
               if((var25 - var26) * (var30 - var29) - (var28 - var29) * (var27 - var26) > 0.0F) {
                  var5.aBool1650 = var25 < 0.0F || var26 < 0.0F || var27 < 0.0F || var25 > (float)var5.anInt1640 || var26 > (float)var5.anInt1640 || var27 > (float)var5.anInt1640;
                  if(var10[var20] + var10[var23] + var10[var24] < 3.0F) {
                     int var31 = var1 << this.anInt4909 * -1451148795;
                     int var32 = var2 << this.anInt4909 * -1451148795;
                     if((var12.anIntArray1543[var20] & 16777215) != 0) {
                        if(var12.aShortArray1550[var20] == var12.aShortArray1550[var23] && var12.aShortArray1550[var20] == var12.aShortArray1550[var24] && var12.aShortArray1547[var20] == var12.aShortArray1547[var23] && var12.aShortArray1547[var20] == var12.aShortArray1547[var24]) {
                           var5.method2650(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / (float)var12.aShortArray1547[var20], (float)(var31 + var12.aShortArray1545[var23]) / (float)var12.aShortArray1547[var23], (float)(var31 + var12.aShortArray1545[var24]) / (float)var12.aShortArray1547[var24], (float)(var32 + var12.aShortArray1549[var20]) / (float)var12.aShortArray1547[var20], (float)(var32 + var12.aShortArray1549[var23]) / (float)var12.aShortArray1547[var23], (float)(var32 + var12.aShortArray1549[var24]) / (float)var12.aShortArray1547[var24], var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20]);
                        } else {
                           var5.method2669(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / var33, (float)(var31 + var12.aShortArray1545[var23]) / var33, (float)(var31 + var12.aShortArray1545[var24]) / var33, (float)(var32 + var12.aShortArray1549[var20]) / var33, (float)(var32 + var12.aShortArray1549[var23]) / var33, (float)(var32 + var12.aShortArray1549[var24]) / var33, var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20], var33 / (float)var12.aShortArray1547[var20], var12.aShortArray1550[var23], var33 / (float)var12.aShortArray1547[var23], var12.aShortArray1550[var24], var33 / (float)var12.aShortArray1547[var24]);
                        }
                     }
                  } else {
                     var5.method2640(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var4.anInt2090 * 723388769);
                  }
               }
            }
         }

      }
   }

   public void method6798(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8) {
      Class174 var9 = this.aClass545_Sub3_9416.method15346(Thread.currentThread());
      Class143 var10 = var9.aClass143_2098;
      var10.anInt1636 = 0;
      var10.aBool1650 = true;
      this.aClass545_Sub3_9416.method15343();
      if(this.aClass138ArrayArray9397 == null && this.aClass128ArrayArray9399 == null) {
         if(this.aClass140ArrayArray9413 != null) {
            this.method14841(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var9.aFloatArray2113, var9.aFloatArray2125);
         }
      } else {
         this.method14842(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var9.aFloatArray2113, var9.aFloatArray2125);
      }

   }

   public void s(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   void method14849(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8, Class174 var9, Class143 var10, float[] var11, float[] var12) {
      int var13 = (var7 - var5) * var3 / 256;
      int var14 = var3 >> 8;
      boolean var15 = var9.aBool2126;
      this.aClass545_Sub3_9416.RA(false);
      var10.aBool1634 = false;
      var10.aBool1635 = false;
      int var16 = var1;
      int var17 = var2 + var13;

      for(int var18 = var4; var18 < var6; ++var18) {
         for(int var19 = var5; var19 < var7; ++var19) {
            if(var8[var18 - var4][var19 - var5]) {
               int var21;
               int var23;
               int var22;
               float var25;
               int var24;
               float var27;
               float var26;
               float var29;
               float var28;
               int var31;
               float var30;
               if(this.aClass138ArrayArray9397 != null) {
                  if(this.aClass138ArrayArray9397[var18][var19] == null) {
                     if(this.aClass144ArrayArray9398[var18][var19] != null) {
                        Class144 var32 = this.aClass144ArrayArray9398[var18][var19];

                        for(var21 = 0; var21 < var32.aShort1672; ++var21) {
                           var11[var21] = (float)(var16 + var32.aShortArray1674[var21] * var14 / (this.anInt4910 * 2111724147));
                           var12[var21] = (float)(var17 - var32.aShortArray1676[var21] * var14 / (this.anInt4910 * 2111724147));
                        }

                        for(var21 = 0; var21 < var32.aShort1680; ++var21) {
                           var22 = var21 * 3;
                           var23 = var22 + 1;
                           var24 = var23 + 1;
                           var25 = var11[var22];
                           var26 = var11[var23];
                           var27 = var11[var24];
                           var28 = var12[var22];
                           var29 = var12[var23];
                           var30 = var12[var24];
                           if(var32.anIntArray1681 != null && var32.anIntArray1681[var21] != 0 && (var32.aShortArray1678 == null || var32.aShortArray1678 != null && var32.aShortArray1678[var21] == -1)) {
                              var31 = var32.anIntArray1681[var21];
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var22] & -16777216), 531916618), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var23] & -16777216), 600509211), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var24] & -16777216), 1282852765));
                           } else if(var32.aShortArray1678 != null && var32.aShortArray1678[var21] != -1) {
                              var31 = this.aClass545_Sub3_9416.method15340(var32.aShortArray1678[var21]);
                              var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)var31, (float)var31, (float)var31);
                           } else {
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var32.anIntArray1677[var22], var32.anIntArray1677[var23], var32.anIntArray1677[var24]);
                           }
                        }
                     }
                  } else {
                     Class138 var33 = this.aClass138ArrayArray9397[var18][var19];
                     if(var33.aShort1617 != -1 && (var33.aByte1616 & 2) == 0 && var33.anInt1613 == 0) {
                        var21 = this.aClass545_Sub3_9416.method15340(var33.aShort1617);
                        var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1610, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138));
                        var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1608, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138));
                     } else if(var33.anInt1613 == 0) {
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, var33.anInt1610, var33.anInt1607, var33.anInt1609);
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, var33.anInt1608, var33.anInt1609, var33.anInt1607);
                     } else {
                        var21 = var33.anInt1613;
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1610 & -16777216, 806688485), Class363.method6466(var21, var33.anInt1607 & -16777216, 897914378), Class363.method6466(var21, var33.anInt1609 & -16777216, 1468454805));
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1608 & -16777216, 1332604195), Class363.method6466(var21, var33.anInt1609 & -16777216, 656898238), Class363.method6466(var21, var33.anInt1607 & -16777216, 1041370931));
                     }
                  }
               } else if(this.aClass128ArrayArray9399[var18][var19] != null) {
                  Class128 var20 = this.aClass128ArrayArray9399[var18][var19];

                  for(var21 = 0; var21 < var20.aShort1544; ++var21) {
                     var11[var21] = (float)(var16 + var20.aShortArray1545[var21] * var14 / (this.anInt4910 * 2111724147));
                     var12[var21] = (float)(var17 - var20.aShortArray1549[var21] * var14 / (this.anInt4910 * 2111724147));
                  }

                  for(var21 = 0; var21 < var20.aShort1548; ++var21) {
                     var22 = var21 * 3;
                     var23 = var22 + 1;
                     var24 = var23 + 1;
                     var25 = var11[var22];
                     var26 = var11[var23];
                     var27 = var11[var24];
                     var28 = var12[var22];
                     var29 = var12[var23];
                     var30 = var12[var24];
                     if(var20.anIntArray1553 != null && var20.anIntArray1553[var21] != 0) {
                        var31 = var20.anIntArray1553[var21];
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var31, var31, var31);
                     } else {
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var20.anIntArray1543[var22], var20.anIntArray1543[var23], var20.anIntArray1543[var24]);
                     }
                  }
               }
            }

            var17 -= var14;
         }

         var17 = var2 + var13;
         var16 += var14;
      }

      var10.aBool1634 = true;
      this.aClass545_Sub3_9416.RA(var15);
   }

   public Class225_Sub14_Sub16 k(int var1, int var2, Class225_Sub14_Sub16 var3) {
      return null;
   }

   public Class225_Sub14_Sub16 j(int var1, int var2, Class225_Sub14_Sub16 var3) {
      return null;
   }

   void method14850(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8, Class174 var9, Class143 var10, float[] var11, float[] var12) {
      int var13 = (var7 - var5) * var3 / 256;
      int var14 = var3 >> 8;
      boolean var15 = var9.aBool2126;
      this.aClass545_Sub3_9416.RA(false);
      var10.aBool1634 = false;
      var10.aBool1635 = false;
      int var16 = var1;
      int var17 = var2 + var13;

      for(int var18 = var4; var18 < var6; ++var18) {
         for(int var19 = var5; var19 < var7; ++var19) {
            if(var8[var18 - var4][var19 - var5]) {
               int var21;
               int var23;
               int var22;
               float var25;
               int var24;
               float var27;
               float var26;
               float var29;
               float var28;
               int var31;
               float var30;
               if(this.aClass138ArrayArray9397 != null) {
                  if(this.aClass138ArrayArray9397[var18][var19] == null) {
                     if(this.aClass144ArrayArray9398[var18][var19] != null) {
                        Class144 var32 = this.aClass144ArrayArray9398[var18][var19];

                        for(var21 = 0; var21 < var32.aShort1672; ++var21) {
                           var11[var21] = (float)(var16 + var32.aShortArray1674[var21] * var14 / (this.anInt4910 * 2111724147));
                           var12[var21] = (float)(var17 - var32.aShortArray1676[var21] * var14 / (this.anInt4910 * 2111724147));
                        }

                        for(var21 = 0; var21 < var32.aShort1680; ++var21) {
                           var22 = var21 * 3;
                           var23 = var22 + 1;
                           var24 = var23 + 1;
                           var25 = var11[var22];
                           var26 = var11[var23];
                           var27 = var11[var24];
                           var28 = var12[var22];
                           var29 = var12[var23];
                           var30 = var12[var24];
                           if(var32.anIntArray1681 != null && var32.anIntArray1681[var21] != 0 && (var32.aShortArray1678 == null || var32.aShortArray1678 != null && var32.aShortArray1678[var21] == -1)) {
                              var31 = var32.anIntArray1681[var21];
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var22] & -16777216), 1376380720), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var23] & -16777216), 1148137790), Class363.method6466(var31, -16777216 - (var32.anIntArray1677[var24] & -16777216), 1291461986));
                           } else if(var32.aShortArray1678 != null && var32.aShortArray1678[var21] != -1) {
                              var31 = this.aClass545_Sub3_9416.method15340(var32.aShortArray1678[var21]);
                              var10.method2644(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, (float)var31, (float)var31, (float)var31);
                           } else {
                              var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var32.anIntArray1677[var22], var32.anIntArray1677[var23], var32.anIntArray1677[var24]);
                           }
                        }
                     }
                  } else {
                     Class138 var33 = this.aClass138ArrayArray9397[var18][var19];
                     if(var33.aShort1617 != -1 && (var33.aByte1616 & 2) == 0 && var33.anInt1613 == 0) {
                        var21 = this.aClass545_Sub3_9416.method15340(var33.aShort1617);
                        var10.method2644(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1610, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138));
                        var10.method2644(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, (float)Class576.method12223(var21, var33.anInt1608, 431922138), (float)Class576.method12223(var21, var33.anInt1609, 431922138), (float)Class576.method12223(var21, var33.anInt1607, 431922138));
                     } else if(var33.anInt1613 == 0) {
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, var33.anInt1610, var33.anInt1607, var33.anInt1609);
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, var33.anInt1608, var33.anInt1609, var33.anInt1607);
                     } else {
                        var21 = var33.anInt1613;
                        var10.method2646(true, true, false, (float)(var17 - var14), (float)(var17 - var14), (float)var17, (float)(var16 + var14), (float)var16, (float)(var16 + var14), 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1610 & -16777216, 862287767), Class363.method6466(var21, var33.anInt1607 & -16777216, 1071603384), Class363.method6466(var21, var33.anInt1609 & -16777216, 1329162115));
                        var10.method2646(true, true, false, (float)var17, (float)var17, (float)(var17 - var14), (float)var16, (float)(var16 + var14), (float)var16, 100.0F, 100.0F, 100.0F, Class363.method6466(var21, var33.anInt1608 & -16777216, 1097027773), Class363.method6466(var21, var33.anInt1609 & -16777216, 435030219), Class363.method6466(var21, var33.anInt1607 & -16777216, 507040706));
                     }
                  }
               } else if(this.aClass128ArrayArray9399[var18][var19] != null) {
                  Class128 var20 = this.aClass128ArrayArray9399[var18][var19];

                  for(var21 = 0; var21 < var20.aShort1544; ++var21) {
                     var11[var21] = (float)(var16 + var20.aShortArray1545[var21] * var14 / (this.anInt4910 * 2111724147));
                     var12[var21] = (float)(var17 - var20.aShortArray1549[var21] * var14 / (this.anInt4910 * 2111724147));
                  }

                  for(var21 = 0; var21 < var20.aShort1548; ++var21) {
                     var22 = var21 * 3;
                     var23 = var22 + 1;
                     var24 = var23 + 1;
                     var25 = var11[var22];
                     var26 = var11[var23];
                     var27 = var11[var24];
                     var28 = var12[var22];
                     var29 = var12[var23];
                     var30 = var12[var24];
                     if(var20.anIntArray1553 != null && var20.anIntArray1553[var21] != 0) {
                        var31 = var20.anIntArray1553[var21];
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var31, var31, var31);
                     } else {
                        var10.method2646(true, true, false, var28, var29, var30, var25, var26, var27, 100.0F, 100.0F, 100.0F, var20.anIntArray1543[var22], var20.anIntArray1543[var23], var20.anIntArray1543[var24]);
                     }
                  }
               }
            }

            var17 -= var14;
         }

         var17 = var2 + var13;
         var16 += var14;
      }

      var10.aBool1634 = true;
      this.aClass545_Sub3_9416.RA(var15);
   }

   public void i(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   public boolean method6802(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      return false;
   }

   public void e(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   public void ad(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}

   void method14851(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class138 var12 = this.aClass138ArrayArray9397[var1][var2];
      int var14;
      int var15;
      int var16;
      float var34;
      float var35;
      float var33;
      float var39;
      float var42;
      float var43;
      float var40;
      float var47;
      float var44;
      float var51;
      float var50;
      float var48;
      float var52;
      if(var12 != null) {
         if((var12.aByte1616 & 2) == 0) {
            if(var11 != 0) {
               if((var12.aByte1616 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var55 = var1 * this.anInt4910 * 2111724147;
            var14 = var55 + this.anInt4910 * 2111724147;
            var15 = var2 * this.anInt4910 * 2111724147;
            var16 = var15 + this.anInt4910 * 2111724147;
            float var17 = 0.0F;
            float var18 = 0.0F;
            float var19 = 0.0F;
            float var20 = 0.0F;
            int var21;
            int var23;
            float var25;
            float var24;
            float var27;
            float var26;
            float var29;
            float var28;
            float var31;
            float var30;
            float var36;
            float var49;
            float var53;
            float var59;
            float var57;
            float var63;
            float var62;
            float var65;
            float var66;
            if((var12.aByte1616 & 1) != 0 && !var3) {
               var21 = this.anIntArrayArray4912[var1][var2];
               var57 = this.aFloat9406 * (float)var21;
               float var58 = this.aFloat9407 * (float)var21;
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               float var61 = this.aFloat9404 * (float)var21;
               float var60 = this.aFloat9405 * (float)var21;
               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            } else {
               var21 = this.anIntArrayArray4912[var1][var2];
               int var22 = this.anIntArrayArray4912[var1 + 1][var2];
               var23 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var37 = this.anIntArrayArray4912[var1][var2 + 1];
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var21 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var21 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var22 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var22 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var23 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var23 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var37 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var37 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var3) {
                  var36 = var24 - var4.aFloat2088;
                  int var38;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var17 = var36;
                     var38 = (int)((float)var12.aShort1612 * var36);
                     if(var38 > 0) {
                        var21 -= var38;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var18 = var36;
                     var38 = (int)((float)var12.aShort1611 * var36);
                     if(var38 > 0) {
                        var22 -= var38;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var19 = var36;
                     var38 = (int)((float)var12.aShort1614 * var36);
                     if(var38 > 0) {
                        var23 -= var38;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var20 = var36;
                     var38 = (int)((float)var12.aShort1615 * var36);
                     if(var38 > 0) {
                        var37 -= var38;
                     }
                  }
               } else if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var21 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var21 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var22 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var22 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var23 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var23 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var37 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var37 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            }

            boolean var56 = var12.aShort1617 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var12.aShort1617, -1172036153).aByte1986);
            var57 = var18 + var19 + var20;
            if((var48 - var52) * (var65 - var66) - (var50 - var66) * (var44 - var52) > 0.0F) {
               var5.aBool1650 = var48 < 0.0F || var52 < 0.0F || var44 < 0.0F || var48 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, var4.anInt2090 * 723388769, var19 * 255.0F, var20 * 255.0F, var18 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, Class363.method6466(var12.anInt1610, (int)(var19 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1774567570), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 2071587294), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1644043250));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var12.anInt1610, var12.anInt1607, var12.anInt1609);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var4.anInt2090 * 723388769);
               }
            }

            var57 = var17 + var18 + var20;
            if((var40 - var44) * (var66 - var65) - (var42 - var65) * (var52 - var44) > 0.0F) {
               var5.aBool1650 = var40 < 0.0F || var44 < 0.0F || var52 < 0.0F || var40 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var56) {
                     var5.anInt1636 = -1694498816;
                  }

                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, var4.anInt2090 * 723388769, var17 * 255.0F, var18 * 255.0F, var20 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, Class363.method6466(var12.anInt1608, (int)(var17 * 255.0F) << 24 | var4.anInt2090 * 723388769, 820753783), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1116408508), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1134749621));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var12.anInt1608, var12.anInt1609, var12.anInt1607);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var4.anInt2090 * 723388769);
               }
            }

         }
      } else {
         Class144 var13 = this.aClass144ArrayArray9398[var1][var2];
         if(var13 != null) {
            if(var11 != 0) {
               if((var13.aByte1679 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var46;
            int var54;
            for(var46 = 0; var46 < var13.aShort1672; ++var46) {
               var14 = var13.aShortArray1674[var46] + (var1 << this.anInt4909 * -1451148795);
               var15 = var13.aShortArray1675[var46];
               var16 = var13.aShortArray1676[var46] + (var2 << this.anInt4909 * -1451148795);
               var48 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               var52 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var48 < -var52) {
                  return;
               }

               var42 = var5.aFloat1644 + var5.aFloat1645 * var48 / var52;
               var10[var46] = 0.0F;
               if(var3) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var50 /= var4.aFloat2091;
                     if(var50 > 1.0F) {
                        var50 = 1.0F;
                     }

                     var10[var46] = var50;
                     var54 = (int)((float)var13.aShortArray1671[var46] * var50);
                     if(var54 > 0) {
                        var15 -= var54;
                     }
                  }
               } else if(var4.aBool2108) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var10[var46] = var50 / var4.aFloat2091;
                     if(var10[var46] > 1.0F) {
                        var10[var46] = 1.0F;
                     }
                  }
               }

               var40 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               var44 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var46] = var5.aFloat1646 + var5.aFloat1641 * var40 / var52;
               var7[var46] = var5.aFloat1660 + var5.aFloat1663 * var44 / var52;
               var8[var46] = var42;
               var9[var46] = var52;
            }

            int var32;
            int var64;
            if(var13.aShortArray1678 != null) {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     short var41 = var13.aShortArray1678[var46];
                     if(var51 < 3.0F) {
                        int var45;
                        if(var51 > 0.0F) {
                           if(var41 != -1) {
                              var45 = -16777216;
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 474157150).aByte1986)) {
                                 var45 = -1694498816;
                              }

                              var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, var4.anInt2090 * 723388769, var10[var64] * 255.0F, var10[var54] * 255.0F, var10[var32] * 255.0F, var41);
                           } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 695195837).aByte1986)) {
                                 var5.anInt1636 = -1694498816;
                              }

                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class363.method6466(var13.anIntArray1677[var64], (int)(var10[var64] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1988586309), Class363.method6466(var13.anIntArray1677[var54], (int)(var10[var54] * 255.0F) << 24 | var4.anInt2090 * 723388769, 2108155144), Class363.method6466(var13.anIntArray1677[var32], (int)(var10[var32] * 255.0F) << 24 | var4.anInt2090 * 723388769, 442855178));
                              var5.anInt1636 = 0;
                           }
                        } else if(var41 != -1) {
                           var45 = -16777216;
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1554173188).aByte1986)) {
                              var45 = -1694498816;
                           }

                           var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, 0, 0.0F, 0.0F, 0.0F, var41);
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 1279953546).aByte1986)) {
                              var5.anInt1636 = -1694498816;
                           }

                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                           var5.anInt1636 = 0;
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            } else {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     if(var51 < 3.0F) {
                        if(var51 > 0.0F) {
                           if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class169.method2899(var13.anIntArray1677[var64], var4.anInt2090 * 723388769, var10[var64] * 255.0F, 1040957407), Class169.method2899(var13.anIntArray1677[var54], var4.anInt2090 * 723388769, var10[var54] * 255.0F, 653458630), Class169.method2899(var13.anIntArray1677[var32], var4.anInt2090 * 723388769, var10[var32] * 255.0F, 1826653472));
                           }
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            }
         }

      }
   }

   public boolean method6799(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      return false;
   }

   public boolean method6801(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      return false;
   }

   void method14852(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class138 var12 = this.aClass138ArrayArray9397[var1][var2];
      int var14;
      int var15;
      int var16;
      float var34;
      float var35;
      float var33;
      float var39;
      float var42;
      float var43;
      float var40;
      float var47;
      float var44;
      float var51;
      float var50;
      float var48;
      float var52;
      if(var12 != null) {
         if((var12.aByte1616 & 2) == 0) {
            if(var11 != 0) {
               if((var12.aByte1616 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var55 = var1 * this.anInt4910 * 2111724147;
            var14 = var55 + this.anInt4910 * 2111724147;
            var15 = var2 * this.anInt4910 * 2111724147;
            var16 = var15 + this.anInt4910 * 2111724147;
            float var17 = 0.0F;
            float var18 = 0.0F;
            float var19 = 0.0F;
            float var20 = 0.0F;
            int var21;
            int var23;
            float var25;
            float var24;
            float var27;
            float var26;
            float var29;
            float var28;
            float var31;
            float var30;
            float var36;
            float var49;
            float var53;
            float var59;
            float var57;
            float var63;
            float var62;
            float var65;
            float var66;
            if((var12.aByte1616 & 1) != 0 && !var3) {
               var21 = this.anIntArrayArray4912[var1][var2];
               var57 = this.aFloat9406 * (float)var21;
               float var58 = this.aFloat9407 * (float)var21;
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               float var61 = this.aFloat9404 * (float)var21;
               float var60 = this.aFloat9405 * (float)var21;
               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            } else {
               var21 = this.anIntArrayArray4912[var1][var2];
               int var22 = this.anIntArrayArray4912[var1 + 1][var2];
               var23 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var37 = this.anIntArrayArray4912[var1][var2 + 1];
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var21 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var21 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var22 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var22 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var23 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var23 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var37 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var37 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var3) {
                  var36 = var24 - var4.aFloat2088;
                  int var38;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var17 = var36;
                     var38 = (int)((float)var12.aShort1612 * var36);
                     if(var38 > 0) {
                        var21 -= var38;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var18 = var36;
                     var38 = (int)((float)var12.aShort1611 * var36);
                     if(var38 > 0) {
                        var22 -= var38;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var19 = var36;
                     var38 = (int)((float)var12.aShort1614 * var36);
                     if(var38 > 0) {
                        var23 -= var38;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var20 = var36;
                     var38 = (int)((float)var12.aShort1615 * var36);
                     if(var38 > 0) {
                        var37 -= var38;
                     }
                  }
               } else if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var21 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var21 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var22 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var22 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var23 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var23 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var37 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var37 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            }

            boolean var56 = var12.aShort1617 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var12.aShort1617, 1944366065).aByte1986);
            var57 = var18 + var19 + var20;
            if((var48 - var52) * (var65 - var66) - (var50 - var66) * (var44 - var52) > 0.0F) {
               var5.aBool1650 = var48 < 0.0F || var52 < 0.0F || var44 < 0.0F || var48 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, var4.anInt2090 * 723388769, var19 * 255.0F, var20 * 255.0F, var18 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, Class363.method6466(var12.anInt1610, (int)(var19 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1101543997), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1286017417), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 1133765743));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var12.anInt1610, var12.anInt1607, var12.anInt1609);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var4.anInt2090 * 723388769);
               }
            }

            var57 = var17 + var18 + var20;
            if((var40 - var44) * (var66 - var65) - (var42 - var65) * (var52 - var44) > 0.0F) {
               var5.aBool1650 = var40 < 0.0F || var44 < 0.0F || var52 < 0.0F || var40 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var56) {
                     var5.anInt1636 = -1694498816;
                  }

                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, var4.anInt2090 * 723388769, var17 * 255.0F, var18 * 255.0F, var20 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, Class363.method6466(var12.anInt1608, (int)(var17 * 255.0F) << 24 | var4.anInt2090 * 723388769, 896419928), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 918709465), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 733518621));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var12.anInt1608, var12.anInt1609, var12.anInt1607);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var4.anInt2090 * 723388769);
               }
            }

         }
      } else {
         Class144 var13 = this.aClass144ArrayArray9398[var1][var2];
         if(var13 != null) {
            if(var11 != 0) {
               if((var13.aByte1679 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var46;
            int var54;
            for(var46 = 0; var46 < var13.aShort1672; ++var46) {
               var14 = var13.aShortArray1674[var46] + (var1 << this.anInt4909 * -1451148795);
               var15 = var13.aShortArray1675[var46];
               var16 = var13.aShortArray1676[var46] + (var2 << this.anInt4909 * -1451148795);
               var48 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               var52 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var48 < -var52) {
                  return;
               }

               var42 = var5.aFloat1644 + var5.aFloat1645 * var48 / var52;
               var10[var46] = 0.0F;
               if(var3) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var50 /= var4.aFloat2091;
                     if(var50 > 1.0F) {
                        var50 = 1.0F;
                     }

                     var10[var46] = var50;
                     var54 = (int)((float)var13.aShortArray1671[var46] * var50);
                     if(var54 > 0) {
                        var15 -= var54;
                     }
                  }
               } else if(var4.aBool2108) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var10[var46] = var50 / var4.aFloat2091;
                     if(var10[var46] > 1.0F) {
                        var10[var46] = 1.0F;
                     }
                  }
               }

               var40 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               var44 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var46] = var5.aFloat1646 + var5.aFloat1641 * var40 / var52;
               var7[var46] = var5.aFloat1660 + var5.aFloat1663 * var44 / var52;
               var8[var46] = var42;
               var9[var46] = var52;
            }

            int var32;
            int var64;
            if(var13.aShortArray1678 != null) {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     short var41 = var13.aShortArray1678[var46];
                     if(var51 < 3.0F) {
                        int var45;
                        if(var51 > 0.0F) {
                           if(var41 != -1) {
                              var45 = -16777216;
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -747536963).aByte1986)) {
                                 var45 = -1694498816;
                              }

                              var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, var4.anInt2090 * 723388769, var10[var64] * 255.0F, var10[var54] * 255.0F, var10[var32] * 255.0F, var41);
                           } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -858821346).aByte1986)) {
                                 var5.anInt1636 = -1694498816;
                              }

                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class363.method6466(var13.anIntArray1677[var64], (int)(var10[var64] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1525804890), Class363.method6466(var13.anIntArray1677[var54], (int)(var10[var54] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1538342332), Class363.method6466(var13.anIntArray1677[var32], (int)(var10[var32] * 255.0F) << 24 | var4.anInt2090 * 723388769, 628090003));
                              var5.anInt1636 = 0;
                           }
                        } else if(var41 != -1) {
                           var45 = -16777216;
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1236285604).aByte1986)) {
                              var45 = -1694498816;
                           }

                           var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, 0, 0.0F, 0.0F, 0.0F, var41);
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 12111635).aByte1986)) {
                              var5.anInt1636 = -1694498816;
                           }

                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                           var5.anInt1636 = 0;
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            } else {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     if(var51 < 3.0F) {
                        if(var51 > 0.0F) {
                           if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class169.method2899(var13.anIntArray1677[var64], var4.anInt2090 * 723388769, var10[var64] * 255.0F, 743729145), Class169.method2899(var13.anIntArray1677[var54], var4.anInt2090 * 723388769, var10[var54] * 255.0F, 944638910), Class169.method2899(var13.anIntArray1677[var32], var4.anInt2090 * 723388769, var10[var32] * 255.0F, 1981812835));
                           }
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            }
         }

      }
   }

   void method14853(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class128 var12 = this.aClass128ArrayArray9399[var1][var2];
      if(var11 == 0 || (var11 & 2) == 0) {
         if(var12 != null) {
            int var20;
            for(int var13 = 0; var13 < var12.aShort1544; ++var13) {
               int var14 = var12.aShortArray1545[var13] + (var1 << this.anInt4909 * -1451148795);
               int var15 = var12.aShortArray1546[var13];
               int var16 = var12.aShortArray1549[var13] + (var2 << this.anInt4909 * -1451148795);
               float var17 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               float var18 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var17 < -var18) {
                  return;
               }

               var10[var13] = 0.0F;
               float var19;
               if(var3) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var19 /= var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }

                     var10[var13] = var19;
                     var20 = (int)((float)var12.aShortArray1551[var13] * var19);
                     if(var20 > 0) {
                        var15 -= var20;
                     }
                  }
               } else if(var4.aBool2108) {
                  var19 = var17 - var4.aFloat2088;
                  if(var19 > 0.0F) {
                     var10[var13] = var19 / var4.aFloat2091;
                     if(var10[var13] > 1.0F) {
                        var10[var13] = 1.0F;
                     }
                  }
               }

               float var21 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               float var22 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var13] = var5.aFloat1646 + var5.aFloat1641 * var21 / var18;
               var7[var13] = var5.aFloat1660 + var5.aFloat1663 * var22 / var18;
               var8[var13] = var5.aFloat1644 + var5.aFloat1645 * var17 / var18;
               var9[var13] = var18;
            }

            float var33 = (float)(this.anInt4910 * 2111724147);

            for(int var34 = 0; var34 < var12.aShort1548; ++var34) {
               var20 = var34 * 3;
               int var23 = var20 + 1;
               int var24 = var23 + 1;
               float var25 = var6[var20];
               float var26 = var6[var23];
               float var27 = var6[var24];
               float var28 = var7[var20];
               float var29 = var7[var23];
               float var30 = var7[var24];
               if((var25 - var26) * (var30 - var29) - (var28 - var29) * (var27 - var26) > 0.0F) {
                  var5.aBool1650 = var25 < 0.0F || var26 < 0.0F || var27 < 0.0F || var25 > (float)var5.anInt1640 || var26 > (float)var5.anInt1640 || var27 > (float)var5.anInt1640;
                  if(var10[var20] + var10[var23] + var10[var24] < 3.0F) {
                     int var31 = var1 << this.anInt4909 * -1451148795;
                     int var32 = var2 << this.anInt4909 * -1451148795;
                     if((var12.anIntArray1543[var20] & 16777215) != 0) {
                        if(var12.aShortArray1550[var20] == var12.aShortArray1550[var23] && var12.aShortArray1550[var20] == var12.aShortArray1550[var24] && var12.aShortArray1547[var20] == var12.aShortArray1547[var23] && var12.aShortArray1547[var20] == var12.aShortArray1547[var24]) {
                           var5.method2650(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / (float)var12.aShortArray1547[var20], (float)(var31 + var12.aShortArray1545[var23]) / (float)var12.aShortArray1547[var23], (float)(var31 + var12.aShortArray1545[var24]) / (float)var12.aShortArray1547[var24], (float)(var32 + var12.aShortArray1549[var20]) / (float)var12.aShortArray1547[var20], (float)(var32 + var12.aShortArray1549[var23]) / (float)var12.aShortArray1547[var23], (float)(var32 + var12.aShortArray1549[var24]) / (float)var12.aShortArray1547[var24], var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20]);
                        } else {
                           var5.method2669(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var9[var20], var9[var23], var9[var24], (float)(var31 + var12.aShortArray1545[var20]) / var33, (float)(var31 + var12.aShortArray1545[var23]) / var33, (float)(var31 + var12.aShortArray1545[var24]) / var33, (float)(var32 + var12.aShortArray1549[var20]) / var33, (float)(var32 + var12.aShortArray1549[var23]) / var33, (float)(var32 + var12.aShortArray1549[var24]) / var33, var12.anIntArray1543[var20], var12.anIntArray1543[var23], var12.anIntArray1543[var24], var4.anInt2090 * 723388769, var10[var20] * 255.0F, var10[var23] * 255.0F, var10[var24] * 255.0F, var12.aShortArray1550[var20], var33 / (float)var12.aShortArray1547[var20], var12.aShortArray1550[var23], var33 / (float)var12.aShortArray1547[var23], var12.aShortArray1550[var24], var33 / (float)var12.aShortArray1547[var24]);
                        }
                     }
                  } else {
                     var5.method2640(true, true, false, var28, var29, var30, var25, var26, var27, var8[var20], var8[var23], var8[var24], var4.anInt2090 * 723388769);
                  }
               }
            }
         }

      }
   }

   void method14854(int var1, int var2, boolean var3, Class174 var4, Class143 var5, float[] var6, float[] var7, float[] var8, float[] var9, float[] var10, int var11) {
      Class138 var12 = this.aClass138ArrayArray9397[var1][var2];
      int var14;
      int var15;
      int var16;
      float var34;
      float var35;
      float var33;
      float var39;
      float var42;
      float var43;
      float var40;
      float var47;
      float var44;
      float var51;
      float var50;
      float var48;
      float var52;
      if(var12 != null) {
         if((var12.aByte1616 & 2) == 0) {
            if(var11 != 0) {
               if((var12.aByte1616 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var55 = var1 * this.anInt4910 * 2111724147;
            var14 = var55 + this.anInt4910 * 2111724147;
            var15 = var2 * this.anInt4910 * 2111724147;
            var16 = var15 + this.anInt4910 * 2111724147;
            float var17 = 0.0F;
            float var18 = 0.0F;
            float var19 = 0.0F;
            float var20 = 0.0F;
            int var21;
            int var23;
            float var25;
            float var24;
            float var27;
            float var26;
            float var29;
            float var28;
            float var31;
            float var30;
            float var36;
            float var49;
            float var53;
            float var59;
            float var57;
            float var63;
            float var62;
            float var65;
            float var66;
            if((var12.aByte1616 & 1) != 0 && !var3) {
               var21 = this.anIntArrayArray4912[var1][var2];
               var57 = this.aFloat9406 * (float)var21;
               float var58 = this.aFloat9407 * (float)var21;
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + var57 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + var58 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + var57 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + var58 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               float var61 = this.aFloat9404 * (float)var21;
               float var60 = this.aFloat9405 * (float)var21;
               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + var61 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + var60 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + var61 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + var60 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            } else {
               var21 = this.anIntArrayArray4912[var1][var2];
               int var22 = this.anIntArrayArray4912[var1 + 1][var2];
               var23 = this.anIntArrayArray4912[var1 + 1][var2 + 1];
               int var37 = this.anIntArrayArray4912[var1][var2 + 1];
               var24 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var21 + this.aFloat9408 * (float)var15;
               var25 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var21 + this.aFloat9411 * (float)var15;
               if(var24 < -var25) {
                  return;
               }

               var26 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var22 + this.aFloat9408 * (float)var15;
               var27 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var22 + this.aFloat9411 * (float)var15;
               if(var26 < -var27) {
                  return;
               }

               var28 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var23 + this.aFloat9408 * (float)var16;
               var29 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var23 + this.aFloat9411 * (float)var16;
               if(var28 < -var29) {
                  return;
               }

               var30 = this.aFloat9414 + this.aFloat9402 * (float)var55 + this.aFloat9406 * (float)var37 + this.aFloat9408 * (float)var16;
               var31 = this.aFloat9415 + this.aFloat9403 * (float)var55 + this.aFloat9407 * (float)var37 + this.aFloat9411 * (float)var16;
               if(var30 < -var31) {
                  return;
               }

               var59 = var5.aFloat1644 + var5.aFloat1645 * var24 / var25;
               var33 = var5.aFloat1644 + var5.aFloat1645 * var26 / var27;
               var34 = var5.aFloat1644 + var5.aFloat1645 * var28 / var29;
               var35 = var5.aFloat1644 + var5.aFloat1645 * var30 / var31;
               if(var3) {
                  var36 = var24 - var4.aFloat2088;
                  int var38;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var17 = var36;
                     var38 = (int)((float)var12.aShort1612 * var36);
                     if(var38 > 0) {
                        var21 -= var38;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var18 = var36;
                     var38 = (int)((float)var12.aShort1611 * var36);
                     if(var38 > 0) {
                        var22 -= var38;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var19 = var36;
                     var38 = (int)((float)var12.aShort1614 * var36);
                     if(var38 > 0) {
                        var23 -= var38;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var36 /= var4.aFloat2091;
                     if(var36 > 1.0F) {
                        var36 = 1.0F;
                     }

                     var20 = var36;
                     var38 = (int)((float)var12.aShort1615 * var36);
                     if(var38 > 0) {
                        var37 -= var38;
                     }
                  }
               } else if(var4.aBool2108) {
                  var36 = var24 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var17 = var36 / var4.aFloat2091;
                     if(var17 > 1.0F) {
                        var17 = 1.0F;
                     }
                  }

                  var36 = var26 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var18 = var36 / var4.aFloat2091;
                     if(var18 > 1.0F) {
                        var18 = 1.0F;
                     }
                  }

                  var36 = var28 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var19 = var36 / var4.aFloat2091;
                     if(var19 > 1.0F) {
                        var19 = 1.0F;
                     }
                  }

                  var36 = var30 - var4.aFloat2088;
                  if(var36 > 0.0F) {
                     var20 = var36 / var4.aFloat2091;
                     if(var20 > 1.0F) {
                        var20 = 1.0F;
                     }
                  }
               }

               var39 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var21 + this.aFloat9389 * (float)var15;
               var40 = var5.aFloat1646 + var5.aFloat1641 * var39 / var25;
               var62 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var21 + this.aFloat9401 * (float)var15;
               var42 = var5.aFloat1660 + var5.aFloat1663 * var62 / var25;
               var43 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var22 + this.aFloat9389 * (float)var15;
               var44 = var5.aFloat1646 + var5.aFloat1641 * var43 / var27;
               var63 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var22 + this.aFloat9401 * (float)var15;
               var65 = var5.aFloat1660 + var5.aFloat1663 * var63 / var27;
               var47 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var23 + this.aFloat9389 * (float)var16;
               var48 = var5.aFloat1646 + var5.aFloat1641 * var47 / var29;
               var49 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var23 + this.aFloat9401 * (float)var16;
               var50 = var5.aFloat1660 + var5.aFloat1663 * var49 / var29;
               var51 = this.aFloat9412 + this.aFloat9393 * (float)var55 + this.aFloat9404 * (float)var37 + this.aFloat9389 * (float)var16;
               var52 = var5.aFloat1646 + var5.aFloat1641 * var51 / var31;
               var53 = this.aFloat9409 + this.aFloat9390 * (float)var55 + this.aFloat9405 * (float)var37 + this.aFloat9401 * (float)var16;
               var66 = var5.aFloat1660 + var5.aFloat1663 * var53 / var31;
            }

            boolean var56 = var12.aShort1617 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var12.aShort1617, 210379646).aByte1986);
            var57 = var18 + var19 + var20;
            if((var48 - var52) * (var65 - var66) - (var50 - var66) * (var44 - var52) > 0.0F) {
               var5.aBool1650 = var48 < 0.0F || var52 < 0.0F || var44 < 0.0F || var48 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, var4.anInt2090 * 723388769, var19 * 255.0F, var20 * 255.0F, var18 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, Class363.method6466(var12.anInt1610, (int)(var19 * 255.0F) << 24 | var4.anInt2090 * 723388769, 2080445375), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 769255932), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 950114166));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var29, var31, var27, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 0.0F, var23 | var12.anInt1610 & 16777215, var23 | var12.anInt1607 & 16777215, var23 | var12.anInt1609 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var12.anInt1610, var12.anInt1607, var12.anInt1609);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var50, var66, var65, var48, var52, var44, var34, var35, var33, var4.anInt2090 * 723388769);
               }
            }

            var57 = var17 + var18 + var20;
            if((var40 - var44) * (var66 - var65) - (var42 - var65) * (var52 - var44) > 0.0F) {
               var5.aBool1650 = var40 < 0.0F || var44 < 0.0F || var52 < 0.0F || var40 > (float)var5.anInt1640 || var44 > (float)var5.anInt1640 || var52 > (float)var5.anInt1640;
               if(var57 < 3.0F) {
                  if(var56) {
                     var5.anInt1636 = -1694498816;
                  }

                  if(var57 > 0.0F) {
                     if(var12.aShort1617 >= 0) {
                        var23 = -16777216;
                        if(var56) {
                           var23 = -1694498816;
                        }

                        var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, var4.anInt2090 * 723388769, var17 * 255.0F, var18 * 255.0F, var20 * 255.0F, var12.aShort1617);
                     } else {
                        if(var56) {
                           var5.anInt1636 = 100;
                        }

                        var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, Class363.method6466(var12.anInt1608, (int)(var17 * 255.0F) << 24 | var4.anInt2090 * 723388769, 2050631429), Class363.method6466(var12.anInt1609, (int)(var18 * 255.0F) << 24 | var4.anInt2090 * 723388769, 973667863), Class363.method6466(var12.anInt1607, (int)(var20 * 255.0F) << 24 | var4.anInt2090 * 723388769, 603100178));
                        var5.anInt1636 = 0;
                     }
                  } else if(var12.aShort1617 >= 0) {
                     var23 = -16777216;
                     if(var56) {
                        var23 = -1694498816;
                     }

                     var5.method2650(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var25, var27, var31, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var23 | var12.anInt1608 & 16777215, var23 | var12.anInt1609 & 16777215, var23 | var12.anInt1607 & 16777215, 0, 0.0F, 0.0F, 0.0F, var12.aShort1617);
                  } else {
                     if(var56) {
                        var5.anInt1636 = 100;
                     }

                     var5.method2646(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var12.anInt1608, var12.anInt1609, var12.anInt1607);
                     var5.anInt1636 = 0;
                  }
               } else {
                  var5.method2640(true, true, false, var42, var65, var66, var40, var44, var52, var59, var33, var35, var4.anInt2090 * 723388769);
               }
            }

         }
      } else {
         Class144 var13 = this.aClass144ArrayArray9398[var1][var2];
         if(var13 != null) {
            if(var11 != 0) {
               if((var13.aByte1679 & 4) != 0) {
                  if((var11 & 1) != 0) {
                     return;
                  }
               } else if((var11 & 2) != 0) {
                  return;
               }
            }

            int var46;
            int var54;
            for(var46 = 0; var46 < var13.aShort1672; ++var46) {
               var14 = var13.aShortArray1674[var46] + (var1 << this.anInt4909 * -1451148795);
               var15 = var13.aShortArray1675[var46];
               var16 = var13.aShortArray1676[var46] + (var2 << this.anInt4909 * -1451148795);
               var48 = this.aFloat9414 + this.aFloat9402 * (float)var14 + this.aFloat9406 * (float)var15 + this.aFloat9408 * (float)var16;
               var52 = this.aFloat9415 + this.aFloat9403 * (float)var14 + this.aFloat9407 * (float)var15 + this.aFloat9411 * (float)var16;
               if(var48 < -var52) {
                  return;
               }

               var42 = var5.aFloat1644 + var5.aFloat1645 * var48 / var52;
               var10[var46] = 0.0F;
               if(var3) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var50 /= var4.aFloat2091;
                     if(var50 > 1.0F) {
                        var50 = 1.0F;
                     }

                     var10[var46] = var50;
                     var54 = (int)((float)var13.aShortArray1671[var46] * var50);
                     if(var54 > 0) {
                        var15 -= var54;
                     }
                  }
               } else if(var4.aBool2108) {
                  var50 = var48 - var4.aFloat2088;
                  if(var50 > 0.0F) {
                     var10[var46] = var50 / var4.aFloat2091;
                     if(var10[var46] > 1.0F) {
                        var10[var46] = 1.0F;
                     }
                  }
               }

               var40 = this.aFloat9412 + this.aFloat9393 * (float)var14 + this.aFloat9404 * (float)var15 + this.aFloat9389 * (float)var16;
               var44 = this.aFloat9409 + this.aFloat9390 * (float)var14 + this.aFloat9405 * (float)var15 + this.aFloat9401 * (float)var16;
               var6[var46] = var5.aFloat1646 + var5.aFloat1641 * var40 / var52;
               var7[var46] = var5.aFloat1660 + var5.aFloat1663 * var44 / var52;
               var8[var46] = var42;
               var9[var46] = var52;
            }

            int var32;
            int var64;
            if(var13.aShortArray1678 != null) {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     short var41 = var13.aShortArray1678[var46];
                     if(var51 < 3.0F) {
                        int var45;
                        if(var51 > 0.0F) {
                           if(var41 != -1) {
                              var45 = -16777216;
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 2052738373).aByte1986)) {
                                 var45 = -1694498816;
                              }

                              var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, var4.anInt2090 * 723388769, var10[var64] * 255.0F, var10[var54] * 255.0F, var10[var32] * 255.0F, var41);
                           } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, 775395167).aByte1986)) {
                                 var5.anInt1636 = -1694498816;
                              }

                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class363.method6466(var13.anIntArray1677[var64], (int)(var10[var64] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1793925913), Class363.method6466(var13.anIntArray1677[var54], (int)(var10[var54] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1994808667), Class363.method6466(var13.anIntArray1677[var32], (int)(var10[var32] * 255.0F) << 24 | var4.anInt2090 * 723388769, 1762135915));
                              var5.anInt1636 = 0;
                           }
                        } else if(var41 != -1) {
                           var45 = -16777216;
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -117618148).aByte1986)) {
                              var45 = -1694498816;
                           }

                           var5.method2650(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var9[var64], var9[var54], var9[var32], (float)var13.aShortArray1674[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1674[var32] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var64] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var54] / (float)(this.anInt4910 * 2111724147), (float)var13.aShortArray1676[var32] / (float)(this.anInt4910 * 2111724147), var45 | var13.anIntArray1677[var64] & 16777215, var45 | var13.anIntArray1677[var54] & 16777215, var45 | var13.anIntArray1677[var32] & 16777215, 0, 0.0F, 0.0F, 0.0F, var41);
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           if(var41 != -1 && this.method14840(this.aClass545_Sub3_9416.anInterface24_7370.method113(var41, -1907095114).aByte1986)) {
                              var5.anInt1636 = -1694498816;
                           }

                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                           var5.anInt1636 = 0;
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            } else {
               for(var46 = 0; var46 < var13.aShort1680; ++var46) {
                  var64 = var46 * 3;
                  var54 = var64 + 1;
                  var32 = var54 + 1;
                  var33 = var6[var64];
                  var34 = var6[var54];
                  var35 = var6[var32];
                  var39 = var7[var64];
                  var43 = var7[var54];
                  var47 = var7[var32];
                  var51 = var10[var64] + var10[var54] + var10[var32];
                  if((var33 - var34) * (var47 - var43) - (var39 - var43) * (var35 - var34) > 0.0F) {
                     var5.aBool1650 = var33 < 0.0F || var34 < 0.0F || var35 < 0.0F || var33 > (float)var5.anInt1640 || var34 > (float)var5.anInt1640 || var35 > (float)var5.anInt1640;
                     if(var51 < 3.0F) {
                        if(var51 > 0.0F) {
                           if((var13.anIntArray1677[var64] & 16777215) != 0) {
                              var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], Class169.method2899(var13.anIntArray1677[var64], var4.anInt2090 * 723388769, var10[var64] * 255.0F, 1696384784), Class169.method2899(var13.anIntArray1677[var54], var4.anInt2090 * 723388769, var10[var54] * 255.0F, 2036847107), Class169.method2899(var13.anIntArray1677[var32], var4.anInt2090 * 723388769, var10[var32] * 255.0F, 1273476010));
                           }
                        } else if((var13.anIntArray1677[var64] & 16777215) != 0) {
                           var5.method2646(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var13.anIntArray1677[var64], var13.anIntArray1677[var54], var13.anIntArray1677[var32]);
                        }
                     } else {
                        var5.method2640(true, true, false, var39, var43, var47, var33, var34, var35, var8[var64], var8[var54], var8[var32], var4.anInt2090 * 723388769);
                     }
                  }
               }
            }
         }

      }
   }

   public void method6804(Class225_Sub40 var1, int[] var2) {}

   public void method6803(Class225_Sub40 var1, int[] var2) {}

   public void al(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {}
}
