485 lines
20 KiB
C#
485 lines
20 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.Decompression.Crc
|
|
{
|
|
// Token: 0x020019E0 RID: 6624
|
|
[Token(Token = "0x20019E0")]
|
|
[StructLayout(3)]
|
|
internal class CRC32
|
|
{
|
|
// Token: 0x17001CC1 RID: 7361
|
|
// (get) Token: 0x0600B212 RID: 45586 RVA: 0x0029D8B4 File Offset: 0x0029BAB4
|
|
[Token(Token = "0x17001CC1")]
|
|
public long TotalBytesRead
|
|
{
|
|
[Token(Token = "0x600B212")]
|
|
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
|
get
|
|
{
|
|
return this._TotalBytesRead;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001CC2 RID: 7362
|
|
// (get) Token: 0x0600B213 RID: 45587 RVA: 0x0029D8C8 File Offset: 0x0029BAC8
|
|
[Token(Token = "0x17001CC2")]
|
|
public int Crc32Result
|
|
{
|
|
[Token(Token = "0x600B213")]
|
|
[Address(RVA = "0xC7EDB0", Offset = "0xC7D7B0", VA = "0x180C7EDB0")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B213)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Crc.CRC32::get_Crc32Result()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:uint32(var_0_06, ldfld:uint32(CRC32::_register, ldloc:CRC32(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: 0x0600B214 RID: 45588 RVA: 0x0029D8DC File Offset: 0x0029BADC
|
|
[Token(Token = "0x600B214")]
|
|
[Address(RVA = "0x1F004E0", Offset = "0x1EFEEE0", VA = "0x181F004E0")]
|
|
public int GetCrc32(Stream input)
|
|
{
|
|
int num = 0;
|
|
return this.GetCrc32AndCopy(input, num);
|
|
}
|
|
|
|
// Token: 0x0600B215 RID: 45589 RVA: 0x0029D8F4 File Offset: 0x0029BAF4
|
|
[Token(Token = "0x600B215")]
|
|
[Address(RVA = "0x1F00250", Offset = "0x1EFEC50", VA = "0x181F00250")]
|
|
public int GetCrc32AndCopy(Stream input, Stream output)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B215)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Crc.CRC32::GetCrc32AndCopy(System.IO.Stream,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_80:
|
|
stloc:Exception(var_10_8A, newobj:Exception(Exception::.ctor, ldstr:string("The input stream must not be null.")))
|
|
}
|
|
|
|
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: 0x0600B216 RID: 45590 RVA: 0x0029D98C File Offset: 0x0029BB8C
|
|
[Token(Token = "0x600B216")]
|
|
[Address(RVA = "0xC7E5D0", Offset = "0xC7CFD0", VA = "0x180C7E5D0")]
|
|
public int ComputeCrc32(int W, byte B)
|
|
{
|
|
uint num = this.crc32Table[W];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B217 RID: 45591 RVA: 0x0029D9AC File Offset: 0x0029BBAC
|
|
[Token(Token = "0x600B217")]
|
|
[Address(RVA = "0xC7E5D0", Offset = "0xC7CFD0", VA = "0x180C7E5D0")]
|
|
internal int _InternalComputeCrc32(uint W, byte B)
|
|
{
|
|
uint num = this.crc32Table[(int)W];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B218 RID: 45592 RVA: 0x0029D9CC File Offset: 0x0029BBCC
|
|
[Token(Token = "0x600B218")]
|
|
[Address(RVA = "0x1F00500", Offset = "0x1EFEF00", VA = "0x181F00500")]
|
|
public void SlurpBlock(byte[] block, int offset, int count)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B218)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Crc.CRC32::SlurpBlock(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_36:
|
|
stloc:Exception(var_4_40, newobj:Exception(Exception::.ctor, ldstr:string("The data buffer must not be null.")))
|
|
}
|
|
|
|
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: 0x0600B219 RID: 45593 RVA: 0x0029DA1C File Offset: 0x0029BC1C
|
|
[Token(Token = "0x600B219")]
|
|
[Address(RVA = "0x1F00730", Offset = "0x1EFF130", VA = "0x181F00730")]
|
|
public void UpdateCRC(byte b)
|
|
{
|
|
uint register = this._register;
|
|
uint[] array = this.crc32Table;
|
|
if (!this.reverseBits)
|
|
{
|
|
uint num = array[(int)register];
|
|
this._register = num;
|
|
return;
|
|
}
|
|
uint num2 = array[(int)register];
|
|
this._register = num2;
|
|
}
|
|
|
|
// Token: 0x0600B21A RID: 45594 RVA: 0x0029DA68 File Offset: 0x0029BC68
|
|
[Token(Token = "0x600B21A")]
|
|
[Address(RVA = "0x1F00660", Offset = "0x1EFF060", VA = "0x181F00660")]
|
|
public void UpdateCRC(byte b, int n)
|
|
{
|
|
if (n > 0)
|
|
{
|
|
int num = n - 1;
|
|
uint[] array = this.crc32Table;
|
|
if (!this.reverseBits)
|
|
{
|
|
}
|
|
uint register = this._register;
|
|
uint num2 = array[(int)register];
|
|
this._register = num2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B21B RID: 45595 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600B21B")]
|
|
[Address(RVA = "0xC7EA20", Offset = "0xC7D420", VA = "0x180C7EA20")]
|
|
private static uint ReverseBits(uint data)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600B21C RID: 45596 RVA: 0x0029DAAC File Offset: 0x0029BCAC
|
|
[Token(Token = "0x600B21C")]
|
|
[Address(RVA = "0xC7EA80", Offset = "0xC7D480", VA = "0x180C7EA80")]
|
|
private static byte ReverseBits(byte data)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B21C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.Decompression.Crc.CRC32::ReverseBits(System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:int64(var_0_0F, mul:uint32[exp:int64](mul:uint32(ldloc:uint8[exp:uint32](data), conv.u4:uint32(ldc.i4:int32[exp:uint32](131586))), conv.u4:uint32(ldc.i4:int32[exp:uint32](16781313))))
|
|
}
|
|
|
|
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: 0x0600B21D RID: 45597 RVA: 0x0029DAC8 File Offset: 0x0029BCC8
|
|
[Token(Token = "0x600B21D")]
|
|
[Address(RVA = "0x1F00100", Offset = "0x1EFEB00", VA = "0x181F00100")]
|
|
private void GenerateLookupTable()
|
|
{
|
|
uint[] array = new uint[256];
|
|
this.crc32Table = array;
|
|
int num = 0;
|
|
if (num == 1)
|
|
{
|
|
}
|
|
uint num2 = this.dwPolynomial;
|
|
while (num != 1)
|
|
{
|
|
}
|
|
uint[] array2 = this.crc32Table;
|
|
ulong num3;
|
|
if ((this.reverseBits ? 1UL : 0UL) == num3)
|
|
{
|
|
array2[0] = num2;
|
|
}
|
|
long num4 = (long)(num * (int)((uint)131586));
|
|
num2 += num2;
|
|
long num5 = num4 * (long)((uint)16781313);
|
|
array2[0] = (uint)num;
|
|
num++;
|
|
while (num5 != (long)array2.Length)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B21E RID: 45598 RVA: 0x0029DB50 File Offset: 0x0029BD50
|
|
[Token(Token = "0x600B21E")]
|
|
[Address(RVA = "0xC7EE80", Offset = "0xC7D880", VA = "0x180C7EE80")]
|
|
private uint gf2_matrix_times(uint[] matrix, uint vec)
|
|
{
|
|
int num = 0;
|
|
if (vec != (uint)0)
|
|
{
|
|
if (vec != (uint)1)
|
|
{
|
|
}
|
|
num++;
|
|
while (vec >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B21F RID: 45599 RVA: 0x0029DB78 File Offset: 0x0029BD78
|
|
[Token(Token = "0x600B21F")]
|
|
[Address(RVA = "0xC7EDC0", Offset = "0xC7D7C0", VA = "0x180C7EDC0")]
|
|
private void gf2_matrix_square(uint[] square, uint[] mat)
|
|
{
|
|
int num = 0;
|
|
int length = mat.Length;
|
|
int num2 = 0;
|
|
uint num3;
|
|
if (num3 != (uint)0)
|
|
{
|
|
if (num3 != (uint)1)
|
|
{
|
|
}
|
|
num2++;
|
|
while (num3 >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600B220 RID: 45600 RVA: 0x0029DBB0 File Offset: 0x0029BDB0
|
|
[Token(Token = "0x600B220")]
|
|
[Address(RVA = "0x1EFFCE0", Offset = "0x1EFE6E0", VA = "0x181EFFCE0")]
|
|
public void Combine(int crc, int length)
|
|
{
|
|
uint[] array = new uint[32];
|
|
uint[] array2 = new uint[32];
|
|
if (length != 0)
|
|
{
|
|
uint register = this._register;
|
|
uint num = this.dwPolynomial;
|
|
array2[0] = num;
|
|
uint num2;
|
|
num2 += (uint)1;
|
|
array2[0] = num2;
|
|
num2 += num2;
|
|
int num3 = 0;
|
|
int length2 = array2.Length;
|
|
int num4 = 0;
|
|
uint num5;
|
|
if (num5 != (uint)0)
|
|
{
|
|
if (num5 != (uint)1)
|
|
{
|
|
}
|
|
num4++;
|
|
while (num5 >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
num3++;
|
|
int num6 = 0;
|
|
int length3 = array.Length;
|
|
int num7 = 0;
|
|
uint num8;
|
|
if (num8 != (uint)0)
|
|
{
|
|
if (num8 != (uint)1)
|
|
{
|
|
}
|
|
num7++;
|
|
while (num8 >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
num6++;
|
|
int num9 = 0;
|
|
int length4 = array2.Length;
|
|
int num10 = 0;
|
|
uint num11;
|
|
if (num11 != (uint)0)
|
|
{
|
|
if (num11 != (uint)1)
|
|
{
|
|
}
|
|
num10++;
|
|
while (num11 >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
num9++;
|
|
int i;
|
|
if (length != 1)
|
|
{
|
|
i = 0;
|
|
int num12 = 0;
|
|
if (register != (uint)0)
|
|
{
|
|
if (register != (uint)1)
|
|
{
|
|
}
|
|
num12++;
|
|
while (register >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
int num16;
|
|
if (register != (uint)2)
|
|
{
|
|
int num13 = 0;
|
|
int length5 = array.Length;
|
|
int num14 = 0;
|
|
uint num15;
|
|
if (num15 != (uint)0)
|
|
{
|
|
num11 = num15;
|
|
if (num15 != (uint)1)
|
|
{
|
|
}
|
|
num14++;
|
|
while (num11 >= (uint)2)
|
|
{
|
|
}
|
|
}
|
|
num13++;
|
|
if (length != 1)
|
|
{
|
|
num16 = 0;
|
|
int num17 = 0;
|
|
if (i != 0)
|
|
{
|
|
if (i != 1)
|
|
{
|
|
}
|
|
num17++;
|
|
while (i >= 2)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
while (i != 2)
|
|
{
|
|
}
|
|
}
|
|
this._register = (uint)num16;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B221 RID: 45601 RVA: 0x0029DD14 File Offset: 0x0029BF14
|
|
[Token(Token = "0x600B221")]
|
|
[Address(RVA = "0x1F00940", Offset = "0x1EFF340", VA = "0x181F00940")]
|
|
public CRC32()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600B222 RID: 45602 RVA: 0x0029DD24 File Offset: 0x0029BF24
|
|
[Token(Token = "0x600B222")]
|
|
[Address(RVA = "0x1F00950", Offset = "0x1EFF350", VA = "0x181F00950")]
|
|
public CRC32(bool reverseBits)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600B223 RID: 45603 RVA: 0x0029DD34 File Offset: 0x0029BF34
|
|
[Token(Token = "0x600B223")]
|
|
[Address(RVA = "0x1F007D0", Offset = "0x1EFF1D0", VA = "0x181F007D0")]
|
|
public CRC32(int polynomial, bool reverseBits)
|
|
{
|
|
this._register = (uint)((ulong)4294967295L);
|
|
base..ctor();
|
|
this.reverseBits = reverseBits;
|
|
this.dwPolynomial = (uint)polynomial;
|
|
uint[] array = new uint[256];
|
|
this.crc32Table = array;
|
|
int num = 0;
|
|
if (num != 1)
|
|
{
|
|
}
|
|
while (num != 1)
|
|
{
|
|
}
|
|
uint[] array2 = this.crc32Table;
|
|
ulong num2;
|
|
if ((this.reverseBits ? 1UL : 0UL) == num2)
|
|
{
|
|
array2[0] = (uint)num;
|
|
}
|
|
long num3 = (long)(num * (int)((uint)131586));
|
|
num += num;
|
|
long num4 = num3 * (long)((uint)16781313);
|
|
array2[0] = (uint)num;
|
|
num++;
|
|
while (num4 != (long)array2.Length)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B224 RID: 45604 RVA: 0x0029DDD4 File Offset: 0x0029BFD4
|
|
[Token(Token = "0x600B224")]
|
|
[Address(RVA = "0x1F004F0", Offset = "0x1EFEEF0", VA = "0x181F004F0")]
|
|
public void Reset()
|
|
{
|
|
this._register = (uint)((ulong)4294967295L);
|
|
}
|
|
|
|
// Token: 0x04007591 RID: 30097
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4007591")]
|
|
private uint dwPolynomial;
|
|
|
|
// Token: 0x04007592 RID: 30098
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4007592")]
|
|
private long _TotalBytesRead;
|
|
|
|
// Token: 0x04007593 RID: 30099
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4007593")]
|
|
private bool reverseBits;
|
|
|
|
// Token: 0x04007594 RID: 30100
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4007594")]
|
|
private uint[] crc32Table;
|
|
|
|
// Token: 0x04007595 RID: 30101
|
|
[Token(Token = "0x4007595")]
|
|
private const int BUFFER_SIZE = 8192;
|
|
|
|
// Token: 0x04007596 RID: 30102
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007596")]
|
|
private uint _register;
|
|
}
|
|
}
|