terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
BZip2Compressor.cs
Go to the documentation of this file.
1using System;
3using Ionic.Crc;
4
5namespace Ionic.BZip2
6{
7 // Token: 0x02000035 RID: 53
8 internal class BZip2Compressor
9 {
10 // Token: 0x060002A9 RID: 681 RVA: 0x000094B8 File Offset: 0x000076B8
12 {
13 if (!true)
14 {
15 }
16 }
17
18 // Token: 0x060002AA RID: 682 RVA: 0x000094C8 File Offset: 0x000076C8
20 {
21 int num = 1;
22 base..ctor();
24 this.bw = writer;
25 if (num == 0)
26 {
27 }
28 this.crc.Reset();
29 bool[] inUse = this.cstate.inUse;
30 }
31
32 // Token: 0x060002AB RID: 683 RVA: 0x00009508 File Offset: 0x00007708
33 private void Reset()
34 {
35 this.crc.Reset();
36 bool[] inUse = this.cstate.inUse;
37 }
38
39 // Token: 0x170000BB RID: 187
40 // (get) Token: 0x060002AC RID: 684 RVA: 0x0000952C File Offset: 0x0000772C
41 public int BlockSize
42 {
43 get
44 {
45 return this.blockSize100k;
46 }
47 }
48
49 // Token: 0x170000BC RID: 188
50 // (get) Token: 0x060002AD RID: 685 RVA: 0x00009540 File Offset: 0x00007740
51 // (set) Token: 0x060002AE RID: 686 RVA: 0x00009554 File Offset: 0x00007754
52 public uint Crc32
53 {
54 get
55 {
56 return this.<Crc32>k__BackingField;
57 }
58 private set
59 {
61 }
62 }
63
64 // Token: 0x170000BD RID: 189
65 // (get) Token: 0x060002AF RID: 687 RVA: 0x00009568 File Offset: 0x00007768
66 // (set) Token: 0x060002B0 RID: 688 RVA: 0x0000957C File Offset: 0x0000777C
68 {
69 get
70 {
72 }
73 private set
74 {
76 }
77 }
78
79 // Token: 0x170000BE RID: 190
80 // (get) Token: 0x060002B1 RID: 689 RVA: 0x00009590 File Offset: 0x00007790
82 {
83 get
84 {
85 /*
86An exception occurred when decompiling this method (060002B1)
87
88ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.BZip2.BZip2Compressor::get_UncompressedBytes()
89
90 ---> System.Exception: Basic block has to end with unconditional control flow.
91{
92 Block_0:
93 stloc:int32(var_0_06, ldfld:int32(BZip2Compressor::last, ldloc:BZip2Compressor(this)))
94}
95
96 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
97 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
98 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
99 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
100 --- End of inner exception stack trace ---
101 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
102 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 1683
103*/;
104 }
105 }
106
107 // Token: 0x060002B2 RID: 690 RVA: 0x000095A4 File Offset: 0x000077A4
108 public int Fill(byte[] buffer, int offset, int count)
109 {
110 int num = this.last;
111 return this.write0(buffer);
112 }
113
114 // Token: 0x060002B3 RID: 691 RVA: 0x000095C4 File Offset: 0x000077C4
115 private int write0(byte b)
116 {
117 int num = this.currentByte;
118 int num2 = this.runLength;
120 long num3 = 0L;
121 bool flag = this.AddRunToOutputBlock(num3 != 0L);
122 int num4 = this.runLength;
123 this.last = num4;
124 long num5 = 0L;
125 bool flag2 = this.AddRunToOutputBlock(num5 != 0L);
126 int num6 = 1;
127 this.last = num6;
128 return num6;
129 }
130
131 // Token: 0x060002B4 RID: 692 RVA: 0x0000961C File Offset: 0x0000781C
132 private bool AddRunToOutputBlock(bool final)
133 {
134 /*
135An exception occurred when decompiling this method (060002B4)
136
137ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Ionic.BZip2.BZip2Compressor::AddRunToOutputBlock(System.Boolean)
138
139 ---> System.Exception: Basic block has to end with unconditional control flow.
140{
141 Block_0:
142 stloc:int32(var_0_06, ldfld:int32(BZip2Compressor::runs, ldloc:BZip2Compressor(this)))
143 stloc:int32(var_1_0D, ldfld:int32(BZip2Compressor::last, ldloc:BZip2Compressor(this)))
144 stfld:int32(BZip2Compressor::runs, ldloc:BZip2Compressor(this), ldloc:int32(var_0_06))
145 stloc:CompressionState(var_2_1B, ldfld:CompressionState(BZip2Compressor::cstate, ldloc:BZip2Compressor(this)))
146 stloc:int32(var_3_22, ldfld:int32(BZip2Compressor::currentByte, ldloc:BZip2Compressor(this)))
147 stloc:int32(var_4_24, ldc.i4:int32(1))
148 stloc:bool[](var_5_2C, ldfld:bool[](CompressionState::inUse, ldloc:CompressionState(var_2_1B)))
149 stloc:uint8[](var_6_34, ldfld:uint8[](CompressionState::block, ldloc:CompressionState(var_2_1B)))
150 stfld:int32[](CompressionState::mtfFreq, ldloc:CompressionState(var_2_1B), ldloc:int32[exp:int32[]](var_4_24))
151 stloc:int32(var_7_44, ldfld:int32(BZip2Compressor::runLength, ldloc:BZip2Compressor(this)))
152 call:void(CRC32::UpdateCRC, ldfld:CRC32(BZip2Compressor::crc, ldloc:BZip2Compressor(this)), ldloc:int32[exp:uint8](var_3_22), ldloc:int32(var_7_44))
153 stfld:int32[](CompressionState::mtfFreq, ldloc:CompressionState(var_2_1B), ldloc:int32[exp:int32[]](var_3_22))
154 stfld:bool(bool::m_value, ldloc:bool[][exp:bool&](var_5_2C), ldloc:int32[exp:bool](var_3_22))
155 stfld:bool(bool::m_value, ldloc:bool[][exp:bool&](var_5_2C), ldloc:int32[exp:bool](var_3_22))
156 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_4_24), ldloc:int32(var_3_22))
157 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_4_24), ldloc:int32(var_3_22))
158 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_4_24), ldloc:int32(var_3_22))
159 stloc:CompressionState(var_8_89, ldfld:CompressionState(BZip2Compressor::cstate, ldloc:BZip2Compressor(this)))
160 stloc:int32(var_9_8C, ldc.i4:int32(1))
161 stloc:bool[](var_10_95, ldfld:bool[](CompressionState::inUse, ldloc:CompressionState(var_8_89)))
162 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_8C), ldloc:int32(var_3_22))
163 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_8C), ldloc:int32(var_3_22))
164 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_8C), ldloc:int32(var_3_22))
165 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_8C), ldloc:int32(var_3_22))
166 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_8C), ldloc:bool[][exp:int32](var_5_2C))
167 stloc:int32(var_11_C6, ldfld:int32(BZip2Compressor::outBlockFillThreshold, ldloc:BZip2Compressor(this)))
168 stfld:int32(BZip2Compressor::last, ldloc:BZip2Compressor(this), ldloc:bool[][exp:int32](var_10_95))
169 stloc:int32(var_12_D6, ldfld:int32(BZip2Compressor::outBlockFillThreshold, ldloc:BZip2Compressor(this)))
170}
171
172 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
173 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
174 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
175 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
176 --- End of inner exception stack trace ---
177 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
178 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 1683
179*/;
180 }
181
182 // Token: 0x060002B5 RID: 693 RVA: 0x00009700 File Offset: 0x00007900
183 public void CompressAndWrite()
184 {
185 int num = this.runLength;
186 int num2 = 1;
187 bool flag = this.AddRunToOutputBlock(num2 != 0);
188 int num3 = this.last;
189 this.blockSort();
190 BitWriter bitWriter = this.bw;
191 int num4 = 8;
192 int num5 = 49;
193 bitWriter.WriteBits(num4, (uint)num5);
194 BitWriter bitWriter2 = this.bw;
195 int num6 = 8;
196 int num7 = 65;
197 bitWriter2.WriteBits(num6, (uint)num7);
198 BitWriter bitWriter3 = this.bw;
199 int num8 = 8;
200 int num9 = 89;
201 bitWriter3.WriteBits(num8, (uint)num9);
202 BitWriter bitWriter4 = this.bw;
203 int num10 = 8;
204 int num11 = 38;
205 bitWriter4.WriteBits(num10, (uint)num11);
206 BitWriter bitWriter5 = this.bw;
207 int num12 = 8;
208 int num13 = 83;
209 bitWriter5.WriteBits(num12, (uint)num13);
210 BitWriter bitWriter6 = this.bw;
211 int num14 = 8;
212 int num15 = 89;
213 bitWriter6.WriteBits(num14, (uint)num15);
214 int crc32Result = this.crc.Crc32Result;
215 BitWriter bitWriter7 = this.bw;
216 this.<Crc32>k__BackingField = (uint)crc32Result;
217 bitWriter7.WriteInt((uint)crc32Result);
218 BitWriter bitWriter8 = this.bw;
219 bool flag2 = this.blockRandomised;
220 int num16 = 1;
221 bitWriter8.WriteBits(num16, flag2 ? 1U : 0U);
223 this.crc.Reset();
224 bool[] inUse = this.cstate.inUse;
225 }
226
227 // Token: 0x060002B6 RID: 694 RVA: 0x0000982C File Offset: 0x00007A2C
228 private void randomiseBlock()
229 {
231 int num = this.last;
232 bool[] inUse = compressionState.inUse;
233 byte[] block = compressionState.block;
234 long num2 = 0L;
235 long num3 = 0L;
236 if (num2 == 0L)
237 {
238 if (num2 == 0L)
239 {
240 }
241 int num4 = Rand.Rnums((int)num3);
242 }
243 int num5 = 1;
245 }
246
247 // Token: 0x060002B7 RID: 695 RVA: 0x0000987C File Offset: 0x00007A7C
248 private void mainSort()
249 {
251 int num = this.last;
252 char[] quadrant = compressionState.quadrant;
253 int[] mainSort_runningOrder = compressionState.mainSort_runningOrder;
254 int[] mainSort_copy = compressionState.mainSort_copy;
255 int[] ftab = compressionState.ftab;
256 byte[] block = compressionState.block;
257 bool[] mainSort_bigDone = compressionState.mainSort_bigDone;
258 int num2 = this.workLimit;
259 int[] fmap = compressionState.fmap;
260 bool flag = this.firstAttempt;
261 }
262
263 // Token: 0x060002B8 RID: 696 RVA: 0x00009944 File Offset: 0x00007B44
264 private void blockSort()
265 {
266 int num = 1;
267 if (num == 0)
268 {
269 }
270 int num2 = this.last;
271 int num3 = 1;
272 this.workLimit = num;
273 this.firstAttempt = num3 != 0;
274 this.mainSort();
275 if (this.firstAttempt)
276 {
277 int num4 = this.workDone;
278 bool flag = this.firstAttempt;
279 this.randomiseBlock();
280 this.mainSort();
281 }
283 int num5 = this.last;
284 int[] fmap = compressionState.fmap;
286 }
287
288 // Token: 0x060002B9 RID: 697 RVA: 0x000099C4 File Offset: 0x00007BC4
289 private bool mainSimpleSort(BZip2Compressor.CompressionState dataShadow, int lo, int hi, int d)
290 {
291 for (;;)
292 {
293 if (!true)
294 {
295 }
296 bool flag = this.firstAttempt;
297 int num = this.workDone;
298 bool flag2 = this.firstAttempt;
299 int num2 = this.last;
300 byte[] block = dataShadow.block;
301 char[] quadrant = dataShadow.quadrant;
302 if (!flag2)
303 {
304 }
305 if (true)
306 {
307 return;
308 }
309 }
310 }
311
312 // Token: 0x060002BA RID: 698 RVA: 0x00009A14 File Offset: 0x00007C14
313 private static void vswap(int[] fmap, int p1, int p2, int n)
314 {
315 }
316
317 // Token: 0x060002BB RID: 699 RVA: 0x00009A24 File Offset: 0x00007C24
318 private static byte med3(byte a, byte b, byte c)
319 {
320 return a;
321 }
322
323 // Token: 0x060002BC RID: 700 RVA: 0x00009A34 File Offset: 0x00007C34
325 {
326 long num = 0L;
327 int num2 = 1;
328 if (num == 0L)
329 {
330 }
331 if (num2 == 0)
332 {
333 }
334 if (num2 == 0)
335 {
336 }
337 }
338
339 // Token: 0x060002BD RID: 701 RVA: 0x00009A58 File Offset: 0x00007C58
340 private void generateMTFValues()
341 {
343 int num = this.last;
344 long num2 = 0L;
345 bool[] inUse = compressionState.inUse;
346 byte[] unseqToSeq = compressionState.unseqToSeq;
347 byte[] block = compressionState.block;
348 int[] fmap = compressionState.fmap;
349 char[] sfmap = compressionState.sfmap;
350 int[] mtfFreq = compressionState.mtfFreq;
351 byte[] generateMTFValues_yy = compressionState.generateMTFValues_yy;
352 this.nInUse = (int)num2;
353 int[] mtfFreq2 = compressionState.mtfFreq;
354 }
355
356 // Token: 0x060002BE RID: 702 RVA: 0x00009ACC File Offset: 0x00007CCC
357 private static void hbAssignCodes(int[] code, byte[] length, int minLen, int maxLen, int alphaSize)
358 {
359 }
360
361 // Token: 0x060002BF RID: 703 RVA: 0x00009ADC File Offset: 0x00007CDC
362 private void sendMTFValues()
363 {
365 int num = this.nInUse;
366 byte[][] sendMTFValues_len = compressionState.sendMTFValues_len;
367 if (compressionState == null)
368 {
369 }
370 if (compressionState.unseqToSeq == null)
371 {
372 }
373 int num2 = this.nMTF;
374 }
375
376 // Token: 0x060002C0 RID: 704 RVA: 0x00009B70 File Offset: 0x00007D70
377 private void sendMTFValues0(int nGroups, int alphaSize)
378 {
380 int num = this.nMTF;
381 byte[][] sendMTFValues_len = compressionState.sendMTFValues_len;
382 int[] mtfFreq = compressionState.mtfFreq;
383 long num2 = 0L;
384 int[] mtfFreq2 = compressionState.mtfFreq;
385 if (num2 == 0L)
386 {
387 }
388 }
389
390 // Token: 0x060002C1 RID: 705 RVA: 0x00009BB0 File Offset: 0x00007DB0
391 private static void hbMakeCodeLengths(byte[] len, int[] freq, BZip2Compressor.CompressionState state1, int alphaSize, int maxLen)
392 {
393 int[] heap = state1.heap;
394 int[] weight = state1.weight;
395 int[] parent = state1.parent;
396 }
397
398 // Token: 0x060002C2 RID: 706 RVA: 0x00009BF0 File Offset: 0x00007DF0
399 private int sendMTFValues1(int nGroups, int alphaSize)
400 {
401 /*
402An exception occurred when decompiling this method (060002C2)
403
404ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.BZip2.BZip2Compressor::sendMTFValues1(System.Int32,System.Int32)
405
406 ---> System.Exception: Basic block has to end with unconditional control flow.
407{
408 IL_0055:
409 stloc:int32(var_12_5D, call:int32(Math::Min, ldc.i4:int32(0), ldloc:int64[exp:int32](var_9_44)))
410 stloc:int32(var_15_6F, ldfld:int32(BZip2Compressor::nMTF, ldloc:BZip2Compressor(this)))
411 stloc:CompressionState(var_16_77, ldfld:CompressionState(BZip2Compressor::cstate, ldloc:BZip2Compressor(this)))
412}
413
414 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
415 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
416 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
417 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
418 --- End of inner exception stack trace ---
419 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
420 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 1683
421*/;
422 }
423
424 // Token: 0x060002C3 RID: 707 RVA: 0x00009C78 File Offset: 0x00007E78
425 private void sendMTFValues2(int nGroups, int nSelectors)
426 {
428 byte[] sendMTFValues2_pos = compressionState.sendMTFValues2_pos;
429 byte[] selector = compressionState.selector;
430 }
431
432 // Token: 0x060002C4 RID: 708 RVA: 0x00009CA8 File Offset: 0x00007EA8
433 private void sendMTFValues3(int nGroups, int alphaSize)
434 {
436 int[][] sendMTFValues_code = compressionState.sendMTFValues_code;
437 byte[][] sendMTFValues_len = compressionState.sendMTFValues_len;
438 int[] mtfFreq = compressionState.mtfFreq;
439 }
440
441 // Token: 0x060002C5 RID: 709 RVA: 0x00009CF8 File Offset: 0x00007EF8
442 private void sendMTFValues4()
443 {
445 bool[] inUse = compressionState.inUse;
446 bool[] sentMTFValues4_inUse = compressionState.sentMTFValues4_inUse16;
447 long num = 0L;
448 BitWriter bitWriter = this.bw;
449 int num2 = 16;
450 bitWriter.WriteBits(num2, (uint)num);
451 if (compressionState.mtfFreq != null)
452 {
453 long num3 = 0L;
454 BitWriter bitWriter2 = this.bw;
455 int num4 = 16;
456 bitWriter2.WriteBits(num4, (uint)num3);
457 }
458 }
459
460 // Token: 0x060002C6 RID: 710 RVA: 0x00009D5C File Offset: 0x00007F5C
461 private void sendMTFValues5(int nGroups, int nSelectors)
462 {
463 BitWriter bitWriter = this.bw;
464 int num = 3;
465 bitWriter.WriteBits(num, (uint)nGroups);
466 BitWriter bitWriter2 = this.bw;
467 int num2 = 15;
468 bitWriter2.WriteBits(num2, (uint)nSelectors);
470 byte[] selectorMtf = compressionState.selectorMtf;
471 int[] mtfFreq = compressionState.mtfFreq;
472 BitWriter bitWriter3 = this.bw;
474 if (mtfFreq != null)
475 {
476 int num3 = 1;
477 int num4 = 1;
479 bitWriter4 = this.bw;
480 }
481 int num5 = 1;
482 long num6 = 0L;
483 bitWriter4.WriteBits(num5, (uint)num6);
484 }
485
486 // Token: 0x060002C7 RID: 711 RVA: 0x00009DE0 File Offset: 0x00007FE0
487 private void sendMTFValues6(int nGroups, int alphaSize)
488 {
490 byte[][] sendMTFValues_len = compressionState.sendMTFValues_len;
491 int[] mtfFreq = compressionState.mtfFreq;
492 BitWriter bitWriter = this.bw;
493 int num = 5;
494 bitWriter.WriteBits(num, (uint)alphaSize);
495 int[] mtfFreq2 = compressionState.mtfFreq;
496 BitWriter bitWriter2 = this.bw;
497 int num2 = 2;
498 int num3 = 2;
499 bitWriter2.WriteBits(num2, (uint)num3);
500 BitWriter bitWriter3 = this.bw;
501 int num4 = 2;
502 int num5 = 3;
503 bitWriter3.WriteBits(num4, (uint)num5);
504 BitWriter bitWriter4 = this.bw;
505 int num6 = 1;
506 long num7 = 0L;
507 bitWriter4.WriteBits(num6, (uint)num7);
508 }
509
510 // Token: 0x060002C8 RID: 712 RVA: 0x00009E70 File Offset: 0x00008070
511 private void sendMTFValues7(int nSelectors)
512 {
513 int num = this.nMTF;
515 byte[][] sendMTFValues_len = compressionState.sendMTFValues_len;
516 byte[] selector = compressionState.selector;
517 char[] sfmap = compressionState.sfmap;
518 int[][] sendMTFValues_code = compressionState.sendMTFValues_code;
519 if (compressionState == null)
520 {
521 }
522 long num2 = 0L;
523 int num3 = Math.Min(0, 43151360);
524 this.bw.WriteBits(43151360, (uint)num2);
525 }
526
527 // Token: 0x060002C9 RID: 713 RVA: 0x00009ED4 File Offset: 0x000080D4
529 {
530 BitWriter bitWriter = this.bw;
531 int num = this.origPtr;
532 bitWriter.WriteBits(24, (uint)num);
533 this.generateMTFValues();
534 this.sendMTFValues();
535 }
536
537 // Token: 0x060002CA RID: 714 RVA: 0x00009F04 File Offset: 0x00008104
538 // Note: this type is marked as 'beforefieldinit'.
540 {
541 }
542
543 // Token: 0x0400014F RID: 335
544 private int blockSize100k;
545
546 // Token: 0x04000150 RID: 336
547 private int currentByte;
548
549 // Token: 0x04000151 RID: 337
550 private int runLength;
551
552 // Token: 0x04000152 RID: 338
553 private int last;
554
555 // Token: 0x04000153 RID: 339
557
558 // Token: 0x04000154 RID: 340
560
561 // Token: 0x04000155 RID: 341
563
564 // Token: 0x04000156 RID: 342
565 private BitWriter bw;
566
567 // Token: 0x04000157 RID: 343
568 private int runs;
569
570 // Token: 0x04000158 RID: 344
571 private int workDone;
572
573 // Token: 0x04000159 RID: 345
574 private int workLimit;
575
576 // Token: 0x0400015A RID: 346
577 private bool firstAttempt;
578
579 // Token: 0x0400015B RID: 347
580 private bool blockRandomised;
581
582 // Token: 0x0400015C RID: 348
583 private int origPtr;
584
585 // Token: 0x0400015D RID: 349
586 private int nInUse;
587
588 // Token: 0x0400015E RID: 350
589 private int nMTF;
590
591 // Token: 0x0400015F RID: 351
592 private static readonly int SETMASK;
593
594 // Token: 0x04000160 RID: 352
595 private static readonly int CLEARMASK;
596
597 // Token: 0x04000161 RID: 353
598 private static readonly byte GREATER_ICOST;
599
600 // Token: 0x04000162 RID: 354
601 private static readonly byte LESSER_ICOST;
602
603 // Token: 0x04000163 RID: 355
604 private static readonly int SMALL_THRESH;
605
606 // Token: 0x04000164 RID: 356
607 private static readonly int DEPTH_THRESH;
608
609 // Token: 0x04000165 RID: 357
610 private static readonly int WORK_FACTOR;
611
612 // Token: 0x04000166 RID: 358
613 private static readonly int[] increments;
614
615 // Token: 0x04000167 RID: 359
616 private uint <Crc32>k__BackingField;
617
618 // Token: 0x04000168 RID: 360
619 private int <AvailableBytesOut>k__BackingField;
620
621 // Token: 0x02000036 RID: 54
622 private class CompressionState
623 {
624 // Token: 0x060002CB RID: 715 RVA: 0x00002122 File Offset: 0x00000322
626 {
627 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
628 }
629
630 // Token: 0x04000169 RID: 361
631 public readonly bool[] inUse;
632
633 // Token: 0x0400016A RID: 362
634 public readonly byte[] unseqToSeq;
635
636 // Token: 0x0400016B RID: 363
637 public readonly int[] mtfFreq;
638
639 // Token: 0x0400016C RID: 364
640 public readonly byte[] selector;
641
642 // Token: 0x0400016D RID: 365
643 public readonly byte[] selectorMtf;
644
645 // Token: 0x0400016E RID: 366
647
648 // Token: 0x0400016F RID: 367
649 public byte[][] sendMTFValues_len;
650
651 // Token: 0x04000170 RID: 368
652 public int[][] sendMTFValues_rfreq;
653
654 // Token: 0x04000171 RID: 369
656
657 // Token: 0x04000172 RID: 370
659
660 // Token: 0x04000173 RID: 371
661 public int[][] sendMTFValues_code;
662
663 // Token: 0x04000174 RID: 372
665
666 // Token: 0x04000175 RID: 373
668
669 // Token: 0x04000176 RID: 374
670 public readonly int[] stack_ll;
671
672 // Token: 0x04000177 RID: 375
673 public readonly int[] stack_hh;
674
675 // Token: 0x04000178 RID: 376
676 public readonly int[] stack_dd;
677
678 // Token: 0x04000179 RID: 377
680
681 // Token: 0x0400017A RID: 378
683
684 // Token: 0x0400017B RID: 379
686
687 // Token: 0x0400017C RID: 380
688 public int[] heap;
689
690 // Token: 0x0400017D RID: 381
691 public int[] weight;
692
693 // Token: 0x0400017E RID: 382
694 public int[] parent;
695
696 // Token: 0x0400017F RID: 383
697 public readonly int[] ftab;
698
699 // Token: 0x04000180 RID: 384
700 public byte[] block;
701
702 // Token: 0x04000181 RID: 385
703 public int[] fmap;
704
705 // Token: 0x04000182 RID: 386
706 public char[] sfmap;
707
708 // Token: 0x04000183 RID: 387
709 public char[] quadrant;
710 }
711 }
712}
class f__AnonymousType0<< Count > j__TPar
BZip2Compressor(BitWriter writer, int blockSize)
void mainQSort3(BZip2Compressor.CompressionState dataShadow, int loSt, int hiSt, int dSt)
static readonly int CLEARMASK
BZip2Compressor(BitWriter writer)
void sendMTFValues5(int nGroups, int nSelectors)
static readonly int[] increments
void sendMTFValues2(int nGroups, int nSelectors)
BZip2Compressor.CompressionState cstate
int< AvailableBytesOut > k__BackingField
bool AddRunToOutputBlock(bool final)
static readonly int SMALL_THRESH
void sendMTFValues3(int nGroups, int alphaSize)
static void hbMakeCodeLengths(byte[] len, int[] freq, BZip2Compressor.CompressionState state1, int alphaSize, int maxLen)
void sendMTFValues7(int nSelectors)
static readonly byte LESSER_ICOST
void sendMTFValues6(int nGroups, int alphaSize)
int sendMTFValues1(int nGroups, int alphaSize)
static readonly int SETMASK
static readonly byte GREATER_ICOST
static void vswap(int[] fmap, int p1, int p2, int n)
static readonly int DEPTH_THRESH
static readonly int WORK_FACTOR
bool mainSimpleSort(BZip2Compressor.CompressionState dataShadow, int lo, int hi, int d)
int Fill(byte[] buffer, int offset, int count)
void sendMTFValues0(int nGroups, int alphaSize)
static void hbAssignCodes(int[] code, byte[] length, int minLen, int maxLen, int alphaSize)
static byte med3(byte a, byte b, byte c)
void WriteBits(int nbits, uint value)
Definition BitWriter.cs:71
static int Rnums(int i)
Definition Rand.cs:9
void Reset()
Definition CRC32.cs:257
int Crc32Result
Definition CRC32.cs:26
static byte Min(byte val1, byte val2)
Definition Math.cs:152