544 lines
32 KiB
C#
544 lines
32 KiB
C#
using System;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
|
{
|
|
// Token: 0x02001CAC RID: 7340
|
|
[Token(Token = "0x2001CAC")]
|
|
public class Salsa20Engine : IStreamCipher
|
|
{
|
|
// Token: 0x0600B8C8 RID: 47304 RVA: 0x00291E10 File Offset: 0x00290010
|
|
[Token(Token = "0x600B8C8")]
|
|
[Address(RVA = "0x1DFD1E0", Offset = "0x1DFBFE0", VA = "0x181DFD1E0")]
|
|
internal void PackTauOrSigma(int keyLength, uint[] state, int stateOffset)
|
|
{
|
|
uint num = Salsa20Engine.TAU_SIGMA[keyLength];
|
|
state[0] = num;
|
|
uint[] tau_SIGMA = Salsa20Engine.TAU_SIGMA;
|
|
int num2 = keyLength + 1;
|
|
uint num3 = tau_SIGMA[num2];
|
|
int num4 = stateOffset + 1;
|
|
state[0] = num3;
|
|
uint[] tau_SIGMA2 = Salsa20Engine.TAU_SIGMA;
|
|
uint num5;
|
|
state[0] = num5;
|
|
uint num6 = Salsa20Engine.TAU_SIGMA[keyLength];
|
|
state[0] = num6;
|
|
}
|
|
|
|
// Token: 0x0600B8C9 RID: 47305 RVA: 0x00291E7C File Offset: 0x0029007C
|
|
[Token(Token = "0x600B8C9")]
|
|
[Address(RVA = "0x1DFE3B0", Offset = "0x1DFD1B0", VA = "0x181DFE3B0")]
|
|
public Salsa20Engine()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8C9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::.ctor()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_49:
|
|
stloc:ArgumentException(var_4_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("'rounds' must be a positive, even number")))
|
|
}
|
|
|
|
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: 0x0600B8CA RID: 47306 RVA: 0x00291EE0 File Offset: 0x002900E0
|
|
[Token(Token = "0x600B8CA")]
|
|
[Address(RVA = "0x1DFE4C0", Offset = "0x1DFD2C0", VA = "0x181DFE4C0")]
|
|
public Salsa20Engine(int rounds)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8CA)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::.ctor(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_43:
|
|
stloc:ArgumentException(var_3_4D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("'rounds' must be a positive, even number")))
|
|
}
|
|
|
|
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: 0x0600B8CB RID: 47307 RVA: 0x00291F3C File Offset: 0x0029013C
|
|
[Token(Token = "0x600B8CB")]
|
|
[Address(RVA = "0x1DFCE00", Offset = "0x1DFBC00", VA = "0x181DFCE00", Slot = "9")]
|
|
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8CB)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_52:
|
|
stloc:InvalidOperationException(var_8_59, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_7)))
|
|
}
|
|
|
|
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.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: 0x17001CF0 RID: 7408
|
|
// (get) Token: 0x0600B8CC RID: 47308 RVA: 0x00291FA4 File Offset: 0x002901A4
|
|
[Token(Token = "0x17001CF0")]
|
|
protected virtual int NonceSize
|
|
{
|
|
[Token(Token = "0x600B8CC")]
|
|
[Address(RVA = "0x4101D0", Offset = "0x40EFD0", VA = "0x1804101D0", Slot = "10")]
|
|
get
|
|
{
|
|
return 8;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001CF1 RID: 7409
|
|
// (get) Token: 0x0600B8CD RID: 47309 RVA: 0x00291FB4 File Offset: 0x002901B4
|
|
[Token(Token = "0x17001CF1")]
|
|
public virtual string AlgorithmName
|
|
{
|
|
[Token(Token = "0x600B8CD")]
|
|
[Address(RVA = "0x1DFE580", Offset = "0x1DFD380", VA = "0x181DFE580", Slot = "11")]
|
|
get
|
|
{
|
|
int num = this.rounds;
|
|
int num2 = this.rounds;
|
|
return "Salsa20" + "/" + num2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B8CE RID: 47310 RVA: 0x00291FE0 File Offset: 0x002901E0
|
|
[Token(Token = "0x600B8CE")]
|
|
[Address(RVA = "0x1DFD6A0", Offset = "0x1DFC4A0", VA = "0x181DFD6A0", Slot = "12")]
|
|
public virtual byte ReturnByte(byte input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8CE)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::ReturnByte(System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_43:
|
|
stloc:MaxBytesExceededException(var_5_4D, newobj:MaxBytesExceededException(MaxBytesExceededException::.ctor, ldstr:string("2^70 byte limit per IV; Change IV")))
|
|
}
|
|
|
|
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: 0x0600B8CF RID: 47311 RVA: 0x0029203C File Offset: 0x0029023C
|
|
[Token(Token = "0x600B8CF")]
|
|
[Address(RVA = "0x1DFCD00", Offset = "0x1DFBB00", VA = "0x181DFCD00", Slot = "13")]
|
|
protected virtual void AdvanceCounter()
|
|
{
|
|
if (this.engineState.Length == 8)
|
|
{
|
|
uint[] array = this.engineState;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B8D0 RID: 47312 RVA: 0x00292064 File Offset: 0x00290264
|
|
[Token(Token = "0x600B8D0")]
|
|
[Address(RVA = "0x1DFD3D0", Offset = "0x1DFC1D0", VA = "0x181DFD3D0", Slot = "14")]
|
|
public virtual void ProcessBytes(byte[] inBytes, int inOff, int len, byte[] outBytes, int outOff)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8D0)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_75:
|
|
stloc:MaxBytesExceededException(var_10_7F, newobj:MaxBytesExceededException(MaxBytesExceededException::.ctor, ldstr:string("2^70 byte limit per IV would be exceeded; Change IV")))
|
|
}
|
|
|
|
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: 0x0600B8D1 RID: 47313 RVA: 0x002920F4 File Offset: 0x002902F4
|
|
[Token(Token = "0x600B8D1")]
|
|
[Address(RVA = "0x1DFD680", Offset = "0x1DFC480", VA = "0x181DFD680", Slot = "15")]
|
|
public virtual void Reset()
|
|
{
|
|
int num = 0;
|
|
this.index = num;
|
|
this.cW0 = (uint)num;
|
|
this.cW2 = (uint)num;
|
|
string algorithmName = ((IStreamCipher)this).AlgorithmName;
|
|
}
|
|
|
|
// Token: 0x0600B8D2 RID: 47314 RVA: 0x00292120 File Offset: 0x00290320
|
|
[Token(Token = "0x600B8D2")]
|
|
[Address(RVA = "0x1DFD610", Offset = "0x1DFC410", VA = "0x181DFD610", Slot = "16")]
|
|
protected virtual void ResetCounter()
|
|
{
|
|
uint[] array = this.engineState;
|
|
int num = 0;
|
|
array[4] = (uint)num;
|
|
array[4] = (uint)num;
|
|
}
|
|
|
|
// Token: 0x0600B8D3 RID: 47315 RVA: 0x0029214C File Offset: 0x0029034C
|
|
[Token(Token = "0x600B8D3")]
|
|
[Address(RVA = "0x1DFDFF0", Offset = "0x1DFCDF0", VA = "0x181DFDFF0", Slot = "17")]
|
|
protected virtual void SetKey(byte[] keyBytes, byte[] ivBytes)
|
|
{
|
|
if (keyBytes != 0)
|
|
{
|
|
uint[] array = this.engineState;
|
|
uint[] tau_SIGMA = Salsa20Engine.TAU_SIGMA;
|
|
uint num;
|
|
array[0] = num;
|
|
uint[] array2 = this.engineState;
|
|
uint[] tau_SIGMA2 = Salsa20Engine.TAU_SIGMA;
|
|
uint num2;
|
|
array2[2] = num2;
|
|
uint[] array3 = this.engineState;
|
|
uint[] tau_SIGMA3 = Salsa20Engine.TAU_SIGMA;
|
|
uint num3;
|
|
array3[5] = num3;
|
|
uint[] array4 = this.engineState;
|
|
uint num4 = Salsa20Engine.TAU_SIGMA[keyBytes];
|
|
array4[7] = num4;
|
|
uint[] array5 = this.engineState;
|
|
int num5 = 0;
|
|
uint num6;
|
|
ulong num7;
|
|
Pack.LE_To_UInt32(keyBytes, num5, array5, (int)num6, (int)num7);
|
|
int length = keyBytes.Length;
|
|
uint[] array6 = this.engineState;
|
|
uint num8;
|
|
ulong num9;
|
|
Pack.LE_To_UInt32(keyBytes, length, array6, (int)num8, (int)num9);
|
|
}
|
|
uint[] array7 = this.engineState;
|
|
int num10 = 0;
|
|
uint num11;
|
|
ulong num12;
|
|
Pack.LE_To_UInt32(ivBytes, num10, array7, (int)num11, (int)num12);
|
|
}
|
|
|
|
// Token: 0x0600B8D4 RID: 47316 RVA: 0x00292220 File Offset: 0x00290420
|
|
[Token(Token = "0x600B8D4")]
|
|
[Address(RVA = "0x1DFCD60", Offset = "0x1DFBB60", VA = "0x181DFCD60", Slot = "18")]
|
|
protected virtual void GenerateKeyStream(byte[] output)
|
|
{
|
|
int num = this.rounds;
|
|
uint[] array = this.engineState;
|
|
uint[] array2 = this.x;
|
|
Salsa20Engine.SalsaCore(num, array, array2);
|
|
uint[] array3 = this.x;
|
|
int num2 = 0;
|
|
Pack.UInt32_To_LE(array3, output, num2);
|
|
}
|
|
|
|
// Token: 0x0600B8D5 RID: 47317 RVA: 0x00292260 File Offset: 0x00290460
|
|
[Token(Token = "0x600B8D5")]
|
|
[Address(RVA = "0x1DFD790", Offset = "0x1DFC590", VA = "0x181DFD790")]
|
|
internal static void SalsaCore(int rounds, uint[] input, uint[] x)
|
|
{
|
|
int length;
|
|
do
|
|
{
|
|
length = input.Length;
|
|
}
|
|
while (length != 16 || x.Length != length || rounds != 1);
|
|
uint num = input[5];
|
|
uint num2 = input[4];
|
|
uint num3 = input[2];
|
|
uint num4 = input[3];
|
|
uint num5 = input[3];
|
|
uint num6 = input[4];
|
|
uint num7 = input[0];
|
|
uint num8 = input[6];
|
|
uint num9 = input[1];
|
|
uint num10 = input[6];
|
|
uint num11 = input[2];
|
|
uint num12 = input[7];
|
|
uint num13 = input[0];
|
|
uint num14 = input[7];
|
|
uint num15 = input[5];
|
|
uint num16 = input[1];
|
|
if (rounds > 0)
|
|
{
|
|
int num17 = rounds - 1;
|
|
num17++;
|
|
num11 += num7;
|
|
num += num14;
|
|
num += num5;
|
|
num += num15;
|
|
num += num6;
|
|
num12 += num14;
|
|
num8 += num14;
|
|
num10 += num8;
|
|
num11 = num10;
|
|
}
|
|
uint num18 = input[0];
|
|
num18 += num7;
|
|
x[0] = num18;
|
|
uint num19 = input[0];
|
|
num19 += num13;
|
|
x[0] = num19;
|
|
uint num20 = input[1];
|
|
num20 += num16;
|
|
x[1] = num20;
|
|
uint num21 = input[1];
|
|
num21 += num9;
|
|
x[1] = num21;
|
|
uint num22 = input[2];
|
|
num22 += num11;
|
|
x[2] = num22;
|
|
uint num23 = input[2];
|
|
num23 += num3;
|
|
x[2] = num23;
|
|
uint num24 = input[3];
|
|
num24 += num4;
|
|
x[3] = num24;
|
|
uint num25 = input[3];
|
|
num25 += num5;
|
|
x[3] = num25;
|
|
uint num26 = input[4];
|
|
num26 += num6;
|
|
x[4] = num26;
|
|
uint num27 = input[4];
|
|
num27 += num2;
|
|
x[4] = num27;
|
|
uint num28 = input[5];
|
|
num28 += num15;
|
|
x[5] = num28;
|
|
uint num29 = input[5];
|
|
x[5] = num29;
|
|
uint num30 = input[6];
|
|
x[6] = num30;
|
|
uint num31 = input[6];
|
|
x[6] = num31;
|
|
uint num32 = input[7];
|
|
x[7] = num32;
|
|
uint num33 = input[7];
|
|
num33 += num14;
|
|
x[7] = num33;
|
|
}
|
|
|
|
// Token: 0x0600B8D6 RID: 47318 RVA: 0x0029250C File Offset: 0x0029070C
|
|
[Token(Token = "0x600B8D6")]
|
|
[Address(RVA = "0x1B45B80", Offset = "0x1B44980", VA = "0x181B45B80")]
|
|
internal static uint R(uint x, int y)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x0600B8D7 RID: 47319 RVA: 0x0029251C File Offset: 0x0029071C
|
|
[Token(Token = "0x600B8D7")]
|
|
[Address(RVA = "0x1DFD670", Offset = "0x1DFC470", VA = "0x181DFD670")]
|
|
private void ResetLimitCounter()
|
|
{
|
|
int num = 0;
|
|
this.cW0 = (uint)num;
|
|
this.cW2 = (uint)num;
|
|
}
|
|
|
|
// Token: 0x0600B8D8 RID: 47320 RVA: 0x0029253C File Offset: 0x0029073C
|
|
[Token(Token = "0x600B8D8")]
|
|
[Address(RVA = "0x1DFD1B0", Offset = "0x1DFBFB0", VA = "0x181DFD1B0")]
|
|
private bool LimitExceeded()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8D8)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::LimitExceeded()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:uint32(var_0_06, ldfld:uint32(Salsa20Engine::cW0, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_0_0B, add:uint32(ldloc:uint32(var_0_06), conv.u4:uint32(ldc.i4:int32[exp:uint32](1))))
|
|
stfld:uint32(Salsa20Engine::cW0, ldloc:Salsa20Engine(this), ldloc:uint32(var_0_0B))
|
|
stloc:uint32(var_1_19, ldfld:uint32(Salsa20Engine::cW1, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_1_1E, add:uint32(ldloc:uint32(var_1_19), conv.u4:uint32(ldc.i4:int32[exp:uint32](1))))
|
|
stfld:uint32(Salsa20Engine::cW1, ldloc:Salsa20Engine(this), ldloc:uint32(var_1_1E))
|
|
stloc:uint32(var_2_2C, ldfld:uint32(Salsa20Engine::cW2, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_2_31, add:uint32(ldloc:uint32(var_2_2C), conv.u4:uint32(ldc.i4:int32[exp:uint32](1))))
|
|
stfld:uint32(Salsa20Engine::cW2, ldloc:Salsa20Engine(this), ldloc:uint32(var_2_31))
|
|
}
|
|
|
|
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: 0x0600B8D9 RID: 47321 RVA: 0x00292584 File Offset: 0x00290784
|
|
[Token(Token = "0x600B8D9")]
|
|
[Address(RVA = "0x1DFD180", Offset = "0x1DFBF80", VA = "0x181DFD180")]
|
|
private bool LimitExceeded(uint len)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B8D9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Salsa20Engine::LimitExceeded(System.UInt32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:uint32(var_0_06, ldfld:uint32(Salsa20Engine::cW0, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_1_0D, ldfld:uint32(Salsa20Engine::cW1, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_1_12, add:uint32(ldloc:uint32(var_1_0D), conv.u4:uint32(ldc.i4:int32[exp:uint32](1))))
|
|
stfld:uint32(Salsa20Engine::cW1, ldloc:Salsa20Engine(this), ldloc:uint32(var_1_12))
|
|
stloc:uint32(var_2_20, ldfld:uint32(Salsa20Engine::cW2, ldloc:Salsa20Engine(this)))
|
|
stloc:uint32(var_2_25, add:uint32(ldloc:uint32(var_2_20), conv.u4:uint32(ldc.i4:int32[exp:uint32](1))))
|
|
stfld:uint32(Salsa20Engine::cW2, ldloc:Salsa20Engine(this), ldloc:uint32(var_2_25))
|
|
}
|
|
|
|
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: 0x0600B8DA RID: 47322 RVA: 0x002925C0 File Offset: 0x002907C0
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x600B8DA")]
|
|
[Address(RVA = "0x1DFE300", Offset = "0x1DFD100", VA = "0x181DFE300")]
|
|
static Salsa20Engine()
|
|
{
|
|
byte[] array = Strings.ToAsciiByteArray("expand 16-byte kexpand 32-byte k");
|
|
int num = 0;
|
|
Salsa20Engine.TAU_SIGMA = Pack.LE_To_UInt32(array, num, 8);
|
|
Salsa20Engine.sigma = Strings.ToAsciiByteArray("expand 32-byte k");
|
|
Salsa20Engine.tau = Strings.ToAsciiByteArray("expand 16-byte k");
|
|
}
|
|
|
|
// Token: 0x04007519 RID: 29977
|
|
[Token(Token = "0x4007519")]
|
|
public static readonly int DEFAULT_ROUNDS;
|
|
|
|
// Token: 0x0400751A RID: 29978
|
|
[Token(Token = "0x400751A")]
|
|
private const int StateSize = 16;
|
|
|
|
// Token: 0x0400751B RID: 29979
|
|
[Token(Token = "0x400751B")]
|
|
private static readonly uint[] TAU_SIGMA;
|
|
|
|
// Token: 0x0400751C RID: 29980
|
|
[Token(Token = "0x400751C")]
|
|
[Obsolete]
|
|
protected static readonly byte[] sigma;
|
|
|
|
// Token: 0x0400751D RID: 29981
|
|
[Token(Token = "0x400751D")]
|
|
[Obsolete]
|
|
protected static readonly byte[] tau;
|
|
|
|
// Token: 0x0400751E RID: 29982
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400751E")]
|
|
protected int rounds;
|
|
|
|
// Token: 0x0400751F RID: 29983
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x400751F")]
|
|
private int index;
|
|
|
|
// Token: 0x04007520 RID: 29984
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4007520")]
|
|
internal uint[] engineState;
|
|
|
|
// Token: 0x04007521 RID: 29985
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4007521")]
|
|
internal uint[] x;
|
|
|
|
// Token: 0x04007522 RID: 29986
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4007522")]
|
|
private byte[] keyStream;
|
|
|
|
// Token: 0x04007523 RID: 29987
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007523")]
|
|
private bool initialised;
|
|
|
|
// Token: 0x04007524 RID: 29988
|
|
[FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x4007524")]
|
|
private uint cW0;
|
|
|
|
// Token: 0x04007525 RID: 29989
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007525")]
|
|
private uint cW1;
|
|
|
|
// Token: 0x04007526 RID: 29990
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x4007526")]
|
|
private uint cW2;
|
|
}
|
|
}
|