예제 #1
0
 // Token: 0x060006C1 RID: 1729 RVA: 0x00005E0A File Offset: 0x0000400A
 public static void smethod_4(string string_0, byte[] byte_0, int int_0, int int_1)
 {
     if (Class157.stream_0 == null)
     {
         Class157.stream_0 = Class157.smethod_0();
     }
     Class157.smethod_9(Class157.smethod_11(string_0), byte_0, int_0, int_1);
 }
예제 #2
0
    // Token: 0x060006C2 RID: 1730 RVA: 0x00038EC8 File Offset: 0x000370C8
    public static byte[] smethod_5(string string_0)
    {
        if (Class157.stream_0 == null)
        {
            Class157.stream_0 = Class157.smethod_0();
        }
        long num = Class157.smethod_11(string_0);

        byte[] array = new byte[4];
        Class157.smethod_9(num, array, 0, 4);
        int num2 = Class161.smethod_4(array, 0);

        Array.Clear(array, 0, array.Length);
        byte[] array2 = new byte[num2];
        Class157.smethod_9(num + 4L, array2, 0, num2);
        return(array2);
    }
 // Token: 0x060020AB RID: 8363 RVA: 0x0006E398 File Offset: 0x0006C598
 public void method_8(string filename, Struct43?passwordHash = null)
 {
     using (Stream stream = File.Open(filename, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
     {
         using (BinaryWriter binaryWriter = new BinaryWriter(stream))
         {
             binaryWriter.Write(Class132.byte_0);
             binaryWriter.Write(Class132.int_0);
             binaryWriter.smethod_28(this.ID);
             long position = stream.Position;
             binaryWriter.smethod_25(Struct43.struct43_0);
             binaryWriter.smethod_33(this.UpdateUri);
             binaryWriter.Write(this.Name);
             binaryWriter.Write(this.Author);
             binaryWriter.Write(this.Description);
             binaryWriter.smethod_26(this.Version);
             binaryWriter.smethod_26(this.MinimumVersion);
             if (passwordHash != null)
             {
                 binaryWriter.smethod_25(passwordHash.Value);
             }
             else if (string.IsNullOrEmpty(this.Password))
             {
                 binaryWriter.smethod_25(Struct43.struct43_0);
             }
             else
             {
                 binaryWriter.smethod_25(Encoding.Unicode.GetBytes(this.Password).smethod_0());
             }
             long position2 = stream.Position;
             binaryWriter.Write(0);
             if (this.Icon != null)
             {
                 Class157.smethod_11(this.Icon, stream, Color.Black, 100);
                 long position3 = stream.Position;
                 stream.Position = position2;
                 binaryWriter.Write((int)(position3 - position2 - 4L));
                 stream.Position = position3;
             }
             if (!this.LoaderPack)
             {
                 binaryWriter.Write(this.Data.MultiFileData.Count);
                 foreach (KeyValuePair <string, Class338> keyValuePair in ((IEnumerable <KeyValuePair <string, Class338> >) this.Data.MultiFileData))
                 {
                     binaryWriter.Write(keyValuePair.Key);
                     binaryWriter.smethod_25(keyValuePair.Value.Data.smethod_0());
                 }
                 position2 = stream.Position;
                 binaryWriter.Write(0);
                 using (Stream3 stream2 = new Stream3(stream, stream.Position))
                 {
                     using (BinaryWriter binaryWriter2 = new BinaryWriter(stream2))
                     {
                         this.Data.method_17(stream2, binaryWriter2);
                         this.DataHash = stream2.smethod_2();
                     }
                 }
                 long position3 = stream.Position;
                 stream.Position = position2;
                 binaryWriter.Write((int)(position3 - position2 - 4L));
                 stream.Position = position3;
                 position3       = stream.Position;
                 stream.Position = position;
                 binaryWriter.smethod_25(this.DataHash);
                 stream.Position = position3;
             }
         }
     }
 }