public override int vmethod_4(OGGClass6 class71_0, object object_0, object object_1, float[] float_1) { Class32 @class = (Class32)object_0; Class31 class31_ = @class.class31_0; int num = class71_0.oggClass1.oggClass5.int_13[class71_0.int_4] / 2; if (object_1 != null) { int[] array = (int[])object_1; int num2 = 0; int int_ = 0; int int_2 = array[0] * class31_.int_6; for (int i = 1; i < @class.int_6; i++) { int num3 = @class.int_2[i]; int num4 = array[num3] & 32767; if (num4 == array[num3]) { num4 *= class31_.int_6; num2 = class31_.int_7[num3]; Class29.smethod_1(int_, num2, int_2, num4, float_1); int_ = num2; int_2 = num4; } } for (int j = num2; j < num; j++) { float_1[j] *= float_1[j - 1]; } return(1); } for (int k = 0; k < num; k++) { float_1[k] = 0f; } return(0); }
public override object vmethod_3(OGGClass6 class71_0, object object_0, object object_1) { Class32 @class = (Class32)object_0; Class31 class31_ = @class.class31_0; OGGClass4[] class21_ = class71_0.oggClass1.oggClass4; if (class71_0.oggClass3.method_6(1) == 1) { int[] array = null; if (object_1 is int[]) { array = (int[])object_1; } if (array != null && array.Length >= @class.int_6) { for (int i = 0; i < array.Length; i++) { array[i] = 0; } } else { array = new int[@class.int_6]; } array[0] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1)); array[1] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1)); int j = 0; int num = 2; while (j < class31_.int_0) { int num2 = class31_.int_1[j]; int num3 = class31_.int_2[num2]; int num4 = class31_.int_3[num2]; int num5 = 1 << num4; int num6 = 0; if (num4 != 0) { num6 = class21_[class31_.int_4[num2]].method_4(class71_0.oggClass3); if (num6 == -1) { return(null); } } for (int k = 0; k < num3; k++) { int num7 = class31_.int_5[num2][num6 & num5 - 1]; num6 = (int)((uint)num6 >> num4); if (num7 >= 0) { if ((array[num + k] = class21_[num7].method_4(class71_0.oggClass3)) == -1) { return(null); } } else { array[num + k] = 0; } } num += num3; j++; } for (int l = 2; l < @class.int_6; l++) { int num8 = Class29.smethod_0(class31_.int_7[@class.int_5[l - 2]], class31_.int_7[@class.int_4[l - 2]], array[@class.int_5[l - 2]], array[@class.int_4[l - 2]], class31_.int_7[l]); int num9 = @class.int_8 - num8; int num10 = num8; int num11 = ((num9 < num10) ? num9 : num10) << 1; int num12 = array[l]; if (num12 != 0) { if (num12 >= num11) { if (num9 > num10) { num12 -= num10; } else { num12 = -1 - (num12 - num9); } } else if ((num12 & 1) != 0) { num12 = (int)(-(int)((ulong)((uint)(num12 + 1) >> 1))); } else { num12 >>= 1; } array[l] = num12 + num8; array[@class.int_5[l - 2]] &= 32767; array[@class.int_4[l - 2]] &= 32767; } else { array[l] = (num8 | 32768); } } return(array); } return(null); }