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
InflateBlocks.cs
Go to the documentation of this file.
1using System;
2
3namespace Ionic.Zlib
4{
5 // Token: 0x02000045 RID: 69
6 internal sealed class InflateBlocks
7 {
8 // Token: 0x0600037A RID: 890 RVA: 0x0000CA84 File Offset: 0x0000AC84
9 internal InflateBlocks(ZlibCodec codec, object checkfn, int w)
10 {
12 this.end = w;
14 uint num = this.Reset();
15 }
16
17 // Token: 0x0600037B RID: 891 RVA: 0x0000CAB4 File Offset: 0x0000ACB4
18 internal uint Reset()
19 {
20 uint num = this.check;
21 if (this.checkfn != null)
22 {
23 ZlibCodec codec = this._codec;
24 this.check = 1U;
26 }
27 return num;
28 }
29
30 // Token: 0x0600037C RID: 892 RVA: 0x0000CAE8 File Offset: 0x0000ACE8
31 internal int Process(int r)
32 {
33 ZlibCodec codec = this._codec;
34 int num = this.readAt;
35 int num2 = this.bitk;
36 int[] array = this.hufts;
37 int nextIn = codec.NextIn;
38 long totalBytesIn = codec.TotalBytesIn;
39 return "invalid stored block lengths";
40 }
41
42 // Token: 0x0600037D RID: 893 RVA: 0x0000D244 File Offset: 0x0000B444
43 internal void Free()
44 {
45 uint num = this.Reset();
46 }
47
48 // Token: 0x0600037E RID: 894 RVA: 0x0000D258 File Offset: 0x0000B458
49 internal void SetDictionary(byte[] d, int start, int n)
50 {
51 byte[] array = this.window;
52 long num = 0L;
53 Array.Copy(d, start, array, (int)num, n);
54 this.readAt = n;
55 }
56
57 // Token: 0x0600037F RID: 895 RVA: 0x0000D280 File Offset: 0x0000B480
58 internal int SyncPoint()
59 {
60 /*
61An exception occurred when decompiling this method (0600037F)
62
63ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.Zlib.InflateBlocks::SyncPoint()
64
65 ---> System.Exception: Basic block has to end with unconditional control flow.
66{
67 Block_0:
68 stloc:InflateBlockMode(var_0_06, ldfld:InflateBlockMode(InflateBlocks::mode, ldloc:InflateBlocks(this)))
69}
70
71 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
72 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
73 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
74 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
75 --- End of inner exception stack trace ---
76 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
77 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
78*/;
79 }
80
81 // Token: 0x06000380 RID: 896 RVA: 0x0000D294 File Offset: 0x0000B494
82 internal int Flush(int r)
83 {
84 long num = 0L;
85 if (num != 0L)
86 {
87 int num2 = this.readAt;
88 }
89 int num3 = this.readAt;
90 int num4 = 112;
91 if (num4 != 0)
92 {
93 ZlibCodec codec = this._codec;
95 long totalBytesOut = codec.TotalBytesOut;
98 object obj = this.checkfn;
100 if (obj != null)
101 {
102 uint num5 = this.check;
103 byte[] array = this.window;
104 if (obj == null)
105 {
106 }
107 uint num6;
110 int num7 = this.readAt;
111 codec2 = this._codec;
112 }
113 byte[] array2 = this.window;
114 byte[] outputBuffer = codec2.OutputBuffer;
115 int nextOut = codec2.NextOut;
116 ZlibCodec codec3 = this._codec;
117 int nextOut2 = codec3.NextOut;
119 int num8 = this.readAt;
121 if (num == 0L)
122 {
123 int num9 = this.end;
124 int num10 = this.writeAt;
125 }
126 return r;
127 }
128 return r;
129 }
130
131 // Token: 0x06000381 RID: 897 RVA: 0x0000D38C File Offset: 0x0000B58C
132 // Note: this type is marked as 'beforefieldinit'.
134 {
135 }
136
137 // Token: 0x04000239 RID: 569
138 private const int MANY = 1440;
139
140 // Token: 0x0400023A RID: 570
141 internal static readonly int[] border;
142
143 // Token: 0x0400023B RID: 571
145
146 // Token: 0x0400023C RID: 572
147 internal int left;
148
149 // Token: 0x0400023D RID: 573
150 internal int table;
151
152 // Token: 0x0400023E RID: 574
153 internal int index;
154
155 // Token: 0x0400023F RID: 575
156 internal int[] blens;
157
158 // Token: 0x04000240 RID: 576
159 internal int[] bb;
160
161 // Token: 0x04000241 RID: 577
162 internal int[] tb;
163
164 // Token: 0x04000242 RID: 578
166
167 // Token: 0x04000243 RID: 579
168 internal int last;
169
170 // Token: 0x04000244 RID: 580
172
173 // Token: 0x04000245 RID: 581
174 internal int bitk;
175
176 // Token: 0x04000246 RID: 582
177 internal int bitb;
178
179 // Token: 0x04000247 RID: 583
180 internal int[] hufts;
181
182 // Token: 0x04000248 RID: 584
183 internal byte[] window;
184
185 // Token: 0x04000249 RID: 585
186 internal int end;
187
188 // Token: 0x0400024A RID: 586
189 internal int readAt;
190
191 // Token: 0x0400024B RID: 587
192 internal int writeAt;
193
194 // Token: 0x0400024C RID: 588
195 internal object checkfn;
196
197 // Token: 0x0400024D RID: 589
198 internal uint check;
199
200 // Token: 0x0400024E RID: 590
201 internal InfTree inftree;
202
203 // Token: 0x02000046 RID: 70
204 private enum InflateBlockMode
205 {
206 // Token: 0x04000250 RID: 592
207 TYPE,
208 // Token: 0x04000251 RID: 593
209 LENS,
210 // Token: 0x04000252 RID: 594
211 STORED,
212 // Token: 0x04000253 RID: 595
213 TABLE,
214 // Token: 0x04000254 RID: 596
215 BTREE,
216 // Token: 0x04000255 RID: 597
217 DTREE,
218 // Token: 0x04000256 RID: 598
219 CODES,
220 // Token: 0x04000257 RID: 599
221 DRY,
222 // Token: 0x04000258 RID: 600
223 DONE,
224 // Token: 0x04000259 RID: 601
225 BAD
226 }
227 }
228}
class f__AnonymousType0<< Count > j__TPar
static readonly long
InflateBlocks.InflateBlockMode mode
InflateBlocks(ZlibCodec codec, object checkfn, int w)
static readonly int[] border
void SetDictionary(byte[] d, int start, int n)
static void Copy(Array sourceArray, Array destinationArray, long length)
Definition Array.cs:205