internal static DigitalSignature smethod_0(BinaryReader A_0, byte[] A_1) { bool flag; int num = 8; 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(); Class1029.smethod_5(A_0, (num2 + 1) * 2); Class1029.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("稭堯圱䘳匵ᠷ匹伻ḽ⸿ⵁ摃╅ⵇ㡉㡋❍㙏㭑㝓㝕ⱗ㽙籛㭝ൟaţɥ౧ཀྵ乭ᙯᵱٳ噵婹ꪉヒﲑ鍊낝", 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); }
internal Class1103(BinaryReader A_0) { int num = A_0.ReadInt32(); this.headerFlags_0 = (HeaderFlags)A_0.ReadInt32(); this.int_0 = A_0.ReadInt32(); this.algorithmType_0 = (AlgorithmType)A_0.ReadInt32(); this.algorithmIdHash_0 = (AlgorithmIdHash)A_0.ReadInt32(); this.int_1 = A_0.ReadInt32(); this.int_2 = A_0.ReadInt32(); A_0.ReadInt32(); A_0.ReadInt32(); this.string_0 = Class1029.smethod_5(A_0, num - 0x20); }
internal override void vmethod_2(BinaryReader A_0) { this.string_0 = Class1029.smethod_5(A_0, base.method_1()); }