
public class Class198 {

   int anInt2354 = Class225_Sub20.method13646(24);
   int anInt2355 = Class225_Sub20.method13646(16);
   int anInt2356 = Class225_Sub20.method13646(24);
   int anInt2357 = Class225_Sub20.method13646(24) + 1;
   int anInt2358 = Class225_Sub20.method13646(6) + 1;
   int anInt2359 = Class225_Sub20.method13646(8);
   int[] anIntArray2360;


   void method3393(float[] var1, int var2, boolean var3) {
      int var4;
      for(var4 = 0; var4 < var2; ++var4) {
         var1[var4] = 0.0F;
      }

      if(!var3) {
         var4 = Class225_Sub20.aClass205Array8578[this.anInt2359].anInt2421;
         int var5 = this.anInt2356 - this.anInt2354;
         int var6 = var5 / this.anInt2357;
         int[] var7 = new int[var6];

         for(int var8 = 0; var8 < 8; ++var8) {
            int var9 = 0;

            while(var9 < var6) {
               int var10;
               int var11;
               if(var8 == 0) {
                  var10 = Class225_Sub20.aClass205Array8578[this.anInt2359].method3472();

                  for(var11 = var4 - 1; var11 >= 0; --var11) {
                     if(var9 + var11 < var6) {
                        var7[var9 + var11] = var10 % this.anInt2358;
                     }

                     var10 /= this.anInt2358;
                  }
               }

               for(var10 = 0; var10 < var4; ++var10) {
                  var11 = var7[var9];
                  int var12 = this.anIntArray2360[var11 * 8 + var8];
                  if(var12 >= 0) {
                     int var13 = this.anInt2354 + var9 * this.anInt2357;
                     Class205 var14 = Class225_Sub20.aClass205Array8578[var12];
                     int var15;
                     if(this.anInt2355 == 0) {
                        var15 = this.anInt2357 / var14.anInt2421;

                        for(int var19 = 0; var19 < var15; ++var19) {
                           float[] var20 = var14.method3470();

                           for(int var18 = 0; var18 < var14.anInt2421; ++var18) {
                              var1[var13 + var19 + var18 * var15] += var20[var18];
                           }
                        }
                     } else {
                        var15 = 0;

                        while(var15 < this.anInt2357) {
                           float[] var16 = var14.method3470();

                           for(int var17 = 0; var17 < var14.anInt2421; ++var17) {
                              var1[var13 + var15] += var16[var17];
                              ++var15;
                           }
                        }
                     }
                  }

                  ++var9;
                  if(var9 >= var6) {
                     break;
                  }
               }
            }
         }

      }
   }

   void method3394(float[] var1, int var2, boolean var3) {
      int var4;
      for(var4 = 0; var4 < var2; ++var4) {
         var1[var4] = 0.0F;
      }

      if(!var3) {
         var4 = Class225_Sub20.aClass205Array8578[this.anInt2359].anInt2421;
         int var5 = this.anInt2356 - this.anInt2354;
         int var6 = var5 / this.anInt2357;
         int[] var7 = new int[var6];

         for(int var8 = 0; var8 < 8; ++var8) {
            int var9 = 0;

            while(var9 < var6) {
               int var10;
               int var11;
               if(var8 == 0) {
                  var10 = Class225_Sub20.aClass205Array8578[this.anInt2359].method3472();

                  for(var11 = var4 - 1; var11 >= 0; --var11) {
                     if(var9 + var11 < var6) {
                        var7[var9 + var11] = var10 % this.anInt2358;
                     }

                     var10 /= this.anInt2358;
                  }
               }

               for(var10 = 0; var10 < var4; ++var10) {
                  var11 = var7[var9];
                  int var12 = this.anIntArray2360[var11 * 8 + var8];
                  if(var12 >= 0) {
                     int var13 = this.anInt2354 + var9 * this.anInt2357;
                     Class205 var14 = Class225_Sub20.aClass205Array8578[var12];
                     int var15;
                     if(this.anInt2355 == 0) {
                        var15 = this.anInt2357 / var14.anInt2421;

                        for(int var19 = 0; var19 < var15; ++var19) {
                           float[] var20 = var14.method3470();

                           for(int var18 = 0; var18 < var14.anInt2421; ++var18) {
                              var1[var13 + var19 + var18 * var15] += var20[var18];
                           }
                        }
                     } else {
                        var15 = 0;

                        while(var15 < this.anInt2357) {
                           float[] var16 = var14.method3470();

                           for(int var17 = 0; var17 < var14.anInt2421; ++var17) {
                              var1[var13 + var15] += var16[var17];
                              ++var15;
                           }
                        }
                     }
                  }

                  ++var9;
                  if(var9 >= var6) {
                     break;
                  }
               }
            }
         }

      }
   }

