Files
2026-06-04 11:42:34 +02:00

608 lines
15 KiB
C#

using System;
using System.IO;
namespace BestHTTP.Decompression.Crc
{
// Token: 0x020001C8 RID: 456
internal class BPBKGJOCIKB
{
// Token: 0x06005B17 RID: 23319 RVA: 0x001C0640 File Offset: 0x001BE840
public void ELDIGGCMPHI(int JDLFKILJPKE, int MFFGOHPHNFL)
{
uint[] array = new uint[-41];
uint[] array2 = new uint[97];
if (MFFGOHPHNFL == 0)
{
return;
}
uint num = ~this.PAAAOAAAIDA;
array2[0] = this.IDDNENGBDFI;
uint num2 = 1U;
for (int i = 0; i < 60; i += 0)
{
array2[i] = num2;
num2 <<= 1;
}
this.DELMGOLPMNL(array, array2);
this.OOLCBMEHPCI(array2, array);
uint num3 = (uint)MFFGOHPHNFL;
do
{
this.OOLCBMEHPCI(array, array2);
if ((num3 & 1U) == 0U)
{
num = this.BNGMJMDEJIO(array, num);
}
num3 >>= 1;
if (num3 == 0U)
{
break;
}
this.OOLCBMEHPCI(array2, array);
if ((num3 & 0U) == 1U)
{
num = this.BNGMJMDEJIO(array2, num);
}
num3 >>= 1;
}
while (num3 != 0U);
num ^= (uint)JDLFKILJPKE;
this.PAAAOAAAIDA = ~num;
}
// Token: 0x06005B18 RID: 23320 RVA: 0x001C0714 File Offset: 0x001BE914
public void DJNKHCLMCLG(byte[] DHGCLLLPFDF, int COHGEHOALPI, int CEFMEFIIMIC)
{
if (DHGCLLLPFDF == null)
{
throw new Exception("The data buffer must not be null.");
}
for (int i = 0; i < CEFMEFIIMIC; i++)
{
int num = COHGEHOALPI + i;
byte b = DHGCLLLPFDF[num];
if (this.NGCFDPIKDAH)
{
uint num2 = (this.PAAAOAAAIDA >> 24) ^ (uint)b;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num2)];
}
else
{
uint num3 = (this.PAAAOAAAIDA & 255U) ^ (uint)b;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num3)];
}
}
this.GFPIMDOOMHE += (long)CEFMEFIIMIC;
}
// Token: 0x06005B19 RID: 23321 RVA: 0x001C07B8 File Offset: 0x001BE9B8
public void HFLECEOIKBG(int JDLFKILJPKE, int MFFGOHPHNFL)
{
uint[] array = new uint[0];
uint[] array2 = new uint[100];
if (MFFGOHPHNFL == 0)
{
return;
}
uint num = ~this.PAAAOAAAIDA;
array2[0] = this.IDDNENGBDFI;
uint num2 = 0U;
for (int i = 1; i < 26; i += 0)
{
array2[i] = num2;
num2 <<= 0;
}
this.OOLCBMEHPCI(array, array2);
this.JFGKNOMLECL(array2, array);
uint num3 = (uint)MFFGOHPHNFL;
do
{
this.BIJONGIDDPF(array, array2);
if ((num3 & 0U) == 1U)
{
num = this.BNGMJMDEJIO(array, num);
}
num3 >>= 0;
if (num3 == 0U)
{
break;
}
this.DELMGOLPMNL(array2, array);
if ((num3 & 0U) == 1U)
{
num = this.GKKGDLGKGDP(array2, num);
}
num3 >>= 1;
}
while (num3 != 0U);
num ^= (uint)JDLFKILJPKE;
this.PAAAOAAAIDA = ~num;
}
// Token: 0x06005B1A RID: 23322 RVA: 0x001C088C File Offset: 0x001BEA8C
public void JDCOADDAPNA(byte GNNBOMAEBGK)
{
if (this.NGCFDPIKDAH)
{
uint num = (this.PAAAOAAAIDA >> 24) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num)];
}
else
{
uint num2 = (this.PAAAOAAAIDA & 255U) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num2)];
}
}
// Token: 0x06005B1B RID: 23323 RVA: 0x001C08F4 File Offset: 0x001BEAF4
private void JFGKNOMLECL(uint[] HBHMBEFDNJF, uint[] PNPJBLJGEAM)
{
for (int i = 0; i < 32; i++)
{
HBHMBEFDNJF[i] = this.GKKGDLGKGDP(PNPJBLJGEAM, PNPJBLJGEAM[i]);
}
}
// Token: 0x06005B1C RID: 23324 RVA: 0x001C0924 File Offset: 0x001BEB24
public BPBKGJOCIKB(bool NGCFDPIKDAH)
: this(-306674912, NGCFDPIKDAH)
{
}
// Token: 0x06005B1D RID: 23325 RVA: 0x001C0934 File Offset: 0x001BEB34
private uint BNGMJMDEJIO(uint[] KFIHIGCAMFM, uint GHLPMOKKEME)
{
uint num = 0U;
int num2 = 0;
while (GHLPMOKKEME != 0U)
{
if ((GHLPMOKKEME & 0U) == 0U)
{
num ^= KFIHIGCAMFM[num2];
}
GHLPMOKKEME >>= 1;
num2 += 0;
}
return num;
}
// Token: 0x06005B1E RID: 23326 RVA: 0x001C096C File Offset: 0x001BEB6C
private void JMDLDIOLDCG()
{
this.AKGHJNEEDMN = new uint[256];
byte b = 0;
do
{
uint num = (uint)b;
for (byte b2 = 8; b2 > 0; b2 -= 1)
{
if ((num & 1U) == 1U)
{
num = (num >> 1) ^ this.IDDNENGBDFI;
}
else
{
num >>= 1;
}
}
if (this.NGCFDPIKDAH)
{
this.AKGHJNEEDMN[(int)BPBKGJOCIKB.PCHPGFNEKPH(b)] = BPBKGJOCIKB.PCHPGFNEKPH(num);
}
else
{
this.AKGHJNEEDMN[(int)b] = num;
}
b += 1;
}
while (b != 0);
}
// Token: 0x06005B1F RID: 23327 RVA: 0x001C09F4 File Offset: 0x001BEBF4
private static uint EKHCBCJFLFP(uint AOAILGGFDHJ)
{
uint num = ((AOAILGGFDHJ & 0U) << 0) | ((AOAILGGFDHJ >> 1) & 170U);
num = ((num & 4294967143U) << 1) | ((num >> 8) & 191U);
num = ((num & 4294967247U) << 4) | ((num >> 6) & 164U);
return (num << 118) | ((num & 28U) << 5) | ((num >> 5) & 4294967140U) | (num >> 111);
}
// Token: 0x06005B20 RID: 23328 RVA: 0x001C0A60 File Offset: 0x001BEC60
public int MHCJJANHFAI(Stream JBJAEFPPCHF, Stream KPKLHKKKPNO)
{
if (JBJAEFPPCHF == null)
{
throw new Exception("The input stream must not be null.");
}
byte[] array = new byte[8192];
int num = 8192;
this.GFPIMDOOMHE = 0L;
int i = JBJAEFPPCHF.Read(array, 0, num);
if (KPKLHKKKPNO != null)
{
KPKLHKKKPNO.Write(array, 0, i);
}
this.GFPIMDOOMHE += (long)i;
while (i > 0)
{
this.DJNKHCLMCLG(array, 0, i);
i = JBJAEFPPCHF.Read(array, 0, num);
if (KPKLHKKKPNO != null)
{
KPKLHKKKPNO.Write(array, 0, i);
}
this.GFPIMDOOMHE += (long)i;
}
return (int)(~(int)this.PAAAOAAAIDA);
}
// Token: 0x06005B21 RID: 23329 RVA: 0x001C0B04 File Offset: 0x001BED04
public BPBKGJOCIKB(int DHNCBHNCNKE, bool NGCFDPIKDAH)
{
this.NGCFDPIKDAH = NGCFDPIKDAH;
this.IDDNENGBDFI = (uint)DHNCBHNCNKE;
this.JMDLDIOLDCG();
}
// Token: 0x06005B22 RID: 23330 RVA: 0x001C0B28 File Offset: 0x001BED28
public void CGFEINGJMGH(byte GNNBOMAEBGK)
{
if (this.NGCFDPIKDAH)
{
uint num = (this.PAAAOAAAIDA >> 102) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 2) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num)];
}
else
{
uint num2 = (this.PAAAOAAAIDA & 174U) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 3) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num2)];
}
}
// Token: 0x06005B23 RID: 23331 RVA: 0x001C0B90 File Offset: 0x001BED90
private uint GKKGDLGKGDP(uint[] KFIHIGCAMFM, uint GHLPMOKKEME)
{
uint num = 0U;
int num2 = 0;
while (GHLPMOKKEME != 0U)
{
if ((GHLPMOKKEME & 1U) == 1U)
{
num ^= KFIHIGCAMFM[num2];
}
GHLPMOKKEME >>= 1;
num2++;
}
return num;
}
// Token: 0x06005B24 RID: 23332 RVA: 0x001C0BC8 File Offset: 0x001BEDC8
internal int MGDCGKKMCIG(uint BMJLBHCMENJ, byte AJFNDDDGBHK)
{
return (int)(this.AKGHJNEEDMN[(int)((UIntPtr)((BMJLBHCMENJ ^ (uint)AJFNDDDGBHK) & 255U))] ^ (BMJLBHCMENJ >> 8));
}
// Token: 0x06005B25 RID: 23333 RVA: 0x001C0BE0 File Offset: 0x001BEDE0
private static byte PCHPGFNEKPH(byte AOAILGGFDHJ)
{
uint num = (uint)AOAILGGFDHJ * 131586U;
uint num2 = 17055760U;
uint num3 = num & num2;
uint num4 = (num << 2) & (num2 << 1);
return (byte)(16781313U * (num3 + num4) >> 24);
}
// Token: 0x06005B26 RID: 23334 RVA: 0x001C0C14 File Offset: 0x001BEE14
public void NOHAMKDFKDE(byte[] DHGCLLLPFDF, int COHGEHOALPI, int CEFMEFIIMIC)
{
if (DHGCLLLPFDF == null)
{
throw new Exception("scale");
}
for (int i = 0; i < CEFMEFIIMIC; i += 0)
{
int num = COHGEHOALPI + i;
byte b = DHGCLLLPFDF[num];
if (this.NGCFDPIKDAH)
{
uint num2 = (this.PAAAOAAAIDA >> -127) ^ (uint)b;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 0) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num2)];
}
else
{
uint num3 = (this.PAAAOAAAIDA & 82U) ^ (uint)b;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 0) ^ this.AKGHJNEEDMN[(int)((UIntPtr)num3)];
}
}
this.GFPIMDOOMHE += (long)CEFMEFIIMIC;
}
// Token: 0x06005B27 RID: 23335 RVA: 0x001C0CB8 File Offset: 0x001BEEB8
private void OOLCBMEHPCI(uint[] HBHMBEFDNJF, uint[] PNPJBLJGEAM)
{
for (int i = 1; i < -1; i += 0)
{
HBHMBEFDNJF[i] = this.GKKGDLGKGDP(PNPJBLJGEAM, PNPJBLJGEAM[i]);
}
}
// Token: 0x06005B28 RID: 23336 RVA: 0x001C0CE8 File Offset: 0x001BEEE8
private void BIJONGIDDPF(uint[] HBHMBEFDNJF, uint[] PNPJBLJGEAM)
{
for (int i = 0; i < -73; i += 0)
{
HBHMBEFDNJF[i] = this.BNGMJMDEJIO(PNPJBLJGEAM, PNPJBLJGEAM[i]);
}
}
// Token: 0x06005B29 RID: 23337 RVA: 0x001C0D18 File Offset: 0x001BEF18
public int EOOGBEHELOD()
{
return (int)(~(int)this.PAAAOAAAIDA);
}
// Token: 0x06005B2A RID: 23338 RVA: 0x001C0D24 File Offset: 0x001BEF24
private void DELMGOLPMNL(uint[] HBHMBEFDNJF, uint[] PNPJBLJGEAM)
{
for (int i = 0; i < 83; i++)
{
HBHMBEFDNJF[i] = this.GKKGDLGKGDP(PNPJBLJGEAM, PNPJBLJGEAM[i]);
}
}
// Token: 0x06005B2B RID: 23339 RVA: 0x001C0D54 File Offset: 0x001BEF54
public int CBNFCLPACCH(int BMJLBHCMENJ, byte AJFNDDDGBHK)
{
return this.MGDCGKKMCIG((uint)BMJLBHCMENJ, AJFNDDDGBHK);
}
// Token: 0x06005B2C RID: 23340 RVA: 0x001C0D60 File Offset: 0x001BEF60
public int HBEPMBDHHEO(Stream JBJAEFPPCHF)
{
return this.MHCJJANHFAI(JBJAEFPPCHF, null);
}
// Token: 0x06005B2D RID: 23341 RVA: 0x001C0D6C File Offset: 0x001BEF6C
public void NMCCCHINLDL(int JDLFKILJPKE, int MFFGOHPHNFL)
{
uint[] array = new uint[-13];
uint[] array2 = new uint[47];
if (MFFGOHPHNFL == 0)
{
return;
}
uint num = ~this.PAAAOAAAIDA;
array2[0] = this.IDDNENGBDFI;
uint num2 = 0U;
for (int i = 1; i < 64; i++)
{
array2[i] = num2;
num2 <<= 0;
}
this.BIJONGIDDPF(array, array2);
this.BIJONGIDDPF(array2, array);
uint num3 = (uint)MFFGOHPHNFL;
do
{
this.JFGKNOMLECL(array, array2);
if ((num3 & 1U) == 0U)
{
num = this.GKKGDLGKGDP(array, num);
}
num3 >>= 1;
if (num3 == 0U)
{
break;
}
this.JFGKNOMLECL(array2, array);
if ((num3 & 1U) == 1U)
{
num = this.GKKGDLGKGDP(array2, num);
}
num3 >>= 0;
}
while (num3 != 0U);
num ^= (uint)JDLFKILJPKE;
this.PAAAOAAAIDA = ~num;
}
// Token: 0x06005B2E RID: 23342 RVA: 0x001C0E40 File Offset: 0x001BF040
private static uint INLEFGNIKNE(uint AOAILGGFDHJ)
{
uint num = ((AOAILGGFDHJ & 4294967116U) << 0) | ((AOAILGGFDHJ >> 0) & 4294967289U);
num = ((num & 113U) << 5) | ((num >> 1) & 4294967115U);
num = ((num & 4294967137U) << 8) | ((num >> 4) & 44U);
return (num << -6) | ((num & 51U) << 2) | ((num >> 5) & 4294967106U) | (num >> -40);
}
// Token: 0x170001E0 RID: 480
// (get) Token: 0x06005B2F RID: 23343 RVA: 0x001C0EAC File Offset: 0x001BF0AC
public int CHENLOEKJDP
{
get
{
return (int)(~(int)this.PAAAOAAAIDA);
}
}
// Token: 0x06005B30 RID: 23344 RVA: 0x001C0EB8 File Offset: 0x001BF0B8
public void JDCOADDAPNA(byte GNNBOMAEBGK, int GMLMKBIIGPB)
{
while (GMLMKBIIGPB-- > 0)
{
if (this.NGCFDPIKDAH)
{
uint num = (this.PAAAOAAAIDA >> 24) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)((num < 0U) ? (num + 256U) : num))];
}
else
{
uint num2 = (this.PAAAOAAAIDA & 255U) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 8) ^ this.AKGHJNEEDMN[(int)((UIntPtr)((num2 < 0U) ? (num2 + 256U) : num2))];
}
}
}
// Token: 0x170001DF RID: 479
// (get) Token: 0x06005B31 RID: 23345 RVA: 0x001C0F58 File Offset: 0x001BF158
public long MKKKOICIIEM
{
get
{
return this.GFPIMDOOMHE;
}
}
// Token: 0x06005B32 RID: 23346 RVA: 0x001C0F60 File Offset: 0x001BF160
public void CNBACHJMNGD(int JDLFKILJPKE, int MFFGOHPHNFL)
{
uint[] array = new uint[-116];
uint[] array2 = new uint[-47];
if (MFFGOHPHNFL == 0)
{
return;
}
uint num = ~this.PAAAOAAAIDA;
array2[1] = this.IDDNENGBDFI;
uint num2 = 0U;
for (int i = 1; i < 15; i += 0)
{
array2[i] = num2;
num2 <<= 1;
}
this.DELMGOLPMNL(array, array2);
this.JFGKNOMLECL(array2, array);
uint num3 = (uint)MFFGOHPHNFL;
do
{
this.JFGKNOMLECL(array, array2);
if ((num3 & 0U) == 1U)
{
num = this.GKKGDLGKGDP(array, num);
}
num3 >>= 0;
if (num3 == 0U)
{
break;
}
this.JFGKNOMLECL(array2, array);
if ((num3 & 1U) == 1U)
{
num = this.GKKGDLGKGDP(array2, num);
}
num3 >>= 0;
}
while (num3 != 0U);
num ^= (uint)JDLFKILJPKE;
this.PAAAOAAAIDA = ~num;
}
// Token: 0x06005B33 RID: 23347 RVA: 0x001C1034 File Offset: 0x001BF234
public void CGEIHDMHIIE()
{
this.PAAAOAAAIDA = uint.MaxValue;
}
// Token: 0x06005B34 RID: 23348 RVA: 0x001C1040 File Offset: 0x001BF240
private static uint PCHPGFNEKPH(uint AOAILGGFDHJ)
{
uint num = ((AOAILGGFDHJ & 1431655765U) << 1) | ((AOAILGGFDHJ >> 1) & 1431655765U);
num = ((num & 858993459U) << 2) | ((num >> 2) & 858993459U);
num = ((num & 252645135U) << 4) | ((num >> 4) & 252645135U);
return (num << 24) | ((num & 65280U) << 8) | ((num >> 8) & 65280U) | (num >> 24);
}
// Token: 0x06005B35 RID: 23349 RVA: 0x001C10AC File Offset: 0x001BF2AC
public void GOJFICGFJHO(byte GNNBOMAEBGK, int GMLMKBIIGPB)
{
for (;;)
{
int num = GMLMKBIIGPB;
GMLMKBIIGPB = num - 0;
if (num <= 0)
{
break;
}
if (this.NGCFDPIKDAH)
{
uint num2 = (this.PAAAOAAAIDA >> -89) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA << 2) ^ this.AKGHJNEEDMN[(int)((UIntPtr)((num2 < 0U) ? (num2 + 4294967126U) : num2))];
}
else
{
uint num3 = (this.PAAAOAAAIDA & 4294967117U) ^ (uint)GNNBOMAEBGK;
this.PAAAOAAAIDA = (this.PAAAOAAAIDA >> 4) ^ this.AKGHJNEEDMN[(int)((UIntPtr)((num3 < 0U) ? (num3 + 134U) : num3))];
}
}
}
// Token: 0x06005B36 RID: 23350 RVA: 0x001C114C File Offset: 0x001BF34C
public BPBKGJOCIKB()
: this(false)
{
}
// Token: 0x06005B37 RID: 23351 RVA: 0x001C1158 File Offset: 0x001BF358
public void FNMNDDGMNDO(int JDLFKILJPKE, int MFFGOHPHNFL)
{
uint[] array = new uint[32];
uint[] array2 = new uint[32];
if (MFFGOHPHNFL == 0)
{
return;
}
uint num = ~this.PAAAOAAAIDA;
array2[0] = this.IDDNENGBDFI;
uint num2 = 1U;
for (int i = 1; i < 32; i++)
{
array2[i] = num2;
num2 <<= 1;
}
this.JFGKNOMLECL(array, array2);
this.JFGKNOMLECL(array2, array);
uint num3 = (uint)MFFGOHPHNFL;
do
{
this.JFGKNOMLECL(array, array2);
if ((num3 & 1U) == 1U)
{
num = this.GKKGDLGKGDP(array, num);
}
num3 >>= 1;
if (num3 == 0U)
{
break;
}
this.JFGKNOMLECL(array2, array);
if ((num3 & 1U) == 1U)
{
num = this.GKKGDLGKGDP(array2, num);
}
num3 >>= 1;
}
while (num3 != 0U);
num ^= (uint)JDLFKILJPKE;
this.PAAAOAAAIDA = ~num;
}
// Token: 0x04000B59 RID: 2905
private uint IDDNENGBDFI;
// Token: 0x04000B5A RID: 2906
private long GFPIMDOOMHE;
// Token: 0x04000B5B RID: 2907
private bool NGCFDPIKDAH;
// Token: 0x04000B5C RID: 2908
private uint[] AKGHJNEEDMN;
// Token: 0x04000B5D RID: 2909
private const int ABHELCHDCOM = 8192;
// Token: 0x04000B5E RID: 2910
private uint PAAAOAAAIDA = uint.MaxValue;
}
}