public override object vmethod_3(OGGClass6 class71_0, object object_1, object object_2) { Class37 @class = (Class37)object_1; Class36 class36_ = @class.class36_0; float[] array = null; if (object_2 is float[]) { array = (float[])object_2; } int num = class71_0.oggClass3.method_6(class36_.int_3); if (num > 0) { int num2 = (1 << class36_.int_3) - 1; float num3 = (float)num / (float)num2 * (float)class36_.int_4; int num4 = class71_0.oggClass3.method_6(Class30.smethod_1(class36_.int_5)); if (num4 != -1 && num4 < class36_.int_5) { OGGClass4 class2 = class71_0.oggClass1.oggClass4[class36_.int_6[num4]]; float num5 = 0f; if (array != null && array.Length >= @class.int_2 + 1) { for (int i = 0; i < array.Length; i++) { array[i] = 0f; } } else { array = new float[@class.int_2 + 1]; } for (int j = 0; j < @class.int_2; j += class2.int_0) { if (class2.method_2(array, j, class71_0.oggClass3, class2.int_0) == -1) { return(null); } } int k = 0; while (k < @class.int_2) { int l = 0; while (l < class2.int_0) { array[k] += num5; l++; k++; } num5 = array[k - 1]; } array[@class.int_2] = num3; return(array); } } return(null); }
public static int smethod_1(OGGClass6 class71_0, object object_0, float[][] float_0, int int_1) { Class39 @class = (Class39)object_0; Class40 class40_ = @class.class40_0; int int_2 = class40_.int_2; int num = @class.class21_1.int_0; int num2 = class40_.int_1 - class40_.int_0; int num3 = num2 / int_2; int num4 = (num3 + num - 1) / num; int[][] array = new int[num4][]; for (int i = 0; i < @class.int_2; i++) { int j = 0; int num5 = 0; while (j < num3) { if (i == 0) { int num6 = @class.class21_1.method_4(class71_0.oggClass3); if (num6 == -1) { return(0); } array[num5] = @class.int_5[num6]; if (array[num5] == null) { return(0); } } int num7 = 0; while (num7 < num && j < num3) { int int_3 = class40_.int_0 + j * int_2; if ((class40_.int_5[array[num5][num7]] & 1 << i) != 0) { OGGClass4 class2 = @class.class21_0[@class.int_3[array[num5][num7]][i]]; if (class2 != null && class2.method_3(float_0, int_3, int_1, class71_0.oggClass3, int_2) == -1) { return(0); } } num7++; j++; } num5++; } } return(0); }
public static int smethod_0(OGGClass6 class71_0, object object_0, float[][] float_0, int int_1, int int_2) { Class39 @class = (Class39)object_0; Class40 class40_ = @class.class40_0; int int_3 = class40_.int_2; int num = @class.class21_1.int_0; int num2 = class40_.int_1 - class40_.int_0; int num3 = num2 / int_3; int num4 = (num3 + num - 1) / num; if (Class24.int_0.Length < int_1) { Class24.int_0 = new int[int_1][][]; for (int i = 0; i < int_1; i++) { Class24.int_0[i] = new int[num4][]; } } else { for (int i = 0; i < int_1; i++) { if (Class24.int_0[i] == null || Class24.int_0[i].Length < num4) { Class24.int_0[i] = new int[num4][]; } } } for (int j = 0; j < @class.int_2; j++) { int k = 0; int num5 = 0; while (k < num3) { if (j == 0) { for (int i = 0; i < int_1; i++) { int num6 = @class.class21_1.method_4(class71_0.oggClass3); if (num6 == -1) { return(0); } Class24.int_0[i][num5] = @class.int_5[num6]; if (Class24.int_0[i][num5] == null) { return(0); } } } int num7 = 0; while (num7 < num && k < num3) { for (int i = 0; i < int_1; i++) { int int_4 = class40_.int_0 + k * int_3; if ((class40_.int_5[Class24.int_0[i][num5][num7]] & 1 << j) != 0) { OGGClass4 class2 = @class.class21_0[@class.int_3[Class24.int_0[i][num5][num7]][j]]; if (class2 != null) { if (int_2 == 0) { if (class2.method_0(float_0[i], int_4, class71_0.oggClass3, int_3) == -1) { return(0); } } else if (int_2 == 1 && class2.method_1(float_0[i], int_4, class71_0.oggClass3, int_3) == -1) { return(0); } } } } num7++; k++; } num5++; } } return(0); }
public OGGData getOGGData() { int num = 0; OGGData oggData = new OGGData(); int[] array = oggData.int_3 = new int[this.int_1 * 2]; int[] array2 = oggData.int_4 = new int[this.int_1 * 2]; int[] array3 = OGGClass4.smethod_0(this.oggClass2.int_2, this.oggClass2.int_1); if (array3 == null) { return(null); } oggData.int_5 = this.int_1 * 2; for (int i = 0; i < this.int_1; i++) { if (this.oggClass2.int_2[i] > 0) { int num2 = 0; int j; for (j = 0; j < this.oggClass2.int_2[i] - 1; j++) { if (((uint)array3[i] >> j & 1u) == 0u) { if (array[num2] == 0) { num = (array[num2] = num + 1); } num2 = array[num2]; } else { if (array2[num2] == 0) { num = (array2[num2] = num + 1); } num2 = array2[num2]; } } if (((uint)array3[i] >> j & 1u) == 0u) { array[num2] = -i; } else { array2[num2] = -i; } } } oggData.int_2 = OGGClass4.smethod_1(this.int_1) - 4; if (oggData.int_2 < 5) { oggData.int_2 = 5; } int num3 = 1 << oggData.int_2; oggData.int_0 = new int[num3]; oggData.int_1 = new int[num3]; for (int k = 0; k < num3; k++) { int num4 = 0; int num5 = 0; while (num5 < oggData.int_2 && (num4 > 0 || num5 == 0)) { if ((k & 1 << num5) != 0) { num4 = array2[num4]; } else { num4 = array[num4]; } num5++; } oggData.int_0[k] = num4; oggData.int_1[k] = num5; } return(oggData); }