Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Engines/CamelliaLightEngine.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

644 lines
27 KiB
C#

using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
{
// Token: 0x02001C86 RID: 7302
[Token(Token = "0x2001C86")]
public class CamelliaLightEngine : IBlockCipher
{
// Token: 0x0600B714 RID: 46868 RVA: 0x002856FC File Offset: 0x002838FC
[Token(Token = "0x600B714")]
[Address(RVA = "0x1A6BDB0", Offset = "0x1A6ABB0", VA = "0x181A6BDB0")]
private static uint rightRotate(uint x, int s)
{
return x;
}
// Token: 0x0600B715 RID: 46869 RVA: 0x0028570C File Offset: 0x0028390C
[Token(Token = "0x600B715")]
[Address(RVA = "0x1A6B260", Offset = "0x1A6A060", VA = "0x181A6B260")]
private static uint leftRotate(uint x, int s)
{
return x;
}
// Token: 0x0600B716 RID: 46870 RVA: 0x0028571C File Offset: 0x0028391C
[Token(Token = "0x600B716")]
[Address(RVA = "0x1A6BDD0", Offset = "0x1A6ABD0", VA = "0x181A6BDD0")]
private static void roldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
{
int length = ki.Length;
uint num = ki[ioff];
int num2 = ioff + 1;
uint num3 = ki[num2];
ko[0] = num3;
int length2 = ki.Length;
uint num4 = ki[(int)num];
ko[0] = num4;
int length3 = ki.Length;
uint num5 = ki[(int)num4];
ko[0] = num5;
int length4 = ki.Length;
ko[0] = num5;
uint num6;
ki[0] = num6;
uint num7;
ki[0] = num7;
ki[0] = num7;
}
// Token: 0x0600B717 RID: 46871 RVA: 0x002857BC File Offset: 0x002839BC
[Token(Token = "0x600B717")]
[Address(RVA = "0x1A6ABC0", Offset = "0x1A699C0", VA = "0x181A6ABC0")]
private static void decroldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
{
int length = ki.Length;
uint num = ki[ioff];
int num2 = ioff + 1;
uint num3 = ki[num2];
ko[0] = num3;
int length2 = ki.Length;
uint num4 = ki[(int)num];
ko[0] = num4;
int length3 = ki.Length;
uint num5 = ki[(int)num];
uint num6 = ki[(int)num4];
ko[0] = num6;
int length4 = ki.Length;
ko[0] = num6;
uint num7;
ki[0] = num7;
uint num8;
ki[0] = num8;
ki[0] = num8;
}
// Token: 0x0600B718 RID: 46872 RVA: 0x0028585C File Offset: 0x00283A5C
[Token(Token = "0x600B718")]
[Address(RVA = "0x1A6C110", Offset = "0x1A6AF10", VA = "0x181A6C110")]
private static void roldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
{
int length = ki.Length;
int num = ioff + 1;
uint num2;
ko[0] = num2;
int length2 = ki.Length;
uint num3 = ki[(int)num2];
ko[0] = num3;
int length3 = ki.Length;
uint num4 = ki[(int)num2];
uint num5 = ki[ioff];
ko[0] = num5;
int length4 = ki.Length;
uint num6 = ki[num];
ko[0] = num6;
uint num7;
ki[0] = num7;
uint num8;
ki[0] = num8;
uint num9 = ko[(int)num3];
ki[0] = num9;
}
// Token: 0x0600B719 RID: 46873 RVA: 0x00285908 File Offset: 0x00283B08
[Token(Token = "0x600B719")]
[Address(RVA = "0x1A6AF00", Offset = "0x1A69D00", VA = "0x181A6AF00")]
private static void decroldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
{
int length = ki.Length;
int num = ioff + 1;
uint num2;
ko[0] = num2;
int length2 = ki.Length;
uint num3 = ki[(int)num2];
ko[0] = num3;
int length3 = ki.Length;
uint num4 = ki[(int)num2];
uint num5 = ki[ioff];
ko[0] = num5;
int length4 = ki.Length;
uint num6 = ki[num];
ko[0] = num6;
uint num7;
ki[0] = num7;
uint num8;
ki[0] = num8;
uint num9;
ki[0] = num9;
}
// Token: 0x0600B71A RID: 46874 RVA: 0x002859A4 File Offset: 0x00283BA4
[Token(Token = "0x600B71A")]
[Address(RVA = "0x1A6A410", Offset = "0x1A69210", VA = "0x181A6A410")]
private static uint bytes2uint(byte[] src, int offset)
{
int num = 0;
byte b;
num += (int)b;
throw new NullReferenceException();
}
// Token: 0x0600B71B RID: 46875 RVA: 0x002859BC File Offset: 0x00283BBC
[Token(Token = "0x600B71B")]
[Address(RVA = "0x1A6E280", Offset = "0x1A6D080", VA = "0x181A6E280")]
private static void uint2bytes(uint word, byte[] dst, int offset)
{
int num = 0;
num++;
}
// Token: 0x0600B71C RID: 46876 RVA: 0x002859D8 File Offset: 0x00283BD8
[Token(Token = "0x600B71C")]
[Address(RVA = "0x1A6ED20", Offset = "0x1A6DB20", VA = "0x181A6ED20")]
private byte lRot8(byte v, int rot)
{
uint num;
num -= (uint)rot;
return v;
}
// Token: 0x0600B71D RID: 46877 RVA: 0x002859EC File Offset: 0x00283BEC
[Token(Token = "0x600B71D")]
[Address(RVA = "0x1A6F8F0", Offset = "0x1A6E6F0", VA = "0x181A6F8F0")]
private uint sbox2(int x)
{
byte[] sbox = CamelliaLightEngine.SBOX1;
throw new NullReferenceException();
}
// Token: 0x0600B71E RID: 46878 RVA: 0x00285A04 File Offset: 0x00283C04
[Token(Token = "0x600B71E")]
[Address(RVA = "0x1A6F980", Offset = "0x1A6E780", VA = "0x181A6F980")]
private uint sbox3(int x)
{
byte[] sbox = CamelliaLightEngine.SBOX1;
throw new NullReferenceException();
}
// Token: 0x0600B71F RID: 46879 RVA: 0x00285A1C File Offset: 0x00283C1C
[Token(Token = "0x600B71F")]
[Address(RVA = "0x1A6FA10", Offset = "0x1A6E810", VA = "0x181A6FA10")]
private uint sbox4(int x)
{
byte[] sbox = CamelliaLightEngine.SBOX1;
throw new NullReferenceException();
}
// Token: 0x0600B720 RID: 46880 RVA: 0x00285A34 File Offset: 0x00283C34
[Token(Token = "0x600B720")]
[Address(RVA = "0x1A6E660", Offset = "0x1A6D460", VA = "0x181A6E660")]
private void camelliaF2(uint[] s, uint[] skey, int keyoff)
{
uint num = skey[keyoff];
uint num2 = this.sbox4((int)num);
uint num3 = this.sbox3((int)num);
uint num4 = this.sbox2((int)num);
int length = CamelliaLightEngine.SBOX1.Length;
int num5 = keyoff + 1;
uint num6 = skey[num5];
num3 = this.sbox4((int)num6);
uint num7 = this.sbox3((int)num6);
uint num8 = this.sbox2((int)num6);
num8 += num8;
num6 = num8;
num6 += num8;
byte b;
b += b;
num6 += num6;
s[1] = num6;
b += b;
uint num9 = skey[(int)b];
num6 = num9;
num7 = this.sbox4((int)num6);
num6 = num9;
num3 = this.sbox3((int)num6);
num6 = num9;
uint num10 = this.sbox2((int)num6);
int length2 = CamelliaLightEngine.SBOX1.Length;
num3 = this.sbox4((int)num10);
uint num11 = this.sbox3((int)num10);
uint num12 = this.sbox2((int)num10);
num12 += num12;
num10 = num12;
num10 += num12;
byte b2;
b2 += b2;
num10 += num10;
s[0] = num10;
b2 += b2;
}
// Token: 0x0600B721 RID: 46881 RVA: 0x00285B60 File Offset: 0x00283D60
[Token(Token = "0x600B721")]
[Address(RVA = "0x1A6EB10", Offset = "0x1A6D910", VA = "0x181A6EB10")]
private void camelliaFLs(uint[] s, uint[] fkey, int keyoff)
{
s[0] = typeof(CamelliaLightEngine).TypeHandle;
int length = s.Length;
int num = keyoff + 1;
uint num2 = fkey[num];
s[1] = num2;
}
// Token: 0x0600B722 RID: 46882 RVA: 0x00285B9C File Offset: 0x00283D9C
[Token(Token = "0x600B722")]
[Address(RVA = "0x1A6FAA0", Offset = "0x1A6E8A0", VA = "0x181A6FAA0")]
private void setKey(bool forEncryption, byte[] key)
{
/*
An exception occurred when decompiling this method (0600B722)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::setKey(System.Boolean,System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A9D:
stloc:uint32(var_225_AA4, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_171_829), ldc.i4:int32(0), ldloc:uint32(var_225_AA4))
stloc:uint32[](var_226_AB6, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
stloc:uint32(var_227_ABF, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_226_AB6), ldc.i4:int32(0), ldloc:uint32(var_227_ABF))
stloc:uint32[](var_228_AD1, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
stloc:uint32(var_229_ADA, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_228_AD1), ldc.i4:int32(1), ldloc:uint32(var_229_ADA))
stloc:uint32[](var_230_AEC, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
stloc:uint32(var_231_AF5, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_230_AEC), ldc.i4:int32(1), ldloc:uint32(var_231_AF5))
stloc:uint32[](var_232_B07, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
stloc:int32(var_233_B0A, ldc.i4:int32(0))
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_233_B0A), ldloc:uint32[](var_232_B07), ldloc:uint64[exp:int32](var_234))
stloc:uint32[](var_235_B20, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
stloc:int32(var_236_B23, ldc.i4:int32(0))
call:void(CamelliaEngine::roldq, ldc.i4:int32(30), ldloc:uint32[](var_1_06), ldloc:int32(var_236_B23), ldloc:uint32[](var_235_B20), ldloc:uint64[exp:int32](var_237))
stloc:int32(var_238_B34, ldc.i4:int32(0))
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_238_B34), ldloc:uint32[](var_7_1C), ldloc:int32(var_9_25A))
stloc:uint32[](var_239_B4A, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
stloc:uint32(var_240_B54, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_239_B4A), ldc.i4:int32(9), ldloc:uint32(var_240_B54))
stloc:uint32[](var_241_B67, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
stloc:uint32(var_242_B71, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_241_B67), ldc.i4:int32(9), ldloc:uint32(var_242_B71))
stloc:int32(var_243_B7F, ldc.i4:int32(0))
stloc:uint32[](var_244_B87, ldfld:uint32[](CamelliaLightEngine::ke, ldloc:CamelliaLightEngine(this)))
call:void(CamelliaEngine::roldq, ldc.i4:int32(17), ldloc:uint32[](var_1_06), ldloc:int32(var_243_B7F), ldloc:uint32[](var_244_B87), ldloc:uint64[exp:int32](var_245))
}
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 1660
*/;
}
// Token: 0x0600B723 RID: 46883 RVA: 0x00286740 File Offset: 0x00284940
[Token(Token = "0x600B723")]
[Address(RVA = "0x1A6ED50", Offset = "0x1A6DB50", VA = "0x181A6ED50")]
private int processBlock128(byte[] input, int inOff, byte[] output, int outOff)
{
int num = 0;
uint[] array = this.state;
num++;
byte b;
num += (int)b;
array[0] = (uint)num;
uint[] array2 = this.state;
uint[] array3 = this.kw;
num++;
uint[] array4 = this.subkey;
int num2 = 0;
uint[] array5 = this.state;
this.camelliaF2(array5, array4, num2);
uint[] array6 = this.subkey;
uint[] array7 = this.state;
uint num3;
this.camelliaF2(array7, array6, (int)num3);
uint[] array8 = this.subkey;
uint[] array9 = this.state;
uint num4;
this.camelliaF2(array9, array8, (int)num4);
uint[] array10 = this.ke;
int num5 = 0;
uint[] array11 = this.state;
this.camelliaFLs(array11, array10, num5);
uint[] array12 = this.subkey;
uint[] array13 = this.state;
uint num6;
this.camelliaF2(array13, array12, (int)num6);
uint[] array14 = this.subkey;
uint[] array15 = this.state;
uint num7;
this.camelliaF2(array15, array14, (int)num7);
uint[] array16 = this.subkey;
uint[] array17 = this.state;
uint num8;
this.camelliaF2(array17, array16, (int)num8);
uint[] array18 = this.ke;
uint[] array19 = this.state;
uint num9;
this.camelliaFLs(array19, array18, (int)num9);
uint[] array20 = this.subkey;
uint[] array21 = this.state;
uint num10;
this.camelliaF2(array21, array20, (int)num10);
uint[] array22 = this.subkey;
uint[] array23 = this.state;
uint num11;
this.camelliaF2(array23, array22, (int)num11);
uint[] array24 = this.subkey;
uint[] array25 = this.state;
uint num12;
this.camelliaF2(array25, array24, (int)num12);
uint[] array26 = this.state;
uint[] array27 = this.kw;
uint[] array28 = this.state;
uint[] array29 = this.kw;
uint[] array30 = this.state;
uint[] array31 = this.kw;
uint[] array32 = this.state;
uint[] array33 = this.kw;
uint[] array34 = this.state;
num++;
uint num13 = this.state[1];
output[0] = (byte)num13;
num++;
uint num14 = this.state[0];
output[0] = (byte)num14;
num++;
uint num15 = this.state[0];
output[0] = (byte)num15;
num++;
throw new NullReferenceException();
}
// Token: 0x0600B724 RID: 46884 RVA: 0x00286958 File Offset: 0x00284B58
[Token(Token = "0x600B724")]
[Address(RVA = "0x1A6F2F0", Offset = "0x1A6E0F0", VA = "0x181A6F2F0")]
private int processBlock192or256(byte[] input, int inOff, byte[] output, int outOff)
{
int num = 0;
uint[] array = this.state;
num++;
byte b;
num += (int)b;
array[0] = (uint)num;
uint[] array2 = this.state;
uint[] array3 = this.kw;
num++;
uint[] array4 = this.subkey;
int num2 = 0;
uint[] array5 = this.state;
this.camelliaF2(array5, array4, num2);
uint[] array6 = this.subkey;
uint[] array7 = this.state;
uint num3;
this.camelliaF2(array7, array6, (int)num3);
uint[] array8 = this.subkey;
uint[] array9 = this.state;
uint num4;
this.camelliaF2(array9, array8, (int)num4);
uint[] array10 = this.ke;
int num5 = 0;
uint[] array11 = this.state;
this.camelliaFLs(array11, array10, num5);
uint[] array12 = this.subkey;
uint[] array13 = this.state;
uint num6;
this.camelliaF2(array13, array12, (int)num6);
uint[] array14 = this.subkey;
uint[] array15 = this.state;
uint num7;
this.camelliaF2(array15, array14, (int)num7);
uint[] array16 = this.subkey;
uint[] array17 = this.state;
uint num8;
this.camelliaF2(array17, array16, (int)num8);
uint[] array18 = this.ke;
uint[] array19 = this.state;
uint num9;
this.camelliaFLs(array19, array18, (int)num9);
uint[] array20 = this.subkey;
uint[] array21 = this.state;
uint num10;
this.camelliaF2(array21, array20, (int)num10);
uint[] array22 = this.subkey;
uint[] array23 = this.state;
uint num11;
this.camelliaF2(array23, array22, (int)num11);
uint[] array24 = this.subkey;
uint[] array25 = this.state;
uint num12;
this.camelliaF2(array25, array24, (int)num12);
uint[] array26 = this.ke;
uint[] array27 = this.state;
uint num13;
this.camelliaFLs(array27, array26, (int)num13);
uint[] array28 = this.subkey;
uint[] array29 = this.state;
uint num14;
this.camelliaF2(array29, array28, (int)num14);
uint[] array30 = this.subkey;
uint[] array31 = this.state;
uint num15;
this.camelliaF2(array31, array30, (int)num15);
uint[] array32 = this.subkey;
uint[] array33 = this.state;
uint num16;
this.camelliaF2(array33, array32, (int)num16);
uint[] array34 = this.state;
uint[] array35 = this.kw;
uint[] array36 = this.state;
uint[] array37 = this.kw;
uint[] array38 = this.state;
uint[] array39 = this.kw;
uint[] array40 = this.state;
uint[] array41 = this.kw;
uint[] array42 = this.state;
num++;
uint num17 = this.state[1];
output[0] = (byte)num17;
num++;
uint num18 = this.state[0];
output[0] = (byte)num18;
num++;
uint num19 = this.state[0];
output[0] = (byte)num19;
num++;
throw new NullReferenceException();
}
// Token: 0x0600B725 RID: 46885 RVA: 0x00286BE0 File Offset: 0x00284DE0
[Token(Token = "0x600B725")]
[Address(RVA = "0x1A6E5D0", Offset = "0x1A6D3D0", VA = "0x181A6E5D0")]
public CamelliaLightEngine()
{
uint[] array = new uint[96];
this.subkey = array;
uint[] array2 = new uint[8];
this.kw = array2;
uint[] array3 = new uint[12];
this.ke = array3;
uint[] array4 = new uint[4];
this.state = array4;
this.Reset();
this.initialised = false;
}
// Token: 0x17001CBE RID: 7358
// (get) Token: 0x0600B726 RID: 46886 RVA: 0x00286C34 File Offset: 0x00284E34
[Token(Token = "0x17001CBE")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B726")]
[Address(RVA = "0x1A6ECF0", Offset = "0x1A6DAF0", VA = "0x181A6ECF0", Slot = "10")]
get
{
return "Camellia";
}
}
// Token: 0x17001CBF RID: 7359
// (get) Token: 0x0600B727 RID: 46887 RVA: 0x00286C48 File Offset: 0x00284E48
[Token(Token = "0x17001CBF")]
public virtual bool IsPartialBlockOkay
{
[Token(Token = "0x600B727")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "11")]
get
{
}
}
// Token: 0x0600B728 RID: 46888 RVA: 0x00286C58 File Offset: 0x00284E58
[Token(Token = "0x600B728")]
[Address(RVA = "0x4B6B10", Offset = "0x4B5910", VA = "0x1804B6B10", Slot = "12")]
public virtual int GetBlockSize()
{
return 16;
}
// Token: 0x0600B729 RID: 46889 RVA: 0x00286C68 File Offset: 0x00284E68
[Token(Token = "0x600B729")]
[Address(RVA = "0x1A6E2D0", Offset = "0x1A6D0D0", VA = "0x181A6E2D0", Slot = "13")]
public virtual void Init(bool forEncryption, ICipherParameters parameters)
{
/*
An exception occurred when decompiling this method (0600B729)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_26:
stloc:ArgumentException(var_4_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("only simple KeyParameter expected.")))
}
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 1660
*/;
}
// Token: 0x0600B72A RID: 46890 RVA: 0x00286CA8 File Offset: 0x00284EA8
[Token(Token = "0x600B72A")]
[Address(RVA = "0x1A6E430", Offset = "0x1A6D230", VA = "0x181A6E430", Slot = "14")]
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
{
/*
An exception occurred when decompiling this method (0600B72A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_24:
stloc:InvalidOperationException(var_3_2E, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Camellia engine not initialised")))
}
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 1660
*/;
}
// Token: 0x0600B72B RID: 46891 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600B72B")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "15")]
public virtual void Reset()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600B72C RID: 46892 RVA: 0x00286CE4 File Offset: 0x00284EE4
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B72C")]
[Address(RVA = "0x1A6E530", Offset = "0x1A6D330", VA = "0x181A6E530")]
static CamelliaLightEngine()
{
uint[] array = new uint[12];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.AE843E1C1136C908565A6D4E04E8564B69465B3B).FieldHandle);
CamelliaLightEngine.SIGMA = array;
byte[] array2 = new byte[256];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.81FDCC6319440C75C8E422A1FE4E3F1A80B89F5F).FieldHandle);
CamelliaLightEngine.SBOX1 = array2;
}
// Token: 0x0400741F RID: 29727
[Token(Token = "0x400741F")]
private const int BLOCK_SIZE = 16;
// Token: 0x04007420 RID: 29728
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007420")]
private bool initialised;
// Token: 0x04007421 RID: 29729
[FieldOffset(Offset = "0x11")]
[Token(Token = "0x4007421")]
private bool _keyis128;
// Token: 0x04007422 RID: 29730
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007422")]
private uint[] subkey;
// Token: 0x04007423 RID: 29731
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007423")]
private uint[] kw;
// Token: 0x04007424 RID: 29732
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007424")]
private uint[] ke;
// Token: 0x04007425 RID: 29733
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007425")]
private uint[] state;
// Token: 0x04007426 RID: 29734
[Token(Token = "0x4007426")]
private static readonly uint[] SIGMA;
// Token: 0x04007427 RID: 29735
[Token(Token = "0x4007427")]
private static readonly byte[] SBOX1;
}
}