using System; using System.Collections; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix { // Token: 0x02001A61 RID: 6753 [Token(Token = "0x2001A61")] public class PkixNameConstraintValidator { // Token: 0x06009F24 RID: 40740 RVA: 0x0020C834 File Offset: 0x0020AA34 [Token(Token = "0x6009F24")] [Address(RVA = "0x65A570", Offset = "0x659570", VA = "0x18065A570")] public PkixNameConstraintValidator() { HashSet hashSet = new HashSet(); this.excludedSubtreesDN = hashSet; HashSet hashSet2 = new HashSet(); this.excludedSubtreesDNS = hashSet2; HashSet hashSet3 = new HashSet(); this.excludedSubtreesEmail = hashSet3; HashSet hashSet4 = new HashSet(); this.excludedSubtreesURI = hashSet4; HashSet hashSet5 = new HashSet(); this.excludedSubtreesIP = hashSet5; base..ctor(); } // Token: 0x06009F25 RID: 40741 RVA: 0x0020C88C File Offset: 0x0020AA8C [Token(Token = "0x6009F25")] [Address(RVA = "0x65A200", Offset = "0x659200", VA = "0x18065A200")] private static bool WithinDNSubtree(Asn1Sequence dns, Asn1Sequence subtree) { Asn1SequenceParser parser = subtree.Parser; if (dns.Parser != 0) { } throw new NullReferenceException(); } // Token: 0x06009F26 RID: 40742 RVA: 0x0020C8B0 File Offset: 0x0020AAB0 [Token(Token = "0x6009F26")] [Address(RVA = "0x656390", Offset = "0x655390", VA = "0x180656390")] public void CheckPermittedDN(Asn1Sequence dns) { Asn1Encodable asn1Encodable; if (this.permittedSubtreesDN != 0 && asn1Encodable != 0) { bool flag; while (!flag) { } } } // Token: 0x06009F27 RID: 40743 RVA: 0x0020C8E0 File Offset: 0x0020AAE0 [Token(Token = "0x6009F27")] [Address(RVA = "0x655D00", Offset = "0x654D00", VA = "0x180655D00")] public void CheckExcludedDN(Asn1Sequence dns) { /* An exception occurred when decompiling this method (06009F27) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedDN(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Sequence) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_12: stloc:PkixNameConstraintValidatorException(var_3_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject distinguished name is from an excluded subtree"))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F28 RID: 40744 RVA: 0x0020C90C File Offset: 0x0020AB0C [Token(Token = "0x6009F28")] [Address(RVA = "0x656270", Offset = "0x655270", VA = "0x180656270")] private void CheckPermittedDN(ISet permitted, Asn1Sequence dns) { Asn1Encodable asn1Encodable; if (permitted != 0 && asn1Encodable != 0) { bool flag; while (!flag) { } } } // Token: 0x06009F29 RID: 40745 RVA: 0x0020C938 File Offset: 0x0020AB38 [Token(Token = "0x6009F29")] [Address(RVA = "0x655E50", Offset = "0x654E50", VA = "0x180655E50")] private void CheckExcludedDN(ISet excluded, Asn1Sequence dns) { /* An exception occurred when decompiling this method (06009F29) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedDN(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Sequence) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_0B: stloc:PkixNameConstraintValidatorException(var_2_15, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject distinguished name is from an excluded subtree"))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F2A RID: 40746 RVA: 0x0020C95C File Offset: 0x0020AB5C [Token(Token = "0x6009F2A")] [Address(RVA = "0x657470", Offset = "0x656470", VA = "0x180657470")] private ISet IntersectDN(ISet permitted, ISet dns) { Asn1Sequence asn1Sequence; for (;;) { HashSet hashSet = new HashSet(); if (hashSet == 0) { goto IL_43; } if (hashSet != 0 && hashSet != 0) { IDictionary impl = hashSet.impl; if (permitted == 0) { break; } while (asn1Sequence == 0) { } if (PkixNameConstraintValidator.WithinDNSubtree(asn1Sequence, asn1Sequence) || PkixNameConstraintValidator.WithinDNSubtree(asn1Sequence, asn1Sequence)) { break; } } } while (asn1Sequence == 0) { } IL_43: throw new NullReferenceException(); } // Token: 0x06009F2B RID: 40747 RVA: 0x0020C9B4 File Offset: 0x0020ABB4 [Token(Token = "0x6009F2B")] [Address(RVA = "0x659980", Offset = "0x658980", VA = "0x180659980")] private ISet UnionDN(ISet excluded, Asn1Sequence dn) { int num; do { HashSet hashSet = new HashSet(); num = 0; if (num < excluded) { num += num; num++; } int num2 = 0; if (hashSet == 0) { goto IL_52; } if (num < num2) { num += num; num++; } if (num == 0) { num += 19; num++; num += 19; } } while (num == 0); if (PkixNameConstraintValidator.WithinDNSubtree(dn, num) || !PkixNameConstraintValidator.WithinDNSubtree(num, dn)) { } IL_52: if (dn != 0) { } throw new NullReferenceException(); } // Token: 0x06009F2C RID: 40748 RVA: 0x0020CA1C File Offset: 0x0020AC1C [Token(Token = "0x6009F2C")] [Address(RVA = "0x6576E0", Offset = "0x6566E0", VA = "0x1806576E0")] private ISet IntersectEmail(ISet permitted, ISet emails) { HashSet hashSet; string @string; for (;;) { hashSet = new HashSet(); if (hashSet == 0) { goto IL_4C; } if (hashSet != 0 && hashSet != 0) { IDictionary impl = hashSet.impl; DerIA5String derIA5String; @string = derIA5String.GetString(); if (permitted == 0) { break; } while (@string == 0) { } if (@string == 0 || @string != 0) { goto IL_3C; } } } IL_47: while (@string == 0) { } goto IL_4C; IL_3C: this.intersectEmail(@string, @string, hashSet); goto IL_47; IL_4C: throw new NullReferenceException(); } // Token: 0x06009F2D RID: 40749 RVA: 0x0020CA7C File Offset: 0x0020AC7C [Token(Token = "0x6009F2D")] [Address(RVA = "0x659C00", Offset = "0x658C00", VA = "0x180659C00")] private ISet UnionEmail(ISet excluded, string email) { HashSet hashSet; int num; do { hashSet = new HashSet(); num = 0; if (num < excluded) { num += num; num++; } int num2 = 0; if (hashSet == 0) { goto IL_4D; } if (num < num2) { num += num; num++; } } while (num != 0 && num == 0); this.unionEmail(num, email, hashSet); num += num; num += 19; num += num; num++; num += 19; IL_4D: if (email != 0) { } throw new NullReferenceException(); } // Token: 0x06009F2E RID: 40750 RVA: 0x0020CAE0 File Offset: 0x0020ACE0 [Token(Token = "0x6009F2E")] [Address(RVA = "0x657E30", Offset = "0x656E30", VA = "0x180657E30")] private ISet IntersectIP(ISet permitted, ISet ips) { HashSet hashSet; do { hashSet = new HashSet(); if (hashSet == 0) { goto IL_34; } } while (hashSet == 0 || hashSet == 0); IDictionary impl = hashSet.impl; Asn1OctetString asn1OctetString; Stream octetStream = asn1OctetString.GetOctetStream(); if (permitted != 0) { while (octetStream == 0) { } } while (octetStream == 0) { } IL_34: throw new NullReferenceException(); } // Token: 0x06009F2F RID: 40751 RVA: 0x0020CB28 File Offset: 0x0020AD28 [Token(Token = "0x6009F2F")] [Address(RVA = "0x659ED0", Offset = "0x658ED0", VA = "0x180659ED0")] private ISet UnionIP(ISet excluded, byte[] ip) { int num; do { HashSet hashSet = new HashSet(); num = 0; if (num < excluded) { num += num; num++; } int num2 = 0; if (hashSet == 0) { goto IL_57; } if (num < num2) { num += num; num++; } if (num == 0) { num += 19; num++; num += 19; } } while (num == 0); HashSet hashSet2 = new HashSet(); bool flag; if (!flag) { } if (num < hashSet2) { num += num; num++; } hashSet2 += hashSet2; IL_57: if (ip != 0) { } throw new NullReferenceException(); } // Token: 0x06009F30 RID: 40752 RVA: 0x0020CB98 File Offset: 0x0020AD98 [Token(Token = "0x6009F30")] [Address(RVA = "0x659E10", Offset = "0x658E10", VA = "0x180659E10")] private ISet UnionIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2) { HashSet hashSet = new HashSet(); if (!Arrays.AreEqual(ipWithSubmask1, ipWithSubmask2)) { } throw new NullReferenceException(); } // Token: 0x06009F31 RID: 40753 RVA: 0x0020CBBC File Offset: 0x0020ADBC [Token(Token = "0x6009F31")] [Address(RVA = "0x657A60", Offset = "0x656A60", VA = "0x180657A60")] private ISet IntersectIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2) { int length = ipWithSubmask2.Length; if (ipWithSubmask1.Length == length) { byte[][] array = this.ExtractIPsAndSubnetMasks(ipWithSubmask1, ipWithSubmask2); int length2 = array.Length; byte[] array2 = array[1]; byte[] array3 = array[3]; byte[] array4 = array[2]; byte[] array5 = array[0]; byte[][] array6 = this.MinMaxIPs(array5, array2, array4, array3); int length3 = array6.Length; byte[] array7 = array6[1]; byte[] array8 = array6[3]; int num = 0; int num2 = 0; int length4 = array7.Length; if (num2 < length4) { num++; } byte[] array9 = array6[2]; byte[] array10 = PkixNameConstraintValidator.Max(array6[0], array9); if (Arrays.AreEqual(array10, array8) || !Arrays.AreEqual(PkixNameConstraintValidator.Max(array10, array8), array10)) { int length5 = array6.Length; byte[] array11 = array6[2]; byte[] array12 = PkixNameConstraintValidator.Or(array6[0], array11); byte[] array13 = PkixNameConstraintValidator.Or(array2, array3); HashSet hashSet = new HashSet(); int num3 = 0; int length6 = array12.Length; byte[] array14 = new byte[num3]; int num4 = 0; int num5 = 0; Array.Copy(array12, num5, array14, num4, length6); int num6 = 0; Array.Copy(array13, num6, array14, length6, length6); } } HashSet hashSet2 = new HashSet(); throw new NullReferenceException(); } // Token: 0x06009F32 RID: 40754 RVA: 0x0020CD14 File Offset: 0x0020AF14 [Token(Token = "0x6009F32")] [Address(RVA = "0x658680", Offset = "0x657680", VA = "0x180658680")] private byte[] IpWithSubnetMask(byte[] ip, byte[] subnetMask) { int length = ip.Length; byte[] array = new byte[ip]; int num = 0; int num2 = 0; Array.Copy(ip, num2, array, num, length); int num3 = 0; Array.Copy(subnetMask, num3, array, length, length); return array; } // Token: 0x06009F33 RID: 40755 RVA: 0x0020CD54 File Offset: 0x0020AF54 [Token(Token = "0x6009F33")] [Address(RVA = "0x656F70", Offset = "0x655F70", VA = "0x180656F70")] private byte[][] ExtractIPsAndSubnetMasks(byte[] ipWithSubmask1, byte[] ipWithSubmask2) { int num = ipWithSubmask1.Length; num -= ipWithSubmask1; byte[] array = new byte[num]; byte[] array2 = new byte[num]; int num2 = 0; int num3 = 0; Array.Copy(ipWithSubmask1, num3, array, num2, num); int num4 = 0; Array.Copy(ipWithSubmask1, num, array2, num4, num); byte[] array3 = new byte[num]; byte[] array4 = new byte[num]; int num5 = 0; int num6 = 0; Array.Copy(ipWithSubmask2, num6, array3, num5, num); int num7 = 0; Array.Copy(ipWithSubmask2, num, array4, num7, num); byte[][] array5 = new byte[0][]; if (array != 0) { } array5[0] = array; if (array2 != 0) { } array5[1] = array2; if (array3 != 0) { } array5[2] = array3; if (array4 != 0) { } array5[3] = array4; return array5; } // Token: 0x06009F34 RID: 40756 RVA: 0x0020CE18 File Offset: 0x0020B018 [Token(Token = "0x6009F34")] [Address(RVA = "0x658A80", Offset = "0x657A80", VA = "0x180658A80")] private byte[][] MinMaxIPs(byte[] ip1, byte[] subnetmask1, byte[] ip2, byte[] subnetmask2) { int length = ip1.Length; byte[] array = new byte[length]; byte[] array2 = new byte[length]; byte[] array3 = new byte[length]; byte[] array4 = new byte[length]; int num = 0; if (length > 0) { num++; } byte[][] array5 = new byte[4][]; if (array != 0) { } array5[0] = array; if (array2 != 0) { } array5[1] = array2; if (array3 != 0) { } array5[2] = array3; if (array4 != 0) { } array5[3] = array4; return array5; } // Token: 0x06009F35 RID: 40757 RVA: 0x0020CE9C File Offset: 0x0020B09C [Token(Token = "0x6009F35")] [Address(RVA = "0x6564B0", Offset = "0x6554B0", VA = "0x1806564B0")] private void CheckPermittedEmail(ISet permitted, string email) { /* An exception occurred when decompiling this method (06009F35) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedEmail(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_25: stloc:PkixNameConstraintValidatorException(var_1_2F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject email address is not from a permitted subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F36 RID: 40758 RVA: 0x0020CED8 File Offset: 0x0020B0D8 [Token(Token = "0x6009F36")] [Address(RVA = "0x655FA0", Offset = "0x654FA0", VA = "0x180655FA0")] private void CheckExcludedEmail(ISet excluded, string email) { /* An exception occurred when decompiling this method (06009F36) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedEmail(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_12: stloc:PkixNameConstraintValidatorException(var_1_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Email address is from an excluded subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F37 RID: 40759 RVA: 0x0020CF04 File Offset: 0x0020B104 [Token(Token = "0x6009F37")] [Address(RVA = "0x6565E0", Offset = "0x6555E0", VA = "0x1806565E0")] private void CheckPermittedIP(ISet permitted, byte[] ip) { if (permitted != 0) { bool flag; while (!flag) { } } } // Token: 0x06009F38 RID: 40760 RVA: 0x0020CF34 File Offset: 0x0020B134 [Token(Token = "0x6009F38")] [Address(RVA = "0x65A7A0", Offset = "0x6597A0", VA = "0x18065A7A0")] private void checkExcludedIP(ISet excluded, byte[] ip) { /* An exception occurred when decompiling this method (06009F38) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedIP(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_05: stloc:PkixNameConstraintValidatorException(var_1_0F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("IP is from an excluded subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F39 RID: 40761 RVA: 0x0020CF50 File Offset: 0x0020B150 [Token(Token = "0x6009F39")] [Address(RVA = "0x658730", Offset = "0x657730", VA = "0x180658730")] private bool IsIPConstrained(byte[] ip, byte[] constraint) { int num = constraint.Length; int length = ip.Length; num -= ip; if (length == num) { byte[] array = new byte[length]; int num2 = 0; int num3 = 0; Array.Copy(constraint, length, array, num3, length); byte[] array2 = new byte[length]; byte[] array3 = new byte[length]; if (length > 0) { num2++; } return Arrays.AreEqual(array2, array3); } throw new NullReferenceException(); } // Token: 0x06009F3A RID: 40762 RVA: 0x0020CFB4 File Offset: 0x0020B1B4 [Token(Token = "0x6009F3A")] [Address(RVA = "0x656A90", Offset = "0x655A90", VA = "0x180656A90")] private bool EmailIsConstrained(string email, string constraint) { string text; for (;;) { int num2; int num = num2 + 1; text = email.Substring(num); int num3; if (num3 == -1) { break; } string text3; string text2 = Platform.ToUpperInvariant(text3); string text4 = Platform.ToUpperInvariant(constraint); if (!text2.Equals(text4)) { goto IL_65; } } int num4 = 0; char c = constraint[num4]; if (this.WithinDomain(text, constraint)) { return true; } IL_65: throw new NullReferenceException(); } // Token: 0x06009F3B RID: 40763 RVA: 0x0020D02C File Offset: 0x0020B22C [Token(Token = "0x6009F3B")] [Address(RVA = "0x65A320", Offset = "0x659320", VA = "0x18065A320")] private bool WithinDomain(string testDomain, string domain) { uint num3; for (;;) { if (Platform.StartsWith(domain, ".")) { string text = domain.Substring(1); } uint num; char[] array = new char[] { (char)num }; string[] array2 = domain.Split(array); char[] array3 = new char[array]; array3[0] = (char)num; string[] array4 = testDomain.Split(array3); int num2 = array4.Length; int length = array2.Length; string text2; if (num2 > length) { num2 -= length; int length2 = array2.Length; if (num3 >= (uint)length2) { goto IL_CE; } int length3 = array4.Length; if (num3 != (uint)(-1)) { text2 = array4[(int)num3]; string text3 = array2[(int)num3]; if (Platform.EqualsIgnoreCase(text2, text3)) { break; } } } IL_AB: int num4 = num2 - 1; if (!text2.Equals("")) { break; } continue; goto IL_AB; } num3 += (uint)1; IL_CE: throw new NullReferenceException(); } // Token: 0x06009F3C RID: 40764 RVA: 0x0020D10C File Offset: 0x0020B30C [Token(Token = "0x6009F3C")] [Address(RVA = "0x6560D0", Offset = "0x6550D0", VA = "0x1806560D0")] private void CheckPermittedDNS(ISet permitted, string dns) { /* An exception occurred when decompiling this method (06009F3C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedDNS(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3D: stloc:PkixNameConstraintValidatorException(var_3_47, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("DNS is not from a permitted subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F3D RID: 40765 RVA: 0x0020D160 File Offset: 0x0020B360 [Token(Token = "0x6009F3D")] [Address(RVA = "0x65A640", Offset = "0x659640", VA = "0x18065A640")] private void checkExcludedDNS(ISet excluded, string dns) { /* An exception occurred when decompiling this method (06009F3D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedDNS(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1C: stloc:PkixNameConstraintValidatorException(var_1_26, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("DNS is from an excluded subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F3E RID: 40766 RVA: 0x0020D194 File Offset: 0x0020B394 [Token(Token = "0x6009F3E")] [Address(RVA = "0x65C5E0", Offset = "0x65B5E0", VA = "0x18065C5E0")] private void unionEmail(string email1, string email2, ISet union) { int num; if (num == -1) { if (!Platform.StartsWith(email1, ".")) { int num2; if (num2 != -1 || (!Platform.StartsWith(email2, ".") && Platform.EqualsIgnoreCase(email1, email2)) || !this.WithinDomain(email1, email2)) { } int num4; int num3 = num4 + 1; string text = email2.Substring(num3); } int num5; if (num5 == -1) { if (!Platform.StartsWith(email2, ".")) { bool flag = this.WithinDomain(email2, email1); } if (!this.WithinDomain(email1, email2) && !Platform.EqualsIgnoreCase(email1, email2)) { bool flag2 = this.WithinDomain(email2, email1); } } int num7; int num6 = num7 + 1; string text2 = email2.Substring(num6); bool flag3 = this.WithinDomain(text2, email1); } int num9; int num8 = num9 + 1; string text3 = email1.Substring(num8); int num10; while (num10 != -1) { } if (!Platform.StartsWith(email2, ".")) { bool flag4 = Platform.EqualsIgnoreCase(text3, email2); } throw new NullReferenceException(); } // Token: 0x06009F3F RID: 40767 RVA: 0x0020D274 File Offset: 0x0020B474 [Token(Token = "0x6009F3F")] [Address(RVA = "0x65CB80", Offset = "0x65BB80", VA = "0x18065CB80")] private void unionURI(string email1, string email2, ISet union) { int num; if (num == -1) { if (!Platform.StartsWith(email1, ".")) { int num2; if (num2 != -1 || (!Platform.StartsWith(email2, ".") && Platform.EqualsIgnoreCase(email1, email2)) || !this.WithinDomain(email1, email2)) { } int num4; int num3 = num4 + 1; string text = email2.Substring(num3); } int num5; if (num5 == -1) { if (!Platform.StartsWith(email2, ".")) { bool flag = this.WithinDomain(email2, email1); } if (!this.WithinDomain(email1, email2) && !Platform.EqualsIgnoreCase(email1, email2)) { bool flag2 = this.WithinDomain(email2, email1); } } int num7; int num6 = num7 + 1; string text2 = email2.Substring(num6); bool flag3 = this.WithinDomain(text2, email1); } int num9; int num8 = num9 + 1; string text3 = email1.Substring(num8); int num10; while (num10 != -1) { } if (!Platform.StartsWith(email2, ".")) { bool flag4 = Platform.EqualsIgnoreCase(text3, email2); } throw new NullReferenceException(); } // Token: 0x06009F40 RID: 40768 RVA: 0x0020D354 File Offset: 0x0020B554 [Token(Token = "0x6009F40")] [Address(RVA = "0x65B7C0", Offset = "0x65A7C0", VA = "0x18065B7C0")] private ISet intersectDNS(ISet permitted, ISet dnss) { string @string; for (;;) { HashSet hashSet = new HashSet(); if (hashSet == 0) { goto IL_58; } if (hashSet != 0 && hashSet != 0) { IDictionary impl = hashSet.impl; DerIA5String derIA5String; @string = derIA5String.GetString(); if (permitted == 0) { break; } while (@string == 0) { } if ((@string == 0 || @string != 0) && (this.WithinDomain(@string, @string) || this.WithinDomain(@string, @string))) { break; } } } while (@string == 0) { } IL_58: throw new NullReferenceException(); } // Token: 0x06009F41 RID: 40769 RVA: 0x0020D3C0 File Offset: 0x0020B5C0 [Token(Token = "0x6009F41")] [Address(RVA = "0x65C370", Offset = "0x65B370", VA = "0x18065C370")] protected ISet unionDNS(ISet excluded, string dns) { int num; do { HashSet hashSet = new HashSet(); num = 0; if (num < excluded) { num += num; num++; } int num2 = 0; if (hashSet == 0) { goto IL_44; } if (num < num2) { num += num; num++; } } while (num != 0 && num == 0); if (this.WithinDomain(num, dns) || !this.WithinDomain(dns, num)) { } IL_44: if (dns != 0) { } throw new NullReferenceException(); } // Token: 0x06009F42 RID: 40770 RVA: 0x0020D41C File Offset: 0x0020B61C [Token(Token = "0x6009F42")] [Address(RVA = "0x65BA50", Offset = "0x65AA50", VA = "0x18065BA50")] private void intersectEmail(string email1, string email2, ISet intersect) { int num; while (num == -1) { if (!Platform.StartsWith(email1, ".")) { int num2; if (num2 == -1) { if (!Platform.StartsWith(email2, ".")) { if (Platform.EqualsIgnoreCase(email1, email2)) { } return; } bool flag = this.WithinDomain(email1, email2); } int num4; int num3 = num4 + 1; bool flag2 = Platform.EqualsIgnoreCase(email2.Substring(num3), email1); } int num5; if (num5 == -1) { if (!Platform.StartsWith(email2, ".")) { } if (this.WithinDomain(email1, email2) || Platform.EqualsIgnoreCase(email1, email2)) { continue; } } int num7; int num6 = num7 + 1; string text = email2.Substring(num6); if (this.WithinDomain(text, email1)) { break; } } int num9; int num8 = num9 + 1; string text2 = email1.Substring(num8); int num10; while (num10 != -1) { } if (!Platform.StartsWith(email2, ".")) { } bool flag3 = this.WithinDomain(text2, email2); throw new NullReferenceException(); } // Token: 0x06009F43 RID: 40771 RVA: 0x0020D4F4 File Offset: 0x0020B6F4 [Token(Token = "0x6009F43")] [Address(RVA = "0x65A8E0", Offset = "0x6598E0", VA = "0x18065A8E0")] private void checkExcludedURI(ISet excluded, string uri) { /* An exception occurred when decompiling this method (06009F43) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedURI(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_12: stloc:PkixNameConstraintValidatorException(var_1_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("URI is from an excluded subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F44 RID: 40772 RVA: 0x0020D520 File Offset: 0x0020B720 [Token(Token = "0x6009F44")] [Address(RVA = "0x65BDB0", Offset = "0x65ADB0", VA = "0x18065BDB0")] private ISet intersectURI(ISet permitted, ISet uris) { HashSet hashSet; string @string; for (;;) { hashSet = new HashSet(); if (hashSet == 0) { goto IL_4C; } if (hashSet != 0 && hashSet != 0) { IDictionary impl = hashSet.impl; DerIA5String derIA5String; @string = derIA5String.GetString(); if (permitted == 0) { break; } while (@string == 0) { } if (@string == 0 || @string != 0) { goto IL_3C; } } } IL_47: while (@string == 0) { } goto IL_4C; IL_3C: this.intersectURI(@string, @string, hashSet); goto IL_47; IL_4C: throw new NullReferenceException(); } // Token: 0x06009F45 RID: 40773 RVA: 0x0020D580 File Offset: 0x0020B780 [Token(Token = "0x6009F45")] [Address(RVA = "0x65C970", Offset = "0x65B970", VA = "0x18065C970")] private ISet unionURI(ISet excluded, string uri) { HashSet hashSet; int num; do { hashSet = new HashSet(); num = 0; if (num < excluded) { num += num; num++; } int num2 = 0; if (hashSet == 0) { goto IL_4D; } if (num < num2) { num += num; num++; } } while (num != 0 && num == 0); this.unionURI(num, uri, hashSet); num += num; num += 19; num += num; num++; num += 19; IL_4D: if (uri != 0) { } throw new NullReferenceException(); } // Token: 0x06009F46 RID: 40774 RVA: 0x0020D5E4 File Offset: 0x0020B7E4 [Token(Token = "0x6009F46")] [Address(RVA = "0x65C010", Offset = "0x65B010", VA = "0x18065C010")] private void intersectURI(string email1, string email2, ISet intersect) { int num; while (num == -1) { if (!Platform.StartsWith(email1, ".")) { int num2; if (num2 == -1) { if (!Platform.StartsWith(email2, ".")) { if (Platform.EqualsIgnoreCase(email1, email2)) { } return; } bool flag = this.WithinDomain(email1, email2); } int num4; int num3 = num4 + 1; bool flag2 = Platform.EqualsIgnoreCase(email2.Substring(num3), email1); } int num5; if (num5 == -1) { if (!Platform.StartsWith(email2, ".")) { } if (this.WithinDomain(email1, email2) || Platform.EqualsIgnoreCase(email1, email2)) { continue; } } int num7; int num6 = num7 + 1; string text = email2.Substring(num6); if (this.WithinDomain(text, email1)) { break; } } int num9; int num8 = num9 + 1; string text2 = email1.Substring(num8); int num10; while (num10 != -1) { } if (!Platform.StartsWith(email2, ".")) { } bool flag3 = this.WithinDomain(text2, email2); throw new NullReferenceException(); } // Token: 0x06009F47 RID: 40775 RVA: 0x0020D6BC File Offset: 0x0020B8BC [Token(Token = "0x6009F47")] [Address(RVA = "0x656730", Offset = "0x655730", VA = "0x180656730")] private void CheckPermittedURI(ISet permitted, string uri) { /* An exception occurred when decompiling this method (06009F47) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedURI(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_25: stloc:PkixNameConstraintValidatorException(var_1_2F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("URI is not from a permitted subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F48 RID: 40776 RVA: 0x0020D6F8 File Offset: 0x0020B8F8 [Token(Token = "0x6009F48")] [Address(RVA = "0x658920", Offset = "0x657920", VA = "0x180658920")] private bool IsUriConstrained(string uri, string constraint) { string text; for (;;) { text = PkixNameConstraintValidator.ExtractHostFromURL(uri); if (Platform.StartsWith(constraint, ".")) { break; } if (!Platform.EqualsIgnoreCase(text, constraint)) { return; } } if (this.WithinDomain(text, constraint)) { return true; } } // Token: 0x06009F49 RID: 40777 RVA: 0x0020D734 File Offset: 0x0020B934 [Token(Token = "0x6009F49")] [Address(RVA = "0x656DF0", Offset = "0x655DF0", VA = "0x180656DF0")] private static string ExtractHostFromURL(string url) { string text4; int num10; do { int num2; int num = num2 + 1; string text = url.Substring(num); if (Platform.IndexOf(text, "//") != -1) { } int num3; string text2; if (num3 != -1) { int num4 = 0; int num5; text2 = text.Substring(num4, num5); } int num7; int num6 = num7 + 1; string text3 = text2.Substring(num6); int num9; int num8 = num9 + 1; text4 = text3.Substring(num8); } while (num10 == -1); int num11 = 0; int num12; return text4.Substring(num11, num12); } // Token: 0x06009F4A RID: 40778 RVA: 0x0020D7AC File Offset: 0x0020B9AC [Token(Token = "0x6009F4A")] [Address(RVA = "0x65B0D0", Offset = "0x65A0D0", VA = "0x18065B0D0")] public void checkPermitted(GeneralName name) { /* An exception occurred when decompiling this method (06009F4A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkPermitted(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.GeneralName) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_182: stloc:PkixNameConstraintValidatorException(var_29_18C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("IP is not from a permitted subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F4B RID: 40779 RVA: 0x0020D948 File Offset: 0x0020BB48 [Token(Token = "0x6009F4B")] [Address(RVA = "0x65AA10", Offset = "0x659A10", VA = "0x18065AA10")] public void checkExcluded(GeneralName name) { /* An exception occurred when decompiling this method (06009F4B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcluded(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.GeneralName) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_14C: stloc:PkixNameConstraintValidatorException(var_19_156, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Email address is from an excluded subtree."))) } 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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 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: 0x06009F4C RID: 40780 RVA: 0x0020DAAC File Offset: 0x0020BCAC [Token(Token = "0x6009F4C")] [Address(RVA = "0x658080", Offset = "0x657080", VA = "0x180658080")] public void IntersectPermittedSubtree(Asn1Sequence permitted) { IDictionary dictionary = Platform.CreateHashtable(); int num = 0; num += num; num++; int num2 = 0; if (dictionary != 0) { if (num < num2) { num += num; num++; } int tag = GeneralSubtree.GetInstance(num).baseName.tag; uint num3; if (num < (int)num3) { num += num; num++; } if (num == 0) { HashSet hashSet = new HashSet(); } } if (num < dictionary) { num += num; num++; } int num4 = 0; if (num != 0) { if (num < num4) { num += num; num++; } int i = num; while (i > 6) { } i += 19; i++; i += 19; ISet set; this.permittedSubtreesEmail = set; ISet set2 = this.permittedSubtreesDNS; ISet set3 = this.intersectDNS(set2, set); this.permittedSubtreesDNS = set3; ISet set4 = this.permittedSubtreesDN; ISet set5 = this.IntersectDN(set4, set3); this.permittedSubtreesDN = set5; ISet set6 = this.permittedSubtreesURI; ISet set7 = this.intersectURI(set6, set5); this.permittedSubtreesURI = set7; ISet set8 = this.permittedSubtreesIP; ISet set9 = this.IntersectIP(set8, set7); this.permittedSubtreesIP = set9; } } // Token: 0x06009F4D RID: 40781 RVA: 0x0020DBC8 File Offset: 0x0020BDC8 [Token(Token = "0x6009F4D")] [Address(RVA = "0x6571F0", Offset = "0x6561F0", VA = "0x1806571F0")] private string ExtractNameAsString(GeneralName name) { Asn1Object asn1Object = DerIA5String.GetInstance(name.obj).ToAsn1Object(); throw new NullReferenceException(); } // Token: 0x06009F4E RID: 40782 RVA: 0x0020DBEC File Offset: 0x0020BDEC [Token(Token = "0x6009F4E")] [Address(RVA = "0x657930", Offset = "0x656930", VA = "0x180657930")] public void IntersectEmptyPermittedSubtree(int nameType) { if (nameType - 1 <= 6) { HashSet hashSet = new HashSet(); this.permittedSubtreesEmail = hashSet; return; } } // Token: 0x06009F4F RID: 40783 RVA: 0x0020DC48 File Offset: 0x0020BE48 [Token(Token = "0x6009F4F")] [Address(RVA = "0x655B40", Offset = "0x654B40", VA = "0x180655B40")] public void AddExcludedSubtree(GeneralSubtree subtree) { GeneralName baseName = subtree.baseName; if (baseName.tag <= 6) { ISet set = this.excludedSubtreesEmail; string text = this.ExtractNameAsString(baseName); ISet set2 = this.UnionEmail(set, text); this.excludedSubtreesEmail = set2; } } // Token: 0x06009F50 RID: 40784 RVA: 0x0020DD00 File Offset: 0x0020BF00 [Token(Token = "0x6009F50")] [Address(RVA = "0x658A00", Offset = "0x657A00", VA = "0x180658A00")] private static byte[] Max(byte[] ip1, byte[] ip2) { int num = 0; int length = ip1.Length; if (num < length) { num++; return ip1; } return ip2; } // Token: 0x06009F51 RID: 40785 RVA: 0x0020DD28 File Offset: 0x0020BF28 [Token(Token = "0x6009F51")] [Address(RVA = "0x658E80", Offset = "0x657E80", VA = "0x180658E80")] private static byte[] Min(byte[] ip1, byte[] ip2) { int num = 0; int length = ip1.Length; if (num < length) { num++; return ip1; } return ip2; } // Token: 0x06009F52 RID: 40786 RVA: 0x0020DD50 File Offset: 0x0020BF50 [Token(Token = "0x6009F52")] [Address(RVA = "0x6569C0", Offset = "0x6559C0", VA = "0x1806569C0")] private static int CompareTo(byte[] ip1, byte[] ip2) { if (!Arrays.AreEqual(ip1, ip2)) { bool flag = Arrays.AreEqual(PkixNameConstraintValidator.Max(ip1, ip2), ip1); return -1; } return 0; } // Token: 0x06009F53 RID: 40787 RVA: 0x0020DD78 File Offset: 0x0020BF78 [Token(Token = "0x6009F53")] [Address(RVA = "0x658F00", Offset = "0x657F00", VA = "0x180658F00")] private static byte[] Or(byte[] ip1, byte[] ip2) { byte[] array = new byte[ip1.Length]; int num = 0; int length = ip1.Length; if (num < length) { num++; } return array; } // Token: 0x06009F54 RID: 40788 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F54")] [Address(RVA = "0x657330", Offset = "0x656330", VA = "0x180657330")] [Obsolete] public int HashCode() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06009F55 RID: 40789 RVA: 0x0020DDAC File Offset: 0x0020BFAC [Token(Token = "0x6009F55")] [Address(RVA = "0x657230", Offset = "0x656230", VA = "0x180657230", Slot = "2")] public override int GetHashCode() { ISet set = this.excludedSubtreesDN; int num = this.HashCollection(set); ISet set2 = this.excludedSubtreesDNS; int num2 = this.HashCollection(set2); ISet set3 = this.excludedSubtreesEmail; int num3 = this.HashCollection(set3); ISet set4 = this.excludedSubtreesIP; int num4 = this.HashCollection(set4); ISet set5 = this.excludedSubtreesURI; int num5 = this.HashCollection(set5); ISet set6 = this.permittedSubtreesDN; int num6 = this.HashCollection(set6); ISet set7 = this.permittedSubtreesDNS; int num7 = this.HashCollection(set7); ISet set8 = this.permittedSubtreesEmail; int num8 = this.HashCollection(set8); ISet set9 = this.permittedSubtreesIP; int num9 = this.HashCollection(set9); ISet set10 = this.permittedSubtreesURI; int num10 = this.HashCollection(set10); num10 += num9; num10 += num8; num10 += num7; num10 += num6; num10 += num5; num10 += num4; return num10 + num3; } // Token: 0x06009F56 RID: 40790 RVA: 0x0020DE9C File Offset: 0x0020C09C [Token(Token = "0x6009F56")] [Address(RVA = "0x657350", Offset = "0x656350", VA = "0x180657350")] private int HashCollection(ICollection coll) { if (coll != 0) { int num = 0; int num2; return num + num2; } return 0; } // Token: 0x06009F57 RID: 40791 RVA: 0x0020DEBC File Offset: 0x0020C0BC [Token(Token = "0x6009F57")] [Address(RVA = "0x656C20", Offset = "0x655C20", VA = "0x180656C20", Slot = "0")] public override bool Equals(object o) { while (o != 0 && o != 0) { if (o != 0) { bool flag; bool flag2; bool flag3; bool flag4; bool flag5; bool flag6; bool flag7; bool flag8; bool flag9; if (flag && flag2 && flag3 && flag4 && flag5 && flag6 && flag7 && flag8 && flag9) { bool flag10; return flag10; } return; } } } // Token: 0x06009F58 RID: 40792 RVA: 0x0020DF0C File Offset: 0x0020C10C [Token(Token = "0x6009F58")] [Address(RVA = "0x656860", Offset = "0x655860", VA = "0x180656860")] private bool CollectionsAreEqual(ICollection coll1, ICollection coll2) { if (coll1 != coll2 && coll1 != 0 && coll2 != 0) { bool flag; while (!flag) { } } return true; } // Token: 0x06009F59 RID: 40793 RVA: 0x0020DF30 File Offset: 0x0020C130 [Token(Token = "0x6009F59")] [Address(RVA = "0x658FD0", Offset = "0x657FD0", VA = "0x180658FD0")] private bool SpecialEquals(object o1, object o2) { if (o1 != o2) { if (o1 != 0 && o2 != 0) { bool flag; return flag; } } return true; } // Token: 0x06009F5A RID: 40794 RVA: 0x0020DF50 File Offset: 0x0020C150 [Token(Token = "0x6009F5A")] [Address(RVA = "0x659420", Offset = "0x658420", VA = "0x180659420")] private string StringifyIP(byte[] ip) { int num = 0; int num2 = ip.Length; num2 -= ip; if (num < num2) { string text = "" + num + "."; num++; } string text3; string text2 = text3 + "/"; int num3 = ip.Length; num3 -= "/"; string text4; if (num3 < ip.Length) { text4 = text2 + num3 + "."; num3++; } int stringLength = text4.m_stringLength; int num4 = 0; return text4.Substring(num4, stringLength); } // Token: 0x06009F5B RID: 40795 RVA: 0x0020DFE4 File Offset: 0x0020C1E4 [Token(Token = "0x6009F5B")] [Address(RVA = "0x6590D0", Offset = "0x6580D0", VA = "0x1806590D0")] private string StringifyIPCollection(ISet ips) { string text6; int stringLength3; do { string text = "" + "["; int num = 0; if (num < ips) { num += num; num++; } int num2 = 0; if (text != 0) { if (num < num2) { num += num; num++; } if (num == 0) { num += 19; num++; num += 19; } if (num == 0) { continue; } uint num3; num3 -= typeof(byte[]).TypeHandle; string text2; if (num < (int)num3) { text2 = "" + num + "."; num++; } int stringLength = text2.m_stringLength; int num4 = 0; string text3 = text2.Substring(num4, stringLength) + "/"; text3 -= "/"; string text4 = text3 + text3 + "."; int stringLength2 = text4.m_stringLength; int num5 = 0; string text5 = text4.Substring(num5, stringLength2); text6 = text + text5 + ","; } stringLength3 = text6.m_stringLength; } while (stringLength3 <= 1); int num6 = 0; return text6.Substring(num6, stringLength3) + "]"; } // Token: 0x06009F5C RID: 40796 RVA: 0x0020E0F0 File Offset: 0x0020C2F0 [Token(Token = "0x6009F5C")] [Address(RVA = "0x659580", Offset = "0x658580", VA = "0x180659580", Slot = "3")] public override string ToString() { string text20; for (;;) { string text = "" + "permitted:\n"; if (this.permittedSubtreesDN != (ulong)0L) { string text2 = text + "DN:\n"; ISet set = this.permittedSubtreesDN; string text3 = text2 + text2 + "\n"; } string text5; if (this.permittedSubtreesDNS != (ulong)0L) { string text4 = text + "DNS:\n"; ISet set2 = this.permittedSubtreesDNS; text5 = text4 + text4 + "\n"; } string text7; if (this.permittedSubtreesEmail != (ulong)0L) { string text6 = text5 + "Email:\n"; ISet set3 = this.permittedSubtreesEmail; text7 = text6 + text6 + "\n"; } string text9; if (this.permittedSubtreesURI != (ulong)0L) { string text8 = text7 + "URI:\n"; ISet set4 = this.permittedSubtreesURI; text9 = text8 + text8 + "\n"; } if (this.permittedSubtreesIP != (ulong)0L) { string text10 = text9 + "IP:\n"; ISet set5 = this.permittedSubtreesIP; string text11 = this.StringifyIPCollection(set5); string text12 = text10 + text11 + "\n" + "excluded:\n"; ISet set6 = this.excludedSubtreesDN; string text14; if (text12 == 0) { string text13 = text12 + "DN:\n"; ISet set7 = this.excludedSubtreesDN; text14 = text13 + text13 + "\n"; } ISet set8 = this.excludedSubtreesDNS; string text16; if (text14 == 0) { string text15 = text14 + "DNS:\n"; ISet set9 = this.excludedSubtreesDNS; text16 = text15 + text15 + "\n"; } ISet set10 = this.excludedSubtreesEmail; string text18; if (text16 == 0) { string text17 = text16 + "Email:\n"; ISet set11 = this.excludedSubtreesEmail; text18 = text17 + text17 + "\n"; } ISet set12 = this.excludedSubtreesURI; if (text18 == 0) { string text19 = text18 + "URI:\n"; ISet set13 = this.excludedSubtreesURI; text20 = text19 + text19 + "\n"; } ISet set14 = this.excludedSubtreesIP; if (text20 == 0) { break; } } } string text21 = text20 + "IP:\n"; ISet set15 = this.excludedSubtreesIP; string text22 = this.StringifyIPCollection(set15); return text21 + text22 + "\n"; } // Token: 0x04006AA3 RID: 27299 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006AA3")] private ISet excludedSubtreesDN; // Token: 0x04006AA4 RID: 27300 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006AA4")] private ISet excludedSubtreesDNS; // Token: 0x04006AA5 RID: 27301 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006AA5")] private ISet excludedSubtreesEmail; // Token: 0x04006AA6 RID: 27302 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006AA6")] private ISet excludedSubtreesURI; // Token: 0x04006AA7 RID: 27303 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006AA7")] private ISet excludedSubtreesIP; // Token: 0x04006AA8 RID: 27304 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4006AA8")] private ISet permittedSubtreesDN; // Token: 0x04006AA9 RID: 27305 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4006AA9")] private ISet permittedSubtreesDNS; // Token: 0x04006AAA RID: 27306 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4006AAA")] private ISet permittedSubtreesEmail; // Token: 0x04006AAB RID: 27307 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4006AAB")] private ISet permittedSubtreesURI; // Token: 0x04006AAC RID: 27308 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4006AAC")] private ISet permittedSubtreesIP; } }