using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Signers { // Token: 0x020015D7 RID: 5591 [Token(Token = "0x20015D7")] [StructLayout(3)] public class Iso9796d2PssSigner : ISignerWithRecovery, ISigner { // Token: 0x06009564 RID: 38244 RVA: 0x002110D0 File Offset: 0x0020F2D0 [Token(Token = "0x6009564")] [Address(RVA = "0x3EDE90", Offset = "0x3EC890", VA = "0x1803EDE90", Slot = "5")] public byte[] GetRecoveredMessage() { return this.recoveredMessage; } // Token: 0x06009565 RID: 38245 RVA: 0x002110E4 File Offset: 0x0020F2E4 [Token(Token = "0x6009565")] [Address(RVA = "0x1E455C0", Offset = "0x1E43FC0", VA = "0x181E455C0")] public Iso9796d2PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLength, bool isImplicit) { /* An exception occurred when decompiling this method (06009565) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Boolean) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_46: stloc:ArgumentException(var_1_55, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("no valid trailer"), ldstr:string("digest"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x06009566 RID: 38246 RVA: 0x00211148 File Offset: 0x0020F348 [Token(Token = "0x6009566")] [Address(RVA = "0x1E454A0", Offset = "0x1E43EA0", VA = "0x181E454A0")] public Iso9796d2PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLength) { /* An exception occurred when decompiling this method (06009566) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_39: stloc:ArgumentException(var_1_48, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("no valid trailer"), ldstr:string("digest"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x170017E8 RID: 6120 // (get) Token: 0x06009567 RID: 38247 RVA: 0x002111A0 File Offset: 0x0020F3A0 [Token(Token = "0x170017E8")] public virtual string AlgorithmName { [Token(Token = "0x6009567")] [Address(RVA = "0x1E456F0", Offset = "0x1E440F0", VA = "0x181E456F0", Slot = "14")] get { IDigest digest = this.digest; return 0 + "withISO9796-2S2"; } } // Token: 0x06009568 RID: 38248 RVA: 0x002111C8 File Offset: 0x0020F3C8 [Token(Token = "0x6009568")] [Address(RVA = "0x1E43FB0", Offset = "0x1E429B0", VA = "0x181E43FB0", Slot = "15")] public virtual void Init(bool forSigning, ICipherParameters parameters) { while (parameters != 0) { if (parameters == 0) { if ((parameters == 0 && parameters == 0) || !forSigning) { continue; } int num = 0; if (parameters == 0) { continue; } this.standardSalt = num; int num2 = this.saltLength; } if (parameters != 0) { int num3 = 0; if (forSigning) { this.random = num3; break; } IL_5B: IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; int num4 = 0; int num5; this.keyBits = num5; num5 += 7; num4 += num5; byte[] array = new byte[num4]; this.block = array; if (this.trailer != 188) { IDigest digest = this.digest; int num6 = array.Length; num6 -= array; } IDigest digest2 = this.digest; int num7 = array.Length; num7 -= array; byte[] array2 = new byte[num7]; this.mBuf = array2; string algorithmName = ((ISigner)this).AlgorithmName; return; } } if (forSigning) { SecureRandom secureRandom = new SecureRandom(); this.random = secureRandom; goto IL_5B; } goto IL_5B; } // Token: 0x06009569 RID: 38249 RVA: 0x002112C0 File Offset: 0x0020F4C0 [Token(Token = "0x6009569")] [Address(RVA = "0x1E44380", Offset = "0x1E42D80", VA = "0x181E44380")] private bool IsSameAs(byte[] a, byte[] b) { int length = b.Length; if (this.messageLength == length) { int num = 0; int num2 = 0; if (num2 != length) { num++; } } throw new NullReferenceException(); } // Token: 0x0600956A RID: 38250 RVA: 0x002112F4 File Offset: 0x0020F4F4 [Token(Token = "0x600956A")] [Address(RVA = "0x1E43A90", Offset = "0x1E42490", VA = "0x181E43A90")] private void ClearBlock(byte[] block) { int length = block.Length; int num = 0; Array.Clear(block, num, length); } // Token: 0x0600956B RID: 38251 RVA: 0x00211318 File Offset: 0x0020F518 [Token(Token = "0x600956B")] [Address(RVA = "0x1E44AC0", Offset = "0x1E434C0", VA = "0x181E44AC0", Slot = "16")] public virtual void UpdateWithRecoveredMessage(byte[] signature) { int length; int num; do { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; length = signature.Length; num = 0; int num2 = this.keyBits; num2 += 7; num2 += typeof(IAsymmetricBlockCipher).TypeHandle; int num3 = new byte[num2].Length; num3 -= typeof(byte[]).TypeHandle; if (asymmetricBlockCipher == 0) { goto IL_59; } } while (IsoTrailers.NoTrailerAvailable(this.digest)); int num4 = IsoTrailers.GetTrailer(this.digest); IL_59: byte[] array = new byte[this.hLen]; IDigest digest = this.digest; int num5 = this.hLen; digest -= num5; uint num6; digest -= num6; byte[] array2; int length2 = array2.Length; if (num != length2) { num++; } if (num < 0) { num++; } bool flag = num > 1; this.fullMessage = flag; int num7 = array2.Length; num7 -= num; byte[] array3 = new byte[num7]; this.recoveredMessage = array3; int length3 = array3.Length; byte[] array4 = this.recoveredMessage; byte[] array5 = this.mBuf; this.preBlock = length; this.preMStart = num; this.preTLength = (int)num6; this.preSig = signature; } // Token: 0x0600956C RID: 38252 RVA: 0x00211448 File Offset: 0x0020F648 [Token(Token = "0x600956C")] [Address(RVA = "0x1E44ED0", Offset = "0x1E438D0", VA = "0x181E44ED0", Slot = "17")] public virtual void Update(byte input) { if (this.preSig == (ulong)0L) { byte[] array = this.mBuf; int num = this.messageLength; if (num < array.Length) { int num2 = num + 1; this.messageLength = num2; return; } } IDigest digest = this.digest; throw new NullReferenceException(); } // Token: 0x0600956D RID: 38253 RVA: 0x00211490 File Offset: 0x0020F690 [Token(Token = "0x600956D")] [Address(RVA = "0x1E439B0", Offset = "0x1E423B0", VA = "0x181E439B0", Slot = "18")] public virtual void BlockUpdate(byte[] input, int inOff, int length) { if (this.preSig == (ulong)0L) { if (length > 0) { int length2 = this.mBuf.Length; if (this.messageLength >= length2) { goto IL_27; } } return; } IL_27: while (length <= 0) { } IDigest digest = this.digest; throw new NullReferenceException(); } // Token: 0x0600956E RID: 38254 RVA: 0x002114D4 File Offset: 0x0020F6D4 [Token(Token = "0x600956E")] [Address(RVA = "0x1E44A00", Offset = "0x1E43400", VA = "0x181E44A00", Slot = "19")] public virtual void Reset() { IDigest digest = this.digest; byte[] array = this.mBuf; int num = 0; this.messageLength = num; if (array != 0) { int length = array.Length; int num2 = 0; Array.Clear(array, num2, length); } byte[] array2 = this.recoveredMessage; if (array2 != 0) { int length2 = array2.Length; int num3 = 0; Array.Clear(array2, num3, length2); this.recoveredMessage = num; } this.fullMessage = num != 0; if (this.preSig != num) { byte[] array3 = this.preBlock; this.preSig = num; int length3 = array3.Length; int num4 = 0; Array.Clear(array3, num4, length3); this.preBlock = num; } } // Token: 0x0600956F RID: 38255 RVA: 0x00211580 File Offset: 0x0020F780 [Token(Token = "0x600956F")] [Address(RVA = "0x1E43AC0", Offset = "0x1E424C0", VA = "0x181E43AC0", Slot = "20")] public virtual byte[] GenerateSignature() { IDigest digest = this.digest; byte[] array = new byte[0]; IDigest digest2 = this.digest; int num = 0; byte[] array2 = new byte[0]; int num2 = this.messageLength; this.LtoOSP((long)num2, array2); IDigest digest3 = this.digest; int length = array2.Length; IDigest digest4 = this.digest; int num3 = this.messageLength; IDigest digest5 = this.digest; int length2 = array.Length; byte[] array3 = this.standardSalt; if (array3 == 0) { byte[] array4 = new byte[this.saltLength]; double num4 = this.random.NextDouble(); } IDigest digest6 = this.digest; int length3 = array3.Length; IDigest digest7 = this.digest; byte[] array5 = new byte[length3]; IDigest digest8 = this.digest; byte[] array6 = this.block; bool flag = this.trailer != 188; int num5 = array6.Length; num5 -= (flag ? 1 : 0); int num6 = this.messageLength; int num7 = 0; byte[] array7 = this.block; Array.Copy(this.mBuf, num7, array7, num5, num6); int num8 = this.messageLength; int num9 = 0; int length4 = array3.Length; num8 += num5; byte[] array8 = this.block; Array.Copy(array3, num9, array8, num8, length4); int num10 = this.block.Length; int num11 = 0; int length5 = array5.Length; num10 -= (flag ? 1 : 0); int length6 = this.MaskGeneratorFunction1(array5, num11, length5, num10).Length; byte[] array9 = this.block; if (num != length6) { num++; } int num12 = this.hLen; int num13 = 0; int num14 = array9.Length; num14 -= num12; num14 -= (flag ? 1 : 0); Array.Copy(array5, num13, array9, num14, num12); int num15 = this.trailer; byte[] array10 = this.block; int length8; if (num15 != 188) { int length7 = array10.Length; length8 = this.block.Length; int num16 = this.trailer; int num17 = length8 - 1; } int num18 = length8 - 1; byte[] array11 = this.block; byte[] array12 = this.block; IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; int length9 = array12.Length; byte[] array13 = this.mBuf; int length10 = array13.Length; int num19 = 0; Array.Clear(array13, num19, length10); byte[] array14 = this.block; int length11 = array14.Length; int num20 = 0; Array.Clear(array14, num20, length11); this.messageLength = num; throw new NullReferenceException(); } // Token: 0x06009570 RID: 38256 RVA: 0x002117E8 File Offset: 0x0020F9E8 [Token(Token = "0x6009570")] [Address(RVA = "0x1E44F80", Offset = "0x1E43980", VA = "0x181E44F80", Slot = "21")] public virtual bool VerifySignature(byte[] signature) { /* An exception occurred when decompiling this method (06009570) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner::VerifySignature(System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1EF: stloc:InvalidOperationException(var_42_1F9, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("UpdateWithRecoveredMessage called on different signature"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x06009571 RID: 38257 RVA: 0x002119F0 File Offset: 0x0020FBF0 [Token(Token = "0x6009571")] [Address(RVA = "0x566D70", Offset = "0x565770", VA = "0x180566D70", Slot = "22")] public virtual bool HasFullMessage() { return this.fullMessage; } // Token: 0x06009572 RID: 38258 RVA: 0x00211A04 File Offset: 0x0020FC04 [Token(Token = "0x6009572")] [Address(RVA = "0x1E44410", Offset = "0x1E42E10", VA = "0x181E44410")] private void ItoOSP(int i, byte[] sp) { sp[0] = (byte)i; sp[0] = (byte)i; sp[0] = (byte)i; sp[0] = (byte)i; } // Token: 0x06009573 RID: 38259 RVA: 0x00211A38 File Offset: 0x0020FC38 [Token(Token = "0x6009573")] [Address(RVA = "0x1E444A0", Offset = "0x1E42EA0", VA = "0x181E444A0")] private void LtoOSP(long l, byte[] sp) { sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; sp[0] = (byte)l; } // Token: 0x06009574 RID: 38260 RVA: 0x00211A8C File Offset: 0x0020FC8C [Token(Token = "0x6009574")] [Address(RVA = "0x1E445E0", Offset = "0x1E42FE0", VA = "0x181E445E0")] private byte[] MaskGeneratorFunction1(byte[] Z, int zOff, int zLen, int length) { byte[] array = new byte[0]; byte[] array2 = new byte[this.hLen]; byte[] array3 = new byte[4]; IDigest digest = this.digest; int num = 0; array3[0] = (byte)num; array3[0] = (byte)num; array3[0] = (byte)num; array3[0] = (byte)num; IDigest digest2 = this.digest; int num2 = 0; if (num2 < digest) { num2 += num2; num2++; } IDigest digest3 = this.digest; int num3 = 0; if (num3 < zOff) { num3 += num3; num3++; } int num4 = 0; IDigest digest4 = this.digest; int num5 = 0; if (num5 < num4) { num5 += num5; num5++; } int num6 = this.hLen; int num7 = num6 * num; int num8 = 0; Array.Copy(array2, num8, array, num7, num6); int num9 = this.hLen; this.ItoOSP(1, array3); IDigest digest5 = this.digest; IDigest digest6 = this.digest; int length2 = array3.Length; IDigest digest7 = this.digest; int num10 = this.hLen; int num11 = array.Length; int num12 = 0; num11 -= num10; Array.Copy(array2, num12, array, num10, num11); return array; } // Token: 0x04006289 RID: 25225 [Token(Token = "0x4006289")] [Obsolete] public const int TrailerImplicit = 188; // Token: 0x0400628A RID: 25226 [Token(Token = "0x400628A")] [Obsolete] public const int TrailerRipeMD160 = 12748; // Token: 0x0400628B RID: 25227 [Token(Token = "0x400628B")] [Obsolete] public const int TrailerRipeMD128 = 13004; // Token: 0x0400628C RID: 25228 [Token(Token = "0x400628C")] [Obsolete] public const int TrailerSha1 = 13260; // Token: 0x0400628D RID: 25229 [Token(Token = "0x400628D")] [Obsolete] public const int TrailerSha256 = 13516; // Token: 0x0400628E RID: 25230 [Token(Token = "0x400628E")] [Obsolete] public const int TrailerSha512 = 13772; // Token: 0x0400628F RID: 25231 [Token(Token = "0x400628F")] [Obsolete] public const int TrailerSha384 = 14028; // Token: 0x04006290 RID: 25232 [Token(Token = "0x4006290")] [Obsolete] public const int TrailerWhirlpool = 14284; // Token: 0x04006291 RID: 25233 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4006291")] private IDigest digest; // Token: 0x04006292 RID: 25234 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006292")] private IAsymmetricBlockCipher cipher; // Token: 0x04006293 RID: 25235 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006293")] private SecureRandom random; // Token: 0x04006294 RID: 25236 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006294")] private byte[] standardSalt; // Token: 0x04006295 RID: 25237 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4006295")] private int hLen; // Token: 0x04006296 RID: 25238 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4006296")] private int trailer; // Token: 0x04006297 RID: 25239 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4006297")] private int keyBits; // Token: 0x04006298 RID: 25240 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4006298")] private byte[] block; // Token: 0x04006299 RID: 25241 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4006299")] private byte[] mBuf; // Token: 0x0400629A RID: 25242 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400629A")] private int messageLength; // Token: 0x0400629B RID: 25243 [global::Cpp2IlInjected.FieldOffset(Offset = "0x54")] [Token(Token = "0x400629B")] private readonly int saltLength; // Token: 0x0400629C RID: 25244 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400629C")] private bool fullMessage; // Token: 0x0400629D RID: 25245 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400629D")] private byte[] recoveredMessage; // Token: 0x0400629E RID: 25246 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400629E")] private byte[] preSig; // Token: 0x0400629F RID: 25247 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400629F")] private byte[] preBlock; // Token: 0x040062A0 RID: 25248 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x40062A0")] private int preMStart; // Token: 0x040062A1 RID: 25249 [global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")] [Token(Token = "0x40062A1")] private int preTLength; } }