using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests { // Token: 0x02001712 RID: 5906 [Token(Token = "0x2001712")] [StructLayout(3)] public class RipeMD128Digest : GeneralDigest { // Token: 0x06009F1A RID: 40730 RVA: 0x0024B69C File Offset: 0x0024989C [Token(Token = "0x6009F1A")] [Address(RVA = "0x2243940", Offset = "0x2242340", VA = "0x182243940")] public RipeMD128Digest() { int[] array = new int[16]; this.X = array; base..ctor(); IMemoable memoable = ((IMemoable)this).Copy(); } // Token: 0x06009F1B RID: 40731 RVA: 0x0024B6C8 File Offset: 0x002498C8 [Token(Token = "0x6009F1B")] [Address(RVA = "0x22439A0", Offset = "0x22423A0", VA = "0x1822439A0")] public RipeMD128Digest(RipeMD128Digest t) { int[] array = new int[16]; this.X = array; base..ctor(t); this.CopyIn(t); } // Token: 0x06009F1C RID: 40732 RVA: 0x0024B6F4 File Offset: 0x002498F4 [Token(Token = "0x6009F1C")] [Address(RVA = "0x2240580", Offset = "0x223EF80", VA = "0x182240580")] private void CopyIn(RipeMD128Digest 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[] 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: 0x17001916 RID: 6422 // (get) Token: 0x06009F1D RID: 40733 RVA: 0x0024B784 File Offset: 0x00249984 [Token(Token = "0x17001916")] public override string AlgorithmName { [Token(Token = "0x6009F1D")] [Address(RVA = "0x2243A10", Offset = "0x2242410", VA = "0x182243A10", Slot = "17")] get { return "RIPEMD128"; } } // Token: 0x06009F1E RID: 40734 RVA: 0x0024B798 File Offset: 0x00249998 [Token(Token = "0x6009F1E")] [Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")] public override int GetDigestSize() { return 16; } // Token: 0x06009F1F RID: 40735 RVA: 0x0024B7A8 File Offset: 0x002499A8 [Token(Token = "0x6009F1F")] [Address(RVA = "0x21875E0", Offset = "0x2185FE0", VA = "0x1821875E0", 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: 0x06009F20 RID: 40736 RVA: 0x0024B7F4 File Offset: 0x002499F4 [Token(Token = "0x6009F20")] [Address(RVA = "0x2187560", Offset = "0x2185F60", VA = "0x182187560", Slot = "15")] internal override void ProcessLength(long bitLength) { if (this.xOff > 14) { } this.X[7] = (int)bitLength; this.X[7] = (int)bitLength; } // Token: 0x06009F21 RID: 40737 RVA: 0x0024B82C File Offset: 0x00249A2C [Token(Token = "0x6009F21")] [Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")] private void UnpackWord(int word, byte[] outBytes, int outOff) { int num = outOff + 1; } // Token: 0x06009F22 RID: 40738 RVA: 0x0024B844 File Offset: 0x00249A44 [Token(Token = "0x6009F22")] [Address(RVA = "0x2186940", Offset = "0x2185340", VA = "0x182186940", 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; throw new NullReferenceException(); } // Token: 0x06009F23 RID: 40739 RVA: 0x0024B8BC File Offset: 0x00249ABC [Token(Token = "0x6009F23")] [Address(RVA = "0x2241910", Offset = "0x2240310", VA = "0x182241910", 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.xOff = num; if (num != x.Length) { num++; x[0] = num; int[] x2 = this.X; } } // Token: 0x06009F24 RID: 40740 RVA: 0x0024B93C File Offset: 0x00249B3C [Token(Token = "0x6009F24")] [Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")] private int RL(int x, int n) { return x; } // Token: 0x06009F25 RID: 40741 RVA: 0x0024B94C File Offset: 0x00249B4C [Token(Token = "0x6009F25")] [Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")] private int F1(int x, int y, int z) { return x; } // Token: 0x06009F26 RID: 40742 RVA: 0x0024B95C File Offset: 0x00249B5C [Token(Token = "0x6009F26")] [Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")] private int F2(int x, int y, int z) { return x; } // Token: 0x06009F27 RID: 40743 RVA: 0x0024B96C File Offset: 0x00249B6C [Token(Token = "0x6009F27")] [Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")] private int F3(int x, int y, int z) { return y; } // Token: 0x06009F28 RID: 40744 RVA: 0x0024B97C File Offset: 0x00249B7C [Token(Token = "0x6009F28")] [Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")] private int F4(int x, int y, int z) { return z; } // Token: 0x06009F29 RID: 40745 RVA: 0x0024B98C File Offset: 0x00249B8C [Token(Token = "0x6009F29")] [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: 0x06009F2A RID: 40746 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F2A")] [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: 0x06009F2B RID: 40747 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F2B")] [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: 0x06009F2C RID: 40748 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F2C")] [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: 0x06009F2D RID: 40749 RVA: 0x0024B99C File Offset: 0x00249B9C [Token(Token = "0x6009F2D")] [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: 0x06009F2E RID: 40750 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F2E")] [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: 0x06009F2F RID: 40751 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F2F")] [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: 0x06009F30 RID: 40752 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6009F30")] [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: 0x06009F31 RID: 40753 RVA: 0x0024B9AC File Offset: 0x00249BAC [Token(Token = "0x6009F31")] [Address(RVA = "0x22423D0", Offset = "0x2240DD0", VA = "0x1822423D0", Slot = "16")] internal override void ProcessBlock() { int[] x = this.X; int num = this.H0; int h = this.H1; int num2 = this.H2; int num3 = this.H3; int num4 = x.Length; num3 += num; num = num3; num3 = num2; num3 += num3; num3 = h; num3 += num2; num2 = num3; num3 = num2; num3 += h; num2 += num; num = num2; num3 += num3; num3 += num3; num2 = num3; num3 = num2; num3 += num3; num2 += num; num = num2; num3 += num3; num3 += num3; num2 = num3; num3 = num2; num3 += num3; num2 += num; int num5 = x[6]; num3 += num5; num3 += num3; num2 = num3; int num6 = x[7]; num3 = num2; num3 += num6; num3 += num3; int num7 = x[7]; num3 = num2; num3 += num7; num3 += num3; num4 = num3; num3 += num4; num = num3; num4 = num; num3 += num4; num3 += 1518500249; num3 += num5; int num8 = x[1]; num3 += num3; num4 = num3; num3 += num4; num4 = num3; num3 += num4; num3 += 1518500249; num3 += num3; num = num3; num4 = num; num3 = num; num4 += num7; num3 += num4; num3 = num; num3 += 1518500249; num3 += num8; num3 += num3; num4 = num3; num3 += num4; num4 = num3; num3 += num4; num = num3; num4 = num; num3 = num; num3 += num4; num2 = num3; num3 = num; num3 += 1518500249; num3 += num3; num3 = num2; num4 = num3; num3 += num4; num4 = num3; num4 += num6; num3 += num4; num = num3; num4 = num; num3 = num; int num9 = x[5]; num4 += num9; num3 += num4; num3 = num; num3 += 1518500249; num3 += num3; num4 = num3; num += 1859775393; num3 += 1859775393; num3 += num3; num2 = num3; num3 = num4; num3 += 1859775393; num3 += num; num = num3; num3 = num2; num4 += 1859775393; num3 += num6; num3 += num3; num3 = num; num2 += 1859775393; num3 += num4; num4 = num3; num3 += num2; num2 = num3; num3 = num4; num3 += num7; num += 1859775393; num3 += num; num3 += 1859775393; num = num3; num3 = num2; num4 += 1859775393; num3 += num3; num3 = num; num2 += 1859775393; num3 += num4; num += 1859775393; num3 += num2; num4 = num3; num3 += 1859775393; num3 += num; num2 = num3; num3 = num4; num3 += 1859775393; num3 += num3; num = num3; num3 = num2; num3 += num3; int num10 = x[6]; num10 += 1859775393; num3 = num; num3 += num10; num3 += num4; num10 = num3; num2 += 1859775393; num += 1859775393; num3 += num9; num9 += -1894007588; num3 += num2; num3 = num10; num2 = num3; num3 += num; num = num3; num3 = num2; num4 += num3; num3 = num4; num4 = num; num3 += -1894007588; num3 += num10; num3 = num; num3 += num4; num3 += num9; num3 += num; num9 = num3; num3 = num9; num3 += -1894007588; num4 = num3; num3 += num3; num3 += num4; num2 = num3; num3 = num9; num3 += -1894007588; num3 += num3; num = num3; num3 = num; num4 = num2; num3 += -1894007588; num3 += num9; num3 += num4; num4 = num; num10 = num3; num3 = num; num3 += num4; num4 = num3; num2 = num3; num4 += num8; num3 += num4; num = num3; num4 = num10; num6 += -1894007588; num3 = num; num3 += num4; num4 = num2; num4 += num7; num3 += num4; num10 = num3; num3 = num; num4 = num3; num3 += num6; num3 += num2; num6 = num3; num8 = num6; int num11 = this.H3; num3 += num4; num4 = num10; num3 += num4; num4 = num11; num7 = num3; num8 += -1894007588; num8 += num10; int num12 = this.H2; int num13 = this.H0; num13 += 1352829926; num13 += num4; num4 = num12; num2 = num13; num13 = num12; num13 += num4; num4 = h; num11 = num13; num13 = h; num13 += num4; num4 = num2; num12 = num13; num13 = num12; num13 += num4; num4 = num11; num10 = num13; num13 = num11; num13 += num4; num4 = num12; num2 = num13; num13 = num12; num13 += num4; num4 = num10; num11 = num13; num13 = num11; num13 += num4; num4 = num2; num12 = num13; num13 = num12; num13 += num4; num4 = num11; num10 = num13; num13 = num11; num13 += num4; num4 = num12; num2 = num13; num13 = num12; num13 += num4; num4 = num10; num11 = num13; num13 = num11; num13 += num4; num4 = num2; num12 = num13; num13 = num12; num13 += num4; num4 = num11; num10 = num13; num13 = num11; num13 += num4; num4 = num12; num2 = num13; num13 = num12; num13 += num4; num4 = num10; num11 = num13; num13 = num11; num13 += num4; num12 = num13; num13 = num12; num2 += 1548603684; num13 += 1352829926; num13 += num10; num4 = num13; num13 = num12; num11 += 1548603684; num13 += num2; num2 = num13; num13 = num4; num12 += 1548603684; num13 += num11; num11 = num13; num13 = num2; num13 += num12; num12 = num13; num13 = num11; num4 += 1548603684; num2 += 1548603684; num13 += num4; num4 = num13; num13 = num12; num11 += 1548603684; num13 += num2; num2 = num13; num13 = num4; num12 += 1548603684; num13 += num11; num11 = num13; num13 = num2; num4 += 1548603684; num13 += num12; num12 = num13; num13 = num11; num2 += 1548603684; num13 += num4; num4 = num13; num13 = num12; num11 += 1548603684; num13 += num2; num2 = num13; num13 = num4; num13 += num11; num11 = num13; num13 = num2; num12 += 1548603684; num13 += num12; num4 += 1548603684; num12 = num13; num13 = num11; num2 += 1548603684; num13 += num4; num4 = num13; num13 = num12; num11 += 1548603684; num13 += num2; num2 = num13; num13 = num4; num12 += 1548603684; num13 += num11; num11 = num13; num13 = num2; num4 += 1548603684; num13 += num12; num12 = num13; num13 = num11; num13 += num4; num10 = num13; num13 = num12; num4 = num10; num13 += num4; num3 = num13; num13 = num10; num4 = num3; num13 += num4; num2 = num13; num4 = num2; num13 = num2; num13 += num4; num11 = num13; num13 = num2; num4 = num11; num13 += num4; num12 = num13; num13 = num11; num4 = num12; num13 += num4; num10 = num13; num13 = num12; num4 = num10; num13 += num4; num3 = num13; num4 = num3; num13 = num3; num13 += num4; num2 = num13; num13 = num3; num13 += 1836072691; num13 += num12; num11 = num13; num13 = num2; num4 = num11; num13 += num4; num10 = num13; num13 = num11; num4 = num10; num13 += num4; num3 = num13; num13 = num3; num13 += 1836072691; num13 += num2; num9 = num13; num13 = num3; num13 += 1836072691; num13 += num11; num12 = num13; num13 = num9; num4 = num12; num13 += num4; num10 = num13; num13 = num12; num13 += 1836072691; num13 += num3; num2 = num13; num13 = num2; num13 += 1836072691; num13 += num9; num11 = num13; num13 = num2; num4 = num11; num13 += num4; num12 = num13; num13 = num2; num13 += num10; num10 = num13; num13 = num11; num13 += num2; num2 = num13; num13 = num2; num4 = num2; num13 += num11; num11 = num13; num13 = num4; num13 += num12; num12 = num13; num13 = num11; num4 += num10; num10 = num4; num13 += num2; num2 = num13; num13 = num2; num4 = num2; num13 += num11; num3 = num13; num13 = num4; num13 += num12; num11 = num13; num13 = num3; num4 += num10; num12 = num4; num13 += num2; num2 = num13; num13 = num2; num4 = num2; num13 += num3; num3 = num13; num13 = num4; num13 += num11; num10 = num13; num13 = num3; num4 += num12; num11 = num4; num13 += num2; num12 = num13; num13 = num12; num4 = num12; num13 += num3; num2 = num13; num4 += num10; int num14 = this.H2; num14 += num3; num14 += num11; this.H1 = num14; num14 = num4; num14 += num6; this.H2 = num14; num14 = num8; num14 += num2; this.H3 = num14; num14 += num7; int num15 = 0; this.H0 = num14; this.xOff = num15; if (num15 != x.Length) { num15++; x[0] = num15; } } // Token: 0x06009F32 RID: 40754 RVA: 0x0024C40C File Offset: 0x0024A60C [Token(Token = "0x6009F32")] [Address(RVA = "0x2242160", Offset = "0x2240B60", VA = "0x182242160", Slot = "20")] public override IMemoable Copy() { /* An exception occurred when decompiling this method (06009F32) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD128Digest::Copy() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:RipeMD128Digest(var_0_06, newobj:RipeMD128Digest(RipeMD128Digest::.ctor, ldloc:RipeMD128Digest(this))) stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16))) stfld:int32[](RipeMD128Digest::X, ldloc:RipeMD128Digest(var_0_06), ldloc:int32[](var_1_0E)) call:void(RipeMD128Digest::CopyIn, ldloc:RipeMD128Digest(var_0_06), ldloc:RipeMD128Digest(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: 0x06009F33 RID: 40755 RVA: 0x0024C438 File Offset: 0x0024A638 [Token(Token = "0x6009F33")] [Address(RVA = "0x22438A0", Offset = "0x22422A0", VA = "0x1822438A0", Slot = "21")] public override void Reset(IMemoable other) { do { if (other == 0) { } } while (other == 0); } // Token: 0x040068A1 RID: 26785 [Token(Token = "0x40068A1")] private const int DigestLength = 16; // Token: 0x040068A2 RID: 26786 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40068A2")] private int H0; // Token: 0x040068A3 RID: 26787 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x40068A3")] private int H1; // Token: 0x040068A4 RID: 26788 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40068A4")] private int H2; // Token: 0x040068A5 RID: 26789 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x40068A5")] private int H3; // Token: 0x040068A6 RID: 26790 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40068A6")] private int[] X; // Token: 0x040068A7 RID: 26791 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40068A7")] private int xOff; } }