internal CrcMaker(CrcEncoding A_0) { this.int_0 = 0x10; this.long_0 = 0x1021L; this.int_1 = 1; this.long_1 = 0xffffL; this.long_8 = new long[0x100]; this.method_0(A_0); }
private void method_0(CrcEncoding A_0) { long num; long num2; int num3; this.crcEncoding_0 = A_0; switch (A_0) { case CrcEncoding.CRC16: this.int_0 = 0x10; this.int_1 = 1; this.long_0 = 0x8005L; this.long_1 = 0L; this.long_2 = 0L; this.int_2 = 1; this.int_3 = 1; break; case CrcEncoding.CRC_CCITT: this.int_0 = 0x10; this.int_1 = 1; this.long_0 = 0x1021L; this.long_1 = 0xffffL; this.long_2 = 0L; this.int_2 = 0; this.int_3 = 0; break; case CrcEncoding.CRC_CCITT_Reverse: this.int_0 = 0x10; this.int_1 = 1; this.long_0 = 0x1021L; this.long_1 = 0L; this.long_2 = 0L; this.int_2 = 1; this.int_3 = 1; break; default: this.int_0 = 0x20; this.int_1 = 1; this.long_0 = 0x4c11db7L; this.long_1 = 0xffffffffL; this.long_2 = 0xffffffffL; this.int_2 = 1; this.int_3 = 1; break; } this.long_3 = (((1L << ((this.int_0 - 1) & 0x3f)) - 1L) << 1) | 1L; this.long_4 = ((long)1L) << (this.int_0 - 1); this.method_2(); if (this.int_1 == 0) { this.long_6 = this.long_1; num = this.long_1; for (num3 = 0; num3 < this.int_0; num3++) { num2 = num & this.long_4; num = num << 1; if (num2 != 0L) { num ^= this.long_0; } } num &= this.long_3; this.long_5 = num; } else { this.long_5 = this.long_1; num = this.long_1; for (num3 = 0; num3 < this.int_0; num3++) { num2 = num & 1L; if (num2 != 0L) { num ^= this.long_0; } num = num >> 1; if (num2 != 0L) { num |= this.long_4; } } this.long_6 = num; } }