using System; using System.Collections; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001C06 RID: 7174 [Token(Token = "0x2001C06")] internal class DtlsReassembler { // Token: 0x0600B0AF RID: 45231 RVA: 0x00262E70 File Offset: 0x00261070 [Token(Token = "0x600B0AF")] [Address(RVA = "0x233BAD0", Offset = "0x233AAD0", VA = "0x18233BAD0")] 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: 0x17001C01 RID: 7169 // (get) Token: 0x0600B0B0 RID: 45232 RVA: 0x00262EC8 File Offset: 0x002610C8 [Token(Token = "0x17001C01")] internal byte MsgType { [Token(Token = "0x600B0B0")] [Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")] get { return this.mMsgType; } } // Token: 0x0600B0B1 RID: 45233 RVA: 0x00262EDC File Offset: 0x002610DC [Token(Token = "0x600B0B1")] [Address(RVA = "0x233B9C0", Offset = "0x233A9C0", VA = "0x18233B9C0")] internal byte[] GetBodyIfComplete() { IList list = this.mMissing; return this.mBody; } // Token: 0x0600B0B2 RID: 45234 RVA: 0x00262F00 File Offset: 0x00261100 [Token(Token = "0x600B0B2")] [Address(RVA = "0x233B6D0", Offset = "0x233A6D0", VA = "0x18233B6D0")] 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: 0x0600B0B3 RID: 45235 RVA: 0x00262FA0 File Offset: 0x002611A0 [Token(Token = "0x600B0B3")] [Address(RVA = "0x233BA20", Offset = "0x233AA20", VA = "0x18233BA20")] 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: 0x04007033 RID: 28723 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007033")] private readonly byte mMsgType; // Token: 0x04007034 RID: 28724 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4007034")] private readonly byte[] mBody; // Token: 0x04007035 RID: 28725 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007035")] private readonly IList mMissing; // Token: 0x02001C07 RID: 7175 [Token(Token = "0x2001C07")] private class Range { // Token: 0x0600B0B4 RID: 45236 RVA: 0x00262FDC File Offset: 0x002611DC [Token(Token = "0x600B0B4")] [Address(RVA = "0x73F000", Offset = "0x73E000", VA = "0x18073F000")] internal Range(int start, int end) { this.mStart = start; this.mEnd = end; } // Token: 0x17001C02 RID: 7170 // (get) Token: 0x0600B0B5 RID: 45237 RVA: 0x00263000 File Offset: 0x00261200 // (set) Token: 0x0600B0B6 RID: 45238 RVA: 0x00263014 File Offset: 0x00261214 [Token(Token = "0x17001C02")] public int Start { [Token(Token = "0x600B0B5")] [Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")] get { return this.mStart; } [Token(Token = "0x600B0B6")] [Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")] set { this.mStart = value; } } // Token: 0x17001C03 RID: 7171 // (get) Token: 0x0600B0B7 RID: 45239 RVA: 0x00263028 File Offset: 0x00261228 // (set) Token: 0x0600B0B8 RID: 45240 RVA: 0x0026303C File Offset: 0x0026123C [Token(Token = "0x17001C03")] public int End { [Token(Token = "0x600B0B7")] [Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")] get { return this.mEnd; } [Token(Token = "0x600B0B8")] [Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")] set { this.mEnd = value; } } // Token: 0x04007036 RID: 28726 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4007036")] private int mStart; // Token: 0x04007037 RID: 28727 [FieldOffset(Offset = "0x14")] [Token(Token = "0x4007037")] private int mEnd; } } }