Files.FAR3.FAR3Archive.Decompress C# (CSharp) Метод

Decompress() приватный Метод

private Decompress ( FAR3Entry Entry ) : Stream
Entry FAR3Entry
Результат Stream
        private Stream Decompress(FAR3Entry Entry)
        {
            m_Reader.ReadBytes(9);
            uint CompressedSize = m_Reader.ReadUInt32();
            ushort CompressionID = m_Reader.ReadUShort();

            if (CompressionID == 0xFB10)
            {
                byte[] Dummy = m_Reader.ReadBytes(3);
                uint DecompressedSize = (uint)((Dummy[0] << 0x10) | (Dummy[1] << 0x08) | +Dummy[2]);

                Decompresser Dec = new Decompresser();
                Dec.CompressedSize = CompressedSize;
                Dec.DecompressedSize = DecompressedSize;

                byte[] DecompressedData = Dec.Decompress(m_Reader.ReadBytes((int)CompressedSize));

                MemoryStream MemStream = new MemoryStream(DecompressedData);
                MemStream.Seek(0, SeekOrigin.Begin);

                return MemStream;
            }
            else
            {
                m_Reader.Seek(m_Reader.Position - 15);
                return new MemoryStream(m_Reader.ReadBytes((int)Entry.DecompressedDataSize));
            }
        }