using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests { // Token: 0x0200170F RID: 5903 [Token(Token = "0x200170F")] [StructLayout(3)] public class MD5Digest : GeneralDigest { // Token: 0x06009EF8 RID: 40696 RVA: 0x0024B144 File Offset: 0x00249344 [Token(Token = "0x6009EF8")] [Address(RVA = "0x2241BC0", Offset = "0x22405C0", VA = "0x182241BC0")] public MD5Digest() { uint[] array = new uint[16]; this.X = array; base..ctor(); IMemoable memoable = ((IMemoable)this).Copy(); } // Token: 0x06009EF9 RID: 40697 RVA: 0x0024B170 File Offset: 0x00249370 [Token(Token = "0x6009EF9")] [Address(RVA = "0x2241C20", Offset = "0x2240620", VA = "0x182241C20")] public MD5Digest(MD5Digest t) { uint[] array = new uint[16]; this.X = array; base..ctor(t); this.CopyIn(t); } // Token: 0x06009EFA RID: 40698 RVA: 0x0024B19C File Offset: 0x0024939C [Token(Token = "0x6009EFA")] [Address(RVA = "0x2240580", Offset = "0x223EF80", VA = "0x182240580")] private void CopyIn(MD5Digest t) { base.CopyIn(t); uint h = t.H1; this.H1 = h; uint h2 = t.H2; this.H2 = h2; uint h3 = t.H3; this.H3 = h3; uint h4 = t.H4; this.H4 = h4; uint[] x = t.X; int length = x.Length; int num = 0; uint[] x2 = this.X; int num2 = 0; Array.Copy(x, num2, x2, num, length); int num3 = t.xOff; this.xOff = num3; } // Token: 0x17001913 RID: 6419 // (get) Token: 0x06009EFB RID: 40699 RVA: 0x0024B22C File Offset: 0x0024942C [Token(Token = "0x17001913")] public override string AlgorithmName { [Token(Token = "0x6009EFB")] [Address(RVA = "0x2241C90", Offset = "0x2240690", VA = "0x182241C90", Slot = "17")] get { return "MD5"; } } // Token: 0x06009EFC RID: 40700 RVA: 0x0024B240 File Offset: 0x00249440 [Token(Token = "0x6009EFC")] [Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")] public override int GetDigestSize() { return 16; } // Token: 0x06009EFD RID: 40701 RVA: 0x0024B250 File Offset: 0x00249450 [Token(Token = "0x6009EFD")] [Address(RVA = "0x2241880", Offset = "0x2240280", VA = "0x182241880", Slot = "14")] internal override void ProcessWord(byte[] input, int inOff) { uint[] x = this.X; int num = this.xOff; x[0] = (uint)inOff; int num2 = this.xOff; num2++; this.xOff = num2; if (num2 == 16) { } } // Token: 0x06009EFE RID: 40702 RVA: 0x0024B290 File Offset: 0x00249490 [Token(Token = "0x6009EFE")] [Address(RVA = "0x2241790", Offset = "0x2240190", VA = "0x182241790", Slot = "15")] internal override void ProcessLength(long bitLength) { int num = this.xOff; int num2 = 0; if (num > 14 && num == 15) { this.X[7] = (uint)num2; } int num3 = this.xOff; if (num3 < 14) { uint[] x = this.X; num3++; x[0] = (uint)num2; } this.X[7] = (uint)bitLength; this.X[7] = (uint)bitLength; } // Token: 0x06009EFF RID: 40703 RVA: 0x0024B300 File Offset: 0x00249500 [Token(Token = "0x6009EFF")] [Address(RVA = "0x22406A0", Offset = "0x223F0A0", VA = "0x1822406A0", Slot = "19")] public override int DoFinal(byte[] output, int outOff) { base.Finish(); Ed25519.Encode32(this.H1, output, outOff); Ed25519.Encode32(this.H2, output, outOff); Ed25519.Encode32(this.H3, output, outOff); Ed25519.Encode32(this.H4, output, outOff); return 16; } // Token: 0x06009F00 RID: 40704 RVA: 0x0024B34C File Offset: 0x0024954C [Token(Token = "0x6009F00")] [Address(RVA = "0x2241910", Offset = "0x2240310", VA = "0x182241910", Slot = "13")] public override void Reset() { base.Reset(); uint[] x = this.X; int num = 0; this.H1 = (uint)((ulong)1732584193L); this.H2 = (uint)((ulong)4023233417L); this.H3 = (uint)((ulong)2562383102L); this.H4 = (uint)((ulong)271733878L); this.xOff = num; if (num != x.Length) { num++; x[0] = (uint)num; uint[] x2 = this.X; } } // Token: 0x06009F01 RID: 40705 RVA: 0x0024B3CC File Offset: 0x002495CC [Token(Token = "0x6009F01")] [Address(RVA = "0x21009B0", Offset = "0x20FF3B0", VA = "0x1821009B0")] private static uint RotateLeft(uint x, int n) { return x; } // Token: 0x06009F02 RID: 40706 RVA: 0x0024B3DC File Offset: 0x002495DC [Token(Token = "0x6009F02")] [Address(RVA = "0xA94430", Offset = "0xA92E30", VA = "0x180A94430")] private static uint F(uint u, uint v, uint w) { return u; } // Token: 0x06009F03 RID: 40707 RVA: 0x0024B3EC File Offset: 0x002495EC [Token(Token = "0x6009F03")] [Address(RVA = "0xA94470", Offset = "0xA92E70", VA = "0x180A94470")] private static uint G(uint u, uint v, uint w) { return w; } // Token: 0x06009F04 RID: 40708 RVA: 0x0024B3FC File Offset: 0x002495FC [Token(Token = "0x6009F04")] [Address(RVA = "0xA94420", Offset = "0xA92E20", VA = "0x180A94420")] private static uint H(uint u, uint v, uint w) { return u; } // Token: 0x06009F05 RID: 40709 RVA: 0x0024B40C File Offset: 0x0024960C [Token(Token = "0x6009F05")] [Address(RVA = "0x2240730", Offset = "0x223F130", VA = "0x182240730")] private static uint K(uint u, uint v, uint w) { return w; } // Token: 0x06009F06 RID: 40710 RVA: 0x0024B41C File Offset: 0x0024961C [Token(Token = "0x6009F06")] [Address(RVA = "0x2240740", Offset = "0x223F140", VA = "0x182240740", Slot = "16")] internal override void ProcessBlock() { uint h = this.H2; uint[] x = this.X; int length = x.Length; int num = MD5Digest.S21; uint num2 = x[7]; num += -2022574463; } // Token: 0x06009F07 RID: 40711 RVA: 0x0024B45C File Offset: 0x0024965C [Token(Token = "0x6009F07")] [Address(RVA = "0x2240600", Offset = "0x223F000", VA = "0x182240600", Slot = "20")] public override IMemoable Copy() { /* An exception occurred when decompiling this method (06009F07) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD5Digest::Copy() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:MD5Digest(var_0_06, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(this))) stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16))) stfld:uint32[](MD5Digest::X, ldloc:MD5Digest(var_0_06), ldloc:uint32[](var_1_0E)) call:void(MD5Digest::CopyIn, ldloc:MD5Digest(var_0_06), ldloc:MD5Digest(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: 0x06009F08 RID: 40712 RVA: 0x0024B488 File Offset: 0x00249688 [Token(Token = "0x6009F08")] [Address(RVA = "0x22419A0", Offset = "0x22403A0", VA = "0x1822419A0", Slot = "21")] public override void Reset(IMemoable other) { do { if (other == 0) { } } while (other == 0); } // Token: 0x04006888 RID: 26760 [Token(Token = "0x4006888")] private const int DigestLength = 16; // Token: 0x04006889 RID: 26761 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006889")] private uint H1; // Token: 0x0400688A RID: 26762 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x400688A")] private uint H2; // Token: 0x0400688B RID: 26763 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400688B")] private uint H3; // Token: 0x0400688C RID: 26764 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x400688C")] private uint H4; // Token: 0x0400688D RID: 26765 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400688D")] private uint[] X; // Token: 0x0400688E RID: 26766 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400688E")] private int xOff; // Token: 0x0400688F RID: 26767 [Token(Token = "0x400688F")] private static readonly int S11; // Token: 0x04006890 RID: 26768 [Token(Token = "0x4006890")] private static readonly int S12; // Token: 0x04006891 RID: 26769 [Token(Token = "0x4006891")] private static readonly int S13; // Token: 0x04006892 RID: 26770 [Token(Token = "0x4006892")] private static readonly int S14; // Token: 0x04006893 RID: 26771 [Token(Token = "0x4006893")] private static readonly int S21; // Token: 0x04006894 RID: 26772 [Token(Token = "0x4006894")] private static readonly int S22; // Token: 0x04006895 RID: 26773 [Token(Token = "0x4006895")] private static readonly int S23; // Token: 0x04006896 RID: 26774 [Token(Token = "0x4006896")] private static readonly int S24; // Token: 0x04006897 RID: 26775 [Token(Token = "0x4006897")] private static readonly int S31; // Token: 0x04006898 RID: 26776 [Token(Token = "0x4006898")] private static readonly int S32; // Token: 0x04006899 RID: 26777 [Token(Token = "0x4006899")] private static readonly int S33; // Token: 0x0400689A RID: 26778 [Token(Token = "0x400689A")] private static readonly int S34; // Token: 0x0400689B RID: 26779 [Token(Token = "0x400689B")] private static readonly int S41; // Token: 0x0400689C RID: 26780 [Token(Token = "0x400689C")] private static readonly int S42; // Token: 0x0400689D RID: 26781 [Token(Token = "0x400689D")] private static readonly int S43; // Token: 0x0400689E RID: 26782 [Token(Token = "0x400689E")] private static readonly int S44; } }