private byte[] method_5(Interface61 A_0)
    {
        int          num     = 6;
        MemoryStream stream  = new MemoryStream();
        Stream12     stream2 = Stream12.smethod_2();
        int          num2    = this.method_6(A_0);
        int          index   = 0;
        int          length  = A_0.imethod_9().Length;

        while (true)
        {
            if (index >= length)
            {
                stream2.Flush();
                if (stream2.Length > 0L)
                {
                    long num1 = stream2.Length;
                    stream2.method_17(stream);
                    stream2.Close();
                    stream2.Dispose();
                    return(stream.ToArray());
                }
                stream2.Close();
                stream2.Dispose();
                stream.Dispose();
                return(null);
            }
            string str = A_0.imethod_9().GetValue(index).ToString();
            if ((((str != BookmarkStart.b("⴫愭尯圱", num)) && (str != BookmarkStart.b("⼫愭刯報紳堵帷唹", num))) && ((str != BookmarkStart.b("⴫洭弯弱䐳礵娷倹", num)) && (str != BookmarkStart.b("⼫戭夯就弳缵嘷尹医", num)))) && (((str != BookmarkStart.b("⴫愭尯圱Գص瘷嬹䠻圽㘿❁", num)) && (str != BookmarkStart.b("⼫欭怯怱紳砵氷", num))) && (str != BookmarkStart.b("⸫愭尯圱搳䐵崷䤹఻฽瀿", num))))
            {
                Stream1 stream3 = A_0.imethod_0(str);
                if ((num2 == 1) || (str.ToLower() == BookmarkStart.b("簫伭匯失唳儵崷", num).ToLower()))
                {
                    byte[] buffer = new byte[stream3.Length];
                    stream3.Read(buffer, 0, buffer.Length);
                    stream3.Flush();
                    stream3.Close();
                    A_0.Dispose();
                    stream2.Close();
                    stream2.Dispose();
                    return(buffer);
                }
                stream2.method_15(stream3.method_0());
                byte[] buffer2 = new byte[stream3.Length];
                stream3.Read(buffer2, 0, buffer2.Length);
                stream2.Write(buffer2, 0, buffer2.Length);
                try
                {
                    stream2.Flush();
                }
                catch
                {
                }
                stream2.Close();
                stream3.Close();
            }
            index++;
        }
    }
    private void method_21(Stream12 A_0, Stream A_1)
    {
        Class1004 class2 = new Class1004(A_1);

        string[] strArray = class2.Interface51.imethod_0().imethod_9();
        int      index    = 0;
        int      length   = strArray.Length;

        while (true)
        {
            if (index >= length)
            {
                break;
            }
            Stream1 stream = class2.Interface51.imethod_0().imethod_0(strArray[index]);
            A_0.method_15(strArray[index]);
            byte[] buffer = new byte[stream.Length];
            stream.Read(buffer, 0, buffer.Length);
            A_0.Write(buffer, 0, buffer.Length);
            try
            {
                A_0.Flush();
            }
            catch
            {
            }
            A_0.Close();
            stream.Close();
            index++;
        }
        class2.System.IDisposable.Dispose();
    }
Beispiel #3
0
    internal static void smethod_1(Stream A_0, int A_1, Document A_2)
    {
        int num = 2;

        if (((A_0 != null) && (A_0.Length != 0L)) && (A_1 != 0))
        {
            string item = BookmarkStart.b("眧", num) + A_1;
            if (!A_2.ObjPoolContainers.Contains(item))
            {
                A_2.ObjPoolContainers.Add(item);
                A_0.Position = 0L;
                MemoryStream stream  = new MemoryStream();
                Stream12     stream2 = Stream12.smethod_2();
                Stream12     stream3 = stream2.method_13(BookmarkStart.b("朧䠩䘫䬭匯䘱搳夵圷嘹", num));
                byte[]       buffer  = new byte[A_0.Length];
                A_0.Read(buffer, 0, buffer.Length);
                A_0.Position = 0L;
                MemoryStream stream4 = new MemoryStream(buffer);
                Stream12     stream5 = new Stream12(stream4);
                Stream12     stream6 = stream5.method_11(item);
                Stream12.smethod_0(stream6, stream3);
                stream2.Flush();
                stream2.method_17(stream);
                stream.Position = 0L;
                if (A_2.ObjectPool == null)
                {
                    A_2.ObjectPool = stream.GetBuffer();
                }
                else
                {
                    byte[] objectPool = A_2.ObjectPool;
                    smethod_0(stream, A_1, new MemoryStream(A_2.ObjectPool), out objectPool);
                    A_2.ObjectPool = objectPool;
                }
                stream2.Close();
                stream2.Dispose();
                stream3.Close();
                stream3.Dispose();
                stream5.Close();
                stream5.Dispose();
                stream6.Close();
                stream6.Dispose();
                stream.Close();
                stream.Dispose();
            }
        }
    }
