using System; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001D97 RID: 7575 [Token(Token = "0x2001D97")] internal class ConstructedOctetStream : BaseInputStream { // Token: 0x0600BFA9 RID: 49065 RVA: 0x002BA358 File Offset: 0x002B8558 [Token(Token = "0x600BFA9")] [Address(RVA = "0x2AD59F0", Offset = "0x2AD47F0", VA = "0x182AD59F0")] internal ConstructedOctetStream(Asn1StreamParser parser) { this._parser = parser; } // Token: 0x0600BFAA RID: 49066 RVA: 0x002BA37C File Offset: 0x002B857C [Token(Token = "0x600BFAA")] [Address(RVA = "0x2AD57C0", Offset = "0x2AD45C0", VA = "0x182AD57C0", Slot = "27")] public override int Read(byte[] buffer, int offset, int count) { string text2; do { if (this._currentStream == (ulong)0L) { if (!this._first) { return 0; } string text = this._parser.ToString(); if (text == 0) { return 0; } if (text == 0) { continue; } this._first = false; this._currentStream = text; } Stream currentStream = this._currentStream; text2 = this._parser.ToString(); if (text2 == 0) { goto IL_79; } } while (text2 == 0); int num = 0; if (num < 0) { num += num; num++; } this._currentStream = text2; return 0; IL_79: this._currentStream = 0; throw new NullReferenceException(); } // Token: 0x0600BFAB RID: 49067 RVA: 0x002BA410 File Offset: 0x002B8610 [Token(Token = "0x600BFAB")] [Address(RVA = "0x2AD55E0", Offset = "0x2AD43E0", VA = "0x182AD55E0", Slot = "28")] public override int ReadByte() { int num; string text2; do { Stream currentStream = this._currentStream; if (currentStream == 0) { if (this._first == currentStream) { return 0; } string text = this._parser.ToString(); if (text == 0) { return 0; } if (text == 0) { continue; } this._currentStream = text; } num = 0; text2 = this._parser.ToString(); if (text2 == 0) { goto IL_65; } } while (text2 == 0); num += num; num++; this._currentStream = text2; return 0; IL_65: this._currentStream = 0; throw new NullReferenceException(); } // Token: 0x04007998 RID: 31128 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007998")] private readonly Asn1StreamParser _parser; // Token: 0x04007999 RID: 31129 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4007999")] private bool _first = true; // Token: 0x0400799A RID: 31130 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400799A")] private Stream _currentStream; } }