166 lines
4.1 KiB
C#
166 lines
4.1 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Runtime.CompilerServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders
|
|
{
|
|
// Token: 0x0200194E RID: 6478
|
|
[Token(Token = "0x200194E")]
|
|
public class HexEncoder : IEncoder
|
|
{
|
|
// Token: 0x060099C5 RID: 39365 RVA: 0x001FE61C File Offset: 0x001FC81C
|
|
[Token(Token = "0x60099C5")]
|
|
[Address(RVA = "0x18DE590", Offset = "0x18DD390", VA = "0x1818DE590")]
|
|
protected void InitialiseDecodingTable()
|
|
{
|
|
int num = this.decodingTable.Length;
|
|
if (num > 0)
|
|
{
|
|
num--;
|
|
}
|
|
byte[] array = this.encodingTable;
|
|
int num2 = 0;
|
|
if (num2 < array.Length)
|
|
{
|
|
byte[] array2 = this.decodingTable;
|
|
num2++;
|
|
byte[] array3 = this.encodingTable;
|
|
}
|
|
byte[] array4 = this.decodingTable;
|
|
byte b = array4[12];
|
|
array4[8] = b;
|
|
byte[] array5 = this.decodingTable;
|
|
byte b2 = array5[12];
|
|
array5[8] = b2;
|
|
byte[] array6 = this.decodingTable;
|
|
byte b3 = array6[12];
|
|
array6[8] = b3;
|
|
byte[] array7 = this.decodingTable;
|
|
byte b4 = array7[12];
|
|
array7[8] = b4;
|
|
byte[] array8 = this.decodingTable;
|
|
byte b5 = array8[12];
|
|
array8[8] = b5;
|
|
byte[] array9 = this.decodingTable;
|
|
byte b6 = array9[12];
|
|
array9[8] = b6;
|
|
}
|
|
|
|
// Token: 0x060099C6 RID: 39366 RVA: 0x001FE718 File Offset: 0x001FC918
|
|
[Token(Token = "0x60099C6")]
|
|
[Address(RVA = "0x18DE800", Offset = "0x18DD600", VA = "0x1818DE800")]
|
|
public HexEncoder()
|
|
{
|
|
byte[] array = new byte[16];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FE5567E8D769550852182CDF69D74BB16DFF8E29).FieldHandle);
|
|
this.encodingTable = array;
|
|
byte[] array2 = new byte[128];
|
|
this.decodingTable = array2;
|
|
base..ctor();
|
|
this.InitialiseDecodingTable();
|
|
}
|
|
|
|
// Token: 0x060099C7 RID: 39367 RVA: 0x001FE760 File Offset: 0x001FC960
|
|
[Token(Token = "0x60099C7")]
|
|
[Address(RVA = "0x18DE450", Offset = "0x18DD250", VA = "0x1818DE450", Slot = "4")]
|
|
public int Encode(byte[] data, int off, int length, Stream outStream)
|
|
{
|
|
byte[] array = this.encodingTable;
|
|
byte[] array2 = this.encodingTable;
|
|
return off;
|
|
}
|
|
|
|
// Token: 0x060099C8 RID: 39368 RVA: 0x001FE784 File Offset: 0x001FC984
|
|
[Token(Token = "0x60099C8")]
|
|
[Address(RVA = "0x18DE570", Offset = "0x18DD370", VA = "0x1818DE570")]
|
|
private static bool Ignore(char c)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060099C9 RID: 39369 RVA: 0x001FE794 File Offset: 0x001FC994
|
|
[Token(Token = "0x60099C9")]
|
|
[Address(RVA = "0x18DE200", Offset = "0x18DD000", VA = "0x1818DE200", Slot = "5")]
|
|
public int Decode(byte[] data, int off, int length, Stream outStream)
|
|
{
|
|
int num = 0;
|
|
if (off < length)
|
|
{
|
|
if (length == 250)
|
|
{
|
|
}
|
|
if (off < length)
|
|
{
|
|
if (length == 250)
|
|
{
|
|
}
|
|
byte[] array = this.decodingTable;
|
|
int length2 = data.Length;
|
|
int length3 = array.Length;
|
|
if (off >= length || length == 250)
|
|
{
|
|
}
|
|
num++;
|
|
}
|
|
}
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x060099CA RID: 39370 RVA: 0x001FE7F8 File Offset: 0x001FC9F8
|
|
[Token(Token = "0x60099CA")]
|
|
[Address(RVA = "0x18DDFF0", Offset = "0x18DCDF0", VA = "0x1818DDFF0", Slot = "6")]
|
|
public int DecodeString(string data, Stream outStream)
|
|
{
|
|
int num = 0;
|
|
int num2 = data.m_stringLength;
|
|
if (num2 > 0)
|
|
{
|
|
int num3 = num2 - 1;
|
|
char c = data[num3];
|
|
if ((uint)65530 == (uint)c)
|
|
{
|
|
}
|
|
num2 = num3;
|
|
}
|
|
if (num2 > 0)
|
|
{
|
|
if (num < num2)
|
|
{
|
|
char c2 = data[num];
|
|
if ((uint)65530 == (uint)c2)
|
|
{
|
|
}
|
|
num++;
|
|
}
|
|
byte[] array = this.decodingTable;
|
|
num++;
|
|
char c3 = data[num];
|
|
if (num < num2)
|
|
{
|
|
char c4 = data[num];
|
|
if ((uint)65530 == (uint)c4)
|
|
{
|
|
}
|
|
num++;
|
|
}
|
|
byte[] array2 = this.decodingTable;
|
|
num++;
|
|
char c5 = data[num];
|
|
num++;
|
|
}
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x0400688A RID: 26762
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400688A")]
|
|
protected readonly byte[] encodingTable;
|
|
|
|
// Token: 0x0400688B RID: 26763
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400688B")]
|
|
protected readonly byte[] decodingTable;
|
|
}
|
|
}
|