private static Class23[] smethod_31(Class23 class23_0, Class23 class23_1, Class23 class23_2, Class23 class23_3, Class23 class23_4, int int_3) { Class23[] array = new Class23[3]; if ((class23_2.uint_0[0] & 1u) == 0u) { throw new ArgumentException("Argument k must be odd."); } int num = class23_2.method_9(); uint num2 = (uint)(1 << ((num & 31) - 1 & 31)); Class23 @class = Class23.smethod_24(Class23.smethod_2(2), class23_3); Class23 class2 = Class23.smethod_24(Class23.smethod_2(1), class23_3); Class23 class3 = Class23.smethod_24(class23_0, class23_3); Class23 class4 = class2; bool flag = true; for (int i = class23_2.int_2 - 1; i >= 0; i--) { while (num2 != 0u && (i != 0 || num2 != 1u)) { if ((class23_2.uint_0[i] & num2) != 0u) { class4 = Class23.smethod_24(Class23.smethod_8(class4, class3), class23_3); @class = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(@class, class3), Class23.smethod_8(class23_0, class2)), class23_3); class3 = class23_3.method_6(Class23.smethod_8(class3, class3), class23_3, class23_4); class3 = Class23.smethod_24(Class23.smethod_6(class3, Class23.smethod_9(Class23.smethod_8(class2, class23_1), 1)), class23_3); if (flag) { flag = false; } else { class2 = class23_3.method_6(Class23.smethod_8(class2, class2), class23_3, class23_4); } class2 = Class23.smethod_24(Class23.smethod_8(class2, class23_1), class23_3); } else { class4 = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(class4, @class), class2), class23_3); class3 = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(@class, class3), Class23.smethod_8(class23_0, class2)), class23_3); @class = class23_3.method_6(Class23.smethod_8(@class, @class), class23_3, class23_4); @class = Class23.smethod_24(Class23.smethod_6(@class, Class23.smethod_9(class2, 1)), class23_3); if (flag) { class2 = Class23.smethod_24(class23_1, class23_3); flag = false; } else { class2 = class23_3.method_6(Class23.smethod_8(class2, class2), class23_3, class23_4); } } num2 >>= 1; } num2 = 2147483648u; } class4 = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(class4, @class), class2), class23_3); @class = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(@class, class3), Class23.smethod_8(class23_0, class2)), class23_3); if (flag) { flag = false; } else { class2 = class23_3.method_6(Class23.smethod_8(class2, class2), class23_3, class23_4); } class2 = Class23.smethod_24(Class23.smethod_8(class2, class23_1), class23_3); for (int i = 0; i < int_3; i++) { class4 = Class23.smethod_24(Class23.smethod_8(class4, @class), class23_3); @class = Class23.smethod_24(Class23.smethod_6(Class23.smethod_8(@class, @class), Class23.smethod_9(class2, 1)), class23_3); if (flag) { class2 = Class23.smethod_24(class23_1, class23_3); flag = false; } else { class2 = class23_3.method_6(Class23.smethod_8(class2, class2), class23_3, class23_4); } } array[0] = class4; array[1] = @class; array[2] = class2; return array; }
public Class23 method_5(Class23 class23_0, Class23 class23_1) { if ((class23_0.uint_0[499] & 2147483648u) != 0u) { throw new ArithmeticException("Positive exponents only."); } Class23 @class = Class23.smethod_2(1); bool flag = false; Class23 class2; if ((this.uint_0[499] & 2147483648u) != 0u) { class2 = Class23.smethod_24(Class23.smethod_14(this), class23_1); flag = true; } else { class2 = Class23.smethod_24(this, class23_1); } if ((class23_1.uint_0[499] & 2147483648u) != 0u) { class23_1 = Class23.smethod_14(class23_1); } Class23 class3 = new Class23(); int num = class23_1.int_2 << 1; class3.uint_0[num] = 1u; class3.int_2 = num + 1; class3 = Class23.smethod_23(class3, class23_1); int num2 = class23_0.method_9(); int num3 = 0; Class23 result; for (int i = 0; i < class23_0.int_2; i++) { uint num4 = 1u; int j = 0; while (j < 32) { if ((class23_0.uint_0[i] & num4) != 0u) { @class = this.method_6(Class23.smethod_8(@class, class2), class23_1, class3); } num4 = (uint)num4 << 1; class2 = this.method_6(Class23.smethod_8(class2, class2), class23_1, class3); if (class2.int_2 != 1 || class2.uint_0[0] != 1u) { num3++; if (num3 == num2) { break; } j++; } else { if (flag && (class23_0.uint_0[0] & 1u) != 0u) { result = Class23.smethod_14(@class); return result; } result = @class; return result; } } } if (flag && (class23_0.uint_0[0] & 1u) != 0u) { result = Class23.smethod_14(@class); return result; } result = @class; return result; }