using System; using System.IO; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x020015C1 RID: 5569 [Token(Token = "0x20015C1")] [StructLayout(3)] public class UrlAndHash { // Token: 0x060094D9 RID: 38105 RVA: 0x0020EBA4 File Offset: 0x0020CDA4 [Token(Token = "0x60094D9")] [Address(RVA = "0x1E14440", Offset = "0x1E12E40", VA = "0x181E14440")] public UrlAndHash(string url, byte[] sha1Hash) { /* An exception occurred when decompiling this method (060094D9) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.UrlAndHash::.ctor(System.String,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_44: stloc:ArgumentException(var_1_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length == 20, if present"), ldstr:string("sha1Hash"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x170017D0 RID: 6096 // (get) Token: 0x060094DA RID: 38106 RVA: 0x0020EC04 File Offset: 0x0020CE04 [Token(Token = "0x170017D0")] public virtual string Url { [Token(Token = "0x60094DA")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")] get { return this.mUrl; } } // Token: 0x170017D1 RID: 6097 // (get) Token: 0x060094DB RID: 38107 RVA: 0x0020EC18 File Offset: 0x0020CE18 [Token(Token = "0x170017D1")] public virtual byte[] Sha1Hash { [Token(Token = "0x60094DB")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")] get { return this.mSha1Hash; } } // Token: 0x060094DC RID: 38108 RVA: 0x0020EC2C File Offset: 0x0020CE2C [Token(Token = "0x60094DC")] [Address(RVA = "0x1E14080", Offset = "0x1E12A80", VA = "0x181E14080", Slot = "6")] public virtual void Encode(Stream output) { TlsUtilities.WriteOpaque16(Strings.ToByteArray(this.mUrl), output); if (this.mSha1Hash != (ulong)0L) { byte[] array = this.mSha1Hash; int num = output.ReadByte(); return; } bool canRead = output.CanRead; } // Token: 0x060094DD RID: 38109 RVA: 0x0020EC74 File Offset: 0x0020CE74 [Token(Token = "0x60094DD")] [Address(RVA = "0x1E141B0", Offset = "0x1E12BB0", VA = "0x181E141B0")] public static UrlAndHash Parse(TlsContext context, Stream input) { /* An exception occurred when decompiling this method (060094DD) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.UrlAndHash BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.UrlAndHash::Parse(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5F: stloc:ArgumentException(var_6_6E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length == 20, if present"), ldstr:string("sha1Hash"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x04006250 RID: 25168 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006250")] protected readonly string mUrl; // Token: 0x04006251 RID: 25169 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006251")] protected readonly byte[] mSha1Hash; } }