internal bool method_3(string A_0) { Class187 class2 = this.class62_0.method_4().method_0(); Class190 class3 = this.class62_0.method_4().method_4().method_0(); bool flag = this.method_0(); byte[] buffer = new byte[] { 0xfe, 0xa7, 210, 0x76, 0x3b, 0x4b, 0x9e, 0x79 }; byte[] buffer2 = this.class299_0.method_8(A_0, class3.method_16(), buffer, class3.method_6() >> 3, class3.method_0(), flag); byte[] buffer3 = this.method_5(class3.method_18(), class3.method_4(), buffer2, class3.method_16(), class3.method_2()); byte[] buffer4 = new byte[] { 0xd7, 170, 15, 0x6d, 0x30, 0x61, 0x34, 0x4e }; byte[] buffer5 = this.class299_0.method_8(A_0, class3.method_16(), buffer4, class3.method_6() >> 3, class3.method_0(), flag); byte[] buffer6 = this.method_5(class3.method_20(), class3.method_4(), buffer5, class3.method_16(), class3.method_8()); HashAlgorithm algorithm = null; if (flag) { algorithm = new SHA512Managed(); } else { algorithm = new SHA1Managed(); } byte[] buffer7 = algorithm.ComputeHash(buffer3); bool flag2 = this.class299_0.method_15(buffer6, buffer7); byte[] buffer8 = new byte[] { 20, 110, 11, 0xe7, 0xab, 0xac, 0xd0, 0xd6 }; byte[] buffer9 = this.class299_0.method_8(A_0, class3.method_16(), buffer8, class3.method_6() >> 3, class3.method_0(), flag); this.byte_0 = this.method_5(class3.method_22(), class3.method_4(), buffer9, class3.method_16(), class2.method_4() / 8); return(flag2); }
private byte[] method_2(Stream A_0, Interface61 A_1, Class187 A_2, byte[] A_3) { byte[] bytes = BitConverter.GetBytes(A_0.Length); SHA1 sha = new SHA1Managed(); using (Stream1 stream = A_1.imethod_2(BookmarkStart.b("漩䈫䴭䈯䬱䐳䈵崷帹氻弽⌿⥁╃ⅅⵇ", 4))) { int num = (int)(A_0.Length / 0x1000L); if ((A_0.Length % 0x1000L) != 0L) { num++; } for (int i = 0; i < num; i++) { int count = Math.Min(0x1000, ((int)A_0.Length) - (i * 0x1000)); byte[] buffer = new byte[count]; byte[] buffer3 = new byte[count]; A_0.Read(buffer, 0, count); byte[] buffer4 = sha.ComputeHash(this.class299_0.method_12(A_2.method_14(), BitConverter.GetBytes(i))); buffer3 = this.method_11(buffer, A_2.method_2(), A_3, buffer4); bytes = this.class299_0.method_12(bytes, buffer3); } stream.Write(bytes, 0, bytes.Length); } return(bytes); }
public Class196(bool bool_2) { this.bool_1 = bool_2; this.class200_0 = new Class200(); this.class187_0 = new Class187(); this.class203_0 = new Class203(); this.int_4 = (bool_2 ? 2 : 0); }
public Class196(bool bool2) { _bool1 = bool2; _class2000 = new Class200(); _class1870 = new Class187(); _class2030 = new Class203(); _int4 = (bool2 ? 2 : 0); }
private void method_3(Class187 A_0) { A_0.method_1(0x10); A_0.method_3(0x10); A_0.method_5(0x80); A_0.method_7(20); A_0.method_9(BookmarkStart.b("爲瀴搶", 13)); A_0.method_11(BookmarkStart.b("瀲崴嘶倸唺吼儾♀โ⩄⍆ⱈࡊཌ", 13)); A_0.method_13(BookmarkStart.b("怲紴瘶࠸", 13)); }
internal Stream method_1() { int num = 0; if (this.byte_0 == null) { throw new InvalidOperationException(BookmarkStart.b("漥䘧䤩䌫尭䈯圱圳䈵ᠷ䨹崻䴽㌿㕁⭃㑅ⱇ摉", num)); } MemoryStream stream2 = new MemoryStream(); Class187 class2 = this.class62_0.method_4().method_0(); bool flag = this.method_0(); HashAlgorithm algorithm = null; if (flag) { algorithm = new SHA512Managed(); } else { algorithm = new SHA1Managed(); } using (Stream1 stream = this.interface61_0.imethod_0(BookmarkStart.b("挥䘧䤩師圭䀯䘱儳刵样嬹弻唽ℿ╁⅃", num))) { byte[] buffer = new byte[8]; stream.Read(buffer, 0, 8); int count = BitConverter.ToInt32(buffer, 0); int num3 = count % class2.method_2(); int num4 = (num3 > 0) ? ((count + class2.method_2()) - num3) : count; byte[] buffer3 = new byte[num4]; stream.Read(buffer3, 0, num4); byte[] buffer4 = this.class299_0.method_12(buffer, buffer3); if (!this.method_4(buffer4)) { throw new Exception(BookmarkStart.b("挥䘧䤩師圭䀯䘱儳刵ᠷ䨹崻崽⬿⍁⍃⍅桇⍉㽋湍㥏㱑≓㝕㑗㍙㡛", num)); } byte[] dst = new byte[count]; int num6 = ((num4 % 0x1000) == 0) ? (num4 / 0x1000) : ((num4 / 0x1000) + 1); for (int i = 0; i < num6; i++) { int num7 = Math.Min(0x1000, num4 - (i * 0x1000)); byte[] buffer5 = new byte[num7]; byte[] src = new byte[num7]; Buffer.BlockCopy(buffer3, i * 0x1000, buffer5, 0, num7); byte[] buffer7 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), BitConverter.GetBytes(i))); src = this.method_5(buffer5, class2.method_2(), this.byte_0, buffer7, num7); num7 = (i == (num6 - 1)) ? (num7 - (num4 - count)) : num7; Buffer.BlockCopy(src, 0, dst, i * 0x1000, num7); } stream2.Write(dst, 0, count); stream2.Position = 0L; } return(stream2); }
public int method_1(Class187 class1870) { int num; if ((num = class1870.method_0(9)) >= 0) { int num2; if ((num2 = _short0[num]) >= 0) { class1870.method_1(num2 & 15); return(num2 >> 4); } var num3 = -(num2 >> 4); var int_ = num2 & 15; if ((num = class1870.method_0(int_)) >= 0) { num2 = _short0[num3 | num >> 9]; class1870.method_1(num2 & 15); return(num2 >> 4); } var num4 = class1870.method_2(); num = class1870.method_0(num4); num2 = _short0[num3 | num >> 9]; if ((num2 & 15) <= num4) { class1870.method_1(num2 & 15); return(num2 >> 4); } return(-1); } else { var num5 = class1870.method_2(); num = class1870.method_0(num5); int num2 = _short0[num]; if (num2 >= 0 && (num2 & 15) <= num5) { class1870.method_1(num2 & 15); return(num2 >> 4); } return(-1); } }
private void method_1(Stream A_0, Interface61 A_1, string A_2) { SHA1 sha = new SHA1Managed(); using (Stream1 stream = A_1.imethod_2(BookmarkStart.b("欭帯儱䘳伵䠷丹唻儽⸿ୁ⩃⁅❇", 8))) { Class62 class2 = new Class62(); class2.method_1(0x40004); class2.method_3(0x40); Class187 class3 = class2.method_4().method_0(); this.method_3(class3); class3.method_15(this.method_10(class3.method_0())); Class190 class4 = class2.method_4().method_4().method_0(); this.method_4(class4); class4.method_17(this.method_10(class4.method_2())); byte[] buffer = this.method_10(class4.method_2()); byte[] buffer2 = new byte[] { 0xfe, 0xa7, 210, 0x76, 0x3b, 0x4b, 0x9e, 0x79 }; byte[] buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer2, class4.method_6() >> 3, class4.method_0()); class4.method_19(this.method_11(buffer, class4.method_4(), buffer3, class4.method_16())); byte[] buffer4 = new byte[] { 0xd7, 170, 15, 0x6d, 0x30, 0x61, 0x34, 0x4e }; buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer4, class4.method_6() >> 3, class4.method_0()); class4.method_21(this.method_11(sha.ComputeHash(buffer), class4.method_4(), buffer3, class4.method_16())); byte[] buffer5 = this.method_10(class3.method_4() / 8); byte[] buffer6 = new byte[] { 20, 110, 11, 0xe7, 0xab, 0xac, 0xd0, 0xd6 }; buffer3 = this.class299_0.method_9(A_2, class4.method_16(), buffer6, class4.method_6() >> 3, class4.method_0()); class4.method_23(this.method_11(buffer5, class4.method_4(), buffer3, class4.method_16())); Class188 class5 = class2.method_4().method_2(); byte[] buffer7 = new byte[] { 0x5f, 0xb2, 0xad, 1, 12, 0xb9, 0xe1, 0xf6 }; byte[] buffer8 = sha.ComputeHash(this.class299_0.method_12(class3.method_14(), buffer7)); buffer8 = this.class299_0.method_13(buffer8, class3.method_2(), 0); byte[] buffer9 = this.method_10(class3.method_6()); class5.method_1(this.method_11(buffer9, class3.method_2(), buffer5, buffer8)); byte[] buffer10 = this.method_2(A_0, A_1, class3, buffer5); HMACSHA1 hmacsha = new HMACSHA1 { Key = this.class299_0.method_13(buffer9, class3.method_6(), 0) }; byte[] buffer11 = new byte[] { 160, 0x67, 0x7f, 2, 0xb2, 0x2c, 0x84, 0x33 }; byte[] buffer12 = sha.ComputeHash(this.class299_0.method_12(class3.method_14(), buffer11)); buffer12 = this.class299_0.method_13(buffer12, class3.method_2(), 0); class5.method_3(this.method_11(hmacsha.ComputeHash(buffer10), class3.method_2(), buffer5, buffer12)); class2.method_5(stream); } }
public int method_1(Class187 class187_0) { int num; if ((num = class187_0.method_0(9)) >= 0) { int num2; if ((num2 = (int)this.short_0[num]) >= 0) { class187_0.method_1(num2 & 15); return(num2 >> 4); } int num3 = -(num2 >> 4); int int_ = num2 & 15; if ((num = class187_0.method_0(int_)) >= 0) { num2 = (int)this.short_0[num3 | num >> 9]; class187_0.method_1(num2 & 15); return(num2 >> 4); } int num4 = class187_0.method_2(); num = class187_0.method_0(num4); num2 = (int)this.short_0[num3 | num >> 9]; if ((num2 & 15) <= num4) { class187_0.method_1(num2 & 15); return(num2 >> 4); } return(-1); } else { int num5 = class187_0.method_2(); num = class187_0.method_0(num5); int num2 = (int)this.short_0[num]; if (num2 >= 0 && (num2 & 15) <= num5) { class187_0.method_1(num2 & 15); return(num2 >> 4); } return(-1); } }
public int method_3(Class187 class187_0, int int_2) { int_2 = Math.Min(Math.Min(int_2, 32768 - this.int_1), class187_0.method_3()); int num = 32768 - this.int_0; int num2; if (int_2 > num) { num2 = class187_0.method_6(this.byte_0, this.int_0, num); if (num2 == num) { num2 += class187_0.method_6(this.byte_0, 0, int_2 - num); } } else { num2 = class187_0.method_6(this.byte_0, this.int_0, int_2); } this.int_0 = (this.int_0 + num2 & 32767); this.int_1 += num2; return(num2); }
public int method_3(Class187 class1870, int int2) { int2 = Math.Min(Math.Min(int2, 32768 - _int1), class1870.method_3()); var num = 32768 - _int0; int num2; if (int2 > num) { num2 = class1870.method_6(_byte0, _int0, num); if (num2 == num) { num2 += class1870.method_6(_byte0, 0, int2 - num); } } else { num2 = class1870.method_6(_byte0, _int0, int2); } _int0 = (_int0 + num2 & 32767); _int1 += num2; return(num2); }
private void ReadFrom(Interface8 reader) { this.class987_0 = new Class987(reader); if (this.enum30_0 == Class795.Enum30.const_1) { return; } this.ilist_0 = (IList <Class80>) new List <Class80>(System.Math.Min(this.class987_0.NumberOfRecords, 256)); this.ilist_2 = (IList <Class98>) new List <Class98>(); this.class187_0 = (Class187)null; Class80 class80; while ((class80 = this.method_5(reader)) != null) { this.ilist_0.Add(class80); class80.vmethod_2(this); this.method_6(this.ilist_0.Count - 1); } if (this.idictionary_0.Count != 0) { throw new Exception0("References in the SAT code couldn't be solved"); } }
private bool method_4(byte[] A_0) { Class187 class2 = this.class62_0.method_4().method_0(); Class188 class3 = this.class62_0.method_4().method_2(); bool flag = this.method_0(); HashAlgorithm algorithm = null; if (flag) { algorithm = new SHA512Managed(); } else { algorithm = new SHA1Managed(); } byte[] buffer = new byte[] { 0x5f, 0xb2, 0xad, 1, 12, 0xb9, 0xe1, 0xf6 }; byte[] buffer2 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), buffer)); buffer2 = this.class299_0.method_13(buffer2, class2.method_2(), 0); byte[] buffer3 = this.method_5(class3.method_0(), class2.method_2(), this.byte_0, buffer2, class2.method_6()); HMAC hmac = null; if (flag) { hmac = new HMACSHA512(); } else { hmac = new HMACSHA1(); } hmac.Key = this.class299_0.method_13(buffer3, class2.method_6(), 0); byte[] buffer4 = hmac.ComputeHash(A_0); byte[] buffer5 = new byte[] { 160, 0x67, 0x7f, 2, 0xb2, 0x2c, 0x84, 0x33 }; byte[] buffer6 = algorithm.ComputeHash(this.class299_0.method_12(class2.method_14(), buffer5)); buffer6 = this.class299_0.method_13(buffer6, class2.method_2(), 0); byte[] buffer7 = this.method_5(class3.method_2(), class2.method_2(), this.byte_0, buffer6, class2.method_6()); return(this.class299_0.method_15(buffer4, buffer7)); }
public bool method_0(Class187 class1870) { while (true) { switch (_int3) { case 0: _int4 = class1870.method_0(5); if (_int4 >= 0) { _int4 += 257; class1870.method_1(5); _int3 = 1; goto IL_1FD; } return(false); case 1: goto IL_1FD; case 2: goto IL_1AF; case 3: goto IL_176; case 4: break; case 5: goto IL_2C; default: continue; } IL_F4: int num; while (((num = _class1970.method_1(class1870)) & -16) == 0) { _byte1[_int9++] = (_byte2 = (byte)num); if (_int9 == _int7) { return(true); } } if (num >= 0) { if (num >= 17) { _byte2 = 0; } else if (_int9 == 0) { goto IL_2A6; } _int8 = num - 16; _int3 = 5; goto IL_2C; } return(false); IL_176: while (_int9 < _int6) { var num2 = class1870.method_0(3); if (num2 < 0) { return(false); } class1870.method_1(3); _byte0[Int2[_int9]] = (byte)num2; _int9++; } _class1970 = new Class197(_byte0); _byte0 = null; _int9 = 0; _int3 = 4; goto IL_F4; IL_2C: var num3 = Int1[_int8]; var num4 = class1870.method_0(num3); if (num4 < 0) { return(false); } class1870.method_1(num3); num4 += Int0[_int8]; if (_int9 + num4 > _int7) { break; } while (num4-- > 0) { _byte1[_int9++] = _byte2; } if (_int9 == _int7) { return(true); } _int3 = 4; continue; IL_1AF: _int6 = class1870.method_0(4); if (_int6 >= 0) { _int6 += 4; class1870.method_1(4); _byte0 = new byte[19]; _int9 = 0; _int3 = 3; goto IL_176; } return(false); IL_1FD: _int5 = class1870.method_0(5); if (_int5 >= 0) { _int5++; class1870.method_1(5); _int7 = _int4 + _int5; _byte1 = new byte[_int7]; _int3 = 2; goto IL_1AF; } return(false); } throw new SharpZipBaseException(); IL_2A6: throw new SharpZipBaseException(); }
public override void Visit(Class187 c) { }
public bool method_0(Class187 class187_0) { while (true) { switch (this.int_3) { case 0: this.int_4 = class187_0.method_0(5); if (this.int_4 >= 0) { this.int_4 += 257; class187_0.method_1(5); this.int_3 = 1; goto IL_1FD; } return(false); case 1: goto IL_1FD; case 2: goto IL_1AF; case 3: goto IL_176; case 4: break; case 5: goto IL_2C; default: continue; } IL_F4: int num; while (((num = this.class197_0.method_1(class187_0)) & -16) == 0) { this.byte_1[this.int_9++] = (this.byte_2 = (byte)num); if (this.int_9 == this.int_7) { return(true); } } if (num >= 0) { if (num >= 17) { this.byte_2 = 0; } else if (this.int_9 == 0) { goto IL_2A6; } this.int_8 = num - 16; this.int_3 = 5; goto IL_2C; } return(false); IL_176: while (this.int_9 < this.int_6) { int num2 = class187_0.method_0(3); if (num2 < 0) { return(false); } class187_0.method_1(3); this.byte_0[Class198.int_2[this.int_9]] = (byte)num2; this.int_9++; } this.class197_0 = new Class197(this.byte_0); this.byte_0 = null; this.int_9 = 0; this.int_3 = 4; goto IL_F4; IL_2C: int num3 = Class198.int_1[this.int_8]; int num4 = class187_0.method_0(num3); if (num4 < 0) { return(false); } class187_0.method_1(num3); num4 += Class198.int_0[this.int_8]; if (this.int_9 + num4 > this.int_7) { break; } while (num4-- > 0) { this.byte_1[this.int_9++] = this.byte_2; } if (this.int_9 == this.int_7) { return(true); } this.int_3 = 4; continue; IL_1AF: this.int_6 = class187_0.method_0(4); if (this.int_6 >= 0) { this.int_6 += 4; class187_0.method_1(4); this.byte_0 = new byte[19]; this.int_9 = 0; this.int_3 = 3; goto IL_176; } return(false); IL_1FD: this.int_5 = class187_0.method_0(5); if (this.int_5 >= 0) { this.int_5++; class187_0.method_1(5); this.int_7 = this.int_4 + this.int_5; this.byte_1 = new byte[this.int_7]; this.int_3 = 2; goto IL_1AF; } return(false); } throw new SharpZipBaseException(); IL_2A6: throw new SharpZipBaseException(); }
internal void method_1(Class187 A_0) { this.class187_0 = A_0; }
public abstract void Visit(Class187 c);