public override void imethod_1(Interface9 writer) { writer.imethod_7(this.double_9); writer.imethod_7(this.double_10); writer.imethod_7(this.double_11); writer.imethod_7(this.double_12); writer.imethod_7(this.double_8); writer.imethod_15(); base.imethod_1(writer); writer.imethod_15(); writer.imethod_18(this.vector3D_0); if (writer.FileFormatVersion < Class250.int_68) { Class188.smethod_1(writer, this.class188_1); } writer.imethod_7(this.double_13); if (writer.FileFormatVersion >= Class250.int_42) { this.class1046_0.imethod_1(writer); } if (writer.FileFormatVersion < Class250.int_57) { return; } Class607.smethod_1(writer, this.interface3_0, (Interface4)this.interface3_0); }
internal int method_3() { if (this.class607_0 != null) { this.class607_0.method_2(); } this.class607_0 = null; return(0); }
internal int method_4(Class1068 A_0, int A_1) { int num = 7; this.class1068_0 = A_0; this.class1068_0.string_0 = null; this.class607_0 = null; if ((A_1 >= 8) && (A_1 <= 15)) { this.int_19 = A_1; } else { this.method_3(); throw new Exception0(BookmarkStart.b("漬丮唰ጲ䈴帶圸强刼䠾慀あⱄ㵆ⱈ敊", num)); } this.class607_0 = new Class607(A_0, this.method_0() ? this : null, ((int)1) << A_1); this.method_2(); return(0); }
public override void imethod_0(Interface8 reader) { this.double_9 = reader.imethod_8(); this.double_10 = reader.imethod_8(); this.double_11 = reader.imethod_8(); this.double_12 = reader.imethod_8(); this.double_8 = reader.imethod_8(); base.imethod_0(reader); this.vector3D_0 = reader.imethod_19(); if (reader.FileFormatVersion < Class250.int_68) { this.class188_1 = Class188.smethod_0(reader); } this.double_13 = reader.imethod_8(); if (reader.FileFormatVersion >= Class250.int_42) { this.class1046_0.imethod_0(reader); } if (reader.FileFormatVersion < Class250.int_57) { return; } this.interface3_0 = Class607.smethod_0(reader); }
internal int method_1(Class607 A_0, int A_1) { int num9; int num12; int num = 7; int num2 = 0; int num3 = 0; int num4 = 0; Class1068 class2 = A_0.class1068_0; num4 = class2.int_0; int num5 = class2.int_1; num2 = A_0.int_14; num3 = A_0.int_15; int num6 = A_0.int_26; int num7 = (num6 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); goto Label_066B; Label_0145: num12 = num6 - this.int_11; while (num12 < 0) { num12 += A_0.int_17; } while (this.int_15 != 0) { if (num7 == 0) { if ((num6 == A_0.int_17) && (A_0.int_23 != 0)) { num6 = 0; num7 = (0 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); } if (num7 == 0) { A_0.int_26 = num6; A_1 = A_0.method_5(A_1); num6 = A_0.int_26; num7 = (num6 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); if ((num6 == A_0.int_17) && (A_0.int_23 != 0)) { num6 = 0; num7 = (0 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); } if (num7 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } } } A_0.byte_0[num6++] = A_0.byte_0[num12++]; num7--; if (num12 == A_0.int_17) { num12 = 0; } this.int_15--; } this.int_19 = 0; goto Label_066B; Label_02E2: num9 = this.int_20; while (num3 < num9) { if (num5 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } A_1 = 0; num5--; num2 |= (class2.byte_0[num4++] & 0xff) << num3; num3 += 8; } int index = (this.int_22 + (num2 & int_10[num9])) * 3; num2 = num2 >> this.int_21[index + 1]; num3 -= this.int_21[index + 1]; int num11 = this.int_21[index]; if ((num11 & 0x10) != 0) { this.int_14 = num11 & 15; this.int_11 = this.int_21[index + 2]; this.int_19 = 4; } else { if ((num11 & 0x40) != 0) { this.int_19 = 9; class2.string_0 = BookmarkStart.b("䐬䄮䜰刲头帶崸ᬺ夼嘾㉀㝂⑄⥆⩈⹊浌ⱎ㹐㝒ご", num); A_1 = -3; A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(-3)); } this.int_20 = num11; this.int_22 = (index / 3) + this.int_21[index + 2]; } goto Label_066B; Label_044D: num9 = this.int_20; while (num3 < num9) { if (num5 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } A_1 = 0; num5--; num2 |= (class2.byte_0[num4++] & 0xff) << num3; num3 += 8; } index = (this.int_22 + (num2 & int_10[num9])) * 3; num2 = Class604.smethod_0(num2, this.int_21[index + 1]); num3 -= this.int_21[index + 1]; num11 = this.int_21[index]; if (num11 == 0) { this.int_16 = this.int_21[index + 2]; this.int_19 = 6; } else if ((num11 & 0x10) != 0) { this.int_14 = num11 & 15; this.int_15 = this.int_21[index + 2]; this.int_19 = 2; } else if ((num11 & 0x40) == 0) { this.int_20 = num11; this.int_22 = (index / 3) + this.int_21[index + 2]; } else { if ((num11 & 0x20) == 0) { this.int_19 = 9; class2.string_0 = BookmarkStart.b("䐬䄮䜰刲头帶崸ᬺ儼嘾㕀♂㝄♆╈摊⅌⩎㽐㑒⅔㽖祘㡚㉜㭞Ѡ", num); A_1 = -3; A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(-3)); } this.int_19 = 7; } Label_066B: switch (this.int_19) { case 0: if ((num7 >= 0x102) && (num5 >= 10)) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; A_1 = this.method_2(this.byte_1, this.byte_0, this.int_17, this.int_18, this.int_12, this.int_13, A_0, class2); num4 = class2.int_0; num5 = class2.int_1; num2 = A_0.int_14; num3 = A_0.int_15; num6 = A_0.int_26; num7 = (num6 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); if (A_1 != 0) { this.int_19 = (A_1 == 1) ? 7 : 9; goto Label_066B; } } this.int_20 = this.byte_1; this.int_21 = this.int_17; this.int_22 = this.int_18; this.int_19 = 1; goto Label_044D; case 1: goto Label_044D; case 2: num9 = this.int_14; while (num3 < num9) { if (num5 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } A_1 = 0; num5--; num2 |= (class2.byte_0[num4++] & 0xff) << num3; num3 += 8; } this.int_15 += num2 & int_10[num9]; num2 = num2 >> num9; num3 -= num9; this.int_20 = this.byte_0; this.int_21 = this.int_12; this.int_22 = this.int_13; this.int_19 = 3; goto Label_02E2; case 3: goto Label_02E2; case 4: num9 = this.int_14; while (num3 < num9) { if (num5 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } A_1 = 0; num5--; num2 |= (class2.byte_0[num4++] & 0xff) << num3; num3 += 8; } this.int_11 += num2 & int_10[num9]; num2 = num2 >> num9; num3 -= num9; this.int_19 = 5; goto Label_0145; case 5: goto Label_0145; case 6: if (num7 == 0) { if ((num6 == A_0.int_17) && (A_0.int_23 != 0)) { num6 = 0; num7 = (0 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); } if (num7 == 0) { A_0.int_26 = num6; A_1 = A_0.method_5(A_1); num6 = A_0.int_26; num7 = (num6 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); if ((num6 == A_0.int_17) && (A_0.int_23 != 0)) { num6 = 0; num7 = (0 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); } if (num7 == 0) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } } } A_1 = 0; A_0.byte_0[num6++] = (byte)this.int_16; num7--; this.int_19 = 0; goto Label_066B; case 7: if (num3 > 7) { num3 -= 8; num5++; num4--; } A_0.int_26 = num6; A_1 = A_0.method_5(A_1); num6 = A_0.int_26; num7 = (num6 < A_0.int_23) ? ((A_0.int_23 - num6) - 1) : (A_0.int_17 - num6); if (A_0.int_23 != A_0.int_26) { A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(A_1)); } this.int_19 = 8; break; case 8: break; case 9: A_1 = -3; A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(-3)); default: A_1 = -2; A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(-2)); } A_1 = 1; A_0.int_14 = num2; A_0.int_15 = num3; class2.int_1 = num5; class2.long_0 += num4 - class2.int_0; class2.int_0 = num4; A_0.int_26 = num6; return(A_0.method_5(1)); }
internal int method_2(int A_0, int A_1, int[] A_2, int A_3, int[] A_4, int A_5, Class607 A_6, Class1068 A_7) { int num = 0x13; int num2 = A_7.int_0; int num3 = A_7.int_1; int num4 = A_6.int_14; int num5 = A_6.int_15; int destinationIndex = A_6.int_26; int num15 = (destinationIndex < A_6.int_23) ? ((A_6.int_23 - destinationIndex) - 1) : (A_6.int_17 - destinationIndex); int num7 = int_10[A_0]; int num16 = int_10[A_1]; while (num5 < 20) { int num8; int num12; int num13; num3--; num4 |= (A_7.byte_0[num2++] & 0xff) << num5; num5 += 8; continue; Label_0097: num8 = num4 & num7; int[] numArray = A_2; int num9 = A_3; int index = (num9 + num8) * 3; int num11 = numArray[index]; if (num11 != 0) { goto Label_012D; } num4 = num4 >> numArray[index + 1]; num5 -= numArray[index + 1]; A_6.byte_0[destinationIndex++] = (byte)numArray[index + 2]; num15--; goto Label_0443; Label_00F2: if ((num11 & 0x40) != 0) { if ((num11 & 0x20) != 0) { num12 = A_7.int_1 - num3; num12 = ((num5 >> 3) < num12) ? (num5 >> 3) : num12; num3 += num12; num2 -= num12; num5 -= num12 << 3; A_6.int_14 = num4; A_6.int_15 = num5; A_7.int_1 = num3; A_7.long_0 += num2 - A_7.int_0; A_7.int_0 = num2; A_6.int_26 = destinationIndex; return(1); } A_7.string_0 = BookmarkStart.b("倸唺䬼帾ⵀ⩂⅄杆╈≊㥌⩎⍐㉒㥔硖㕘㹚㍜㡞ᕠୢ䕤Ѧ٨ཪ", num); num12 = A_7.int_1 - num3; num12 = ((num5 >> 3) < num12) ? (num5 >> 3) : num12; num3 += num12; num2 -= num12; num5 -= num12 << 3; A_6.int_14 = num4; A_6.int_15 = num5; A_7.int_1 = num3; A_7.long_0 += num2 - A_7.int_0; A_7.int_0 = num2; A_6.int_26 = destinationIndex; return(-3); } num8 += numArray[index + 2]; num8 += num4 & int_10[num11]; index = (num9 + num8) * 3; num11 = numArray[index]; if (num11 == 0) { goto Label_040D; } Label_012D: num4 = num4 >> numArray[index + 1]; num5 -= numArray[index + 1]; if ((num11 & 0x10) == 0) { goto Label_00F2; } num11 &= 15; num12 = numArray[index + 2] + (num4 & int_10[num11]); num4 = num4 >> num11; num5 -= num11; while (num5 < 15) { num3--; num4 |= (A_7.byte_0[num2++] & 0xff) << num5; num5 += 8; } num8 = num4 & num16; numArray = A_4; num9 = A_5; index = (num9 + num8) * 3; num11 = numArray[index]; goto Label_01FA; Label_01C5: if ((num11 & 0x40) != 0) { A_7.string_0 = BookmarkStart.b("倸唺䬼帾ⵀ⩂⅄杆ⵈ≊㹌㭎ぐ㵒㙔㉖祘㡚㉜㭞Ѡ", num); num12 = A_7.int_1 - num3; num12 = ((num5 >> 3) < num12) ? (num5 >> 3) : num12; num3 += num12; num2 -= num12; num5 -= num12 << 3; A_6.int_14 = num4; A_6.int_15 = num5; A_7.int_1 = num3; A_7.long_0 += num2 - A_7.int_0; A_7.int_0 = num2; A_6.int_26 = destinationIndex; return(-3); } num8 += numArray[index + 2]; num8 += num4 & int_10[num11]; index = (num9 + num8) * 3; num11 = numArray[index]; Label_01FA: num4 = num4 >> numArray[index + 1]; num5 -= numArray[index + 1]; if ((num11 & 0x10) == 0) { goto Label_01C5; } num11 &= 15; while (num5 < num11) { num3--; num4 |= (A_7.byte_0[num2++] & 0xff) << num5; num5 += 8; } int num14 = numArray[index + 2] + (num4 & int_10[num11]); num4 = num4 >> num11; num5 -= num11; num15 -= num12; if (destinationIndex >= num14) { num13 = destinationIndex - num14; if (((destinationIndex - num13) > 0) && (2 > (destinationIndex - num13))) { A_6.byte_0[destinationIndex++] = A_6.byte_0[num13++]; A_6.byte_0[destinationIndex++] = A_6.byte_0[num13++]; num12 -= 2; } else { Array.Copy(A_6.byte_0, num13, A_6.byte_0, destinationIndex, 2); destinationIndex += 2; num13 += 2; num12 -= 2; } } else { num13 = destinationIndex - num14; do { num13 += A_6.int_17; }while (num13 < 0); num11 = A_6.int_17 - num13; if (num12 > num11) { num12 -= num11; if (((destinationIndex - num13) > 0) && (num11 > (destinationIndex - num13))) { do { A_6.byte_0[destinationIndex++] = A_6.byte_0[num13++]; }while (--num11 != 0); } else { Array.Copy(A_6.byte_0, num13, A_6.byte_0, destinationIndex, num11); destinationIndex += num11; num13 += num11; num11 = 0; } num13 = 0; } } if (((destinationIndex - num13) > 0) && (num12 > (destinationIndex - num13))) { do { A_6.byte_0[destinationIndex++] = A_6.byte_0[num13++]; }while (--num12 != 0); } else { Array.Copy(A_6.byte_0, num13, A_6.byte_0, destinationIndex, num12); destinationIndex += num12; num13 += num12; num12 = 0; } goto Label_0443; Label_040D: num4 = num4 >> numArray[index + 1]; num5 -= numArray[index + 1]; A_6.byte_0[destinationIndex++] = (byte)numArray[index + 2]; num15--; Label_0443: if ((num15 < 0x102) || (num3 < 10)) { num12 = A_7.int_1 - num3; num12 = ((num5 >> 3) < num12) ? (num5 >> 3) : num12; num3 += num12; num2 -= num12; num5 -= num12 << 3; A_6.int_14 = num4; A_6.int_15 = num5; A_7.int_1 = num3; A_7.long_0 += num2 - A_7.int_0; A_7.int_0 = num2; A_6.int_26 = destinationIndex; return(0); } } goto Label_0097; }