using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.Authentication { // Token: 0x020019EE RID: 6638 [Token(Token = "0x20019EE")] [StructLayout(3)] public static class DigestStore { // Token: 0x0600B2E0 RID: 45792 RVA: 0x002A15B0 File Offset: 0x0029F7B0 [Token(Token = "0x600B2E0")] [Address(RVA = "0x1A2B440", Offset = "0x1A29E40", VA = "0x181A2B440")] public static Digest Get(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; int num2 = 0; Dictionary digests = DigestStore.Digests; string host = uri.Host; if (digests.TryGetValue(host, num2)) { string host2 = uri.Host; string host3 = uri.Host; bool flag; if (string.CompareOrdinal(host2, host3) == 0 && uri.GetHashCode() != 0 && num < uri.m_originalUnicodeString && !flag) { num++; } } Monitor.Exit(locker); if (num != -1) { } } while (num != 0); throw new NullReferenceException(); } // Token: 0x0600B2E1 RID: 45793 RVA: 0x002A1650 File Offset: 0x0029F850 [Token(Token = "0x600B2E1")] [Address(RVA = "0x1A2B1E0", Offset = "0x1A29BE0", VA = "0x181A2B1E0")] public static Digest GetOrCreate(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; int num2 = 0; Dictionary digests = DigestStore.Digests; string host = uri.Host; if (!digests.TryGetValue(host, num2)) { Dictionary digests2 = DigestStore.Digests; string host2 = uri.Host; Digest digest; digest.k__BackingField = uri; digest.k__BackingField = "md5"; digests2.Add(host2, digest); } Monitor.Exit(locker); if (num != -1) { } } while (num != 0); throw new NullReferenceException(); } // Token: 0x0600B2E2 RID: 45794 RVA: 0x002A16D0 File Offset: 0x0029F8D0 [Token(Token = "0x600B2E2")] [Address(RVA = "0x1A2B6F0", Offset = "0x1A2A0F0", VA = "0x181A2B6F0")] public static void Remove(Uri uri) { int num; do { num = 0; object locker = DigestStore.Locker; Dictionary digests = DigestStore.Digests; string host = uri.Host; bool flag = digests.Remove(host); Monitor.Exit(locker); if (num != -1) { } } while (num != 0); } // Token: 0x0600B2E3 RID: 45795 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B2E3")] [Address(RVA = "0x1A2B000", Offset = "0x1A29A00", VA = "0x181A2B000")] public static string FindBest(List authHeaders) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B2E4 RID: 45796 RVA: 0x002A1718 File Offset: 0x0029F918 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600B2E4")] [Address(RVA = "0x1A2B850", Offset = "0x1A2A250", VA = "0x181A2B850")] static DigestStore() { string[] array = new string[2]; if ("digest" != 0) { } array[0] = "digest"; if ("basic" != 0) { } array[1] = "basic"; DigestStore.SupportedAlgorithms = array; } // Token: 0x040075E0 RID: 30176 [Token(Token = "0x40075E0")] private static Dictionary Digests = new Dictionary(); // Token: 0x040075E1 RID: 30177 [Token(Token = "0x40075E1")] private static object Locker = new object(); // Token: 0x040075E2 RID: 30178 [Token(Token = "0x40075E2")] private static string[] SupportedAlgorithms; } }