using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; 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: 0x020013A4 RID: 5028 [Token(Token = "0x20013A4")] [StructLayout(3)] public class PkixNameConstraintValidator { // Token: 0x06007F7C RID: 32636 RVA: 0x001AC16C File Offset: 0x001AA36C [Token(Token = "0x6007F7C")] [Address(RVA = "0xCE9250", Offset = "0xCE7C50", VA = "0x180CE9250")] 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: 0x06007F7D RID: 32637 RVA: 0x001AC1C4 File Offset: 0x001AA3C4 [Token(Token = "0x6007F7D")] [Address(RVA = "0xCE8EE0", Offset = "0xCE78E0", VA = "0x180CE8EE0")] private static bool WithinDNSubtree(Asn1Sequence dns, Asn1Sequence subtree) { Asn1SequenceParser parser = subtree.Parser; if (dns.Parser != 0) { } throw new NullReferenceException(); } // Token: 0x06007F7E RID: 32638 RVA: 0x001AC1E8 File Offset: 0x001AA3E8 [Token(Token = "0x6007F7E")] [Address(RVA = "0xCE5070", Offset = "0xCE3A70", VA = "0x180CE5070")] public void CheckPermittedDN(Asn1Sequence dns) { Asn1Encodable asn1Encodable; if (this.permittedSubtreesDN != 0 && asn1Encodable != 0) { bool flag; while (!flag) { } } } // Token: 0x06007F7F RID: 32639 RVA: 0x001AC218 File Offset: 0x001AA418 [Token(Token = "0x6007F7F")] [Address(RVA = "0xCE49E0", Offset = "0xCE33E0", VA = "0x180CE49E0")] public void CheckExcludedDN(Asn1Sequence dns) { /* An exception occurred when decompiling this method (06007F7F) 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: 0x06007F80 RID: 32640 RVA: 0x001AC244 File Offset: 0x001AA444 [Token(Token = "0x6007F80")] [Address(RVA = "0xCE4F50", Offset = "0xCE3950", VA = "0x180CE4F50")] private void CheckPermittedDN(ISet permitted, Asn1Sequence dns) { Asn1Encodable asn1Encodable; if (permitted != 0 && asn1Encodable != 0) { bool flag; while (!flag) { } } } // Token: 0x06007F81 RID: 32641 RVA: 0x001AC270 File Offset: 0x001AA470 [Token(Token = "0x6007F81")] [Address(RVA = "0xCE4B30", Offset = "0xCE3530", VA = "0x180CE4B30")] private void CheckExcludedDN(ISet excluded, Asn1Sequence dns) { /* An exception occurred when decompiling this method (06007F81) 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: 0x06007F82 RID: 32642 RVA: 0x001AC294 File Offset: 0x001AA494 [Token(Token = "0x6007F82")] [Address(RVA = "0xCE6150", Offset = "0xCE4B50", VA = "0x180CE6150")] 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: 0x06007F83 RID: 32643 RVA: 0x001AC2EC File Offset: 0x001AA4EC [Token(Token = "0x6007F83")] [Address(RVA = "0xCE8660", Offset = "0xCE7060", VA = "0x180CE8660")] 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: 0x06007F84 RID: 32644 RVA: 0x001AC354 File Offset: 0x001AA554 [Token(Token = "0x6007F84")] [Address(RVA = "0xCE63C0", Offset = "0xCE4DC0", VA = "0x180CE63C0")] 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: 0x06007F85 RID: 32645 RVA: 0x001AC3B4 File Offset: 0x001AA5B4 [Token(Token = "0x6007F85")] [Address(RVA = "0xCE88E0", Offset = "0xCE72E0", VA = "0x180CE88E0")] 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: 0x06007F86 RID: 32646 RVA: 0x001AC418 File Offset: 0x001AA618 [Token(Token = "0x6007F86")] [Address(RVA = "0xCE6B10", Offset = "0xCE5510", VA = "0x180CE6B10")] 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: 0x06007F87 RID: 32647 RVA: 0x001AC460 File Offset: 0x001AA660 [Token(Token = "0x6007F87")] [Address(RVA = "0xCE8BB0", Offset = "0xCE75B0", VA = "0x180CE8BB0")] 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: 0x06007F88 RID: 32648 RVA: 0x001AC4D0 File Offset: 0x001AA6D0 [Token(Token = "0x6007F88")] [Address(RVA = "0xCE8AF0", Offset = "0xCE74F0", VA = "0x180CE8AF0")] private ISet UnionIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2) { HashSet hashSet = new HashSet(); if (!Arrays.AreEqual(ipWithSubmask1, ipWithSubmask2)) { } throw new NullReferenceException(); } // Token: 0x06007F89 RID: 32649 RVA: 0x001AC4F4 File Offset: 0x001AA6F4 [Token(Token = "0x6007F89")] [Address(RVA = "0xCE6740", Offset = "0xCE5140", VA = "0x180CE6740")] 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: 0x06007F8A RID: 32650 RVA: 0x001AC64C File Offset: 0x001AA84C [Token(Token = "0x6007F8A")] [Address(RVA = "0xCE7360", Offset = "0xCE5D60", VA = "0x180CE7360")] 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: 0x06007F8B RID: 32651 RVA: 0x001AC68C File Offset: 0x001AA88C [Token(Token = "0x6007F8B")] [Address(RVA = "0xCE5C50", Offset = "0xCE4650", VA = "0x180CE5C50")] 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: 0x06007F8C RID: 32652 RVA: 0x001AC750 File Offset: 0x001AA950 [Token(Token = "0x6007F8C")] [Address(RVA = "0xCE7760", Offset = "0xCE6160", VA = "0x180CE7760")] 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: 0x06007F8D RID: 32653 RVA: 0x001AC7D4 File Offset: 0x001AA9D4 [Token(Token = "0x6007F8D")] [Address(RVA = "0xCE5190", Offset = "0xCE3B90", VA = "0x180CE5190")] private void CheckPermittedEmail(ISet permitted, string email) { /* An exception occurred when decompiling this method (06007F8D) 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: 0x06007F8E RID: 32654 RVA: 0x001AC810 File Offset: 0x001AAA10 [Token(Token = "0x6007F8E")] [Address(RVA = "0xCE4C80", Offset = "0xCE3680", VA = "0x180CE4C80")] private void CheckExcludedEmail(ISet excluded, string email) { /* An exception occurred when decompiling this method (06007F8E) 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: 0x06007F8F RID: 32655 RVA: 0x001AC83C File Offset: 0x001AAA3C [Token(Token = "0x6007F8F")] [Address(RVA = "0xCE52C0", Offset = "0xCE3CC0", VA = "0x180CE52C0")] private void CheckPermittedIP(ISet permitted, byte[] ip) { if (permitted != 0) { bool flag; while (!flag) { } } } // Token: 0x06007F90 RID: 32656 RVA: 0x001AC86C File Offset: 0x001AAA6C [Token(Token = "0x6007F90")] [Address(RVA = "0xCE9480", Offset = "0xCE7E80", VA = "0x180CE9480")] private void checkExcludedIP(ISet excluded, byte[] ip) { /* An exception occurred when decompiling this method (06007F90) 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: 0x06007F91 RID: 32657 RVA: 0x001AC888 File Offset: 0x001AAA88 [Token(Token = "0x6007F91")] [Address(RVA = "0xCE7410", Offset = "0xCE5E10", VA = "0x180CE7410")] 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: 0x06007F92 RID: 32658 RVA: 0x001AC8EC File Offset: 0x001AAAEC [Token(Token = "0x6007F92")] [Address(RVA = "0xCE5770", Offset = "0xCE4170", VA = "0x180CE5770")] 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: 0x06007F93 RID: 32659 RVA: 0x001AC964 File Offset: 0x001AAB64 [Token(Token = "0x6007F93")] [Address(RVA = "0xCE9000", Offset = "0xCE7A00", VA = "0x180CE9000")] 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: 0x06007F94 RID: 32660 RVA: 0x001ACA44 File Offset: 0x001AAC44 [Token(Token = "0x6007F94")] [Address(RVA = "0xCE4DB0", Offset = "0xCE37B0", VA = "0x180CE4DB0")] private void CheckPermittedDNS(ISet permitted, string dns) { /* An exception occurred when decompiling this method (06007F94) 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: 0x06007F95 RID: 32661 RVA: 0x001ACA98 File Offset: 0x001AAC98 [Token(Token = "0x6007F95")] [Address(RVA = "0xCE9320", Offset = "0xCE7D20", VA = "0x180CE9320")] private void checkExcludedDNS(ISet excluded, string dns) { /* An exception occurred when decompiling this method (06007F95) 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: 0x06007F96 RID: 32662 RVA: 0x001ACACC File Offset: 0x001AACCC [Token(Token = "0x6007F96")] [Address(RVA = "0xCEB0A0", Offset = "0xCE9AA0", VA = "0x180CEB0A0")] 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: 0x06007F97 RID: 32663 RVA: 0x001ACBAC File Offset: 0x001AADAC [Token(Token = "0x6007F97")] [Address(RVA = "0xCEB640", Offset = "0xCEA040", VA = "0x180CEB640")] 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: 0x06007F98 RID: 32664 RVA: 0x001ACC8C File Offset: 0x001AAE8C [Token(Token = "0x6007F98")] [Address(RVA = "0xCEA280", Offset = "0xCE8C80", VA = "0x180CEA280")] 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: 0x06007F99 RID: 32665 RVA: 0x001ACCF8 File Offset: 0x001AAEF8 [Token(Token = "0x6007F99")] [Address(RVA = "0xCEAE30", Offset = "0xCE9830", VA = "0x180CEAE30")] 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: 0x06007F9A RID: 32666 RVA: 0x001ACD54 File Offset: 0x001AAF54 [Token(Token = "0x6007F9A")] [Address(RVA = "0xCEA510", Offset = "0xCE8F10", VA = "0x180CEA510")] 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: 0x06007F9B RID: 32667 RVA: 0x001ACE2C File Offset: 0x001AB02C [Token(Token = "0x6007F9B")] [Address(RVA = "0xCE95C0", Offset = "0xCE7FC0", VA = "0x180CE95C0")] private void checkExcludedURI(ISet excluded, string uri) { /* An exception occurred when decompiling this method (06007F9B) 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: 0x06007F9C RID: 32668 RVA: 0x001ACE58 File Offset: 0x001AB058 [Token(Token = "0x6007F9C")] [Address(RVA = "0xCEA870", Offset = "0xCE9270", VA = "0x180CEA870")] 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: 0x06007F9D RID: 32669 RVA: 0x001ACEB8 File Offset: 0x001AB0B8 [Token(Token = "0x6007F9D")] [Address(RVA = "0xCEB430", Offset = "0xCE9E30", VA = "0x180CEB430")] 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: 0x06007F9E RID: 32670 RVA: 0x001ACF1C File Offset: 0x001AB11C [Token(Token = "0x6007F9E")] [Address(RVA = "0xCEAAD0", Offset = "0xCE94D0", VA = "0x180CEAAD0")] 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: 0x06007F9F RID: 32671 RVA: 0x001ACFF4 File Offset: 0x001AB1F4 [Token(Token = "0x6007F9F")] [Address(RVA = "0xCE5410", Offset = "0xCE3E10", VA = "0x180CE5410")] private void CheckPermittedURI(ISet permitted, string uri) { /* An exception occurred when decompiling this method (06007F9F) 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: 0x06007FA0 RID: 32672 RVA: 0x001AD030 File Offset: 0x001AB230 [Token(Token = "0x6007FA0")] [Address(RVA = "0xCE7600", Offset = "0xCE6000", VA = "0x180CE7600")] 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: 0x06007FA1 RID: 32673 RVA: 0x001AD06C File Offset: 0x001AB26C [Token(Token = "0x6007FA1")] [Address(RVA = "0xCE5AD0", Offset = "0xCE44D0", VA = "0x180CE5AD0")] 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: 0x06007FA2 RID: 32674 RVA: 0x001AD0E4 File Offset: 0x001AB2E4 [Token(Token = "0x6007FA2")] [Address(RVA = "0xCE9C80", Offset = "0xCE8680", VA = "0x180CE9C80")] public void checkPermitted(GeneralName name) { /* An exception occurred when decompiling this method (06007FA2) 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_199: stloc:PkixNameConstraintValidatorException(var_27_1A3, 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: 0x06007FA3 RID: 32675 RVA: 0x001AD298 File Offset: 0x001AB498 [Token(Token = "0x6007FA3")] [Address(RVA = "0xCE96F0", Offset = "0xCE80F0", VA = "0x180CE96F0")] public void checkExcluded(GeneralName name) { while (name.tag <= 6) { ISet set = this.excludedSubtreesEmail; string text = this.ExtractNameAsString(name); if (text != 0 || text == 0) { break; } int num = 0; if ((text == 0 || text != 0) && !this.EmailIsConstrained(text, num)) { ISet set2 = this.excludedSubtreesDNS; string @string = DerIA5String.GetInstance(this).GetString(); if (@string != 0 || @string == 0) { break; } int num2 = 0; if ((@string == 0 || @string != 0) && !this.WithinDomain(@string, num2) && !Platform.EqualsIgnoreCase(@string, num2)) { int num3; Asn1Sequence instance = Asn1Sequence.GetInstance(num3); this.CheckExcludedDN(instance); break; } } } } // Token: 0x06007FA4 RID: 32676 RVA: 0x001AD3A0 File Offset: 0x001AB5A0 [Token(Token = "0x6007FA4")] [Address(RVA = "0xCE6D60", Offset = "0xCE5760", VA = "0x180CE6D60")] 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: 0x06007FA5 RID: 32677 RVA: 0x001AD4BC File Offset: 0x001AB6BC [Token(Token = "0x6007FA5")] [Address(RVA = "0xCE5ED0", Offset = "0xCE48D0", VA = "0x180CE5ED0")] private string ExtractNameAsString(GeneralName name) { Asn1Object asn1Object = DerIA5String.GetInstance(name.obj).ToAsn1Object(); throw new NullReferenceException(); } // Token: 0x06007FA6 RID: 32678 RVA: 0x001AD4E0 File Offset: 0x001AB6E0 [Token(Token = "0x6007FA6")] [Address(RVA = "0xCE6610", Offset = "0xCE5010", VA = "0x180CE6610")] public void IntersectEmptyPermittedSubtree(int nameType) { if (nameType - 1 <= 6) { HashSet hashSet = new HashSet(); this.permittedSubtreesEmail = hashSet; return; } } // Token: 0x06007FA7 RID: 32679 RVA: 0x001AD53C File Offset: 0x001AB73C [Token(Token = "0x6007FA7")] [Address(RVA = "0xCE4820", Offset = "0xCE3220", VA = "0x180CE4820")] 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: 0x06007FA8 RID: 32680 RVA: 0x001AD5F4 File Offset: 0x001AB7F4 [Token(Token = "0x6007FA8")] [Address(RVA = "0xCE76E0", Offset = "0xCE60E0", VA = "0x180CE76E0")] private static byte[] Max(byte[] ip1, byte[] ip2) { int num = 0; int length = ip1.Length; if (num < length) { num++; return ip1; } return ip2; } // Token: 0x06007FA9 RID: 32681 RVA: 0x001AD61C File Offset: 0x001AB81C [Token(Token = "0x6007FA9")] [Address(RVA = "0xCE7B60", Offset = "0xCE6560", VA = "0x180CE7B60")] private static byte[] Min(byte[] ip1, byte[] ip2) { int num = 0; int length = ip1.Length; if (num < length) { num++; return ip1; } return ip2; } // Token: 0x06007FAA RID: 32682 RVA: 0x001AD644 File Offset: 0x001AB844 [Token(Token = "0x6007FAA")] [Address(RVA = "0xCE56A0", Offset = "0xCE40A0", VA = "0x180CE56A0")] 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: 0x06007FAB RID: 32683 RVA: 0x001AD66C File Offset: 0x001AB86C [Token(Token = "0x6007FAB")] [Address(RVA = "0xCE7BE0", Offset = "0xCE65E0", VA = "0x180CE7BE0")] 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: 0x06007FAC RID: 32684 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6007FAC")] [Address(RVA = "0xCE6010", Offset = "0xCE4A10", VA = "0x180CE6010")] [Obsolete] public int HashCode() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06007FAD RID: 32685 RVA: 0x001AD6A0 File Offset: 0x001AB8A0 [Token(Token = "0x6007FAD")] [Address(RVA = "0xCE5F10", Offset = "0xCE4910", VA = "0x180CE5F10", 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: 0x06007FAE RID: 32686 RVA: 0x001AD790 File Offset: 0x001AB990 [Token(Token = "0x6007FAE")] [Address(RVA = "0xCE6030", Offset = "0xCE4A30", VA = "0x180CE6030")] private int HashCollection(ICollection coll) { if (coll != 0) { int num = 0; int num2; return num + num2; } return 0; } // Token: 0x06007FAF RID: 32687 RVA: 0x001AD7B0 File Offset: 0x001AB9B0 [Token(Token = "0x6007FAF")] [Address(RVA = "0xCE5900", Offset = "0xCE4300", VA = "0x180CE5900", 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: 0x06007FB0 RID: 32688 RVA: 0x001AD800 File Offset: 0x001ABA00 [Token(Token = "0x6007FB0")] [Address(RVA = "0xCE5540", Offset = "0xCE3F40", VA = "0x180CE5540")] private bool CollectionsAreEqual(ICollection coll1, ICollection coll2) { if (coll1 != coll2 && coll1 != 0 && coll2 != 0) { bool flag; while (!flag) { } } return true; } // Token: 0x06007FB1 RID: 32689 RVA: 0x001AD824 File Offset: 0x001ABA24 [Token(Token = "0x6007FB1")] [Address(RVA = "0xCE7CB0", Offset = "0xCE66B0", VA = "0x180CE7CB0")] private bool SpecialEquals(object o1, object o2) { if (o1 != o2) { if (o1 != 0 && o2 != 0) { bool flag; return flag; } } return true; } // Token: 0x06007FB2 RID: 32690 RVA: 0x001AD844 File Offset: 0x001ABA44 [Token(Token = "0x6007FB2")] [Address(RVA = "0xCE8100", Offset = "0xCE6B00", VA = "0x180CE8100")] 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: 0x06007FB3 RID: 32691 RVA: 0x001AD8D8 File Offset: 0x001ABAD8 [Token(Token = "0x6007FB3")] [Address(RVA = "0xCE7DB0", Offset = "0xCE67B0", VA = "0x180CE7DB0")] 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: 0x06007FB4 RID: 32692 RVA: 0x001AD9E4 File Offset: 0x001ABBE4 [Token(Token = "0x6007FB4")] [Address(RVA = "0xCE8260", Offset = "0xCE6C60", VA = "0x180CE8260", 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: 0x04005AA7 RID: 23207 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005AA7")] private ISet excludedSubtreesDN; // Token: 0x04005AA8 RID: 23208 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005AA8")] private ISet excludedSubtreesDNS; // Token: 0x04005AA9 RID: 23209 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005AA9")] private ISet excludedSubtreesEmail; // Token: 0x04005AAA RID: 23210 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4005AAA")] private ISet excludedSubtreesURI; // Token: 0x04005AAB RID: 23211 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4005AAB")] private ISet excludedSubtreesIP; // Token: 0x04005AAC RID: 23212 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4005AAC")] private ISet permittedSubtreesDN; // Token: 0x04005AAD RID: 23213 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4005AAD")] private ISet permittedSubtreesDNS; // Token: 0x04005AAE RID: 23214 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4005AAE")] private ISet permittedSubtreesEmail; // Token: 0x04005AAF RID: 23215 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4005AAF")] private ISet permittedSubtreesURI; // Token: 0x04005AB0 RID: 23216 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4005AB0")] private ISet permittedSubtreesIP; } }