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; } }