public MemoryStream m000075(struct03a p0) { byte[] buffer = new byte[0x8000]; uint num = p0.f00001b; MemoryStream stream = new MemoryStream(); this.fs.Seek((long) p0.f00005f, SeekOrigin.Begin); while (num > 0) { int count = this.fs.Read(buffer, 0, (int) Math.Min((long) num, (long) buffer.Length)); stream.Write(buffer, 0, count); num -= (uint) count; } stream.Seek(0L, SeekOrigin.Begin); return stream; }
private void m000051(struct03a p0) { this.fs.Write(new byte[] { 80, 0x4b, 1, 2, 0x17, 11, 20, 0, 0, 0 }, 0, 10); this.fs.Write(BitConverter.GetBytes((ushort) 0), 0, 2); this.fs.Write(BitConverter.GetBytes(this.m000077(p0.f000063)), 0, 4); this.fs.Write(BitConverter.GetBytes(p0.f000062), 0, 4); this.fs.Write(BitConverter.GetBytes(p0.f00001b), 0, 4); this.fs.Write(BitConverter.GetBytes(p0.f00001b), 0, 4); this.fs.Write(BitConverter.GetBytes((ushort) p0.f000006.Length), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) 0), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) p0.f000007.Length), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) 0), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) 0), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) 0), 0, 2); this.fs.Write(BitConverter.GetBytes((ushort) 0x8100), 0, 2); this.fs.Write(BitConverter.GetBytes(p0.f000061), 0, 4); this.fs.Write(Encoding.UTF8.GetBytes(p0.f000006), 0, p0.f000006.Length); this.fs.Write(Encoding.UTF8.GetBytes(p0.f000007), 0, p0.f000007.Length); }
public struct03a m000073(string p0) { ushort num2; ushort num3; ushort num4; if (this.f000008 == null) { throw new InvalidOperationException("Central directory currently does not exist"); } p0 = m000079(p0).ToLower(); for (int i = 0; i < this.f000008.Length; i += ((0x2e + num2) + num3) + num4) { num2 = BitConverter.ToUInt16(this.f000008, i + 0x1c); num3 = BitConverter.ToUInt16(this.f000008, i + 30); num4 = BitConverter.ToUInt16(this.f000008, i + 0x20); string str = Encoding.UTF8.GetString(this.f000008, i + 0x2e, num2); if (str.ToLower() == p0) { uint num5 = BitConverter.ToUInt32(this.f000008, i + 0x2a); uint num6 = BitConverter.ToUInt32(this.f000008, i + 20); uint num7 = BitConverter.ToUInt32(this.f000008, i + 12); uint num8 = (uint) (((0x2e + num2) + num3) + num4); struct03a structa = new struct03a(); structa.f000006 = str; structa.f00005f = this.m000074(num5); structa.f00001b = num6; structa.f000061 = num5; structa.f000060 = num8; structa.f000063 = this.m000078(num7); if (num4 > 0) { structa.f000007 = Encoding.UTF8.GetString(this.f000008, ((i + 0x2e) + num2) + num3, num4); } return structa; } } return new struct03a(); }