using System; using System.IO; using System.Net; using System.Runtime.InteropServices; using System.Text; using BestHTTP.Authentication; using BestHTTP.Extensions; using BestHTTP.Logger; using Cpp2IlInjected; namespace BestHTTP { // Token: 0x020012BB RID: 4795 [Token(Token = "0x20012BB")] [StructLayout(3)] public sealed class SOCKSProxy : Proxy { // Token: 0x06007817 RID: 30743 RVA: 0x0018E518 File Offset: 0x0018C718 [Token(Token = "0x6007817")] [Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")] public SOCKSProxy(Uri address, Credentials credentials) { this.
k__BackingField = address; this.k__BackingField = credentials; } // Token: 0x06007818 RID: 30744 RVA: 0x0018E53C File Offset: 0x0018C73C [Token(Token = "0x6007818")] [Address(RVA = "0x268A500", Offset = "0x2688F00", VA = "0x18268A500", Slot = "5")] internal override string GetRequestPath(Uri uri) { return uri.GetRequestPathAndQueryURL(); } // Token: 0x06007819 RID: 30745 RVA: 0x0018E550 File Offset: 0x0018C750 [Token(Token = "0x6007819")] [Address(RVA = "0x26893E0", Offset = "0x2687DE0", VA = "0x1826893E0", Slot = "4")] internal override void Connect(Stream stream, HTTPRequest request) { byte[] array; for (;;) { array = new byte[1024]; array[0] = (byte)((ulong)5L); if (HTTPManager.Logger == 0) { ILogger logger = HTTPManager.Logger; } int num = stream.ReadByte(); if (HTTPManager.Logger == 0) { ILogger logger2 = HTTPManager.Logger; } int length = array.Length; byte b = array[0]; byte b2 = array[0]; ILogger logger3 = HTTPManager.Logger; if (typeof(ILogger).TypeHandle == 0) { goto IL_120; } if (typeof(ILogger).TypeHandle != 0 && (typeof(ILogger).TypeHandle == (ulong)1L || typeof(ILogger).TypeHandle != (ulong)255L)) { Credentials k__BackingField = this.k__BackingField; string k__BackingField = k__BackingField.k__BackingField; string k__BackingField = k__BackingField.k__BackingField; ILogger logger4 = HTTPManager.Logger; array[0] = (byte)((ulong)1L); Credentials k__BackingField2 = this.k__BackingField; int num2 = 0; Credentials k__BackingField3 = this.k__BackingField; if (HTTPManager.Logger == 0) { ILogger logger5 = HTTPManager.Logger; } int num3 = stream.ReadByte(); if (HTTPManager.Logger == 0) { ILogger logger6 = HTTPManager.Logger; } if ("{il2cpp array field local5->}" == num2) { break; } } } ILogger logger7 = HTTPManager.Logger; IL_120: array[0] = (byte)((ulong)5L); Uri currentUri = request.CurrentUri; if (!currentUri.IsHostIsAnIPAddress()) { currentUri.m_Syntax = (ulong)3L; string host = request.CurrentUri.Host; } string host2 = request.CurrentUri.Host; bool flag = Extensions.IsIpV4AddressValid(host2); int length2 = IPAddress.Parse(request.CurrentUri.Host).GetAddressBytes().Length; int port = request.CurrentUri.Port; int port2 = request.CurrentUri.Port; if (HTTPManager.Logger == 0) { ILogger logger8 = HTTPManager.Logger; } int num4 = stream.ReadByte(); if (HTTPManager.Logger == 0) { ILogger logger9 = HTTPManager.Logger; } int length3 = array.Length; byte b3 = array[0]; ILogger logger10 = HTTPManager.Logger; } // Token: 0x0600781A RID: 30746 RVA: 0x0018E758 File Offset: 0x0018C958 [Token(Token = "0x600781A")] [Address(RVA = "0x268A5B0", Offset = "0x2688FB0", VA = "0x18268A5B0")] private void WriteString(byte[] buffer, ref int count, string str) { Encoding utf = Encoding.UTF8; count.m_value = utf; } // Token: 0x0600781B RID: 30747 RVA: 0x0018E77C File Offset: 0x0018C97C [Token(Token = "0x600781B")] [Address(RVA = "0x268A560", Offset = "0x2688F60", VA = "0x18268A560")] private void WriteBytes(byte[] buffer, ref int count, byte[] bytes) { int length = bytes.Length; int length2 = bytes.Length; } // Token: 0x0600781C RID: 30748 RVA: 0x0018E7A0 File Offset: 0x0018C9A0 [Token(Token = "0x600781C")] [Address(RVA = "0x26892F0", Offset = "0x2687CF0", VA = "0x1826892F0")] private string BufferToHexStr(byte[] buffer, int count) { int num = 0; if (count > 0) { StringBuilder stringBuilder2; StringBuilder stringBuilder = stringBuilder2.AppendFormat("0x{0} ", num); num++; } throw new NullReferenceException(); } } }