private static byte[] Two(byte[] u0002, byte[] u0003, byte[] u0005, long u0008, GSEncodingData u0006) { byte[] numArray; byte[] numArray1 = new byte[261]; numArray = (u0006 != null ? u0006.EncodingKey : numArray1); if (u0006 == null || u0006.Start == 0) { u0005 = Three(ref numArray, ref u0002, u0003, ref u0005, ref u0008, ref u0006); if (u0005 == null) { return(null); } } if (u0006 == null) { Four(ref numArray, ref u0005, u0008); return(u0005); } if (u0006.Start == 0) { return(null); } byte[] numArray2 = new byte[u0008 - u0006.Offset]; Array.ConstrainedCopy(u0005, (int)u0006.Offset, numArray2, 0, (int)(u0008 - u0006.Offset)); long num = Four(ref numArray, ref numArray2, u0008 - u0006.Offset); Array.ConstrainedCopy(numArray2, 0, u0005, (int)u0006.Offset, (int)(u0008 - u0006.Offset)); GSEncodingData offset = u0006; offset.Offset = offset.Offset + num; byte[] numArray3 = new byte[u0008 - u0006.Start]; Array.ConstrainedCopy(u0005, (int)u0006.Start, numArray3, 0, (int)(u0008 - u0006.Start)); return(numArray3); }
private static byte[] Two(byte[] u0002, byte[] u0003, byte[] u0005, long u0008, GSEncodingData u0006) { byte[] numArray; byte[] numArray1 = new byte[261]; numArray = (u0006 != null ? u0006.EncodingKey : numArray1); if (u0006 == null || u0006.Start == 0) { u0005 = Three(ref numArray, ref u0002, u0003, ref u0005, ref u0008, ref u0006); if (u0005 == null) { return null; } } if (u0006 == null) { Four(ref numArray, ref u0005, u0008); return u0005; } if (u0006.Start == 0) { return null; } byte[] numArray2 = new byte[u0008 - u0006.Offset]; Array.ConstrainedCopy(u0005, (int)u0006.Offset, numArray2, 0, (int)(u0008 - u0006.Offset)); long num = Four(ref numArray, ref numArray2, u0008 - u0006.Offset); Array.ConstrainedCopy(numArray2, 0, u0005, (int)u0006.Offset, (int)(u0008 - u0006.Offset)); GSEncodingData offset = u0006; offset.Offset = offset.Offset + num; byte[] numArray3 = new byte[u0008 - u0006.Start]; Array.ConstrainedCopy(u0005, (int)u0006.Start, numArray3, 0, (int)(u0008 - u0006.Start)); return numArray3; }
private static byte[] Three(ref byte[] u0002, ref byte[] u0003, byte[] u0005, ref byte[] u0008, ref long u0006, ref GSEncodingData u000e) { long num = (long)((u0008[0] ^ 236) + 2); byte[] numArray = new byte[8]; if (u0006 < (long)1) { return null; } if (u0006 < num) { return null; } long num1 = (long)(u0008[num - 1] ^ 234); if (u0006 < num + num1) { return null; } Array.Copy(u0005, numArray, 8); byte[] numArray1 = new byte[u0006 - num]; Array.ConstrainedCopy(u0008, (int)num, numArray1, 0, (int)(u0006 - num)); Six(ref u0002, ref u0003, ref numArray, numArray1, num1); Array.ConstrainedCopy(numArray1, 0, u0008, (int)num, (int)(u0006 - num)); num = num + num1; if (u000e != null) { u000e.Offset = num; u000e.Start = num; } else { byte[] numArray2 = new byte[u0006 - num]; Array.ConstrainedCopy(u0008, (int)num, numArray2, 0, (int)(u0006 - num)); u0008 = numArray2; u0006 = u0006 - num; } return u0008; }
private static byte[] Three(ref byte[] u0002, ref byte[] u0003, byte[] u0005, ref byte[] u0008, ref long u0006, ref GSEncodingData u000e) { long num = (long)((u0008[0] ^ 236) + 2); byte[] numArray = new byte[8]; if (u0006 < (long)1) { return(null); } if (u0006 < num) { return(null); } long num1 = (long)(u0008[num - 1] ^ 234); if (u0006 < num + num1) { return(null); } Array.Copy(u0005, numArray, 8); byte[] numArray1 = new byte[u0006 - num]; Array.ConstrainedCopy(u0008, (int)num, numArray1, 0, (int)(u0006 - num)); Six(ref u0002, ref u0003, ref numArray, numArray1, num1); Array.ConstrainedCopy(numArray1, 0, u0008, (int)num, (int)(u0006 - num)); num = num + num1; if (u000e != null) { u000e.Offset = num; u000e.Start = num; } else { byte[] numArray2 = new byte[u0006 - num]; Array.ConstrainedCopy(u0008, (int)num, numArray2, 0, (int)(u0006 - num)); u0008 = numArray2; u0006 = u0006 - num; } return(u0008); }