コード例 #1
0
    private Class1090 method_5(Class1090 A_0, string A_1)
    {
        if (A_0.string_0 == A_1)
        {
            return(A_0);
        }
        Class1090 class4 = this.method_6(A_0, A_0.uint_2);

        if (class4 != null)
        {
            Class1090 class5 = this.method_5(class4, A_1);
            if (class5 != null)
            {
                return(class5);
            }
        }
        Class1090 class2 = this.method_6(A_0, A_0.uint_3);

        if (class2 != null)
        {
            Class1090 class3 = this.method_5(class2, A_1);
            if (class3 != null)
            {
                return(class3);
            }
        }
        return(null);
    }
コード例 #2
0
 internal Class1090 method_6(Class1090 A_0, uint A_1)
 {
     if (((A_1 != uint.MaxValue) && (A_1 < this.arrayList_0.Count)) && (A_0 != this.method_0(A_1)))
     {
         return(this.method_0(A_1));
     }
     return(null);
 }
コード例 #3
0
    public MemoryStream method_11(string A_0)
    {
        int       num    = 0x13;
        Class1090 class2 = this.class410_0.method_4(A_0);

        if (class2 == null)
        {
            throw new InvalidOperationException(string.Format(BookmarkStart.b("稸娺匼儾⹀㝂敄ⅆ⁈╊⥌潎㕐㩒❔㉖㩘⽚㉜ⵞᡠ䍢d०ᵨᥪᑬ佮ੰ䍲ࡴ奶", num), A_0));
        }
        return(this.method_10(class2.uint_4, (int)class2.long_2, 0x200, false));
    }
コード例 #4
0
    private void method_13(Class1090 A_0, Class1089 A_1)
    {
        int num = 10;

        if (!A_0.bool_0)
        {
            A_0.bool_0 = true;
            switch (A_0.dirEntryType_0)
            {
            case DirEntryType.Invalid:
                return;

            case DirEntryType.Storage:
            case DirEntryType.Root:
            {
                Class1089 class2 = new Class1089(A_0.guid_0);
                if ((A_0.dirEntryType_0 != DirEntryType.Root) || (this.class1089_0 != null))
                {
                    A_1.method_3(A_0.string_0, class2);
                }
                else
                {
                    this.class1089_0 = class2;
                }
                Class1090 class3 = this.class410_0.method_6(A_0, A_0.uint_1);
                if (class3 != null)
                {
                    this.method_13(class3, class2);
                }
                break;
            }

            case DirEntryType.Stream:
                A_1.method_2(A_0.string_0, this.method_10(A_0.uint_4, (int)A_0.long_2, (int)A_0.long_2, false));
                break;

            default:
                throw new InvalidOperationException(BookmarkStart.b("支就弳堵圷䴹刻ḽ㐿㭁㑃⍅桇╉⩋湍㑏㭑♓㍕㭗⹙㍛ⱝᥟ䉡ţࡥᱧᡩᕫ乭᥯ᱱ味ɵၷό屻ൽﲇノﺋ늑ﶛ劣얟財", num));
            }
            Class1090 class5 = this.class410_0.method_6(A_0, A_0.uint_2);
            if (class5 != null)
            {
                this.method_13(class5, A_1);
            }
            Class1090 class4 = this.class410_0.method_6(A_0, A_0.uint_3);
            if (class4 != null)
            {
                this.method_13(class4, A_1);
            }
        }
    }
コード例 #5
0
    private MemoryStream method_10(uint A_0, int A_1, int A_2, bool A_3)
    {
        bool flag;

        A_2 = Math.Min(A_1, A_2);
        MemoryStream stream = new MemoryStream(A_2);

        stream.SetLength((long)A_2);
        if (!(flag = A_3 || this.class522_0.method_2((long)A_1)))
        {
            Class1090 class2 = this.class410_0.method_0(0);
            if ((class2.uint_4 != uint.MaxValue) && (this.memoryStream_0 == null))
            {
                this.memoryStream_0 = this.method_10(class2.uint_4, (int)class2.long_2, (int)class2.long_2, true);
            }
            if ((this.class522_0.method_0() == 0) || (this.memoryStream_0 == null))
            {
                stream.SetLength(0L);
                return(stream);
            }
        }
        Class916 class3   = flag ? this.class917_0 : this.class916_0;
        Stream   stream2  = flag ? this.stream_0 : this.memoryStream_0;
        int      num6     = flag ? 0x200 : 0x40;
        int      offset   = 0;
        long     position = stream2.Position;

        for (uint i = A_0; i != 0xfffffffe; i = class3.method_0(i))
        {
            if (i == uint.MaxValue)
            {
                return(stream);
            }
            long num2 = Class967.smethod_0(i, flag);
            if (position != num2)
            {
                stream2.Position = position = num2;
            }
            int num5 = A_2 - offset;
            if (num5 == 0)
            {
                return(stream);
            }
            int count = Math.Min(num6, num5);
            stream2.Read(stream.GetBuffer(), offset, count);
            offset   += count;
            position += count;
        }
        return(stream);
    }
コード例 #6
0
    internal MemoryStream method_7()
    {
        MemoryStream output = new MemoryStream();
        BinaryWriter writer = new BinaryWriter(output, Encoding.Unicode);

        for (uint i = 0; i < this.arrayList_0.Count; i++)
        {
            this.method_0(i).method_0(writer);
        }
        Class1090 class2 = new Class1090();

        while ((output.Length % 0x200L) != 0L)
        {
            class2.method_0(writer);
        }
        return(output);
    }
コード例 #7
0
    private void method_6(Class1089 A_0, Class1090 A_1)
    {
        int num = 0x13;

        if (A_1 == null)
        {
            A_1 = new Class1090(BookmarkStart.b("欸吺刼䬾慀ق⭄㍆㭈㉊", num), true, A_0.method_0());
            this.class410_0.method_3(A_1);
        }
        if (A_0.Count > 0)
        {
            A_1.uint_1 = (uint)this.class410_0.method_2();
        }
        for (int i = 0; i < A_0.Count; i++)
        {
            Class1090 class2;
            string    key     = (string)A_0.GetKey(i);
            object    byIndex = A_0.GetByIndex(i);
            if (byIndex is Class1089)
            {
                Class1089 class3 = (Class1089)byIndex;
                class2 = new Class1090(key, false, class3.method_0());
                this.class410_0.method_3(class2);
                this.method_6(class3, class2);
            }
            else
            {
                if (!(byIndex is Stream))
                {
                    throw new InvalidOperationException(BookmarkStart.b("永唺嘼儾⹀㑂⭄杆♈⥊❌⩎㉐❒畔㹖㝘筚ぜ㩞ౠౢᝤṦ䥨ᡪᥬnͰቲቴቶ坸", num));
                }
                Stream stream = (Stream)byIndex;
                class2 = new Class1090(key, DirEntryType.Stream, stream.Length);
                this.class410_0.method_3(class2);
                class2.uint_4 = this.method_8(stream, false);
            }
            if (i < (A_0.Count - 1))
            {
                class2.uint_3 = (uint)this.class410_0.method_2();
            }
        }
    }
コード例 #8
0
    internal Class1090 method_4(string A_0)
    {
        Class1090 class2 = this.method_6(this.method_0(0), this.method_0(0).uint_1);

        return(this.method_5(class2, A_0));
    }
コード例 #9
0
 internal void method_3(Class1090 A_0)
 {
     this.arrayList_0.Add(A_0);
 }
コード例 #10
0
 internal void method_1(uint A_0, Class1090 A_1)
 {
     this.arrayList_0[(int)A_0] = A_1;
 }