internal static DigitalSignature smethod_0(BinaryReader A_0, byte[] A_1) { bool flag; int num = 12; DigitalSignature signature = new DigitalSignature(DigitalSignatureType.CryptoApi); try { int num2 = A_0.ReadInt32(); int num3 = A_0.ReadInt32(); smethod_1(A_0); uint num4 = A_0.ReadUInt32(); uint num5 = A_0.ReadUInt32(); long fileTime = num4; fileTime = fileTime << 0x20; fileTime |= num5; signature.method_0(DateTime.FromFileTimeUtc(fileTime)); A_0.ReadInt32(); int count = A_0.ReadInt32(); int num8 = A_0.ReadInt32(); A_0.ReadInt32(); int num9 = A_0.ReadInt32(); int num10 = A_0.ReadInt32(); A_0.ReadInt32(); Class813.smethod_5(A_0, (num2 + 1) * 2); Class813.smethod_5(A_0, (num3 + 1) * 2); byte[] array = A_0.ReadBytes(count); byte[] rawData = A_0.ReadBytes(num8); A_0.ReadBytes(num9); A_0.ReadBytes(num10); if (num8 == 0) { throw new InvalidOperationException(BookmarkStart.b("瘱崳儵儷丹崻刽怿ㅁⵃⅅ♇⭉㡋㭍≏㝑穓", num)); } X509Certificate2 certificate = new X509Certificate2(rawData); signature.method_3(certificate); RSAParameters parameters = ((RSACryptoServiceProvider)certificate.PublicKey.Key).ExportParameters(false); Array.Reverse(array); byte[] buffer3 = Class1078.smethod_0(array); Rsa rsa = new Rsa(parameters.Modulus, parameters.Exponent); byte[] sourceArray = Class1078.smethod_1(Class1078.smethod_2(rsa, buffer3), rsa.Modulus.method_0() >> 3); byte[] destinationArray = new byte[0x10]; Array.Copy(sourceArray, sourceArray.Length - 0x10, destinationArray, 0, 0x10); MD5 md = new MD5(); md.Update(A_1, A_1.Length); md.Update(BitConverter.GetBytes(num5), 4); md.Update(BitConverter.GetBytes(num4), 4); md.FinalUpdate(); flag = Class85.smethod_1(destinationArray, md.Digest); } catch (Exception) { flag = false; } signature.method_2(flag); return(signature); }
private static Form4 smethod_8(BinaryReader A_0) { string str; int num = 1; Form4 form = new Form4(); int position = (int)A_0.BaseStream.Position; int num3 = A_0.ReadByte(); int num4 = A_0.ReadByte(); form.method_42(((FontPitch)num4) & (FontPitch.Variable | FontPitch.Fixed)); form.method_44((num4 & 4) != 0); form.method_40((FontFamily)((num4 & 0x70) >> 4)); form.method_48(A_0.ReadInt16()); form.method_38(A_0.ReadByte()); A_0.ReadByte(); form.method_36(new byte[10]); A_0.Read(form.method_35(), 0, form.method_35().Length); form.method_46(new byte[0x18]); A_0.Read(form.method_45(), 0, form.method_45().Length); int num5 = ((int)A_0.BaseStream.Position) - position; if (num3 > 0x29) { int num6 = (num3 - num5) + 1; str = Class813.smethod_5(A_0, num6); } else { str = ""; } int index = str.IndexOf('\0'); if (index < 0) { if (!Class567.smethod_16(str)) { str = BookmarkStart.b("猦䀨䘪䠬尮ᄰ紲倴䀶ᤸ椺刼刾⁀ⵂ", num); } form.method_57(str); return(form); } string str2 = str.Substring(0, index); string str3 = str.Substring(index + 1); str2 = str2.Replace(BookmarkStart.b("Ⱖ┨", num), string.Empty); if (!Class567.smethod_16(str2)) { str2 = Class567.smethod_16(str3) ? str3 : BookmarkStart.b("猦䀨䘪䠬尮ᄰ紲倴䀶ᤸ椺刼刾⁀ⵂ", num); } form.method_57(str2); form.method_34(str3); return(form); }
internal Class702(BinaryReader A_0) { this.arrayList_0 = new ArrayList(); A_0.ReadInt16(); this.int_3 = A_0.ReadInt32(); this.int_1 = A_0.ReadInt32(); this.int_2 = A_0.ReadInt32(); this.sdtt_0 = (Sdtt)A_0.ReadInt32(); int num = A_0.ReadInt32(); int num2 = A_0.ReadInt32(); for (int i = 0; i < num; i++) { this.arrayList_0.Add(new Class167(A_0)); } if (num2 > 0) { this.string_0 = Class813.smethod_5(A_0, num2); } }
private void method_1(Class1111 A_0) { int num = A_0.int_0; int num2 = A_0.int_1; if (num2 != 0) { this.binaryReader_0.BaseStream.Position = num; int num3 = num + num2; int num4 = this.binaryReader_0.ReadInt16(); bool flag = (num4 & 2) != 0; bool flag2 = (num4 & 4) != 0; this.class460_0.method_28((MailMergeMainDocumentType)((num4 & 120) >> 3)); this.class460_0.method_18((num4 & 0x400) == 0); this.class460_0.method_16((MailMergeDestination)((num4 & 0xe000) >> 13)); int index = this.binaryReader_0.ReadByte(); int num6 = this.binaryReader_0.ReadByte(); this.class460_0.method_4(this.binaryReader_0.ReadInt32()); Class1058[] classArray = new Class1058[] { new Class1058(this.binaryReader_0), new Class1058(this.binaryReader_0) }; if (flag) { Class1058 class2 = classArray[num6]; this.class460_0.method_14(class2.mailMergeDataType_0); this.class460_0.method_12(this.class342_0.method_5(class2.int_0)); this.class460_0.method_22(class2.bool_0); if (this.class460_0.method_13() == MailMergeDataType.TextFile) { this.class460_0.method_36(class2.mailMergeLegacySeparator_0); this.class460_0.method_38(class2.mailMergeLegacySeparator_1); } } if (flag2) { Class1058 class3 = classArray[index]; this.class460_0.method_20(this.class342_0.method_5(class3.int_0)); if (this.class460_0.method_13() == MailMergeDataType.TextFile) { this.class460_0.method_40(class3.mailMergeLegacySeparator_0); this.class460_0.method_42(class3.mailMergeLegacySeparator_1); } } int num7 = this.binaryReader_0.ReadInt16(); this.class460_0.method_34((num7 & 1) != 0); this.class460_0.method_8((MailMergeCheckErrors)(((num7 & 6) >> 1) + 1)); bool flag3 = (num7 & 0x10) != 0; bool flag4 = (num7 & 0x80) != 0; this.class460_0.method_24(!flag3 && !flag4); int num8 = this.binaryReader_0.ReadInt16(); int num9 = this.binaryReader_0.ReadInt16(); this.class460_0.method_32(Class813.smethod_5(this.binaryReader_0, num9)); if (num8 != 0) { StringCollection strings = new StringCollection(); int num10 = num3 - ((int)this.binaryReader_0.BaseStream.Position); Class343.smethod_2(this.binaryReader_0, (int)this.binaryReader_0.BaseStream.Position, num10, strings); this.class460_0.method_10(strings[0]); string text1 = strings[1]; this.class460_0.method_26(strings[2]); this.class460_0.method_6(strings[3]); } if (this.binaryReader_0.BaseStream.Position < num3) { int num11 = this.binaryReader_0.ReadInt32(); this.class460_0.method_28((MailMergeMainDocumentType)num11); } } }
internal override void vmethod_2(BinaryReader A_0) { this.string_0 = Class813.smethod_5(A_0, base.method_1()); }