using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests { // Token: 0x02001714 RID: 5908 [Token(Token = "0x2001714")] [StructLayout(3)] public class RipeMD256Digest : GeneralDigest { // Token: 0x17001918 RID: 6424 // (get) Token: 0x06009F47 RID: 40775 RVA: 0x0024D1DC File Offset: 0x0024B3DC [Token(Token = "0x17001918")] public override string AlgorithmName { [Token(Token = "0x6009F47")] [Address(RVA = "0x2248470", Offset = "0x2246E70", VA = "0x182248470", Slot = "17")] get { return "RIPEMD256"; } } // Token: 0x06009F48 RID: 40776 RVA: 0x0024D1F0 File Offset: 0x0024B3F0 [Token(Token = "0x6009F48")] [Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "18")] public override int GetDigestSize() { return 32; } // Token: 0x06009F49 RID: 40777 RVA: 0x0024D200 File Offset: 0x0024B400 [Token(Token = "0x6009F49")] [Address(RVA = "0x22483A0", Offset = "0x2246DA0", VA = "0x1822483A0")] public RipeMD256Digest() { int[] array = new int[16]; this.X = array; base..ctor(); IMemoable memoable = ((IMemoable)this).Copy(); } // Token: 0x06009F4A RID: 40778 RVA: 0x0024D22C File Offset: 0x0024B42C [Token(Token = "0x6009F4A")] [Address(RVA = "0x2248400", Offset = "0x2246E00", VA = "0x182248400")] public RipeMD256Digest(RipeMD256Digest t) { int[] array = new int[16]; this.X = array; base..ctor(t); this.CopyIn(t); } // Token: 0x06009F4B RID: 40779 RVA: 0x0024D258 File Offset: 0x0024B458 [Token(Token = "0x6009F4B")] [Address(RVA = "0x22465F0", Offset = "0x2244FF0", VA = "0x1822465F0")] 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: 0x06009F4C RID: 40780 RVA: 0x0024D328 File Offset: 0x0024B528 [Token(Token = "0x6009F4C")] [Address(RVA = "0x2248130", Offset = "0x2246B30", VA = "0x182248130", 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: 0x06009F4D RID: 40781 RVA: 0x0024D374 File Offset: 0x0024B574 [Token(Token = "0x6009F4D")] [Address(RVA = "0x22480B0", Offset = "0x2246AB0", VA = "0x1822480B0", Slot = "15")] internal override void ProcessLength(long bitLength) { if (this.xOff > 14) { } this.X[7] = (int)bitLength; this.X[7] = (int)bitLength; } // Token: 0x06009F4E RID: 40782 RVA: 0x0024D3AC File Offset: 0x0024B5AC [Token(Token = "0x6009F4E")] [Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")] private void UnpackWord(int word, byte[] outBytes, int outOff) { int num = outOff + 1; } // Token: 0x06009F4F RID: 40783 RVA: 0x0024D3C4 File Offset: 0x0024B5C4 [Token(Token = "0x6009F4F")] [Address(RVA = "0x2246720", Offset = "0x2245120", VA = "0x182246720", 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: 0x06009F50 RID: 40784 RVA: 0x0024D4B4 File Offset: 0x0024B6B4 [Token(Token = "0x6009F50")] [Address(RVA = "0x22482F0", Offset = "0x2246CF0", VA = "0x1822482F0", 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: 0x06009F51 RID: 40785 RVA: 0x0024D570 File Offset: 0x0024B770 [Token(Token = "0x6009F51")] [Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")] private int RL(int x, int n) { return x; } // Token: 0x06009F52 RID: 40786 RVA: 0x0024D580 File Offset: 0x0024B780 [Token(Token = "0x6009F52")] [Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")] private int F1(int x, int y, int z) { return x; } // Token: 0x06009F53 RID: 40787 RVA: 0x0024D590 File Offset: 0x0024B790 [Token(Token = "0x6009F53")] [Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")] private int F2(int x, int y, int z) { return x; } // Token: 0x06009F54 RID: 40788 RVA: 0x0024D5A0 File Offset: 0x0024B7A0 [Token(Token = "0x6009F54")] [Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")] private int F3(int x, int y, int z) { return y; } // Token: 0x06009F55 RID: 40789 RVA: 0x0024D5B0 File Offset: 0x0024B7B0 [Token(Token = "0x6009F55")] [Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")] private int F4(int x, int y, int z) { return z; } // Token: 0x06009F56 RID: 40790 RVA: 0x0024D5C0 File Offset: 0x0024B7C0 [Token(Token = "0x6009F56")] [Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")] private int F1(int a, int b, int c, int d, int x, int s) { return b; } // Token: 0x06009F57 RID: 40791 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F57")] [Address(RVA = "0x2242230", Offset = "0x2240C30", VA = "0x182242230")] 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: 0x06009F58 RID: 40792 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F58")] [Address(RVA = "0x2242280", Offset = "0x2240C80", VA = "0x182242280")] 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: 0x06009F59 RID: 40793 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F59")] [Address(RVA = "0x22422C0", Offset = "0x2240CC0", VA = "0x1822422C0")] 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: 0x06009F5A RID: 40794 RVA: 0x0024D5D0 File Offset: 0x0024B7D0 [Token(Token = "0x6009F5A")] [Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")] private int FF1(int a, int b, int c, int d, int x, int s) { return b; } // Token: 0x06009F5B RID: 40795 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F5B")] [Address(RVA = "0x2242310", Offset = "0x2240D10", VA = "0x182242310")] 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: 0x06009F5C RID: 40796 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F5C")] [Address(RVA = "0x2242350", Offset = "0x2240D50", VA = "0x182242350")] 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: 0x06009F5D RID: 40797 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F5D")] [Address(RVA = "0x2242390", Offset = "0x2240D90", VA = "0x182242390")] 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: 0x06009F5E RID: 40798 RVA: 0x0024D5E0 File Offset: 0x0024B7E0 [Token(Token = "0x6009F5E")] [Address(RVA = "0x2246BC0", Offset = "0x22455C0", VA = "0x182246BC0", 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: 0x06009F5F RID: 40799 RVA: 0x0024DE3C File Offset: 0x0024C03C [Token(Token = "0x6009F5F")] [Address(RVA = "0x2246680", Offset = "0x2245080", VA = "0x182246680", Slot = "20")] public override IMemoable Copy() { /* An exception occurred when decompiling this method (06009F5F) 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: 0x06009F60 RID: 40800 RVA: 0x0024DE68 File Offset: 0x0024C068 [Token(Token = "0x6009F60")] [Address(RVA = "0x2248250", Offset = "0x2246C50", VA = "0x182248250", Slot = "21")] public override void Reset(IMemoable other) { do { if (other == 0) { } } while (other == 0); } // Token: 0x040068B0 RID: 26800 [Token(Token = "0x40068B0")] private const int DigestLength = 32; // Token: 0x040068B1 RID: 26801 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40068B1")] private int H0; // Token: 0x040068B2 RID: 26802 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x40068B2")] private int H1; // Token: 0x040068B3 RID: 26803 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40068B3")] private int H2; // Token: 0x040068B4 RID: 26804 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x40068B4")] private int H3; // Token: 0x040068B5 RID: 26805 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40068B5")] private int H4; // Token: 0x040068B6 RID: 26806 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x40068B6")] private int H5; // Token: 0x040068B7 RID: 26807 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40068B7")] private int H6; // Token: 0x040068B8 RID: 26808 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x40068B8")] private int H7; // Token: 0x040068B9 RID: 26809 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40068B9")] private int[] X; // Token: 0x040068BA RID: 26810 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x40068BA")] private int xOff; } }