using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests { // Token: 0x02001DD1 RID: 7633 [Token(Token = "0x2001DD1")] public class RipeMD256Digest : GeneralDigest { // Token: 0x17001DB6 RID: 7606 // (get) Token: 0x0600BEEF RID: 48879 RVA: 0x002ADB64 File Offset: 0x002ABD64 [Token(Token = "0x17001DB6")] public override string AlgorithmName { [Token(Token = "0x600BEEF")] [Address(RVA = "0x2907090", Offset = "0x2906090", VA = "0x182907090", Slot = "17")] get { return "RIPEMD256"; } } // Token: 0x0600BEF0 RID: 48880 RVA: 0x002ADB78 File Offset: 0x002ABD78 [Token(Token = "0x600BEF0")] [Address(RVA = "0x8BCAC0", Offset = "0x8BBAC0", VA = "0x1808BCAC0", Slot = "18")] public override int GetDigestSize() { return 32; } // Token: 0x0600BEF1 RID: 48881 RVA: 0x002ADB88 File Offset: 0x002ABD88 [Token(Token = "0x600BEF1")] [Address(RVA = "0x2906FC0", Offset = "0x2905FC0", VA = "0x182906FC0")] public RipeMD256Digest() { int[] array = new int[16]; this.X = array; base..ctor(); IMemoable memoable = ((IMemoable)this).Copy(); } // Token: 0x0600BEF2 RID: 48882 RVA: 0x002ADBB4 File Offset: 0x002ABDB4 [Token(Token = "0x600BEF2")] [Address(RVA = "0x2907020", Offset = "0x2906020", VA = "0x182907020")] public RipeMD256Digest(RipeMD256Digest t) { int[] array = new int[16]; this.X = array; base..ctor(t); this.CopyIn(t); } // Token: 0x0600BEF3 RID: 48883 RVA: 0x002ADBE0 File Offset: 0x002ABDE0 [Token(Token = "0x600BEF3")] [Address(RVA = "0x2905210", Offset = "0x2904210", VA = "0x182905210")] private void CopyIn(RipeMD256Digest t) { base.CopyIn(t); int h = t.H0; this.H0 = h; int h2 = t.H1; this.H1 = h2; int h3 = t.H2; this.H2 = h3; int h4 = t.H3; this.H3 = h4; int h5 = t.H4; this.H4 = h5; int h6 = t.H5; this.H5 = h6; int h7 = t.H6; this.H6 = h7; int h8 = t.H7; this.H7 = h8; int[] x = t.X; int length = x.Length; int num = 0; int[] x2 = this.X; int num2 = 0; Array.Copy(x, num2, x2, num, length); int num3 = t.xOff; this.xOff = num3; } // Token: 0x0600BEF4 RID: 48884 RVA: 0x002ADCB0 File Offset: 0x002ABEB0 [Token(Token = "0x600BEF4")] [Address(RVA = "0x2906D50", Offset = "0x2905D50", VA = "0x182906D50", Slot = "14")] internal override void ProcessWord(byte[] input, int inOff) { int num = this.xOff; int[] x = this.X; int num2 = num + 1; this.xOff = num2; int length = input.Length; int num3 = inOff + 1; byte b; x[0] = (int)b; if (this.xOff == 16) { } } // Token: 0x0600BEF5 RID: 48885 RVA: 0x002ADCFC File Offset: 0x002ABEFC [Token(Token = "0x600BEF5")] [Address(RVA = "0x2906CD0", Offset = "0x2905CD0", VA = "0x182906CD0", Slot = "15")] internal override void ProcessLength(long bitLength) { if (this.xOff > 14) { } this.X[7] = (int)bitLength; this.X[7] = (int)bitLength; } // Token: 0x0600BEF6 RID: 48886 RVA: 0x002ADD34 File Offset: 0x002ABF34 [Token(Token = "0x600BEF6")] [Address(RVA = "0x28FF140", Offset = "0x28FE140", VA = "0x1828FF140")] private void UnpackWord(int word, byte[] outBytes, int outOff) { int num = outOff + 1; } // Token: 0x0600BEF7 RID: 48887 RVA: 0x002ADD4C File Offset: 0x002ABF4C [Token(Token = "0x600BEF7")] [Address(RVA = "0x2905340", Offset = "0x2904340", VA = "0x182905340", Slot = "19")] public override int DoFinal(byte[] output, int outOff) { base.Finish(); int h = this.H0; this.UnpackWord(h, output, outOff); int num = this.H1; output[0] = (byte)num; output[0] = (byte)num; int h2 = this.H2; num = h2; output[0] = (byte)num; num = h2; output[0] = (byte)num; int h3 = this.H3; num = h3; output[0] = (byte)num; num = h3; output[0] = (byte)num; int h4 = this.H4; num = h4; output[0] = (byte)num; num = h4; output[0] = (byte)num; int h5 = this.H5; num = h5; output[0] = (byte)num; num = h5; output[0] = (byte)num; int h6 = this.H6; num = h6; output[0] = (byte)num; num = h6; output[0] = (byte)num; int h7 = this.H7; num = h7; output[0] = (byte)num; num = h7; output[0] = (byte)num; throw new NullReferenceException(); } // Token: 0x0600BEF8 RID: 48888 RVA: 0x002ADE3C File Offset: 0x002AC03C [Token(Token = "0x600BEF8")] [Address(RVA = "0x2906F10", Offset = "0x2905F10", VA = "0x182906F10", Slot = "13")] public override void Reset() { base.Reset(); int[] x = this.X; int num = 0; this.H0 = (int)((ulong)1732584193L); this.H1 = (int)((ulong)4023233417L); this.H2 = (int)((ulong)2562383102L); this.H3 = (int)((ulong)271733878L); this.H4 = (int)((ulong)1985229328L); this.H5 = (int)((ulong)4275878552L); this.H6 = (int)((ulong)2309737967L); this.H7 = (int)((ulong)19088743L); this.xOff = num; if (num != x.Length) { num++; x[0] = num; int[] x2 = this.X; } } // Token: 0x0600BEF9 RID: 48889 RVA: 0x002ADEF8 File Offset: 0x002AC0F8 [Token(Token = "0x600BEF9")] [Address(RVA = "0x272B5B0", Offset = "0x272A5B0", VA = "0x18272B5B0")] private int RL(int x, int n) { return x; } // Token: 0x0600BEFA RID: 48890 RVA: 0x002ADF08 File Offset: 0x002AC108 [Token(Token = "0x600BEFA")] [Address(RVA = "0xE4D010", Offset = "0xE4C010", VA = "0x180E4D010")] private int F1(int x, int y, int z) { return x; } // Token: 0x0600BEFB RID: 48891 RVA: 0x002ADF18 File Offset: 0x002AC118 [Token(Token = "0x600BEFB")] [Address(RVA = "0xE4CF50", Offset = "0xE4BF50", VA = "0x180E4CF50")] private int F2(int x, int y, int z) { return x; } // Token: 0x0600BEFC RID: 48892 RVA: 0x002ADF28 File Offset: 0x002AC128 [Token(Token = "0x600BEFC")] [Address(RVA = "0x2900E90", Offset = "0x28FFE90", VA = "0x182900E90")] private int F3(int x, int y, int z) { return y; } // Token: 0x0600BEFD RID: 48893 RVA: 0x002ADF38 File Offset: 0x002AC138 [Token(Token = "0x600BEFD")] [Address(RVA = "0x2900F20", Offset = "0x28FFF20", VA = "0x182900F20")] private int F4(int x, int y, int z) { return z; } // Token: 0x0600BEFE RID: 48894 RVA: 0x002ADF48 File Offset: 0x002AC148 [Token(Token = "0x600BEFE")] [Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")] private int F1(int a, int b, int c, int d, int x, int s) { return b; } // Token: 0x0600BEFF RID: 48895 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BEFF")] [Address(RVA = "0x2900E50", Offset = "0x28FFE50", VA = "0x182900E50")] private int F2(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF00 RID: 48896 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BF00")] [Address(RVA = "0x2900EA0", Offset = "0x28FFEA0", VA = "0x182900EA0")] private int F3(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF01 RID: 48897 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BF01")] [Address(RVA = "0x2900EE0", Offset = "0x28FFEE0", VA = "0x182900EE0")] private int F4(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF02 RID: 48898 RVA: 0x002ADF58 File Offset: 0x002AC158 [Token(Token = "0x600BF02")] [Address(RVA = "0x2900E20", Offset = "0x28FFE20", VA = "0x182900E20")] private int FF1(int a, int b, int c, int d, int x, int s) { return b; } // Token: 0x0600BF03 RID: 48899 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BF03")] [Address(RVA = "0x2900F30", Offset = "0x28FFF30", VA = "0x182900F30")] private int FF2(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF04 RID: 48900 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BF04")] [Address(RVA = "0x2900F70", Offset = "0x28FFF70", VA = "0x182900F70")] private int FF3(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF05 RID: 48901 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600BF05")] [Address(RVA = "0x2900FB0", Offset = "0x28FFFB0", VA = "0x182900FB0")] private int FF4(int a, int b, int c, int d, int x, int s) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600BF06 RID: 48902 RVA: 0x002ADF68 File Offset: 0x002AC168 [Token(Token = "0x600BF06")] [Address(RVA = "0x29057E0", Offset = "0x29047E0", VA = "0x1829057E0", Slot = "16")] internal override void ProcessBlock() { int num = this.H4; int num2 = this.H5; int num3 = this.H0; int num4 = this.H1; int num5 = this.H2; int num6 = this.H3; int num7 = this.H6; int num8 = this.H7; int[] x = this.X; int num9 = x.Length; num6 += num3; num3 = num6; num6 = num5; num6 += num6; num6 += num5; num5 = num6; num6 = num5; num6 += num4; num4 = num6; num5 += num3; num3 = num5; num6 += num6; num6 += num6; num5 = num6; num6 = num5; num6 += num4; num4 = num6; num5 += num3; num3 = num5; num6 += num6; num6 += num6; int num10 = x[5]; num5 = num6; num6 = num5; num6 += num10; num6 += num4; num4 = num6; num5 += num3; int num11 = x[6]; num6 += num11; num6 += num6; int num12 = x[7]; num6 += num12; num6 += num6; int num13 = x[7]; num6 += num13; num6 += num4; num9 = num8; num += 1352829926; num += num9; num3 = num; num9 = num7; num = num7; num9 += num12; num += num9; num9 = num2; num4 = num; num = num4; num += num9; num9 = num3; num12 = num; num = num12; num += num9; num9 = num4; num6 = num; num = num4; num += num9; num9 = num12; num = num12; num += num9; num9 = num6; num4 = num; num = num4; num9 += num10; num += num9; num2 = num; num = num2; num9 = num4; num += 1352829926; num += num6; num12 = num; num = num4; num9 += num11; num += num9; num9 = num2; num3 = num; num = num2; num += num9; num9 = num12; num4 = num; num = num4; num9 += num13; num += num9; num9 = num3; num2 = num; num = num2; num += num9; num9 = num4; num12 = num; num = num4; num += num9; num3 = num; num = num2; num += 1352829926; num9 = num12; num += num4; num10 = num; num = num10; num += num9; num11 = num; num9 = num3; num = num11; num += num9; num13 = num; num = num6; num += num9; num = num9; num += 1518500249; num += num6; num3 = num; num = num3; num += 1518500249; num += num6; num4 = num; num = num3; num9 = num4; num += num9; num9 = num; num = num4; num += num9; num12 = num; num = num9; num9 = num12; num += num9; num3 = num; num9 = num3; num = num3; num += num9; num6 = num; num = num3; num9 = num6; num += num9; num4 = num; num = num6; num9 = num4; num += num9; num9 = num; num = num4; num += num9; num3 = num; num = num3; num += 1518500249; num += num6; num12 = num; num = num3; num9 = num12; num += num9; num4 = num; num = num12; num9 = num4; num += 1518500249; num += num9; num6 = num; num = num4; num9 = num6; int num14 = x[5]; num += num9; num6 = num; num = num6; num += 1518500249; num += num14; num += num12; num7 = num; num8 = num7; num6 = num8; num = num11; num6 += 1518500249; num6 += num4; num3 += 1548603684; num += num3; num14 += 1548603684; num3 = num; num = num13; num += num14; num += num10; num12 = num; num = num3; num += 1548603684; num += num11; num14 = num; num = num12; num3 += 1548603684; num += 1548603684; num += num13; num4 = num; num = num14; num12 += 1548603684; num += num3; num3 = num; num = num4; num14 += 1548603684; num += num12; num12 = num; num = num3; num += num14; num9 = num; num = num12; num += 1548603684; num += num4; num3 += 1548603684; num14 = num; num = num9; num12 += 1548603684; num += num3; num3 = num; num = num14; num += num12; num12 = num; num = num3; num14 += 1548603684; num += 1548603684; num += num9; num4 = num; num = num12; num3 += 1548603684; num += num14; num14 = num; num = num4; num += num3; num11 = num; num = num14; num4 += 1548603684; num += 1548603684; num += num12; num10 = num; num = num11; num += num4; num13 = num6; num = num10; num += 1548603684; num += num14; num4 = num; num += num8; num12 = num; num = num4; num += 1859775393; num += num6; num3 = num; num = num12; num4 += 1859775393; num += 1859775393; num += num7; num14 = num; num = num3; num12 += 1859775393; num += num4; num4 = num; num = num14; num3 += 1859775393; num += num12; num12 = num; num = num4; num += num3; num3 = num; num = num12; num4 += 1859775393; num += 1859775393; num += num14; num9 = num; num = num3; num += num4; num6 = num; num = num9; num3 += 1859775393; num += 1859775393; num += num12; num4 = num; num = num6; num += num3; num14 = num; num = num4; num += 1859775393; num += num9; num3 = num; num = num14; num += 1859775393; num += num6; num12 = num; num = num3; num += 1859775393; num += num4; num7 = num; num = num12; num3 += 1859775393; num14 += 1859775393; num += num14; int num15 = x[2]; num6 = num; num = num7; num8 = num6; num += num15; num15 += 1836072691; num += num3; num3 = num; num = num8; num3 += num; num = num3; num += 1836072691; num += num11; num = num13; num += num15; num += num10; num15 = num; num3 = num15; num = num15; num += num3; num3 = num; num = num15; num += 1836072691; num += num13; num9 = num; num = num3; num3 = num9; num += num3; num12 = num; num = num9; num3 = num12; num += num3; num6 = num; num3 = num6; num = num6; num += num3; num15 = num; num = num6; num3 = num15; num += num3; num3 = num; num = num15; num += num3; num = num3; num += 1836072691; num += num6; num9 = num; num3 = num9; num = num9; num += num3; num15 = num; num = num9; num3 = num15; num += num3; num3 = num; num = num15; num += num3; num10 = num; num = num3; num += 1836072691; num += num9; num11 = num; num3 = num11; num = num11; num += num3; num15 = num; num = num11; num12 = num15; num3 = num12; num += num3; num13 = num; num = num6; num += num8; num = num15; num += num12; num9 = num; num = num9; num += -1894007588; num += num15; num6 = num; num = num6; num += -1894007588; num += num6; num8 = num; num = num9; num3 = num6; num += -1894007588; num += num3; num = num6; num3 = num8; num += -1894007588; num += num9; num15 = num; num = num15; num += num3; num6 = num; num = num6; num += -1894007588; num += num8; num3 = num; num = num15; num += num3; num3 = num6; num9 = num; num = num6; num += num3; num12 = num; num = num12; num3 = num9; num += -1894007588; num += num6; num15 = num; num = num15; num += num3; num = num12; num += -1894007588; num += num9; num3 = num15; num = num15; num += -1894007588; num += num12; num6 = num; num = num6; num += num3; num3 = num6; num8 += num3; num = num3; num += num10; num15 = num; num = num3; num += num11; num6 = num; num = num6; num += num3; num3 = num; num = num3; num += num13; num9 = num; num3 += num15; num12 = num3; num = num3; num += num6; num15 = num; num = num15; num3 = num15; num += num3; num6 = num; num = num3; num += num9; num3 = num; num = num6; num3 += num12; num12 = num3; num += num15; num15 = num; num = num15; num3 = num15; num += num6; num9 = num; num = num3; num += num3; num3 = num; num = num9; num3 += num12; num6 = num3; num += num15; num15 = num; num = num15; num3 = num15; num += num9; num3 += num6; num3 += num3; if (0 != x.Length) { } } // Token: 0x0600BF07 RID: 48903 RVA: 0x002AE7C4 File Offset: 0x002AC9C4 [Token(Token = "0x600BF07")] [Address(RVA = "0x29052A0", Offset = "0x29042A0", VA = "0x1829052A0", Slot = "20")] public override IMemoable Copy() { /* An exception occurred when decompiling this method (0600BF07) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD256Digest::Copy() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:RipeMD256Digest(var_0_06, newobj:RipeMD256Digest(RipeMD256Digest::.ctor, ldloc:RipeMD256Digest(this))) stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16))) stfld:int32[](RipeMD256Digest::X, ldloc:RipeMD256Digest(var_0_06), ldloc:int32[](var_1_0E)) call:void(RipeMD256Digest::CopyIn, ldloc:RipeMD256Digest(var_0_06), ldloc:RipeMD256Digest(this)) } 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.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: 0x0600BF08 RID: 48904 RVA: 0x002AE7F0 File Offset: 0x002AC9F0 [Token(Token = "0x600BF08")] [Address(RVA = "0x2906E70", Offset = "0x2905E70", VA = "0x182906E70", Slot = "21")] public override void Reset(IMemoable other) { do { if (other == 0) { } } while (other == 0); } // Token: 0x040078AC RID: 30892 [Token(Token = "0x40078AC")] private const int DigestLength = 32; // Token: 0x040078AD RID: 30893 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40078AD")] private int H0; // Token: 0x040078AE RID: 30894 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x40078AE")] private int H1; // Token: 0x040078AF RID: 30895 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40078AF")] private int H2; // Token: 0x040078B0 RID: 30896 [FieldOffset(Offset = "0x34")] [Token(Token = "0x40078B0")] private int H3; // Token: 0x040078B1 RID: 30897 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40078B1")] private int H4; // Token: 0x040078B2 RID: 30898 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x40078B2")] private int H5; // Token: 0x040078B3 RID: 30899 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40078B3")] private int H6; // Token: 0x040078B4 RID: 30900 [FieldOffset(Offset = "0x44")] [Token(Token = "0x40078B4")] private int H7; // Token: 0x040078B5 RID: 30901 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40078B5")] private int[] X; // Token: 0x040078B6 RID: 30902 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40078B6")] private int xOff; } }