   Class198() {
      int[] var1 = new int[this.anInt2358];

      int var2;
      for(var2 = 0; var2 < this.anInt2358; ++var2) {
         int var3 = 0;
         int var4 = Class225_Sub20.method13646(3);
         boolean var5 = Class225_Sub20.method13645() != 0;
         if(var5) {
            var3 = Class225_Sub20.method13646(5);
         }

         var1[var2] = var3 << 3 | var4;
      }

      this.anIntArray2360 = new int[this.anInt2358 * 8];

      for(var2 = 0; var2 < this.anInt2358 * 8; ++var2) {
         this.anIntArray2360[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0?Class225_Sub20.method13646(8):-1;
      }

   }

   void method3395(float[] var1, int var2, boolean var3) {
      int var4;
      for(var4 = 0; var4 < var2; ++var4) {
         var1[var4] = 0.0F;
      }

      if(!var3) {
         var4 = Class225_Sub20.aClass205Array8578[this.anInt2359].anInt2421;
         int var5 = this.anInt2356 - this.anInt2354;
         int var6 = var5 / this.anInt2357;
         int[] var7 = new int[var6];

         for(int var8 = 0; var8 < 8; ++var8) {
            int var9 = 0;

            while(var9 < var6) {
               int var10;
               int var11;
               if(var8 == 0) {
                  var10 = Class225_Sub20.aClass205Array8578[this.anInt2359].method3472();

                  for(var11 = var4 - 1; var11 >= 0; --var11) {
                     if(var9 + var11 < var6) {
                        var7[var9 + var11] = var10 % this.anInt2358;
                     }

                     var10 /= this.anInt2358;
                  }
               }

               for(var10 = 0; var10 < var4; ++var10) {
                  var11 = var7[var9];
                  int var12 = this.anIntArray2360[var11 * 8 + var8];
                  if(var12 >= 0) {
                     int var13 = this.anInt2354 + var9 * this.anInt2357;
                     Class205 var14 = Class225_Sub20.aClass205Array8578[var12];
                     int var15;
                     if(this.anInt2355 == 0) {
                        var15 = this.anInt2357 / var14.anInt2421;

                        for(int var19 = 0; var19 < var15; ++var19) {
                           float[] var20 = var14.method3470();

                           for(int var18 = 0; var18 < var14.anInt2421; ++var18) {
                              var1[var13 + var19 + var18 * var15] += var20[var18];
                           }
                        }
                     } else {
                        var15 = 0;

                        while(var15 < this.anInt2357) {
                           float[] var16 = var14.method3470();

                           for(int var17 = 0; var17 < var14.anInt2421; ++var17) {
                              var1[var13 + var15] += var16[var17];
                              ++var15;
                           }
                        }
                     }
                  }

                  ++var9;
                  if(var9 >= var6) {
                     break;
                  }
               }
            }
         }

      }
   }

   void method3396(float[] var1, int var2, boolean var3) {
      int var4;
      for(var4 = 0; var4 < var2; ++var4) {
         var1[var4] = 0.0F;
      }

      if(!var3) {
         var4 = Class225_Sub20.aClass205Array8578[this.anInt2359].anInt2421;
         int var5 = this.anInt2356 - this.anInt2354;
         int var6 = var5 / this.anInt2357;
         int[] var7 = new int[var6];

         for(int var8 = 0; var8 < 8; ++var8) {
            int var9 = 0;

            while(var9 < var6) {
               int var10;
               int var11;
               if(var8 == 0) {
                  var10 = Class225_Sub20.aClass205Array8578[this.anInt2359].method3472();

                  for(var11 = var4 - 1; var11 >= 0; --var11) {
                     if(var9 + var11 < var6) {
                        var7[var9 + var11] = var10 % this.anInt2358;
                     }

                     var10 /= this.anInt2358;
                  }
               }

               for(var10 = 0; var10 < var4; ++var10) {
                  var11 = var7[var9];
                  int var12 = this.anIntArray2360[var11 * 8 + var8];
                  if(var12 >= 0) {
                     int var13 = this.anInt2354 + var9 * this.anInt2357;
                     Class205 var14 = Class225_Sub20.aClass205Array8578[var12];
                     int var15;
                     if(this.anInt2355 == 0) {
                        var15 = this.anInt2357 / var14.anInt2421;

                        for(int var19 = 0; var19 < var15; ++var19) {
                           float[] var20 = var14.method3470();

                           for(int var18 = 0; var18 < var14.anInt2421; ++var18) {
                              var1[var13 + var19 + var18 * var15] += var20[var18];
                           }
                        }
                     } else {
                        var15 = 0;

                        while(var15 < this.anInt2357) {
                           float[] var16 = var14.method3470();

                           for(int var17 = 0; var17 < var14.anInt2421; ++var17) {
                              var1[var13 + var15] += var16[var17];
                              ++var15;
                           }
                        }
                     }
                  }

                  ++var9;
                  if(var9 >= var6) {
                     break;
                  }
               }
            }
         }

      }
   }

   void method3397(float[] var1, int var2, boolean var3) {
      int var4;
      for(var4 = 0; var4 < var2; ++var4) {
         var1[var4] = 0.0F;
      }

      if(!var3) {
         var4 = Class225_Sub20.aClass205Array8578[this.anInt2359].anInt2421;
         int var5 = this.anInt2356 - this.anInt2354;
         int var6 = var5 / this.anInt2357;
         int[] var7 = new int[var6];

         for(int var8 = 0; var8 < 8; ++var8) {
            int var9 = 0;

            while(var9 < var6) {
               int var10;
               int var11;
               if(var8 == 0) {
                  var10 = Class225_Sub20.aClass205Array8578[this.anInt2359].method3472();

                  for(var11 = var4 - 1; var11 >= 0; --var11) {
                     if(var9 + var11 < var6) {
                        var7[var9 + var11] = var10 % this.anInt2358;
                     }

                     var10 /= this.anInt2358;
                  }
               }

               for(var10 = 0; var10 < var4; ++var10) {
                  var11 = var7[var9];
                  int var12 = this.anIntArray2360[var11 * 8 + var8];
                  if(var12 >= 0) {
                     int var13 = this.anInt2354 + var9 * this.anInt2357;
                     Class205 var14 = Class225_Sub20.aClass205Array8578[var12];
                     int var15;
                     if(this.anInt2355 == 0) {
                        var15 = this.anInt2357 / var14.anInt2421;

                        for(int var19 = 0; var19 < var15; ++var19) {
                           float[] var20 = var14.method3470();

                           for(int var18 = 0; var18 < var14.anInt2421; ++var18) {
                              var1[var13 + var19 + var18 * var15] += var20[var18];
                           }
                        }
                     } else {
                        var15 = 0;

                        while(var15 < this.anInt2357) {
                           float[] var16 = var14.method3470();

                           for(int var17 = 0; var17 < var14.anInt2421; ++var17) {
                              var1[var13 + var15] += var16[var17];
                              ++var15;
                           }
                        }
                     }
                  }

                  ++var9;
                  if(var9 >= var6) {
                     break;
                  }
               }
            }
         }

      }
   }
}
