private void method_9(int int45, double[] double24, double[] double25, int int46, Class113 class1131, bool[] bool5) { var array = new double[5]; var array2 = _byte0; var array3 = _byte3; var num = 0; var num2 = _int14; var i = _int12; while (i < _int13) { var num3 = i + 12; while ((num2 & 1) != 0) { num2 >>= 1; num3 += 12; } num2 >>= 1; for (var j = 0; j < int45; j++) { array[j] = _double9[j][num] * double24[j]; } num++; while (i < num3) { int num4 = array3[i]; double num5; switch (num4) { case -3: if (class1131.Int2 == 0) { num5 = class1131.vmethod_2()[0]; class1131.Int2 = -1; } else { var num6 = Class1150.method_2(7); class1131.Int2 = 0; class1131.vmethod_2()[0] = Double22[num6]; num5 = Double21[num6]; } break; case -2: if (class1131.Int1 >= 0) { num5 = class1131.vmethod_1()[class1131.Int1]; class1131.Int1--; } else { var num7 = Class1150.method_2(7); class1131.Int1 = 1; class1131.vmethod_1()[0] = Double19[num7]; class1131.vmethod_1()[1] = Double18[num7]; num5 = Double17[num7]; } break; case -1: if (class1131.Int0 >= 0) { num5 = class1131.vmethod_0()[class1131.Int0]; class1131.Int0--; } else { var num8 = Class1150.method_2(5); class1131.Int0 = 1; class1131.vmethod_0()[0] = Double16[num8]; class1131.vmethod_0()[1] = Double15[num8]; num5 = Double14[num8]; } break; case 0: num5 = Double2 * Double13[array2[i]]; for (var k = 0; k < int45; k++) { if ((_int9 >> k & 1) != 0) { if (bool5[k]) { double25[int46 + i + k * 256] = num5 * array[k] * method_6(); } else { double25[int46 + i + k * 256] = 0.0; } } } i++; break; case 1: case 2: goto IL_27D; case 3: num5 = Double20[Class1150.method_2(3)]; break; case 4: num5 = Double23[Class1150.method_2(4)]; break; default: goto IL_27D; } IL_2BF: if (num4 != 0) { num5 *= Double13[array2[i]]; for (var l = 0; l < int45; l++) { if ((_int9 >> l & 1) != 0) { double25[int46 + i + l * 256] = num5 * array[l]; } } i++; } continue; IL_27D: num5 = method_8(num4) << 16 - num4; goto IL_2BF; } } }
private void method_7(double[] double24, int int45, byte[] byte10, byte[] byte11, Class113 class1131, double double25, bool bool5, int int46) { var array = new double[25]; for (var i = 0; i <= 24; i++) { array[i] = Double13[i] * double25; } var j = 0; while (j < int46) { int num = byte11[j]; switch (num) { case -3: if (class1131.Int2 == 0) { double24[int45 + j] = class1131.vmethod_2()[0] * array[byte10[j]]; class1131.Int2 = -1; } else { var num2 = Class1150.method_2(7); class1131.Int2 = 0; class1131.vmethod_2()[0] = Double22[num2]; double24[int45 + j] = Double21[num2] * array[byte10[j]]; } break; case -2: if (class1131.Int1 >= 0) { double24[int45 + j] = class1131.vmethod_1()[class1131.Int1] * array[byte10[j]]; class1131.Int1--; } else { var num3 = Class1150.method_2(7); class1131.Int1 = 1; class1131.vmethod_1()[0] = Double19[num3]; class1131.vmethod_1()[1] = Double18[num3]; double24[int45 + j] = Double17[num3] * array[byte10[j]]; } break; case -1: if (class1131.Int0 >= 0) { double24[int45 + j] = class1131.vmethod_0()[class1131.Int0] * array[byte10[j]]; class1131.Int0--; } else { var num4 = Class1150.method_2(5); class1131.Int0 = 1; class1131.vmethod_0()[0] = Double16[num4]; class1131.vmethod_0()[1] = Double15[num4]; double24[int45 + j] = Double14[num4] * array[byte10[j]]; } break; case 0: if (bool5) { var num5 = method_6(); double24[int45 + j] = num5 * array[byte10[j]] * Double2; } else { double24[int45 + j] = 0.0; } break; case 1: case 2: goto IL_216; case 3: double24[int45 + j] = Double20[Class1150.method_2(3)] * array[byte10[j]]; break; case 4: double24[int45 + j] = Double23[Class1150.method_2(4)] * array[byte10[j]]; break; default: goto IL_216; } IL_275: j++; continue; IL_216: var num6 = method_8(num); double24[int45 + j] = (num6 << 16 - num) * array[byte10[j]]; goto IL_275; } }