Beispiel #4
0
        internal static byte[] smethod_3(List <DocOleObject> A_0)
        {
            int num = 3;

            byte[] buffer = new byte[0];
            if ((A_0 != null) && (A_0.Count > 0))
            {
                List <string> list = new List <string>();
                using (MemoryStream stream5 = new MemoryStream())
                {
                    using (Stream12 stream = Stream12.smethod_2())
                    {
                        using (Stream12 stream2 = stream.method_13(BookmarkStart.b("昨䤪䜬䨮到䜲攴堶嘸场", num)))
                        {
                            foreach (DocOleObject obj2 in A_0)
                            {
                                string item = BookmarkStart.b("瘨", num) + obj2.Interface49.get_OleStorageName();
                                if (!list.Contains(item))
                                {
                                    list.Add(item);
                                    if (obj2.Interface49.get_Container() != null)
                                    {
                                        obj2.Interface49.get_Container().Position = 0L;
                                        using (Stream12 stream3 = new Stream12(obj2.Interface49.get_Container()))
                                        {
                                            using (Stream12 stream4 = stream3.method_11(item))
                                            {
                                                Stream12.smethod_0(stream4, stream2);
                                            }
                                        }
                                    }
                                }
                            }
                            stream.Flush();
                            stream.method_17(stream5);
                            stream5.Position = 0L;
                            buffer           = stream5.ToArray();
                        }
                    }
                }
                list = null;
            }
            return(buffer);
        }
    internal byte[] method_12(byte[] A_0, byte[] A_1, string A_2, DocOleObject A_3)
    {
        int          num    = 14;
        MemoryStream stream = new MemoryStream(A_0);
        string       str    = BookmarkStart.b("欳", 14) + A_3.Interface49.get_OleStorageName();

        if ((A_3.stream_1 != null) && (A_3.OleObjectType == OleObjectType.Undefined))
        {
            return(this.method_14(stream, A_3, str));
        }
        Stream12 stream3 = new Stream12(stream, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream4 = null;

        stream4 = stream3.method_12(BookmarkStart.b("笳吵刷弹弻䨽ဿⵁ⭃⩅", num), STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream2 = stream4.method_12(str, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        this.method_25(stream2, A_3.Interface49.get_LinkType(), A_3.OleObjectType, A_2);
        this.method_26(stream2, A_3.Interface49.get_LinkType(), A_3.OleObjectType);
        if (A_3.Interface49.get_LinkType() == OleLinkType.Embed)
        {
            this.byte_0 = A_1;
            this.method_22(stream2, A_3.OleObjectType);
            this.method_15(stream2, A_2, A_3.OleObjectType);
        }
        else
        {
            this.method_24(stream2, A_3.OleObjectType, A_2);
        }
        stream4.Flush();
        stream3.Flush();
        MemoryStream stream5 = new MemoryStream();

        stream3.method_17(stream5);
        stream5.Flush();
        byte[] buffer = stream5.ToArray();
        stream5.Close();
        stream3.Close();
        stream3.Dispose();
        stream4.Close();
        stream4.Dispose();
        return(buffer);
    }
    internal byte[] method_11(byte[] A_0, string A_1, string A_2, OleLinkType A_3, OleObjectType A_4)
    {
        int num = 10;

        this.string_22 = A_1;
        if (A_4 == OleObjectType.Package)
        {
            this.string_21 = A_1;
        }
        MemoryStream stream  = new MemoryStream(A_0);
        Stream12     stream2 = new Stream12(stream, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12     stream3 = null;

        stream3 = stream2.method_12(BookmarkStart.b("缯倱帳匵嬷丹氻儽⼿⹁", num), STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);
        Stream12 stream4 = stream3.method_12(A_2, STGM.STGM_SHARE_EXCLUSIVE | STGM.STGM_READWRITE);

        this.method_25(stream4, A_3, A_4, A_1);
        this.method_26(stream4, A_3, A_4);
        if (A_3 == OleLinkType.Embed)
        {
            this.byte_0 = File.ReadAllBytes(A_1);
            this.method_22(stream4, A_4);
            this.method_15(stream4, A_1, A_4);
        }
        else
        {
            this.method_24(stream4, A_4, A_1);
        }
        stream3.Flush();
        stream2.Flush();
        MemoryStream stream5 = new MemoryStream();

        stream2.method_17(stream5);
        stream5.Flush();
        byte[] buffer = stream5.ToArray();
        stream5.Close();
        stream2.Close();
        stream2.Dispose();
        stream3.Close();
        stream3.Dispose();
        return(buffer);
    }