private static byte[] Decompress(byte[] Data) {
byte[] Target;
using (MemoryStream InputStream = new MemoryStream(Data)) {
InputStream.Position = 26;
using (DeflateStream Deflate = new DeflateStream(InputStream, CompressionMode.Decompress, true)) {
using (MemoryStream OutputStream = new MemoryStream()) {
byte[] Buffer = new byte[4096];
while (true) {
int Count = Deflate.Read(Buffer, 0, Buffer.Length);
if (Count != 0) {
OutputStream.Write(Buffer, 0, Count);
}
if (Count != Buffer.Length) {
break;
}
}
Target = new byte[OutputStream.Length];
OutputStream.Position = 0;
OutputStream.Read(Target, 0, Target.Length);
}
}
}
return Target;
}