private void method_9(int int_45, double[] double_24, double[] double_25, int int_46, Class113 class113_1, bool[] bool_5) { double[] array = new double[5]; byte[] array2 = this.byte_0; byte[] array3 = this.byte_3; int num = 0; int num2 = this.int_14; int i = this.int_12; while (i < this.int_13) { int num3 = i + 12; while ((num2 & 1) != 0) { num2 >>= 1; num3 += 12; } num2 >>= 1; for (int j = 0; j < int_45; j++) { array[j] = this.double_9[j][num] * double_24[j]; } num++; while (i < num3) { int num4 = (int)array3[i]; double num5; switch (num4) { case -3: if (class113_1.int_2 == 0) { num5 = class113_1.vmethod_2()[0]; class113_1.int_2 = -1; } else { int num6 = this.class115_0.method_2(7); class113_1.int_2 = 0; class113_1.vmethod_2()[0] = this.double_22[num6]; num5 = this.double_21[num6]; } break; case -2: if (class113_1.int_1 >= 0) { num5 = class113_1.vmethod_1()[class113_1.int_1]; class113_1.int_1--; } else { int num7 = this.class115_0.method_2(7); class113_1.int_1 = 1; class113_1.vmethod_1()[0] = this.double_19[num7]; class113_1.vmethod_1()[1] = this.double_18[num7]; num5 = this.double_17[num7]; } break; case -1: if (class113_1.int_0 >= 0) { num5 = class113_1.vmethod_0()[class113_1.int_0]; class113_1.int_0--; } else { int num8 = this.class115_0.method_2(5); class113_1.int_0 = 1; class113_1.vmethod_0()[0] = this.double_16[num8]; class113_1.vmethod_0()[1] = this.double_15[num8]; num5 = this.double_14[num8]; } break; case 0: num5 = AC3Class1.double_2 * this.double_13[(int)array2[i]]; for (int k = 0; k < int_45; k++) { if ((this.int_9 >> k & 1) != 0) { if (bool_5[k]) { double_25[int_46 + i + k * 256] = num5 * array[k] * (double)this.method_6(); } else { double_25[int_46 + i + k * 256] = 0.0; } } } i++; break; case 1: case 2: goto IL_27D; case 3: num5 = this.double_20[this.class115_0.method_2(3)]; break; case 4: num5 = this.double_23[this.class115_0.method_2(4)]; break; default: goto IL_27D; } IL_2BF: if (num4 != 0) { num5 *= this.double_13[(int)array2[i]]; for (int l = 0; l < int_45; l++) { if ((this.int_9 >> l & 1) != 0) { double_25[int_46 + i + l * 256] = num5 * array[l]; } } i++; continue; } continue; IL_27D: num5 = (double)(this.method_8(num4) << 16 - num4); goto IL_2BF; } } }
private void method_7(double[] double_24, int int_45, byte[] byte_10, byte[] byte_11, Class113 class113_1, double double_25, bool bool_5, int int_46) { double[] array = new double[25]; for (int i = 0; i <= 24; i++) { array[i] = this.double_13[i] * double_25; } int j = 0; while (j < int_46) { int num = (int)byte_11[j]; switch (num) { case -3: if (class113_1.int_2 == 0) { double_24[int_45 + j] = class113_1.vmethod_2()[0] * array[(int)byte_10[j]]; class113_1.int_2 = -1; } else { int num2 = this.class115_0.method_2(7); class113_1.int_2 = 0; class113_1.vmethod_2()[0] = this.double_22[num2]; double_24[int_45 + j] = this.double_21[num2] * array[(int)byte_10[j]]; } break; case -2: if (class113_1.int_1 >= 0) { double_24[int_45 + j] = class113_1.vmethod_1()[class113_1.int_1] * array[(int)byte_10[j]]; class113_1.int_1--; } else { int num3 = this.class115_0.method_2(7); class113_1.int_1 = 1; class113_1.vmethod_1()[0] = this.double_19[num3]; class113_1.vmethod_1()[1] = this.double_18[num3]; double_24[int_45 + j] = this.double_17[num3] * array[(int)byte_10[j]]; } break; case -1: if (class113_1.int_0 >= 0) { double_24[int_45 + j] = class113_1.vmethod_0()[class113_1.int_0] * array[(int)byte_10[j]]; class113_1.int_0--; } else { int num4 = this.class115_0.method_2(5); class113_1.int_0 = 1; class113_1.vmethod_0()[0] = this.double_16[num4]; class113_1.vmethod_0()[1] = this.double_15[num4]; double_24[int_45 + j] = this.double_14[num4] * array[(int)byte_10[j]]; } break; case 0: if (bool_5) { int num5 = this.method_6(); double_24[int_45 + j] = (double)num5 * array[(int)byte_10[j]] * AC3Class1.double_2; } else { double_24[int_45 + j] = 0.0; } break; case 1: case 2: goto IL_216; case 3: double_24[int_45 + j] = this.double_20[this.class115_0.method_2(3)] * array[(int)byte_10[j]]; break; case 4: double_24[int_45 + j] = this.double_23[this.class115_0.method_2(4)] * array[(int)byte_10[j]]; break; default: goto IL_216; } IL_275: j++; continue; IL_216: int num6 = this.method_8(num); double_24[int_45 + j] = (double)(num6 << 16 - num) * array[(int)byte_10[j]]; goto IL_275; } }