using System; using System.Collections; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001549 RID: 5449 [Token(Token = "0x2001549")] [StructLayout(3)] internal class DtlsReassembler { // Token: 0x06009107 RID: 37127 RVA: 0x0020275C File Offset: 0x0020095C [Token(Token = "0x6009107")] [Address(RVA = "0x1E81900", Offset = "0x1E80300", VA = "0x181E81900")] 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: 0x17001763 RID: 5987 // (get) Token: 0x06009108 RID: 37128 RVA: 0x002027B4 File Offset: 0x002009B4 [Token(Token = "0x17001763")] internal byte MsgType { [Token(Token = "0x6009108")] [Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")] get { return this.mMsgType; } } // Token: 0x06009109 RID: 37129 RVA: 0x002027C8 File Offset: 0x002009C8 [Token(Token = "0x6009109")] [Address(RVA = "0x1E817F0", Offset = "0x1E801F0", VA = "0x181E817F0")] internal byte[] GetBodyIfComplete() { IList list = this.mMissing; return this.mBody; } // Token: 0x0600910A RID: 37130 RVA: 0x002027EC File Offset: 0x002009EC [Token(Token = "0x600910A")] [Address(RVA = "0x1E81500", Offset = "0x1E7FF00", VA = "0x181E81500")] 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: 0x0600910B RID: 37131 RVA: 0x0020288C File Offset: 0x00200A8C [Token(Token = "0x600910B")] [Address(RVA = "0x1E81850", Offset = "0x1E80250", VA = "0x181E81850")] 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: 0x04006037 RID: 24631 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006037")] private readonly byte mMsgType; // Token: 0x04006038 RID: 24632 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006038")] private readonly byte[] mBody; // Token: 0x04006039 RID: 24633 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006039")] private readonly IList mMissing; // Token: 0x0200154A RID: 5450 [Token(Token = "0x200154A")] private class Range { // Token: 0x0600910C RID: 37132 RVA: 0x002028C8 File Offset: 0x00200AC8 [Token(Token = "0x600910C")] [Address(RVA = "0x823C30", Offset = "0x822630", VA = "0x180823C30")] internal Range(int start, int end) { this.mStart = start; this.mEnd = end; } // Token: 0x17001764 RID: 5988 // (get) Token: 0x0600910D RID: 37133 RVA: 0x002028EC File Offset: 0x00200AEC // (set) Token: 0x0600910E RID: 37134 RVA: 0x00202900 File Offset: 0x00200B00 [Token(Token = "0x17001764")] public int Start { [Token(Token = "0x600910D")] [Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")] get { return this.mStart; } [Token(Token = "0x600910E")] [Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")] set { this.mStart = value; } } // Token: 0x17001765 RID: 5989 // (get) Token: 0x0600910F RID: 37135 RVA: 0x00202914 File Offset: 0x00200B14 // (set) Token: 0x06009110 RID: 37136 RVA: 0x00202928 File Offset: 0x00200B28 [Token(Token = "0x17001765")] public int End { [Token(Token = "0x600910F")] [Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")] get { return this.mEnd; } [Token(Token = "0x6009110")] [Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")] set { this.mEnd = value; } } // Token: 0x0400603A RID: 24634 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400603A")] private int mStart; // Token: 0x0400603B RID: 24635 [global::Cpp2IlInjected.FieldOffset(Offset = "0x14")] [Token(Token = "0x400603B")] private int mEnd; } } }