public int method_18(long long6) { var num = method_15(-1); if (!_bool0) { return(-1); } if (long6 < 0L || long6 > num) { _long4 = -1L; method_5(); return(-1); } int i; for (i = _int20 - 1; i >= 0; i--) { num -= _long3[i]; if (long6 >= num) { break; } } var num2 = long6 - num; var num3 = _long1[i + 1]; var num4 = _long1[i]; var int_ = (int)num4; var @class = new Class48(); while (num4 < num3) { long num5; if (num3 - num4 < Int2) { num5 = num4; } else { num5 = (num3 + num4) / 2L; } method_8(num5); var num6 = method_0(@class, num3 - num5); if (num6 == -1) { num3 = num5; } else { var num7 = @class.method_4(); if (num7 < num2) { int_ = num6; num4 = _long0; } else { num3 = num5; } } } if (method_17(int_) != 0) { _long4 = -1L; method_5(); return(-1); } if (_long4 >= long6) { _long4 = -1L; method_5(); return(-1); } if (long6 > method_15(-1)) { _long4 = -1L; method_5(); return(-1); } while (_long4 < long6) { var num8 = (int)(long6 - _long4); var num9 = _oggClass1.method_3(); if (num9 > num8) { num9 = num8; } _oggClass1.method_6(num9); _long4 += num9; if (num9 < num8 && method_6(1) == 0) { _long4 = method_15(-1); } } return(0); }
public bool method_6(Class48 class480) { var array = class480.Byte0; var num = class480.Int0; var src = class480.Byte1; var num2 = class480.Int2; var num3 = class480.Int3; var i = 0; var num4 = class480.method_0(); var num5 = class480.method_1(); var num6 = class480.method_2(); var num7 = class480.method_3(); var num8 = class480.method_4(); var num9 = class480.method_5(); var num10 = class480.method_6(); var num11 = array[num + 26] & 255; var num12 = _int7; var num13 = _int2; if (num13 != 0) { _int1 -= num13; if (_int1 != 0) { Buffer.BlockCopy(_byte0, num13, _byte0, 0, _int1); } _int2 = 0; } if (num12 != 0) { if (_int5 - num12 != 0) { Buffer.BlockCopy(_int3, num12 << 2, _int3, 0, _int5 - num12 << 2); Buffer.BlockCopy(_long0, num12 << 3, _long0, 0, _int5 - num12 << 3); } _int5 -= num12; _int6 -= num12; _int7 = 0; } if (num9 != _int11) { return(false); } if (num4 > 0) { return(false); } method_4(num11 + 1); if (num10 != _int12) { for (var j = _int6; j < _int5; j++) { _int1 -= (_int3[j] & 255); } _int5 = _int6; if (_int12 != -1) { _int3[_int5++] = 1024; _int6++; } if (num5 != 0) { num6 = 0; while (i < num11) { var num14 = array[num + 27 + i] & 255; num2 += num14; num3 -= num14; if (num14 < 255) { i++; break; } i++; } } } if (num3 != 0) { method_3(num3); Buffer.BlockCopy(src, num2, _byte0, _int1, num3); _int1 += num3; } var num15 = -1; while (i < num11) { var num16 = array[num + 27 + i] & 255; _int3[_int5] = num16; _long0[_int5] = -1L; if (num6 != 0) { _int3[_int5] |= 256; num6 = 0; } if (num16 < 255) { num15 = _int5; } _int5++; i++; if (num16 < 255) { _int6 = _int5; } } if (num15 != -1) { _long0[num15] = num8; } if (num7 != 0) { Int9 = 1; if (_int5 > 0) { _int3[_int5 - 1] |= 512; } } _int12 = num10 + 1; return(true); }
private void method_3(OggClass5 class491, Class47 class471, int int24) { var @class = new Class48(); _oggClass5 = new OggClass5[_int20]; _class470 = new Class47[_int20]; _long2 = new long[_int20]; _long3 = new long[_int20]; _int21 = new int[_int20]; var i = 0; while (i < _int20) { if (class491 != null && class471 != null && i == 0) { _oggClass5[i] = class491; _class470[i] = class471; _long2[i] = int24; } else { method_8(_long1[i]); if (method_2(_oggClass5[i], _class470[i], null, null) == -1) { Console.Error.WriteLine("Error opening logical bitstream #" + (i + 1) + "\n"); _long2[i] = -1L; } else { _long2[i] = _long0; _class560.method_2(); } } var long_ = _long1[i + 1]; method_8(long_); long num2; while (true) { var num = method_1(@class); if (num == -1) { goto Block_6; } num2 = @class.method_4(); if (num2 != -1L) { goto Block_5; } } IL_189: i++; continue; Block_5: _int21[i] = @class.method_5(); _long3[i] = num2; goto IL_189; Block_6: Console.Error.WriteLine("Could not find last page of logical bitstream #" + i + "\n"); _oggClass5[i].method_1(); _class470[i].method_2(); goto IL_189; } }