using System; using System.Collections; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001B26 RID: 6950 [Token(Token = "0x2001B26")] internal class DtlsReassembler { // Token: 0x0600ACE1 RID: 44257 RVA: 0x00259DD8 File Offset: 0x00257FD8 [Token(Token = "0x600ACE1")] [Address(RVA = "0x18B4EC0", Offset = "0x18B3CC0", VA = "0x1818B4EC0")] internal DtlsReassembler(byte msg_type, int length) { IList list = Platform.CreateArrayList(); this.mMissing = list; base..ctor(); this.mMsgType = msg_type; byte[] array = new byte[length]; IList list2 = this.mMissing; this.mBody = array; DtlsReassembler.Range range; range.mStart = (int)((ulong)0L); range.mEnd = length; throw new NullReferenceException(); } // Token: 0x17001B64 RID: 7012 // (get) Token: 0x0600ACE2 RID: 44258 RVA: 0x00259E30 File Offset: 0x00258030 [Token(Token = "0x17001B64")] internal byte MsgType { [Token(Token = "0x600ACE2")] [Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")] get { return this.mMsgType; } } // Token: 0x0600ACE3 RID: 44259 RVA: 0x00259E44 File Offset: 0x00258044 [Token(Token = "0x600ACE3")] [Address(RVA = "0x18B4DB0", Offset = "0x18B3BB0", VA = "0x1818B4DB0")] internal byte[] GetBodyIfComplete() { IList list = this.mMissing; return this.mBody; } // Token: 0x0600ACE4 RID: 44260 RVA: 0x00259E68 File Offset: 0x00258068 [Token(Token = "0x600ACE4")] [Address(RVA = "0x18B4AC0", Offset = "0x18B38C0", VA = "0x1818B4AC0")] internal void ContributeFragment(byte msg_type, int length, byte[] buf, int off, int fragment_offset, int fragment_length) { if (this.mMsgType == msg_type && this.mBody.Length == length) { IList list = this.mMissing; int num = 0; if (0 < list) { IList list2 = this.mMissing; byte[] array = this.mBody; int num2; int num3; num2 -= num3; Array.Copy(buf, num3, array, num3, num2); IList list3 = this.mMissing; DtlsReassembler.Range range; range.mStart = num2; range.mEnd = 0; IList list4 = this.mMissing; IList list5 = this.mMissing; num++; IList list6 = this.mMissing; IList list7 = this.mMissing; IList list8 = this.mMissing; } } } // Token: 0x0600ACE5 RID: 44261 RVA: 0x00259F08 File Offset: 0x00258108 [Token(Token = "0x600ACE5")] [Address(RVA = "0x18B4E10", Offset = "0x18B3C10", VA = "0x1818B4E10")] internal void Reset() { IList list = this.mMissing; IList list2 = this.mMissing; int length = this.mBody.Length; DtlsReassembler.Range range; range.mStart = (int)((ulong)0L); range.mEnd = length; throw new NullReferenceException(); } // Token: 0x04006E7A RID: 28282 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006E7A")] private readonly byte mMsgType; // Token: 0x04006E7B RID: 28283 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006E7B")] private readonly byte[] mBody; // Token: 0x04006E7C RID: 28284 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006E7C")] private readonly IList mMissing; // Token: 0x02001B27 RID: 6951 [Token(Token = "0x2001B27")] private class Range { // Token: 0x0600ACE6 RID: 44262 RVA: 0x00259F44 File Offset: 0x00258144 [Token(Token = "0x600ACE6")] [Address(RVA = "0x8F0C90", Offset = "0x8EFA90", VA = "0x1808F0C90")] internal Range(int start, int end) { this.mStart = start; this.mEnd = end; } // Token: 0x17001B65 RID: 7013 // (get) Token: 0x0600ACE7 RID: 44263 RVA: 0x00259F68 File Offset: 0x00258168 // (set) Token: 0x0600ACE8 RID: 44264 RVA: 0x00259F7C File Offset: 0x0025817C [Token(Token = "0x17001B65")] public int Start { [Token(Token = "0x600ACE7")] [Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")] get { return this.mStart; } [Token(Token = "0x600ACE8")] [Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")] set { this.mStart = value; } } // Token: 0x17001B66 RID: 7014 // (get) Token: 0x0600ACE9 RID: 44265 RVA: 0x00259F90 File Offset: 0x00258190 // (set) Token: 0x0600ACEA RID: 44266 RVA: 0x00259FA4 File Offset: 0x002581A4 [Token(Token = "0x17001B66")] public int End { [Token(Token = "0x600ACE9")] [Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")] get { return this.mEnd; } [Token(Token = "0x600ACEA")] [Address(RVA = "0x52EC20", Offset = "0x52DA20", VA = "0x18052EC20")] set { this.mEnd = value; } } // Token: 0x04006E7D RID: 28285 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006E7D")] private int mStart; // Token: 0x04006E7E RID: 28286 [FieldOffset(Offset = "0x14")] [Token(Token = "0x4006E7E")] private int mEnd; } } }