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
ZipEntry.cs
Go to the documentation of this file.
1using System;
4using System.IO;
6using System.Text;
10using Ionic.Crc;
11using Ionic.Zlib;
12
13namespace Ionic.Zip
14{
15 // Token: 0x0200001D RID: 29
16 [Guid("ebc25cf6-9120-4283-b972-0e5520d00004")]
17 [ComVisible(true)]
18 public class ZipEntry
19 {
20 // Token: 0x17000021 RID: 33
21 // (get) Token: 0x060000A0 RID: 160 RVA: 0x00002E64 File Offset: 0x00001064
23 {
24 get
25 {
26 while (this._InternalFileAttrs == 0)
27 {
28 }
29 }
30 }
31
32 // Token: 0x060000A1 RID: 161 RVA: 0x00002E7C File Offset: 0x0000107C
33 internal void ResetDirEntry()
34 {
35 }
36
37 // Token: 0x17000022 RID: 34
38 // (get) Token: 0x060000A2 RID: 162 RVA: 0x00002E8C File Offset: 0x0000108C
39 public string Info
40 {
41 get
42 {
43 /*
44An exception occurred when decompiling this method (060000A2)
45
46ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String Ionic.Zip.ZipEntry::get_Info()
47
48 ---> System.Exception: Basic block has to end with unconditional control flow.
49{
50 IL_003F:
51 stloc:bool(var_9_45, ldfld:bool(ZipEntry::_IsText, ldloc:ZipEntry(this)))
52 stloc:string(var_10_56, call:string(string::Format, ldstr:string(" File type: {0}\n"), ldstr:string[exp:object](" File type: {0}\n")))
53 stloc:int64(var_14_5E, ldfld:int64(ZipEntry::_CompressedSize, ldloc:ZipEntry(this)))
54 stloc:StringBuilder(var_16_69, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_13), ldloc:string(var_15)))
55 stloc:int64(var_17_71, ldfld:int64(ZipEntry::_UncompressedSize, ldloc:ZipEntry(this)))
56 stloc:StringBuilder(var_19_7C, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_16_69), ldloc:string(var_18)))
57 stloc:int32(var_20_84, ldfld:int32(ZipEntry::_Crc32, ldloc:ZipEntry(this)))
58 stloc:StringBuilder(var_22_8F, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_19_7C), ldloc:string(var_21)))
59 stloc:uint32(var_23_97, ldfld:uint32(ZipEntry::_diskNumber, ldloc:ZipEntry(this)))
60 stloc:int64(var_26_9F, ldfld:int64(ZipEntry::_RelativeOffsetOfLocalHeader, ldloc:ZipEntry(this)))
61 stloc:int16(var_29_A7, ldfld:int16(ZipEntry::_BitField, ldloc:ZipEntry(this)))
62 stloc:bool(var_32_AF, ldfld:bool(ZipEntry::_sourceIsEncrypted, ldloc:ZipEntry(this)))
63 stloc:StringBuilder(var_34_BA, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_31), ldloc:string(var_33)))
64 stloc:int32(var_35_C2, ldfld:int32(ZipEntry::_TimeBlob, ldloc:ZipEntry(this)))
65 stloc:StringBuilder(var_37_CD, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_34_BA), ldloc:string(var_36)))
66 stloc:DateTime(var_38_DA, call:DateTime(SharedUtilities::PackedToDateTime, ldfld:int32(ZipEntry::_TimeBlob, ldloc:ZipEntry(this))))
67 stloc:StringBuilder(var_40_E5, call:StringBuilder(StringBuilder::Append, ldloc:StringBuilder(var_37_CD), ldloc:string(var_39)))
68 stloc:bool(var_41_ED, ldfld:bool(ZipEntry::_InputUsesZip64, ldloc:ZipEntry(this)))
69 stloc:bool(var_44_FA, call:bool(string::IsNullOrEmpty, ldfld:string(ZipEntry::_Comment, ldloc:ZipEntry(this))))
70 stloc:string(var_45_102, ldfld:string(ZipEntry::_Comment, ldloc:ZipEntry(this)))
71 stloc:string(var_46_110, call:string(string::Format, ldstr:string(" Comment: {0}\n"), ldloc:string[exp:object](var_45_102)))
72}
73
74 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
75 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
76 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
77 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
78 --- End of inner exception stack trace ---
79 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
80 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
81*/;
82 }
83 }
84
85 // Token: 0x060000A3 RID: 163 RVA: 0x00002FAC File Offset: 0x000011AC
87 {
88 /*
89An exception occurred when decompiling this method (060000A3)
90
91ICSharpCode.Decompiler.DecompilerException: Error decompiling Ionic.Zip.ZipEntry Ionic.Zip.ZipEntry::ReadDirEntry(Ionic.Zip.ZipFile,System.Collections.Generic.Dictionary`2<System.String,System.Object>)
92
93 ---> System.Exception: Basic block has to end with unconditional control flow.
94{
95 IL_0019:
96 stloc:DateTime(var_4_23, call:DateTime(SharedUtilities::PackedToDateTime, ldc.i4:int32(-1073741824)))
97 stloc:Encoding(var_20_55, callgetter:Encoding(Encoding::get_UTF8))
98}
99
100 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
101 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
102 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
103 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
104 --- End of inner exception stack trace ---
105 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
106 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
107*/;
108 }
109
110 // Token: 0x060000A4 RID: 164 RVA: 0x00002122 File Offset: 0x00000322
111 internal static bool IsNotValidZipDirEntrySig(int signature)
112 {
113 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
114 }
115
116 // Token: 0x060000A5 RID: 165 RVA: 0x00003014 File Offset: 0x00001214
117 public ZipEntry()
118 {
121 Encoding encoding = Encoding.GetEncoding("IBM437");
122 this.<AlternateEncoding>k__BackingField = encoding;
123 }
124
125 // Token: 0x17000023 RID: 35
126 // (get) Token: 0x060000A6 RID: 166 RVA: 0x00003058 File Offset: 0x00001258
127 // (set) Token: 0x060000A7 RID: 167 RVA: 0x00003068 File Offset: 0x00001268
129 {
130 get
131 {
132 DateTime dateTime;
133 return dateTime;
134 }
135 set
136 {
138 if (dateTimeKind != DateTimeKind.Unspecified)
139 {
140 return;
141 }
142 DateTime dateTime;
143 this._LastModified = dateTime;
147 }
148 }
149
150 // Token: 0x17000024 RID: 36
151 // (get) Token: 0x060000A8 RID: 168 RVA: 0x0000309C File Offset: 0x0000129C
152 private int BufferSize
153 {
154 get
155 {
156 return this._container.BufferSize;
157 }
158 }
159
160 // Token: 0x17000025 RID: 37
161 // (get) Token: 0x060000A9 RID: 169 RVA: 0x000030B4 File Offset: 0x000012B4
162 // (set) Token: 0x060000AA RID: 170 RVA: 0x000030CC File Offset: 0x000012CC
164 {
165 get
166 {
167 DateTime mtime = this._Mtime;
168 DateTime dateTime;
169 return dateTime;
170 }
171 set
172 {
173 DateTime atime = this._Atime;
174 DateTime ctime = this._Ctime;
175 this.SetEntryTimes(ctime, atime, value);
176 }
177 }
178
179 // Token: 0x17000026 RID: 38
180 // (get) Token: 0x060000AB RID: 171 RVA: 0x000030F0 File Offset: 0x000012F0
181 // (set) Token: 0x060000AC RID: 172 RVA: 0x00003108 File Offset: 0x00001308
183 {
184 get
185 {
186 DateTime atime = this._Atime;
187 DateTime dateTime;
188 return dateTime;
189 }
190 set
191 {
192 DateTime ctime = this._Ctime;
193 DateTime mtime = this._Mtime;
194 this.SetEntryTimes(ctime, value, mtime);
195 }
196 }
197
198 // Token: 0x17000027 RID: 39
199 // (get) Token: 0x060000AD RID: 173 RVA: 0x0000312C File Offset: 0x0000132C
200 // (set) Token: 0x060000AE RID: 174 RVA: 0x00003144 File Offset: 0x00001344
202 {
203 get
204 {
205 DateTime ctime = this._Ctime;
206 DateTime dateTime;
207 return dateTime;
208 }
209 set
210 {
211 DateTime mtime = this._Mtime;
212 DateTime atime = this._Atime;
213 this.SetEntryTimes(value, atime, mtime);
214 }
215 }
216
217 // Token: 0x060000AF RID: 175 RVA: 0x00003168 File Offset: 0x00001368
219 {
220 int num = 1;
221 this._ntfsTimesAreSet = num != 0;
222 if (num == 0)
223 {
224 }
225 DateTime dateTime;
226 this._Ctime = dateTime;
230 bool emitUnixTimes = this._emitUnixTimes;
233 if (!emitUnixTimes && !this._emitNtfsTimes)
234 {
235 int num2 = 1;
236 this._emitNtfsTimes = num2 != 0;
237 }
238 int num3 = 1;
240 }
241
242 // Token: 0x17000028 RID: 40
243 // (get) Token: 0x060000B0 RID: 176 RVA: 0x000031E0 File Offset: 0x000013E0
244 // (set) Token: 0x060000B1 RID: 177 RVA: 0x000031F4 File Offset: 0x000013F4
246 {
247 get
248 {
249 return this._emitNtfsTimes;
250 }
251 set
252 {
254 }
255 }
256
257 // Token: 0x17000029 RID: 41
258 // (get) Token: 0x060000B2 RID: 178 RVA: 0x00003208 File Offset: 0x00001408
259 // (set) Token: 0x060000B3 RID: 179 RVA: 0x0000321C File Offset: 0x0000141C
261 {
262 get
263 {
264 return this._emitUnixTimes;
265 }
266 set
267 {
269 }
270 }
271
272 // Token: 0x1700002A RID: 42
273 // (get) Token: 0x060000B4 RID: 180 RVA: 0x00003230 File Offset: 0x00001430
275 {
276 get
277 {
278 return this._timestamp;
279 }
280 }
281
282 // Token: 0x1700002B RID: 43
283 // (get) Token: 0x060000B5 RID: 181 RVA: 0x00003244 File Offset: 0x00001444
284 // (set) Token: 0x060000B6 RID: 182 RVA: 0x00003258 File Offset: 0x00001458
286 {
287 get
288 {
289 /*
290An exception occurred when decompiling this method (060000B5)
291
292ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.FileAttributes Ionic.Zip.ZipEntry::get_Attributes()
293
294 ---> System.Exception: Basic block has to end with unconditional control flow.
295{
296 Block_0:
297 stloc:int32(var_0_06, ldfld:int32(ZipEntry::_ExternalFileAttrs, ldloc:ZipEntry(this)))
298}
299
300 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
301 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
302 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
303 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
304 --- End of inner exception stack trace ---
305 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
306 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
307*/;
308 }
309 set
310 {
314 }
315 }
316
317 // Token: 0x1700002C RID: 44
318 // (get) Token: 0x060000B7 RID: 183 RVA: 0x0000327C File Offset: 0x0000147C
319 internal string LocalFileName
320 {
321 get
322 {
323 return this._LocalFileName;
324 }
325 }
326
327 // Token: 0x1700002D RID: 45
328 // (get) Token: 0x060000B8 RID: 184 RVA: 0x00003290 File Offset: 0x00001490
329 // (set) Token: 0x060000B9 RID: 185 RVA: 0x000032A4 File Offset: 0x000014A4
330 public string FileName
331 {
332 get
333 {
334 return this._FileNameInArchive;
335 }
336 set
337 {
338 if (this._container._zf != null)
339 {
340 string text;
341 bool flag = this._FileNameInArchive == text;
342 this._container._zf.RemoveEntry(this);
343 this._container._zf.InternalAddEntry(text, this);
344 ZipContainer container = this._container;
348 return;
349 }
350 }
351 }
352
353 // Token: 0x1700002E RID: 46
354 // (get) Token: 0x060000BA RID: 186 RVA: 0x00003310 File Offset: 0x00001510
355 // (set) Token: 0x060000BB RID: 187 RVA: 0x00003324 File Offset: 0x00001524
357 {
358 get
359 {
360 return this._sourceStream;
361 }
362 set
363 {
367 }
368 }
369
370 // Token: 0x1700002F RID: 47
371 // (get) Token: 0x060000BC RID: 188 RVA: 0x00003348 File Offset: 0x00001548
373 {
374 get
375 {
376 return this._sourceWasJitProvided;
377 }
378 }
379
380 // Token: 0x17000030 RID: 48
381 // (get) Token: 0x060000BD RID: 189 RVA: 0x0000335C File Offset: 0x0000155C
383 {
384 get
385 {
386 return this._Source;
387 }
388 }
389
390 // Token: 0x17000031 RID: 49
391 // (get) Token: 0x060000BE RID: 190 RVA: 0x00003370 File Offset: 0x00001570
392 public short VersionNeeded
393 {
394 get
395 {
396 return this._VersionNeeded;
397 }
398 }
399
400 // Token: 0x17000032 RID: 50
401 // (get) Token: 0x060000BF RID: 191 RVA: 0x00003384 File Offset: 0x00001584
402 // (set) Token: 0x060000C0 RID: 192 RVA: 0x00003398 File Offset: 0x00001598
403 public string Comment
404 {
405 get
406 {
407 return this._Comment;
408 }
409 set
410 {
412 }
413 }
414
415 // Token: 0x17000033 RID: 51
416 // (get) Token: 0x060000C1 RID: 193 RVA: 0x00002122 File Offset: 0x00000322
417 public bool? RequiresZip64
418 {
419 get
420 {
421 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
422 }
423 }
424
425 // Token: 0x17000034 RID: 52
426 // (get) Token: 0x060000C2 RID: 194 RVA: 0x00002122 File Offset: 0x00000322
427 public bool? OutputUsedZip64
428 {
429 get
430 {
431 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
432 }
433 }
434
435 // Token: 0x17000035 RID: 53
436 // (get) Token: 0x060000C3 RID: 195 RVA: 0x000033AC File Offset: 0x000015AC
437 public short BitField
438 {
439 get
440 {
441 return this._BitField;
442 }
443 }
444
445 // Token: 0x17000036 RID: 54
446 // (get) Token: 0x060000C4 RID: 196 RVA: 0x00002122 File Offset: 0x00000322
447 // (set) Token: 0x060000C5 RID: 197 RVA: 0x000033C0 File Offset: 0x000015C0
449 {
450 get
451 {
452 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
453 }
454 set
455 {
457 if (this._CompressionLevel == CompressionLevel.None)
458 {
459 return;
460 }
461 ZipFile zf = this._container._zf;
462 if (zf != null)
463 {
464 zf._contentsChanged = true;
465 }
467 }
468 }
469
470 // Token: 0x17000037 RID: 55
471 // (get) Token: 0x060000C6 RID: 198 RVA: 0x00003404 File Offset: 0x00001604
472 // (set) Token: 0x060000C7 RID: 199 RVA: 0x00003418 File Offset: 0x00001618
474 {
475 get
476 {
477 return this._CompressionLevel;
478 }
479 set
480 {
483 if (value == CompressionLevel.None && compressionMethod == 0)
484 {
485 return;
486 }
487 ZipFile zf = this._container._zf;
488 if (zf != null)
489 {
490 zf._contentsChanged = true;
491 }
493 }
494 }
495
496 // Token: 0x17000038 RID: 56
497 // (get) Token: 0x060000C8 RID: 200 RVA: 0x00003458 File Offset: 0x00001658
498 public long CompressedSize
499 {
500 get
501 {
502 return this._CompressedSize;
503 }
504 }
505
506 // Token: 0x17000039 RID: 57
507 // (get) Token: 0x060000C9 RID: 201 RVA: 0x0000346C File Offset: 0x0000166C
509 {
510 get
511 {
512 return this._UncompressedSize;
513 }
514 }
515
516 // Token: 0x1700003A RID: 58
517 // (get) Token: 0x060000CA RID: 202 RVA: 0x00003480 File Offset: 0x00001680
518 public double CompressionRatio
519 {
520 get
521 {
522 /*
523An exception occurred when decompiling this method (060000CA)
524
525ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Double Ionic.Zip.ZipEntry::get_CompressionRatio()
526
527 ---> System.Exception: Basic block has to end with unconditional control flow.
528{
529 Block_0:
530 stloc:int64(var_0_0E, ldfld:int64(ZipEntry::_CompressedSize, ldloc:ZipEntry(this)))
531}
532
533 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
534 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
535 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
536 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
537 --- End of inner exception stack trace ---
538 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
539 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
540*/;
541 }
542 }
543
544 // Token: 0x1700003B RID: 59
545 // (get) Token: 0x060000CB RID: 203 RVA: 0x0000349C File Offset: 0x0000169C
546 public int Crc
547 {
548 get
549 {
550 return this._Crc32;
551 }
552 }
553
554 // Token: 0x1700003C RID: 60
555 // (get) Token: 0x060000CC RID: 204 RVA: 0x000034B0 File Offset: 0x000016B0
556 public bool IsDirectory
557 {
558 get
559 {
560 return this._IsDirectory;
561 }
562 }
563
564 // Token: 0x1700003D RID: 61
565 // (get) Token: 0x060000CD RID: 205 RVA: 0x000034C4 File Offset: 0x000016C4
566 public bool UsesEncryption
567 {
568 get
569 {
570 /*
571An exception occurred when decompiling this method (060000CD)
572
573ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Ionic.Zip.ZipEntry::get_UsesEncryption()
574
575 ---> System.Exception: Basic block has to end with unconditional control flow.
576{
577 Block_0:
578 stloc:EncryptionAlgorithm(var_0_06, ldfld:EncryptionAlgorithm(ZipEntry::_Encryption_FromZipFile, ldloc:ZipEntry(this)))
579}
580
581 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
582 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
583 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
584 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
585 --- End of inner exception stack trace ---
586 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
587 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
588*/;
589 }
590 }
591
592 // Token: 0x1700003E RID: 62
593 // (get) Token: 0x060000CE RID: 206 RVA: 0x000034D8 File Offset: 0x000016D8
594 // (set) Token: 0x060000CF RID: 207 RVA: 0x000034EC File Offset: 0x000016EC
596 {
597 get
598 {
599 return this._Encryption;
600 }
601 set
602 {
604 ZipContainer container = this._container;
607 ZipFile zf = container._zf;
608 if (zf != null)
609 {
610 zf._contentsChanged = true;
611 }
612 }
613 }
614
615 // Token: 0x1700003F RID: 63
616 // (get) Token: 0x060000D1 RID: 209 RVA: 0x00003568 File Offset: 0x00001768
617 // (set) Token: 0x060000D0 RID: 208 RVA: 0x00003528 File Offset: 0x00001728
618 public string Password
619 {
620 private get
621 {
622 return this._Password;
623 }
624 set
625 {
627 if (value == null)
628 {
629 return;
630 }
632 if (!this._sourceIsEncrypted)
633 {
635 }
636 if (this._Encryption != EncryptionAlgorithm.None)
637 {
638 return;
639 }
641 }
642 }
643
644 // Token: 0x17000040 RID: 64
645 // (get) Token: 0x060000D2 RID: 210 RVA: 0x0000357C File Offset: 0x0000177C
646 internal bool IsChanged
647 {
648 get
649 {
650 /*
651An exception occurred when decompiling this method (060000D2)
652
653ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Ionic.Zip.ZipEntry::get_IsChanged()
654
655 ---> System.Exception: Basic block has to end with unconditional control flow.
656{
657 Block_0:
658 stloc:bool(var_0_06, ldfld:bool(ZipEntry::_restreamRequiredOnSave, ldloc:ZipEntry(this)))
659 stloc:bool(var_1_0D, ldfld:bool(ZipEntry::_metadataChanged, ldloc:ZipEntry(this)))
660}
661
662 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
663 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
664 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
665 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
666 --- End of inner exception stack trace ---
667 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
668 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
669*/;
670 }
671 }
672
673 // Token: 0x17000041 RID: 65
674 // (get) Token: 0x060000D3 RID: 211 RVA: 0x00003598 File Offset: 0x00001798
675 // (set) Token: 0x060000D4 RID: 212 RVA: 0x000035AC File Offset: 0x000017AC
677 {
678 get
679 {
681 }
682 set
683 {
685 }
686 }
687
688 // Token: 0x17000042 RID: 66
689 // (get) Token: 0x060000D5 RID: 213 RVA: 0x000035C0 File Offset: 0x000017C0
690 // (set) Token: 0x060000D6 RID: 214 RVA: 0x000035D4 File Offset: 0x000017D4
692 {
693 get
694 {
695 return this.<ZipErrorAction>k__BackingField;
696 }
697 set
698 {
700 }
701 }
702
703 // Token: 0x17000043 RID: 67
704 // (get) Token: 0x060000D7 RID: 215 RVA: 0x000035E8 File Offset: 0x000017E8
706 {
707 get
708 {
709 /*
710An exception occurred when decompiling this method (060000D7)
711
712ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Ionic.Zip.ZipEntry::get_IncludedInMostRecentSave()
713
714 ---> System.Exception: Basic block has to end with unconditional control flow.
715{
716 Block_0:
717 stloc:bool(var_0_06, ldfld:bool(ZipEntry::_skippedDuringSave, ldloc:ZipEntry(this)))
718}
719
720 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
721 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
722 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
723 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
724 --- End of inner exception stack trace ---
725 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
726 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
727*/;
728 }
729 }
730
731 // Token: 0x17000044 RID: 68
732 // (get) Token: 0x060000D8 RID: 216 RVA: 0x000035FC File Offset: 0x000017FC
733 // (set) Token: 0x060000D9 RID: 217 RVA: 0x00003610 File Offset: 0x00001810
735 {
736 get
737 {
738 return this.<SetCompression>k__BackingField;
739 }
740 set
741 {
743 }
744 }
745
746 // Token: 0x17000045 RID: 69
747 // (get) Token: 0x060000DA RID: 218 RVA: 0x00003624 File Offset: 0x00001824
748 // (set) Token: 0x060000DB RID: 219 RVA: 0x0000364C File Offset: 0x0000184C
749 [Obsolete("Beginning with v1.9.1.6 of DotNetZip, this property is obsolete. It will be removed in a future version of the library. Your applications should use AlternateEncoding and AlternateEncodingUsage instead.")]
751 {
752 get
753 {
754 /*
755An exception occurred when decompiling this method (060000DA)
756
757ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Ionic.Zip.ZipEntry::get_UseUnicodeAsNecessary()
758
759 ---> System.Exception: Basic block has to end with unconditional control flow.
760{
761 Block_0:
762 stloc:Encoding(var_0_06, ldfld:Encoding(ZipEntry::<AlternateEncoding>k__BackingField, ldloc:ZipEntry(this)))
763 stloc:Encoding(var_1_11, call:Encoding(Encoding::GetEncoding, ldstr:string("UTF-8")))
764 stloc:ZipOption(var_3_1A, ldfld:ZipOption(ZipEntry::<AlternateEncodingUsage>k__BackingField, ldloc:ZipEntry(this)))
765}
766
767 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
768 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
769 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
770 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
771 --- End of inner exception stack trace ---
772 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
773 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
774*/;
775 }
776 set
777 {
778 Encoding encoding = Encoding.GetEncoding("UTF-8");
779 this.<AlternateEncoding>k__BackingField = encoding;
780 }
781 }
782
783 // Token: 0x17000046 RID: 70
784 // (get) Token: 0x060000DC RID: 220 RVA: 0x0000367C File Offset: 0x0000187C
785 // (set) Token: 0x060000DD RID: 221 RVA: 0x00003690 File Offset: 0x00001890
786 [Obsolete("This property is obsolete since v1.9.1.6. Use AlternateEncoding and AlternateEncodingUsage instead.", true)]
788 {
789 get
790 {
792 }
793 set
794 {
796 }
797 }
798
799 // Token: 0x17000047 RID: 71
800 // (get) Token: 0x060000DE RID: 222 RVA: 0x000036A4 File Offset: 0x000018A4
801 // (set) Token: 0x060000DF RID: 223 RVA: 0x000036B8 File Offset: 0x000018B8
803 {
804 get
805 {
807 }
808 set
809 {
811 }
812 }
813
814 // Token: 0x17000048 RID: 72
815 // (get) Token: 0x060000E0 RID: 224 RVA: 0x000036CC File Offset: 0x000018CC
816 // (set) Token: 0x060000E1 RID: 225 RVA: 0x000036E0 File Offset: 0x000018E0
818 {
819 get
820 {
822 }
823 set
824 {
826 }
827 }
828
829 // Token: 0x060000E2 RID: 226 RVA: 0x000036F4 File Offset: 0x000018F4
830 internal static string NameInArchive(string filename, string directoryPathInArchive)
831 {
832 while (filename == null)
833 {
834 }
835 bool flag = string.IsNullOrEmpty(filename);
836 string text;
838 }
839
840 // Token: 0x060000E3 RID: 227 RVA: 0x00003718 File Offset: 0x00001918
842 {
843 if (!true)
844 {
845 }
847 return zipEntry;
848 }
849
850 // Token: 0x060000E4 RID: 228 RVA: 0x0000372C File Offset: 0x0000192C
851 internal static ZipEntry CreateFromFile(string filename, string nameInArchive)
852 {
853 if (!true)
854 {
855 }
856 long num = 0L;
857 return ZipEntry.Create(filename, ZipEntrySource.FileSystem, nameInArchive, num);
858 }
859
860 // Token: 0x060000E5 RID: 229 RVA: 0x00003748 File Offset: 0x00001948
861 internal static ZipEntry CreateForStream(string entryName, Stream s)
862 {
863 if (!true)
864 {
865 }
867 return zipEntry;
868 }
869
870 // Token: 0x060000E6 RID: 230 RVA: 0x0000375C File Offset: 0x0000195C
872 {
873 if (!true)
874 {
875 }
877 return zipEntry;
878 }
879
880 // Token: 0x060000E7 RID: 231 RVA: 0x00003770 File Offset: 0x00001970
882 {
883 if (!true)
884 {
885 }
887 return zipEntry;
888 }
889
890 // Token: 0x060000E8 RID: 232 RVA: 0x00003784 File Offset: 0x00001984
892 {
893 if (!true)
894 {
895 }
897 return zipEntry;
898 }
899
900 // Token: 0x060000E9 RID: 233 RVA: 0x00003798 File Offset: 0x00001998
901 private static ZipEntry Create(string nameInArchive, ZipEntrySource source, object arg1, object arg2)
902 {
903 if (45 == 0)
904 {
905 }
907 if (source != ZipEntrySource.None)
908 {
909 }
916 if (source == ZipEntrySource.None || source == ZipEntrySource.None || source != ZipEntrySource.None)
917 {
918 }
919 if (arg1 != null)
920 {
921 }
922 return "The filename must be non-null and non-empty.";
923 }
924
925 // Token: 0x060000EA RID: 234 RVA: 0x00003834 File Offset: 0x00001A34
926 internal void MarkAsDirectory()
927 {
928 this._IsDirectory = true;
929 bool flag = this._FileNameInArchive.EndsWith("/");
930 string text = this._FileNameInArchive + "/";
932 }
933
934 // Token: 0x17000049 RID: 73
935 // (get) Token: 0x060000EB RID: 235 RVA: 0x00002122 File Offset: 0x00000322
936 // (set) Token: 0x060000EC RID: 236 RVA: 0x00003874 File Offset: 0x00001A74
937 public bool IsText
938 {
939 get
940 {
941 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
942 }
943 set
944 {
945 }
946 }
947
948 // Token: 0x060000ED RID: 237 RVA: 0x00003884 File Offset: 0x00001A84
949 public override string ToString()
950 {
952 return string.Format("ZipEntry::{0}", fileNameInArchive);
953 }
954
955 // Token: 0x1700004A RID: 74
956 // (get) Token: 0x060000EE RID: 238 RVA: 0x000038A4 File Offset: 0x00001AA4
958 {
959 get
960 {
962 if (this._archiveStream == null)
963 {
964 ZipContainer container = this._container;
965 ZipFile zf = container._zf;
966 if (zf != null)
967 {
968 long num = 0L;
969 zf.Reset(num != 0L);
970 uint diskNumber = this._diskNumber;
972 }
973 outputStream = container._zos._outputStream;
975 }
976 return outputStream;
977 }
978 }
979
980 // Token: 0x060000EF RID: 239 RVA: 0x000038FC File Offset: 0x00001AFC
996
997 // Token: 0x060000F0 RID: 240 RVA: 0x0000398C File Offset: 0x00001B8C
999 {
1000 return 12;
1001 }
1002
1003 // Token: 0x1700004B RID: 75
1004 // (get) Token: 0x060000F1 RID: 241 RVA: 0x0000399C File Offset: 0x00001B9C
1005 internal long FileDataPosition
1006 {
1007 get
1008 {
1009 /*
1010An exception occurred when decompiling this method (060000F1)
1011
1012ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 Ionic.Zip.ZipEntry::get_FileDataPosition()
1013
1014 ---> System.Exception: Basic block has to end with unconditional control flow.
1015{
1016 Block_0:
1017 stloc:int64(var_0_06, ldfld:int64(ZipEntry::__FileDataPosition, ldloc:ZipEntry(this)))
1018 call:void(ZipEntry::SetFdpLoh, ldloc:ZipEntry(this))
1019}
1020
1021 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
1022 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
1023 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
1024 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
1025 --- End of inner exception stack trace ---
1026 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
1027 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
1028*/;
1029 }
1030 }
1031
1032 // Token: 0x1700004C RID: 76
1033 // (get) Token: 0x060000F2 RID: 242 RVA: 0x000039B8 File Offset: 0x00001BB8
1034 private int LengthOfHeader
1035 {
1036 get
1037 {
1039 if (lengthOfHeader == 0)
1040 {
1041 }
1042 return lengthOfHeader;
1043 }
1044 }
1045
1046 // Token: 0x060000F3 RID: 243 RVA: 0x000039D0 File Offset: 0x00001BD0
1047 public void Extract()
1048 {
1049 }
1050
1051 // Token: 0x060000F4 RID: 244 RVA: 0x000039E0 File Offset: 0x00001BE0
1056
1057 // Token: 0x060000F5 RID: 245 RVA: 0x000039F4 File Offset: 0x00001BF4
1058 public void Extract(Stream stream)
1059 {
1060 }
1061
1062 // Token: 0x060000F6 RID: 246 RVA: 0x00003A04 File Offset: 0x00001C04
1063 public void Extract(string baseDirectory)
1064 {
1065 }
1066
1067 // Token: 0x060000F7 RID: 247 RVA: 0x00003A14 File Offset: 0x00001C14
1072
1073 // Token: 0x060000F8 RID: 248 RVA: 0x00003A28 File Offset: 0x00001C28
1074 public void ExtractWithPassword(string password)
1075 {
1076 }
1077
1078 // Token: 0x060000F9 RID: 249 RVA: 0x00003A38 File Offset: 0x00001C38
1079 public void ExtractWithPassword(string baseDirectory, string password)
1080 {
1081 }
1082
1083 // Token: 0x060000FA RID: 250 RVA: 0x00003A48 File Offset: 0x00001C48
1088
1089 // Token: 0x060000FB RID: 251 RVA: 0x00003A5C File Offset: 0x00001C5C
1094
1095 // Token: 0x060000FC RID: 252 RVA: 0x00003A70 File Offset: 0x00001C70
1096 public void ExtractWithPassword(Stream stream, string password)
1097 {
1098 }
1099
1100 // Token: 0x060000FD RID: 253 RVA: 0x00003A80 File Offset: 0x00001C80
1102 {
1103 ZipContainer container;
1104 do
1105 {
1106 container = this._container;
1107 }
1108 while (container._zf == null);
1109 string password;
1110 if (this._Password == null)
1111 {
1112 password = container.Password;
1113 }
1114 return this.InternalOpenReader(password);
1115 }
1116
1117 // Token: 0x060000FE RID: 254 RVA: 0x00003AB4 File Offset: 0x00001CB4
1118 public CrcCalculatorStream OpenReader(string password)
1119 {
1120 while (this._container._zf == null)
1121 {
1122 }
1123 return this.InternalOpenReader(password);
1124 }
1125
1126 // Token: 0x060000FF RID: 255 RVA: 0x00003AD8 File Offset: 0x00001CD8
1127 internal CrcCalculatorStream InternalOpenReader(string password)
1128 {
1129 /*
1130An exception occurred when decompiling this method (060000FF)
1131
1132ICSharpCode.Decompiler.DecompilerException: Error decompiling Ionic.Crc.CrcCalculatorStream Ionic.Zip.ZipEntry::InternalOpenReader(System.String)
1133
1134 ---> System.Exception: Basic block has to end with unconditional control flow.
1135{
1136 IL_0054:
1137 stloc:Stream(var_7_5B, call:Stream(ZipEntry::GetExtractDecryptor, ldloc:ZipEntry(this), ldloc:Stream(var_2_27)))
1138 stfld:Stream(ZipEntry::_inputDecryptorStream, ldloc:ZipEntry(this), ldloc:Stream(var_7_5B))
1139 stloc:Stream(var_8_6D, call:Stream(ZipEntry::GetExtractDecompressor, ldloc:ZipEntry(this), ldloc:Stream(var_7_5B)))
1140}
1141
1142 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
1143 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
1144 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
1145 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
1146 --- End of inner exception stack trace ---
1147 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
1148 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
1149*/;
1150 }
1151
1152 // Token: 0x06000100 RID: 256 RVA: 0x00003B54 File Offset: 0x00001D54
1154 {
1155 ZipContainer container = this._container;
1156 ZipFile zf = container._zf;
1157 if (zf != null)
1158 {
1159 bool flag = zf.OnExtractBlock(this, bytesWritten, totalBytesToWrite);
1160 this._ioOperationCanceled = container != null;
1161 }
1162 }
1163
1164 // Token: 0x06000101 RID: 257 RVA: 0x00003B84 File Offset: 0x00001D84
1165 private void OnBeforeExtract(string path)
1166 {
1167 ZipFile zf = this._container._zf;
1168 if (zf != null)
1169 {
1171 if (!inExtractAll)
1172 {
1173 bool flag = zf.OnSingleEntryExtract(this, path, true);
1175 }
1176 }
1177 }
1178
1179 // Token: 0x06000102 RID: 258 RVA: 0x00003BBC File Offset: 0x00001DBC
1180 private void OnAfterExtract(string path)
1181 {
1182 ZipFile zf = this._container._zf;
1183 if (zf == null || zf._inExtractAll)
1184 {
1185 return;
1186 }
1187 long num = 0L;
1188 bool flag = zf.OnSingleEntryExtract(this, path, num != 0L);
1189 }
1190
1191 // Token: 0x06000103 RID: 259 RVA: 0x00003BF0 File Offset: 0x00001DF0
1192 private void OnExtractExisting(string path)
1193 {
1194 ZipContainer container = this._container;
1195 ZipFile zf = container._zf;
1196 if (zf != null)
1197 {
1198 bool flag = zf.OnExtractExisting(this, path);
1199 this._ioOperationCanceled = container != null;
1200 }
1201 }
1202
1203 // Token: 0x06000104 RID: 260 RVA: 0x00003C20 File Offset: 0x00001E20
1204 private static void ReallyDelete(string fileName)
1205 {
1206 uint attributes = NetCfFile.GetAttributes(fileName);
1207 bool flag = NetCfFile.SetAttributes(fileName, (uint)128);
1208 File.Delete(fileName);
1209 }
1210
1211 // Token: 0x06000105 RID: 261 RVA: 0x00003C48 File Offset: 0x00001E48
1212 private void WriteStatus(string format, params object[] args)
1213 {
1214 ZipFile zf = this._container._zf;
1215 if (zf != null && zf._StatusMessageTextWriter != null)
1216 {
1217 return;
1218 }
1219 }
1220
1221 // Token: 0x06000106 RID: 262 RVA: 0x00003C70 File Offset: 0x00001E70
1222 private void InternalExtract(string baseDir, Stream outstream, string password)
1223 {
1224 ZipContainer container = this._container;
1225 if (container == null)
1226 {
1227 return;
1228 }
1229 ZipFile zf = container._zf;
1230 if (zf == null)
1231 {
1232 return;
1233 }
1234 long num = 0L;
1235 zf.Reset(num != 0L);
1237 this.OnBeforeExtract(baseDir);
1238 this.ValidateCompression();
1239 this.ValidateEncryption();
1240 bool flag = this.ValidateOutput(baseDir, outstream, password);
1241 if (password != null && password == null)
1242 {
1243 throw new ArrayTypeMismatchException();
1244 }
1245 ZipFile zf2 = this._container._zf;
1246 if (zf2 != null)
1247 {
1248 ZipFile zf3;
1249 if (zf2._StatusMessageTextWriter != null)
1250 {
1251 zf3 = this._container._zf;
1252 if (zf3 == null)
1253 {
1254 goto IL_0098;
1255 }
1256 }
1257 if (!zf3._inExtractAll)
1258 {
1259 long num2 = 0L;
1260 bool flag2 = zf3.OnSingleEntryExtract(this, baseDir, num2 != 0L);
1261 }
1262 }
1263 IL_0098:
1264 if (!this._ioOperationCanceled)
1265 {
1266 return;
1267 }
1268 long num3;
1269 if (this == null || num3 == 0L)
1270 {
1271 }
1272 long num4;
1273 if (num4 == 0L)
1274 {
1275 return;
1276 }
1277 throw new OutOfMemoryException();
1278 }
1279
1280 // Token: 0x06000107 RID: 263 RVA: 0x00003F68 File Offset: 0x00002168
1282 {
1283 int crc = this._Crc32;
1284 }
1285
1286 // Token: 0x06000108 RID: 264 RVA: 0x00003F88 File Offset: 0x00002188
1288 {
1289 do
1290 {
1291 long num = 0L;
1293 if (num != 0L)
1294 {
1295 goto IL_00A1;
1296 }
1297 ZipFile zf = this._container._zf;
1298 if (zf != null)
1299 {
1300 bool flag = zf.OnExtractExisting(this, baseDir);
1302 }
1303 }
1304 while (!this._ioOperationCanceled);
1305 return 2;
1306 IL_00A1:
1307 throw new ArrayTypeMismatchException();
1308 }
1309
1310 // Token: 0x06000109 RID: 265 RVA: 0x0000403C File Offset: 0x0000223C
1311 private void _CheckRead(int nbytes)
1312 {
1313 /*
1314An exception occurred when decompiling this method (06000109)
1315
1316ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Ionic.Zip.ZipEntry::_CheckRead(System.Int32)
1317
1318 ---> System.Exception: Basic block has to end with unconditional control flow.
1319{
1320 IL_0004:
1321 stloc:string(var_0_0A, ldfld:string(ZipEntry::_FileNameInArchive, ldloc:ZipEntry(this)))
1322 stloc:string(var_1_16, call:string(string::Format, ldstr:string("bad read of entry {0} from compressed archive."), ldloc:string[exp:object](var_0_0A)))
1323}
1324
1325 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
1326 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
1327 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
1328 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
1329 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
1330 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
1331 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
1332 --- End of inner exception stack trace ---
1333 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
1334 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
1335*/;
1336 }
1337
1338 // Token: 0x0600010A RID: 266 RVA: 0x00004060 File Offset: 0x00002260
1339 private int ExtractOne(Stream output)
1340 {
1342 int num;
1343 do
1344 {
1347 this.SetFdpLoh();
1349 int bufferSize = this._container.BufferSize;
1351 num = 160;
1352 Stream extractDecryptor = this.GetExtractDecryptor(archiveStream);
1354 Stream extractDecompressor = this.GetExtractDecompressor(extractDecryptor);
1355 long num2 = 0L;
1356 this._CheckRead(42169232);
1357 ZipContainer container = this._container;
1358 ZipFile zf = container._zf;
1359 if (zf != null)
1360 {
1362 bool flag = zf.OnExtractBlock(this, num2, uncompressedSize);
1363 this._ioOperationCanceled = container != null;
1364 }
1365 }
1366 while (!this._ioOperationCanceled);
1367 long num3 = 0L;
1368 if (42169232 != 0)
1369 {
1370 if (num != 0)
1371 {
1372 }
1373 return 42169232;
1374 }
1375 if (num3 != 0L)
1376 {
1377 throw new OutOfMemoryException();
1378 }
1379 long num4 = 0L;
1380 if (archiveStream != null)
1381 {
1382 }
1383 if (num4 == 0L)
1384 {
1385 int num5;
1386 return num5;
1387 }
1388 throw new OutOfMemoryException();
1389 }
1390
1391 // Token: 0x0600010B RID: 267 RVA: 0x00004170 File Offset: 0x00002370
1393 {
1394 while (this._CompressionMethod_FromZipFile == 0)
1395 {
1396 }
1397 }
1398
1399 // Token: 0x0600010C RID: 268 RVA: 0x00004188 File Offset: 0x00002388
1401 {
1402 /*
1403An exception occurred when decompiling this method (0600010C)
1404
1405ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream Ionic.Zip.ZipEntry::GetExtractDecryptor(System.IO.Stream)
1406
1407 ---> System.Exception: Basic block has to end with unconditional control flow.
1408{
1409 Block_0:
1410 stloc:EncryptionAlgorithm(var_0_06, ldfld:EncryptionAlgorithm(ZipEntry::_Encryption_FromZipFile, ldloc:ZipEntry(this)))
1411 stloc:ZipCrypto(var_1_0D, ldfld:ZipCrypto(ZipEntry::_zipCrypto_forExtract, ldloc:ZipEntry(this)))
1412}
1413
1414 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
1415 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
1416 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
1417 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
1418 --- End of inner exception stack trace ---
1419 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
1420 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
1421*/;
1422 }
1423
1424 // Token: 0x0600010D RID: 269 RVA: 0x000041A4 File Offset: 0x000023A4
1425 internal void _SetTimes(string fileOrDirectory, bool isFile)
1426 {
1427 if (this._ntfsTimesAreSet)
1428 {
1429 DateTime atime = this._Atime;
1430 DateTime ctime = this._Ctime;
1431 DateTime mtime = this._Mtime;
1433 {
1435 if (fileNameInArchive != null && fileNameInArchive == null)
1436 {
1437 throw new ArrayTypeMismatchException();
1438 }
1439 if (fileOrDirectory != null && fileOrDirectory == null)
1440 {
1441 throw new ArrayTypeMismatchException();
1442 }
1443 ZipFile zf = this._container._zf;
1444 if (zf != null && zf._StatusMessageTextWriter != null)
1445 {
1446 return;
1447 }
1448 }
1449 }
1450 else
1451 {
1454 if (NetCfFile.SetLastWriteTime(fileOrDirectory, dateTime) != 0)
1455 {
1457 if (fileNameInArchive2 != null && fileNameInArchive2 == null)
1458 {
1459 throw new ArrayTypeMismatchException();
1460 }
1461 if (fileOrDirectory != null && fileOrDirectory == null)
1462 {
1463 throw new ArrayTypeMismatchException();
1464 }
1465 ZipFile zf2 = this._container._zf;
1466 if (zf2 == null || zf2._StatusMessageTextWriter != null)
1467 {
1468 }
1469 }
1470 }
1471 }
1472
1473 // Token: 0x1700004D RID: 77
1474 // (get) Token: 0x0600010E RID: 270 RVA: 0x000042C0 File Offset: 0x000024C0
1476 {
1477 get
1478 {
1480 if (unsupportedAlgorithmId != 0U)
1481 {
1482 return "RC2";
1483 }
1484 return "Blowfish";
1485 }
1486 }
1487
1488 // Token: 0x1700004E RID: 78
1489 // (get) Token: 0x0600010F RID: 271 RVA: 0x00004344 File Offset: 0x00002544
1491 {
1492 get
1493 {
1494 return "PPMd";
1495 }
1496 }
1497
1498 // Token: 0x06000110 RID: 272 RVA: 0x00004388 File Offset: 0x00002588
1499 internal void ValidateEncryption()
1500 {
1502 }
1503
1504 // Token: 0x06000111 RID: 273 RVA: 0x000043BC File Offset: 0x000025BC
1509
1510 // Token: 0x06000112 RID: 274 RVA: 0x000043E0 File Offset: 0x000025E0
1511 private void SetupCryptoForExtract(string password)
1512 {
1513 do
1514 {
1516 }
1517 while (password == null);
1520 this.SetFdpLoh();
1523 ZipCrypto zipCrypto = ZipCrypto.ForRead(password, this);
1525 }
1526
1527 // Token: 0x06000113 RID: 275 RVA: 0x0000442C File Offset: 0x0000262C
1528 private bool ValidateOutput(string basedir, Stream outstream, [Out] string outFileName)
1529 {
1530 string fileName;
1531 while (basedir == null)
1532 {
1533 if (fileName != null)
1534 {
1535 return this._IsDirectory || this._FileNameInArchive.EndsWith("/");
1536 }
1537 }
1538 string text = this._FileNameInArchive.Replace("\\", "/").Substring(2);
1539 bool flag = text.StartsWith("/");
1540 string text2 = text.Substring(1);
1541 bool <FlattenFoldersOnExtract>k__BackingField = this._container._zf.<FlattenFoldersOnExtract>k__BackingField;
1542 if (<FlattenFoldersOnExtract>k__BackingField)
1543 {
1544 if (!<FlattenFoldersOnExtract>k__BackingField)
1545 {
1546 }
1547 fileName = Path.GetFileName(text2);
1548 }
1549 if (!<FlattenFoldersOnExtract>k__BackingField)
1550 {
1551 }
1552 string text3 = Path.Combine(basedir, fileName).Replace("/", "\\");
1553 if (!this._IsDirectory)
1554 {
1555 bool flag2 = this._FileNameInArchive.EndsWith("/");
1556 }
1558 bool flag3;
1559 return flag3;
1560 }
1561
1562 // Token: 0x06000114 RID: 276 RVA: 0x000044F8 File Offset: 0x000026F8
1580
1581 // Token: 0x06000115 RID: 277 RVA: 0x00004574 File Offset: 0x00002774
1582 private static bool ReadHeader(ZipEntry ze, Encoding defaultEncoding)
1583 {
1584 Stream stream;
1585 int num = SharedUtilities.ReadEntrySignature(stream);
1586 DateTime dateTime = SharedUtilities.PackedToDateTime(-1073741824);
1587 int num2 = 1;
1588 if (num2 == 0)
1589 {
1590 }
1593 if (stream2 != null)
1594 {
1595 }
1596 if (num2 == 0)
1597 {
1598 }
1599 if (-1073741824 != 0)
1600 {
1601 return;
1602 }
1603 }
1604
1605 // Token: 0x06000116 RID: 278 RVA: 0x00002122 File Offset: 0x00000322
1606 internal static int ReadWeakEncryptionHeader(Stream s, byte[] buffer)
1607 {
1608 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1609 }
1610
1611 // Token: 0x06000117 RID: 279 RVA: 0x00002122 File Offset: 0x00000322
1612 private static bool IsNotValidSig(int signature)
1613 {
1614 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1615 }
1616
1617 // Token: 0x06000118 RID: 280 RVA: 0x000045E4 File Offset: 0x000027E4
1618 internal static ZipEntry ReadEntry(ZipContainer zc, bool first)
1619 {
1620 int num = 3;
1621 if (num == 0)
1622 {
1623 }
1624 Stream stream;
1625 ZipEntry.HandlePK00Prefix(stream);
1626 if (num == 0)
1627 {
1628 return;
1629 }
1630 }
1631
1632 // Token: 0x06000119 RID: 281 RVA: 0x00004604 File Offset: 0x00002804
1633 internal static void HandlePK00Prefix(Stream s)
1634 {
1635 if (!true)
1636 {
1637 }
1638 int num = SharedUtilities.ReadInt(s);
1639 }
1640
1641 // Token: 0x0600011A RID: 282 RVA: 0x0000461C File Offset: 0x0000281C
1642 private static void HandleUnexpectedDataDescriptor(ZipEntry entry)
1643 {
1647 if (entry._CompressedSize == 0L)
1648 {
1649 }
1652 }
1653
1654 // Token: 0x0600011B RID: 283 RVA: 0x00002122 File Offset: 0x00000322
1655 internal static int FindExtraFieldSegment(byte[] extra, int offx, ushort targetHeaderId)
1656 {
1657 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1658 }
1659
1660 // Token: 0x0600011C RID: 284 RVA: 0x00004658 File Offset: 0x00002858
1662 {
1663 int num;
1664 return num;
1665 }
1666
1667 // Token: 0x0600011D RID: 285 RVA: 0x00002122 File Offset: 0x00000322
1669 {
1670 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1671 }
1672
1673 // Token: 0x0600011E RID: 286 RVA: 0x00004680 File Offset: 0x00002880
1674 private int ProcessExtraFieldZip64(byte[] buffer, int j, short dataSize, long posn)
1675 {
1676 /*
1677An exception occurred when decompiling this method (0600011E)
1678
1679ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.Zip.ZipEntry::ProcessExtraFieldZip64(System.Byte[],System.Int32,System.Int16,System.Int64)
1680
1681 ---> System.Exception: Basic block has to end with unconditional control flow.
1682{
1683 Block_0:
1684 stfld:bool(ZipEntry::_InputUsesZip64, ldloc:ZipEntry(this), ldc.i4:bool(1))
1685 stloc:int64(var_0_0D, ldfld:int64(ZipEntry::_UncompressedSize, ldloc:ZipEntry(this)))
1686 stloc:int64(var_1_14, ldfld:int64(ZipEntry::_CompressedSize, ldloc:ZipEntry(this)))
1687 stloc:int64(var_2_1B, ldfld:int64(ZipEntry::_RelativeOffsetOfLocalHeader, ldloc:ZipEntry(this)))
1688}
1689
1690 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
1691 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
1692 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
1693 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
1694 --- End of inner exception stack trace ---
1695 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
1696 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
1697*/;
1698 }
1699
1700 // Token: 0x0600011F RID: 287 RVA: 0x000046A8 File Offset: 0x000028A8
1701 private int ProcessExtraFieldInfoZipTimes(byte[] buffer, int j, short dataSize, long posn)
1702 {
1703 /*
1704An exception occurred when decompiling this method (0600011F)
1705
1706ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.Zip.ZipEntry::ProcessExtraFieldInfoZipTimes(System.Byte[],System.Int32,System.Int16,System.Int64)
1707
1708 ---> System.Exception: Basic block has to end with unconditional control flow.
1709{
1710 Block_0:
1711 stloc:int64(var_2_03, ldc.i4:int64(0))
1712 stfld:DateTime(ZipEntry::_Mtime, ldloc:ZipEntry(this), ldloc:DateTime(var_3))
1713 stloc:int32(var_4_12, call:int32(BitConverter::ToInt32, ldloc:uint8[](buffer), ldloc:int64[exp:int32](var_2_03)))
1714 stfld:DateTime(ZipEntry::_Atime, ldloc:ZipEntry(this), ldloc:DateTime(var_5))
1715 stloc:DateTime(var_7_24, callgetter:DateTime(DateTime::get_UtcNow))
1716 stloc:ZipEntryTimestamp(var_8_2C, ldfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this)))
1717 stloc:int32(var_9_2F, ldc.i4:int32(1))
1718 stfld:DateTime(ZipEntry::_Ctime, ldloc:ZipEntry(this), ldloc:DateTime(var_7_24))
1719 stfld:bool(ZipEntry::_ntfsTimesAreSet, ldloc:ZipEntry(this), ldloc:int32[exp:bool](var_9_2F))
1720 stfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this), ldloc:ZipEntryTimestamp(var_8_2C))
1721}
1722
1723 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
1724 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
1725 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
1726 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
1727 --- End of inner exception stack trace ---
1728 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
1729 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
1730*/;
1731 }
1732
1733 // Token: 0x06000120 RID: 288 RVA: 0x00004700 File Offset: 0x00002900
1734 private int ProcessExtraFieldUnixTimes(byte[] buffer, int j, short dataSize, long posn)
1735 {
1736 /*
1737An exception occurred when decompiling this method (06000120)
1738
1739ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.Zip.ZipEntry::ProcessExtraFieldUnixTimes(System.Byte[],System.Int32,System.Int16,System.Int64)
1740
1741 ---> System.Exception: Basic block has to end with unconditional control flow.
1742{
1743 IL_001E:
1744 stloc:DateTime(var_5_26, callgetter:DateTime(DateTime::get_UtcNow))
1745 stloc:ZipEntryTimestamp(var_6_2E, ldfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this)))
1746 stloc:int32(var_7_31, ldc.i4:int32(1))
1747 stfld:DateTime(ZipEntry::_Ctime, ldloc:ZipEntry(this), ldloc:DateTime(var_5_26))
1748 stfld:bool(ZipEntry::_ntfsTimesAreSet, ldloc:ZipEntry(this), ldloc:int32[exp:bool](var_7_31))
1749 stfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this), ldloc:ZipEntryTimestamp(var_6_2E))
1750 stfld:bool(ZipEntry::_emitUnixTimes, ldloc:ZipEntry(this), ldloc:int32[exp:bool](var_7_31))
1751 call:void(ZipEntry::ReadExtraField, ldloc:ZipEntry(this))
1752}
1753
1754 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
1755 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
1756 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
1757 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
1758 --- End of inner exception stack trace ---
1759 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
1760 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
1761*/;
1762 }
1763
1764 // Token: 0x06000121 RID: 289 RVA: 0x00004768 File Offset: 0x00002968
1765 private int ProcessExtraFieldWindowsTimes(byte[] buffer, int j, short dataSize, long posn)
1766 {
1767 /*
1768An exception occurred when decompiling this method (06000121)
1769
1770ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Ionic.Zip.ZipEntry::ProcessExtraFieldWindowsTimes(System.Byte[],System.Int32,System.Int16,System.Int64)
1771
1772 ---> System.Exception: Basic block has to end with unconditional control flow.
1773{
1774 Block_0:
1775 stloc:int64(var_1_0A, call:int64(BitConverter::ToInt64, ldloc:uint8[](buffer), ldloc:int64[exp:int32](posn)))
1776 stloc:int64(var_2_0C, ldc.i4:int64(0))
1777 stloc:DateTime(var_3_13, call:DateTime(DateTime::FromFileTimeUtc, ldloc:int64(var_1_0A)))
1778 stfld:DateTime(ZipEntry::_Mtime, ldloc:ZipEntry(this), ldloc:DateTime(var_3_13))
1779 stloc:int64(var_4_22, call:int64(BitConverter::ToInt64, ldloc:uint8[](buffer), ldloc:int64[exp:int32](var_2_0C)))
1780 stloc:int64(var_5_25, ldc.i4:int64(0))
1781 stloc:DateTime(var_6_2E, call:DateTime(DateTime::FromFileTimeUtc, ldloc:int64(var_4_22)))
1782 stfld:DateTime(ZipEntry::_Atime, ldloc:ZipEntry(this), ldloc:DateTime(var_6_2E))
1783 stloc:DateTime(var_7_45, call:DateTime(DateTime::FromFileTimeUtc, call:int64(BitConverter::ToInt64, ldloc:uint8[](buffer), ldloc:int64[exp:int32](var_5_25))))
1784 stloc:ZipEntryTimestamp(var_8_4D, ldfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this)))
1785 stloc:int32(var_9_54, ldc.i4:int32(257))
1786 stfld:DateTime(ZipEntry::_Ctime, ldloc:ZipEntry(this), ldloc:DateTime(var_7_45))
1787 stfld:bool(ZipEntry::_ntfsTimesAreSet, ldloc:ZipEntry(this), ldloc:int32[exp:bool](var_9_54))
1788 stfld:ZipEntryTimestamp(ZipEntry::_timestamp, ldloc:ZipEntry(this), ldloc:ZipEntryTimestamp(var_8_4D))
1789}
1790
1791 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
1792 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
1793 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
1794 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
1795 --- End of inner exception stack trace ---
1796 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
1797 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
1798*/;
1799 }
1800
1801 // Token: 0x06000122 RID: 290 RVA: 0x00002122 File Offset: 0x00000322
1803 {
1804 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1805 }
1806
1807 // Token: 0x06000123 RID: 291 RVA: 0x00002122 File Offset: 0x00000322
1809 {
1810 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1811 }
1812
1813 // Token: 0x06000124 RID: 292 RVA: 0x000047E4 File Offset: 0x000029E4
1814 private string NormalizeFileName()
1815 {
1816 string text = this._FileNameInArchive.Replace("\\", "/");
1818 {
1820 int stringLength = fileNameInArchive._stringLength;
1821 int num = 1;
1822 char c = fileNameInArchive[num];
1823 int num2 = 2;
1824 char c2 = text[num2];
1825 }
1826 int stringLength2 = this._FileNameInArchive._stringLength;
1827 long num3 = 0L;
1828 char c3 = text[(int)num3];
1829 int num4 = 1;
1830 char c4 = text[num4];
1831 int num5 = 47;
1832 int num6 = 2;
1833 int num7 = text.IndexOf((char)num5, num6);
1834 int stringLength3 = this._FileNameInArchive._stringLength;
1835 long num8 = 0L;
1836 char c5 = text[(int)num8];
1837 int num9 = 1;
1838 char c6 = text[num9];
1839 int num10 = 2;
1840 return text.Substring(num10);
1841 }
1842
1843 // Token: 0x06000125 RID: 293 RVA: 0x000048A4 File Offset: 0x00002AA4
1845 {
1846 /*
1847An exception occurred when decompiling this method (06000125)
1848
1849ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] Ionic.Zip.ZipEntry::GetEncodedFileNameBytes()
1850
1851 ---> System.Exception: Basic block has to end with unconditional control flow.
1852{
1853 IL_00C7:
1854 stloc:string(var_15_CD, ldfld:string(ZipEntry::_Comment, ldloc:ZipEntry(this)))
1855 stloc:Encoding(var_17_D5, ldfld:Encoding(ZipEntry::<AlternateEncoding>k__BackingField, ldloc:ZipEntry(this)))
1856 stloc:Encoding(var_18_DD, ldfld:Encoding(ZipEntry::<AlternateEncoding>k__BackingField, ldloc:ZipEntry(this)))
1857 stloc:string(var_19_E5, ldfld:string(ZipEntry::_Comment, ldloc:ZipEntry(this)))
1858 stloc:Encoding(var_20_ED, ldfld:Encoding(ZipEntry::<AlternateEncoding>k__BackingField, ldloc:ZipEntry(this)))
1859 stfld:uint8[](ZipEntry::_CommentBytes, ldloc:ZipEntry(this), ldloc:Encoding[exp:uint8[]](var_18_DD))
1860 stfld:Encoding(ZipEntry::_actualEncoding, ldloc:ZipEntry(this), ldloc:Encoding(var_20_ED))
1861}
1862
1863 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
1864 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
1865 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
1866 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
1867 --- End of inner exception stack trace ---
1868 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
1869 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
1870*/;
1871 }
1872
1873 // Token: 0x06000126 RID: 294 RVA: 0x000049B0 File Offset: 0x00002BB0
1874 private bool WantReadAgain()
1875 {
1877 if (this._CompressionMethod != 0 && this._CompressionLevel != CompressionLevel.None)
1878 {
1879 long compressedSize = this._CompressedSize;
1882 if (this._zipCrypto_forWrite != null)
1883 {
1884 long compressedSize2 = this._CompressedSize;
1886 }
1887 return;
1888 }
1889 }
1890
1891 // Token: 0x06000127 RID: 295 RVA: 0x00004A08 File Offset: 0x00002C08
1893 {
1894 while (!this._IsDirectory)
1895 {
1897 if (this._sourceStream != null && this._sourceStream == null)
1898 {
1899 return;
1900 }
1902 if (setCompressionCallback != null)
1903 {
1904 string localFileName = this._LocalFileName;
1906 IntPtr invoke_impl = setCompressionCallback.invoke_impl;
1907 IntPtr method_code = setCompressionCallback.method_code;
1908 IntPtr method = setCompressionCallback.method;
1909 }
1910 if (this._CompressionLevel == CompressionLevel.None)
1911 {
1913 return;
1914 }
1915 }
1916 }
1917
1918 // Token: 0x06000128 RID: 296 RVA: 0x00004A84 File Offset: 0x00002C84
1919 internal void WriteHeader(Stream s, int cycle)
1920 {
1923 int num = 1;
1924 this._presumeZip64 = num != 0;
1925 }
1926
1927 // Token: 0x06000129 RID: 297 RVA: 0x00004C64 File Offset: 0x00002E64
1928 private int FigureCrc32()
1929 {
1930 if (!this._crcCalculated)
1931 {
1932 if (this._Source == ZipEntrySource.None)
1933 {
1934 }
1937 IntPtr invoke_impl = writeDelegate.invoke_impl;
1938 IntPtr method_code = writeDelegate.method_code;
1939 IntPtr method = writeDelegate.method;
1940 int num;
1941 this._Crc32 = num;
1942 return num;
1943 }
1944 return this._Crc32;
1945 }
1946
1947 // Token: 0x0600012A RID: 298 RVA: 0x00004D2C File Offset: 0x00002F2C
1948 private void PrepSourceStream()
1949 {
1950 while (this._sourceStream == null)
1951 {
1952 }
1953 if (this._sourceStreamOriginalPosition != null)
1954 {
1955 return;
1956 }
1958 }
1959
1960 // Token: 0x0600012B RID: 299 RVA: 0x00004D54 File Offset: 0x00002F54
1962 {
1963 long _FileDataPosition = source.__FileDataPosition;
1965 short compressionMethod_FromZipFile = source._CompressionMethod_FromZipFile;
1967 short bitField = source._BitField;
1969 ZipEntrySource source2 = source._Source;
1971 DateTime lastModified = source._LastModified;
1973 DateTime mtime = source._Mtime;
1975 DateTime atime = source._Atime;
1977 DateTime ctime = source._Ctime;
1979 bool ntfsTimesAreSet = source._ntfsTimesAreSet;
1981 bool emitUnixTimes = source._emitUnixTimes;
1983 bool emitNtfsTimes = source._emitNtfsTimes;
1985 }
1986
1987 // Token: 0x0600012C RID: 300 RVA: 0x00004E0C File Offset: 0x0000300C
1989 {
1990 ZipContainer container = this._container;
1991 ZipFile zf = container._zf;
1992 if (zf != null)
1993 {
1994 bool flag = zf.OnSaveBlock(this, bytesXferred, totalBytesToXfer);
1995 this._ioOperationCanceled = container != null;
1996 }
1997 }
1998
1999 // Token: 0x0600012D RID: 301 RVA: 0x00004E3C File Offset: 0x0000303C
2001 {
2002 long num = this.SetInputAndFigureFileLength(s);
2003 if (num != 0L)
2004 {
2005 return;
2006 }
2010 IntPtr method_code = writeDelegate.method_code;
2011 IntPtr invoke_impl = writeDelegate.invoke_impl;
2012 IntPtr method = writeDelegate.method;
2013 }
2014
2015 // Token: 0x0600012E RID: 302 RVA: 0x00004F9C File Offset: 0x0000319C
2017 {
2018 /*
2019An exception occurred when decompiling this method (0600012E)
2020
2021ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 Ionic.Zip.ZipEntry::SetInputAndFigureFileLength(System.IO.Stream)
2022
2023 ---> System.Exception: Basic block has to end with unconditional control flow.
2024{
2025 IL_0097:
2026 stfld:Stream(ZipEntry::_sourceStream, ldloc:ZipEntry(this), ldloc:CrcCalculatorStream[exp:Stream](var_14))
2027 call:void(ZipEntry::PrepSourceStream, ldloc:ZipEntry(this))
2028 stloc:Stream(var_15_AB, ldfld:Stream(ZipEntry::_sourceStream, ldloc:ZipEntry(this)))
2029 stloc:Stream(var_16_B3, ldfld:Stream(ZipEntry::_sourceStream, ldloc:ZipEntry(this)))
2030}
2031
2032 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
2033 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
2034 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
2035 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
2036 --- End of inner exception stack trace ---
2037 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
2038 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
2039*/;
2040 }
2041
2042 // Token: 0x0600012F RID: 303 RVA: 0x00005064 File Offset: 0x00003264
2044 {
2045 if (output != null)
2046 {
2047 if (compressor != null)
2048 {
2049 }
2052 long bytesWritten = entryCounter._bytesWritten;
2055 int crc = output.Crc;
2056 long future_ROLH = this._future_ROLH;
2057 this._Crc32 = crc;
2059 }
2060 }
2061
2062 // Token: 0x06000130 RID: 304 RVA: 0x00002122 File Offset: 0x00000322
2064 {
2065 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2066 }
2067
2068 // Token: 0x06000131 RID: 305 RVA: 0x00002122 File Offset: 0x00000322
2069 private void SetZip64Flags()
2070 {
2071 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2072 }
2073
2074 // Token: 0x06000132 RID: 306 RVA: 0x000050BC File Offset: 0x000032BC
2075 internal void PrepOutputStream(Stream s, long streamLength, [Out] CountingStream outputCounter, [Out] Stream encryptor, [Out] Stream compressor, [Out] CrcCalculatorStream output)
2076 {
2077 if (streamLength != 0L)
2078 {
2080 Stream stream = this.MaybeApplyCompression(stream2, streamLength);
2081 return;
2082 }
2083 }
2084
2085 // Token: 0x06000133 RID: 307 RVA: 0x000050D8 File Offset: 0x000032D8
2087 {
2088 /*
2089An exception occurred when decompiling this method (06000133)
2090
2091ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream Ionic.Zip.ZipEntry::MaybeApplyCompression(System.IO.Stream,System.Int64)
2092
2093 ---> System.Exception: Basic block has to end with unconditional control flow.
2094{
2095 Block_0:
2096 stloc:int32(var_1_1A, callgetter:int32(ZipContainer::get_CodecBufferSize, ldfld:ZipContainer(ZipEntry::_container, ldloc:ZipEntry(this))))
2097 stloc:int32(var_2_26, callgetter:int32(ZipContainer::get_CodecBufferSize, ldfld:ZipContainer(ZipEntry::_container, ldloc:ZipEntry(this))))
2098 stloc:CompressionStrategy(var_3_32, callgetter:CompressionStrategy(ZipContainer::get_Strategy, ldfld:ZipContainer(ZipEntry::_container, ldloc:ZipEntry(this))))
2099}
2100
2101 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
2102 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
2103 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
2104 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
2105 --- End of inner exception stack trace ---
2106 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
2107 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
2108*/;
2109 }
2110
2111 // Token: 0x06000134 RID: 308 RVA: 0x00005118 File Offset: 0x00003318
2113 {
2114 /*
2115An exception occurred when decompiling this method (06000134)
2116
2117ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream Ionic.Zip.ZipEntry::MaybeApplyEncryption(System.IO.Stream)
2118
2119 ---> System.Exception: Basic block has to end with unconditional control flow.
2120{
2121 Block_0:
2122 stloc:EncryptionAlgorithm(var_0_06, ldfld:EncryptionAlgorithm(ZipEntry::_Encryption, ldloc:ZipEntry(this)))
2123 stloc:ZipCrypto(var_1_0D, ldfld:ZipCrypto(ZipEntry::_zipCrypto_forWrite, ldloc:ZipEntry(this)))
2124}
2125
2126 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
2127 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
2128 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
2129 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
2130 --- End of inner exception stack trace ---
2131 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
2132 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
2133*/;
2134 }
2135
2136 // Token: 0x06000135 RID: 309 RVA: 0x00005134 File Offset: 0x00003334
2138 {
2139 ZipContainer container = this._container;
2140 ZipFile zf = container._zf;
2141 if (zf != null)
2142 {
2143 bool flag = zf.OnZipErrorSaving(this, e);
2144 this._ioOperationCanceled = container != null;
2145 }
2146 }
2147
2148 // Token: 0x06000136 RID: 310 RVA: 0x00002122 File Offset: 0x00000322
2149 internal void Write(Stream s)
2150 {
2151 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2152 }
2153
2154 // Token: 0x06000137 RID: 311 RVA: 0x00005164 File Offset: 0x00003364
2155 internal void StoreRelativeOffset()
2156 {
2157 long future_ROLH = this._future_ROLH;
2159 }
2160
2161 // Token: 0x06000138 RID: 312 RVA: 0x00005180 File Offset: 0x00003380
2170
2171 // Token: 0x06000139 RID: 313 RVA: 0x000051B0 File Offset: 0x000033B0
2173 {
2174 if (this._Encryption == EncryptionAlgorithm.None)
2175 {
2176 return;
2177 }
2178 string password;
2179 if (this._Password == null)
2180 {
2182 password = this._container.Password;
2183 }
2184 if (password != null)
2185 {
2189 short bitField = this._BitField;
2190 int num = this.FigureCrc32();
2191 return;
2192 }
2193 }
2194
2195 // Token: 0x0600013A RID: 314 RVA: 0x00002122 File Offset: 0x00000322
2197 {
2198 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2199 }
2200
2201 // Token: 0x0600013B RID: 315 RVA: 0x00005238 File Offset: 0x00003438
2203 {
2204 long num2;
2205 ZipContainer container;
2206 ZipFile zf;
2207 for (;;)
2208 {
2209 int bufferSize = this._container.BufferSize;
2213 if (lengthOfHeader == 0)
2214 {
2215 this.SetFdpLoh();
2217 }
2218 long num = 0L;
2219 this.WriteHeader(outstream, (int)num);
2220 long future_ROLH = this._future_ROLH;
2223 bool flag = fileNameInArchive.EndsWith("/");
2227 long compressedSize = this._CompressedSize;
2228 num2 = 0L;
2229 container = this._container;
2230 zf = container._zf;
2231 if (zf != null)
2232 {
2233 break;
2234 }
2235 if (this._ioOperationCanceled)
2236 {
2237 goto Block_3;
2238 }
2239 }
2240 long compressedSize2 = this._CompressedSize;
2241 bool flag2 = zf.OnSaveBlock(this, num2, compressedSize2);
2242 this._ioOperationCanceled = container != null;
2243 while (container == null)
2244 {
2245 }
2246 return;
2247 Block_3:
2248 short bitField = this._BitField;
2249 bool inputUsesZip = this._InputUsesZip64;
2250 if (this._InputUsesZip64)
2251 {
2252 if (this._container.UseZip64WhenSaving == Zip64Option.Default)
2253 {
2254 long compressedSize3 = this._CompressedSize;
2259 this._TotalEntrySize = (long)lengthOfTrailer;
2260 return;
2261 }
2262 if (this._InputUsesZip64)
2263 {
2264 return;
2265 }
2266 }
2269 }
2270
2271 // Token: 0x0600013C RID: 316 RVA: 0x00005390 File Offset: 0x00003590
2273 {
2274 int bufferSize = this._container.BufferSize;
2277 long totalEntrySize = this._TotalEntrySize;
2278 if (totalEntrySize == 0L)
2279 {
2282 }
2283 long totalEntrySize2 = this._TotalEntrySize;
2284 }
2285
2286 // Token: 0x0600013D RID: 317 RVA: 0x00005428 File Offset: 0x00003628
2287 [Conditional("Trace")]
2288 private void TraceWriteLine(string format, params object[] varParams)
2289 {
2290 object outputLock = this._outputLock;
2295 }
2296
2297 // Token: 0x0600013E RID: 318 RVA: 0x0000547C File Offset: 0x0000367C
2298 // Note: this type is marked as 'beforefieldinit'.
2299 static ZipEntry()
2300 {
2301 Encoding encoding = Encoding.GetEncoding("IBM437");
2302 DateTime dateTime = DateTime.FromFileTimeUtc(0L);
2303 }
2304
2305 // Token: 0x0400004C RID: 76
2306 private short _VersionMadeBy;
2307
2308 // Token: 0x0400004D RID: 77
2309 private short _InternalFileAttrs;
2310
2311 // Token: 0x0400004E RID: 78
2313
2314 // Token: 0x0400004F RID: 79
2315 private short _filenameLength;
2316
2317 // Token: 0x04000050 RID: 80
2318 private short _extraFieldLength;
2319
2320 // Token: 0x04000051 RID: 81
2321 private short _commentLength;
2322
2323 // Token: 0x04000052 RID: 82
2325
2326 // Token: 0x04000053 RID: 83
2328
2329 // Token: 0x04000054 RID: 84
2331
2332 // Token: 0x04000055 RID: 85
2334
2335 // Token: 0x04000056 RID: 86
2337
2338 // Token: 0x04000057 RID: 87
2340
2341 // Token: 0x04000058 RID: 88
2342 private bool _ntfsTimesAreSet;
2343
2344 // Token: 0x04000059 RID: 89
2345 private bool _emitNtfsTimes = true;
2346
2347 // Token: 0x0400005A RID: 90
2348 private bool _emitUnixTimes;
2349
2350 // Token: 0x0400005B RID: 91
2352
2353 // Token: 0x0400005C RID: 92
2354 internal string _LocalFileName;
2355
2356 // Token: 0x0400005D RID: 93
2357 private string _FileNameInArchive;
2358
2359 // Token: 0x0400005E RID: 94
2360 internal short _VersionNeeded;
2361
2362 // Token: 0x0400005F RID: 95
2363 internal short _BitField;
2364
2365 // Token: 0x04000060 RID: 96
2366 internal short _CompressionMethod;
2367
2368 // Token: 0x04000061 RID: 97
2370
2371 // Token: 0x04000062 RID: 98
2373
2374 // Token: 0x04000063 RID: 99
2375 internal string _Comment;
2376
2377 // Token: 0x04000064 RID: 100
2378 private bool _IsDirectory;
2379
2380 // Token: 0x04000065 RID: 101
2381 private byte[] _CommentBytes;
2382
2383 // Token: 0x04000066 RID: 102
2384 internal long _CompressedSize;
2385
2386 // Token: 0x04000067 RID: 103
2388
2389 // Token: 0x04000068 RID: 104
2390 internal long _UncompressedSize;
2391
2392 // Token: 0x04000069 RID: 105
2393 internal int _TimeBlob;
2394
2395 // Token: 0x0400006A RID: 106
2396 private bool _crcCalculated;
2397
2398 // Token: 0x0400006B RID: 107
2399 internal int _Crc32;
2400
2401 // Token: 0x0400006C RID: 108
2402 internal byte[] _Extra;
2403
2404 // Token: 0x0400006D RID: 109
2405 private bool _metadataChanged;
2406
2407 // Token: 0x0400006E RID: 110
2409
2410 // Token: 0x0400006F RID: 111
2412
2413 // Token: 0x04000070 RID: 112
2415
2416 // Token: 0x04000071 RID: 113
2417 private uint _diskNumber;
2418
2419 // Token: 0x04000072 RID: 114
2420 private static Encoding ibm437;
2421
2422 // Token: 0x04000073 RID: 115
2424
2425 // Token: 0x04000074 RID: 116
2427
2428 // Token: 0x04000075 RID: 117
2430
2431 // Token: 0x04000076 RID: 118
2432 private byte[] _EntryHeader;
2433
2434 // Token: 0x04000077 RID: 119
2436
2437 // Token: 0x04000078 RID: 120
2438 private long _future_ROLH;
2439
2440 // Token: 0x04000079 RID: 121
2441 private long _TotalEntrySize;
2442
2443 // Token: 0x0400007A RID: 122
2444 private int _LengthOfHeader;
2445
2446 // Token: 0x0400007B RID: 123
2447 private int _LengthOfTrailer;
2448
2449 // Token: 0x0400007C RID: 124
2450 internal bool _InputUsesZip64;
2451
2452 // Token: 0x0400007D RID: 125
2454
2455 // Token: 0x0400007E RID: 126
2456 internal string _Password;
2457
2458 // Token: 0x0400007F RID: 127
2460
2461 // Token: 0x04000080 RID: 128
2463
2464 // Token: 0x04000081 RID: 129
2466
2467 // Token: 0x04000082 RID: 130
2468 internal byte[] _WeakEncryptionHeader;
2469
2470 // Token: 0x04000083 RID: 131
2472
2473 // Token: 0x04000084 RID: 132
2475
2476 // Token: 0x04000085 RID: 133
2478
2479 // Token: 0x04000086 RID: 134
2481
2482 // Token: 0x04000087 RID: 135
2484
2485 // Token: 0x04000088 RID: 136
2486 private bool _presumeZip64;
2487
2488 // Token: 0x04000089 RID: 137
2489 private bool? _entryRequiresZip64;
2490
2491 // Token: 0x0400008A RID: 138
2492 private bool? _OutputUsesZip64;
2493
2494 // Token: 0x0400008B RID: 139
2495 private bool _IsText;
2496
2497 // Token: 0x0400008C RID: 140
2499
2500 // Token: 0x0400008D RID: 141
2501 private static DateTime _unixEpoch;
2502
2503 // Token: 0x0400008E RID: 142
2504 private static DateTime _win32Epoch;
2505
2506 // Token: 0x0400008F RID: 143
2507 private static DateTime _zeroHour;
2508
2509 // Token: 0x04000090 RID: 144
2511
2512 // Token: 0x04000091 RID: 145
2514
2515 // Token: 0x04000092 RID: 146
2517
2518 // Token: 0x04000093 RID: 147
2520
2521 // Token: 0x04000094 RID: 148
2522 private int _readExtraDepth;
2523
2524 // Token: 0x04000095 RID: 149
2525 private object _outputLock;
2526
2527 // Token: 0x04000096 RID: 150
2528 private ExtractExistingFileAction <ExtractExistingFile>k__BackingField;
2529
2530 // Token: 0x04000097 RID: 151
2531 private ZipErrorAction <ZipErrorAction>k__BackingField;
2532
2533 // Token: 0x04000098 RID: 152
2534 private SetCompressionCallback <SetCompression>k__BackingField;
2535
2536 // Token: 0x04000099 RID: 153
2537 private Encoding <ProvisionalAlternateEncoding>k__BackingField;
2538
2539 // Token: 0x0400009A RID: 154
2540 private Encoding <AlternateEncoding>k__BackingField;
2541
2542 // Token: 0x0400009B RID: 155
2543 private ZipOption <AlternateEncodingUsage>k__BackingField;
2544
2545 // Token: 0x0200001E RID: 30
2546 private class CopyHelper
2547 {
2548 // Token: 0x0600013F RID: 319 RVA: 0x000054AC File Offset: 0x000036AC
2549 internal static string AppendCopyToFileName(string f)
2550 {
2551 if (!true)
2552 {
2553 }
2554 Match match;
2555 bool success = match.Success;
2556 Group group;
2557 int num = int.Parse(group.Value);
2558 int <Index>k__BackingField = match.<Index>k__BackingField;
2559 string text;
2560 return text;
2561 }
2562
2563 // Token: 0x06000140 RID: 320 RVA: 0x0000552C File Offset: 0x0000372C
2564 public CopyHelper()
2565 {
2566 }
2567
2568 // Token: 0x06000141 RID: 321 RVA: 0x00005540 File Offset: 0x00003740
2569 // Note: this type is marked as 'beforefieldinit'.
2570 static CopyHelper()
2571 {
2572 }
2573
2574 // Token: 0x0400009C RID: 156
2575 private static Regex re;
2576
2577 // Token: 0x0400009D RID: 157
2578 private static int callCount;
2579 }
2580
2581 // Token: 0x0200001F RID: 31
2582 private sealed class Func<T> : MulticastDelegate
2583 {
2584 // Token: 0x06000142 RID: 322 RVA: 0x00005550 File Offset: 0x00003750
2585 public Func(object @object, IntPtr method)
2586 {
2587 }
2588
2589 // Token: 0x06000143 RID: 323 RVA: 0x00002122 File Offset: 0x00000322
2590 public T Invoke()
2591 {
2592 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2593 }
2594
2595 // Token: 0x06000144 RID: 324 RVA: 0x00002122 File Offset: 0x00000322
2596 public IAsyncResult BeginInvoke(AsyncCallback callback, object @object)
2597 {
2598 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2599 }
2600
2601 // Token: 0x06000145 RID: 325 RVA: 0x00002122 File Offset: 0x00000322
2602 public T EndInvoke(IAsyncResult result)
2603 {
2604 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2605 }
2606 }
2607
2608 // Token: 0x02000020 RID: 32
2609 private sealed class <>c__DisplayClass1
2610 {
2611 // Token: 0x06000146 RID: 326 RVA: 0x0000556C File Offset: 0x0000376C
2613 {
2614 }
2615
2616 // Token: 0x06000147 RID: 327 RVA: 0x00005580 File Offset: 0x00003780
2618 {
2619 int num = this.remainingData;
2620 byte[] array = this.buffer;
2621 int num2 = this.j;
2623 int num4 = this.j;
2624 int num5 = this.remainingData;
2625 this.j = num4;
2627 return num3;
2628 }
2629
2630 // Token: 0x0400009E RID: 158
2631 public int remainingData;
2632
2633 // Token: 0x0400009F RID: 159
2634 public byte[] buffer;
2635
2636 // Token: 0x040000A0 RID: 160
2637 public int j;
2638
2639 // Token: 0x040000A1 RID: 161
2640 public long posn;
2641 }
2642
2643 // Token: 0x02000021 RID: 33
2644 private sealed class <>c__DisplayClass4
2645 {
2646 // Token: 0x06000148 RID: 328 RVA: 0x000055D4 File Offset: 0x000037D4
2648 {
2649 }
2650
2651 // Token: 0x06000149 RID: 329 RVA: 0x000055E8 File Offset: 0x000037E8
2653 {
2654 /*
2655An exception occurred when decompiling this method (06000149)
2656
2657ICSharpCode.Decompiler.DecompilerException: Error decompiling System.DateTime Ionic.Zip.ZipEntry/<>c__DisplayClass4::<ProcessExtraFieldUnixTimes>b__3()
2658
2659 ---> System.Exception: Basic block has to end with unconditional control flow.
2660{
2661 IL_0013:
2662 stloc:int32(var_3_1A, call:int32(BitConverter::ToInt32, ldloc:uint8[](var_1_08), ldloc:int32(var_2_0F)))
2663 stloc:int32(var_4_21, ldfld:int32('<>c__DisplayClass4'::j, ldloc:'<>c__DisplayClass4'(this)))
2664 stloc:int32(var_5_29, ldfld:int32('<>c__DisplayClass4'::remainingData, ldloc:'<>c__DisplayClass4'(this)))
2665 stfld:int32('<>c__DisplayClass4'::j, ldloc:'<>c__DisplayClass4'(this), ldloc:int32(var_4_21))
2666 stfld:int32('<>c__DisplayClass4'::remainingData, ldloc:'<>c__DisplayClass4'(this), ldloc:int32(var_5_29))
2667 brtrue(IL_0000, ldloc:int32[exp:bool](var_5_29))
2668}
2669
2670 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
2671 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
2672 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
2673 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
2674 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
2675 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
2676 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
2677 --- End of inner exception stack trace ---
2678 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
2679 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
2680*/;
2681 }
2682
2683 // Token: 0x040000A2 RID: 162
2684 public int remainingData;
2685
2686 // Token: 0x040000A3 RID: 163
2687 public ZipEntry <>4__this;
2688
2689 // Token: 0x040000A4 RID: 164
2690 public byte[] buffer;
2691
2692 // Token: 0x040000A5 RID: 165
2693 public int j;
2694 }
2695 }
2696}
class f__AnonymousType0<< Count > j__TPar
static readonly long
static uint GetAttributes(string lpFileName)
static bool SetAttributes(string lpFileName, uint dwFileAttributes)
static int SetTimes(string filename, DateTime ctime, DateTime atime, DateTime mtime)
Definition NetCfFile.cs:10
static int SetLastWriteTime(string filename, DateTime mtime)
Definition NetCfFile.cs:27
static int ReadEntrySignature(Stream s)
static DateTime AdjustTime_Reverse(DateTime time)
static int ReadInt(Stream s)
static DateTime PackedToDateTime(int packedDateTime)
static string NormalizePathForUseInZipFile(string pathName)
ZipOutputStream _zos
Zip64Option UseZip64WhenSaving
static ZipCrypto ForWrite(string password)
Definition ZipCrypto.cs:16
static ZipCrypto ForRead(string password, ZipEntry e)
Definition ZipCrypto.cs:22
static string AppendCopyToFileName(string f)
Definition ZipEntry.cs:2549
IAsyncResult BeginInvoke(AsyncCallback callback, object @object)
Definition ZipEntry.cs:2596
T EndInvoke(IAsyncResult result)
Definition ZipEntry.cs:2602
Func(object @object, IntPtr method)
Definition ZipEntry.cs:2585
double CompressionRatio
Definition ZipEntry.cs:519
void _CheckRead(int nbytes)
Definition ZipEntry.cs:1311
DateTime _LastModified
Definition ZipEntry.cs:2330
DateTime LastModified
Definition ZipEntry.cs:129
static Encoding ibm437
Definition ZipEntry.cs:2420
void CopyThroughWithNoChange(Stream outstream)
Definition ZipEntry.cs:2272
bool InputStreamWasJitProvided
Definition ZipEntry.cs:373
int ProcessExtraField(Stream s, short extraFieldLength)
Definition ZipEntry.cs:1661
ZipErrorAction< ZipErrorAction > k__BackingField
Definition ZipEntry.cs:2531
long _RelativeOffsetOfLocalHeader
Definition ZipEntry.cs:2435
static void ReallyDelete(string fileName)
Definition ZipEntry.cs:1204
static void HandlePK00Prefix(Stream s)
Definition ZipEntry.cs:1633
void MarkAsDirectory()
Definition ZipEntry.cs:926
static ZipEntry CreateFromFile(string filename, string nameInArchive)
Definition ZipEntry.cs:851
static bool IsNotValidSig(int signature)
Definition ZipEntry.cs:1612
static ZipEntry CreateForWriter(string entryName, WriteDelegate d)
Definition ZipEntry.cs:871
int ProcessExtraFieldPkwareStrongEncryption(byte[] Buffer, int j)
Definition ZipEntry.cs:1668
Encoding< AlternateEncoding > k__BackingField
Definition ZipEntry.cs:2540
bool AttributesIndicateDirectory
Definition ZipEntry.cs:23
SetCompressionCallback< SetCompression > k__BackingField
Definition ZipEntry.cs:2534
void InternalExtract(string baseDir, Stream outstream, string password)
Definition ZipEntry.cs:1222
void ExtractWithPassword(string baseDirectory, string password)
Definition ZipEntry.cs:1079
int CheckExtractExistingFile(string baseDir, string targetFileName)
Definition ZipEntry.cs:1287
static ZipEntry ReadEntry(ZipContainer zc, bool first)
Definition ZipEntry.cs:1618
void VerifyCrcAfterExtract(int actualCrc32)
Definition ZipEntry.cs:1281
byte[] _WeakEncryptionHeader
Definition ZipEntry.cs:2468
void ResetDirEntry()
Definition ZipEntry.cs:33
static ZipEntry CreateForStream(string entryName, Stream s)
Definition ZipEntry.cs:861
EncryptionAlgorithm _Encryption_FromZipFile
Definition ZipEntry.cs:2465
ZipCrypto _zipCrypto_forExtract
Definition ZipEntry.cs:2324
ZipEntrySource _Source
Definition ZipEntry.cs:2459
void ExtractWithPassword(string baseDirectory, ExtractExistingFileAction extractExistingFile, string password)
Definition ZipEntry.cs:1090
CompressionLevel _CompressionLevel
Definition ZipEntry.cs:2372
void CopyThroughOneEntry(Stream outStream)
Definition ZipEntry.cs:2196
Stream MaybeApplyCompression(Stream s, long streamLength)
Definition ZipEntry.cs:2086
void SetEntryTimes(DateTime created, DateTime accessed, DateTime modified)
Definition ZipEntry.cs:218
DateTime AccessedTime
Definition ZipEntry.cs:183
static ZipEntry CreateForZipOutputStream(string nameInArchive)
Definition ZipEntry.cs:891
string UnsupportedCompressionMethod
Definition ZipEntry.cs:1491
EncryptionAlgorithm _Encryption
Definition ZipEntry.cs:2462
Stream GetExtractDecryptor(Stream input)
Definition ZipEntry.cs:1400
uint _UnsupportedAlgorithmId
Definition ZipEntry.cs:2453
static int ReadWeakEncryptionHeader(Stream s, byte[] buffer)
Definition ZipEntry.cs:1606
string NormalizeFileName()
Definition ZipEntry.cs:1814
void OnWriteBlock(long bytesXferred, long totalBytesToXfer)
Definition ZipEntry.cs:1988
void ValidateCompression()
Definition ZipEntry.cs:1505
ExtractExistingFileAction< ExtractExistingFile > k__BackingField
Definition ZipEntry.cs:2528
Stream GetExtractDecompressor(Stream input2)
Definition ZipEntry.cs:1392
ExtractExistingFileAction ExtractExistingFile
Definition ZipEntry.cs:677
static DateTime _unixEpoch
Definition ZipEntry.cs:2501
void WriteSecurityMetadata(Stream outstream)
Definition ZipEntry.cs:2172
ZipContainer _container
Definition ZipEntry.cs:2426
ZipOption AlternateEncodingUsage
Definition ZipEntry.cs:818
int ProcessExtraFieldInfoZipTimes(byte[] buffer, int j, short dataSize, long posn)
Definition ZipEntry.cs:1701
byte[] GetEncodedFileNameBytes()
Definition ZipEntry.cs:1844
void TraceWriteLine(string format, params object[] varParams)
Definition ZipEntry.cs:2288
void CopyMetaData(ZipEntry source)
Definition ZipEntry.cs:1961
EncryptionAlgorithm Encryption
Definition ZipEntry.cs:596
void OnBeforeExtract(string path)
Definition ZipEntry.cs:1165
void Write(Stream s)
Definition ZipEntry.cs:2149
SetCompressionCallback SetCompression
Definition ZipEntry.cs:735
void _SetTimes(string fileOrDirectory, bool isFile)
Definition ZipEntry.cs:1425
ZipOption< AlternateEncodingUsage > k__BackingField
Definition ZipEntry.cs:2543
static ZipEntry CreateForJitStreamProvider(string nameInArchive, OpenDelegate opener, CloseDelegate closer)
Definition ZipEntry.cs:881
void ExtractWithPassword(Stream stream, string password)
Definition ZipEntry.cs:1096
Encoding ProvisionalAlternateEncoding
Definition ZipEntry.cs:788
static ZipEntry Create(string nameInArchive, ZipEntrySource source, object arg1, object arg2)
Definition ZipEntry.cs:901
CrcCalculatorStream OpenReader(string password)
Definition ZipEntry.cs:1118
void WriteHeader(Stream s, int cycle)
Definition ZipEntry.cs:1919
Encoding< ProvisionalAlternateEncoding > k__BackingField
Definition ZipEntry.cs:2537
void NotifySaveComplete()
Definition ZipEntry.cs:2162
bool UseUnicodeAsNecessary
Definition ZipEntry.cs:751
static ZipEntry CreateFromNothing(string nameInArchive)
Definition ZipEntry.cs:841
int ExtractOne(Stream output)
Definition ZipEntry.cs:1339
void OnExtractExisting(string path)
Definition ZipEntry.cs:1192
static DateTime _win32Epoch
Definition ZipEntry.cs:2504
DateTime CreationTime
Definition ZipEntry.cs:202
void OnExtractProgress(long bytesWritten, long totalBytesToWrite)
Definition ZipEntry.cs:1153
long? _sourceStreamOriginalPosition
Definition ZipEntry.cs:2477
FileAttributes Attributes
Definition ZipEntry.cs:286
void Extract(Stream stream)
Definition ZipEntry.cs:1058
static void HandleUnexpectedDataDescriptor(ZipEntry entry)
Definition ZipEntry.cs:1642
WriteDelegate _WriteDelegate
Definition ZipEntry.cs:2510
bool IncludedInMostRecentSave
Definition ZipEntry.cs:706
void _WriteEntryData(Stream s)
Definition ZipEntry.cs:2000
Stream _inputDecryptorStream
Definition ZipEntry.cs:2519
void OnZipErrorWhileSaving(Exception e)
Definition ZipEntry.cs:2137
void WriteCentralDirectoryEntry(Stream s)
Definition ZipEntry.cs:1802
string _FileNameInArchive
Definition ZipEntry.cs:2357
short _CompressionMethod_FromZipFile
Definition ZipEntry.cs:2369
bool EmitTimesInWindowsFormatWhenSaving
Definition ZipEntry.cs:246
ZipCrypto _zipCrypto_forWrite
Definition ZipEntry.cs:2327
ZipEntryTimestamp Timestamp
Definition ZipEntry.cs:275
bool _restreamRequiredOnSave
Definition ZipEntry.cs:2408
CrcCalculatorStream OpenReader()
Definition ZipEntry.cs:1101
void FinishOutputStream(Stream s, CountingStream entryCounter, Stream encryptor, Stream compressor, CrcCalculatorStream output)
Definition ZipEntry.cs:2043
void PrepOutputStream(Stream s, long streamLength, [Out] CountingStream outputCounter, [Out] Stream encryptor, [Out] Stream compressor, [Out] CrcCalculatorStream output)
Definition ZipEntry.cs:2075
void CopyThroughWithRecompute(Stream outstream)
Definition ZipEntry.cs:2202
void StoreRelativeOffset()
Definition ZipEntry.cs:2155
void ExtractWithPassword(string password)
Definition ZipEntry.cs:1074
bool ValidateOutput(string basedir, Stream outstream, [Out] string outFileName)
Definition ZipEntry.cs:1528
CrcCalculatorStream InternalOpenReader(string password)
Definition ZipEntry.cs:1127
static int FindExtraFieldSegment(byte[] extra, int offx, ushort targetHeaderId)
Definition ZipEntry.cs:1655
static int GetLengthOfCryptoHeaderBytes(EncryptionAlgorithm a)
Definition ZipEntry.cs:998
void PostProcessOutput(Stream s)
Definition ZipEntry.cs:2063
CloseDelegate _CloseDelegate
Definition ZipEntry.cs:2516
Stream MaybeApplyEncryption(Stream s)
Definition ZipEntry.cs:2112
static bool ReadHeader(ZipEntry ze, Encoding defaultEncoding)
Definition ZipEntry.cs:1582
ZipEntryTimestamp _timestamp
Definition ZipEntry.cs:2498
void OnAfterExtract(string path)
Definition ZipEntry.cs:1180
long _CompressedFileDataSize
Definition ZipEntry.cs:2387
long SetInputAndFigureFileLength(Stream input)
Definition ZipEntry.cs:2016
static bool IsNotValidZipDirEntrySig(int signature)
Definition ZipEntry.cs:111
void Extract(ExtractExistingFileAction extractExistingFile)
Definition ZipEntry.cs:1052
void SetupCryptoForExtract(string password)
Definition ZipEntry.cs:1511
void ValidateEncryption()
Definition ZipEntry.cs:1499
ZipEntrySource Source
Definition ZipEntry.cs:383
static string NameInArchive(string filename, string directoryPathInArchive)
Definition ZipEntry.cs:830
OpenDelegate _OpenDelegate
Definition ZipEntry.cs:2513
string UnsupportedAlgorithm
Definition ZipEntry.cs:1476
static DateTime _zeroHour
Definition ZipEntry.cs:2507
override string ToString()
Definition ZipEntry.cs:949
void Extract(string baseDirectory)
Definition ZipEntry.cs:1063
void ExtractWithPassword(ExtractExistingFileAction extractExistingFile, string password)
Definition ZipEntry.cs:1084
void PrepSourceStream()
Definition ZipEntry.cs:1948
int ProcessExtraFieldZip64(byte[] buffer, int j, short dataSize, long posn)
Definition ZipEntry.cs:1674
Encoding AlternateEncoding
Definition ZipEntry.cs:803
int ProcessExtraFieldWindowsTimes(byte[] buffer, int j, short dataSize, long posn)
Definition ZipEntry.cs:1765
void Extract(string baseDirectory, ExtractExistingFileAction extractExistingFile)
Definition ZipEntry.cs:1068
void MaybeUnsetCompressionMethodForWriting(int cycle)
Definition ZipEntry.cs:1892
Encoding _actualEncoding
Definition ZipEntry.cs:2423
bool EmitTimesInUnixFormatWhenSaving
Definition ZipEntry.cs:261
void WriteStatus(string format, params object[] args)
Definition ZipEntry.cs:1212
bool _TrimVolumeFromFullyQualifiedPaths
Definition ZipEntry.cs:2351
int ProcessExtraFieldUnixTimes(byte[] buffer, int j, short dataSize, long posn)
Definition ZipEntry.cs:1734
static ZipEntry ReadDirEntry(ZipFile zf, Dictionary< string, object > previouslySeen)
Definition ZipEntry.cs:86
bool? _entryRequiresZip64
Definition ZipEntry.cs:2489
byte[] ConstructExtraField(bool forCentralDirectory)
Definition ZipEntry.cs:1808
DateTime ModifiedTime
Definition ZipEntry.cs:164
void InternalAddEntry(string name, ZipEntry entry)
Definition ZipFile.cs:384
bool OnSaveBlock(ZipEntry entry, long bytesXferred, long totalBytesToXfer)
Definition ZipFile.cs:1704
Stream StreamForDiskNumber(uint diskNumber)
Definition ZipFile.cs:1182
void Reset(bool whileSaving)
Definition ZipFile.cs:1196
void RemoveEntry(ZipEntry entry)
Definition ZipFile.cs:1557
TextWriter _StatusMessageTextWriter
Definition ZipFile.cs:2643
bool OnExtractBlock(ZipEntry entry, long bytesWritten, long totalBytesToWrite)
Definition ZipFile.cs:1888
bool OnExtractExisting(ZipEntry entry, string path)
Definition ZipFile.cs:1918
bool OnZipErrorSaving(ZipEntry entry, Exception exc)
Definition ZipFile.cs:2039
bool OnSingleEntryExtract(ZipEntry entry, string path, bool before)
Definition ZipFile.cs:1902
static long ToInt64(byte[] value, int startIndex)
static void WriteLine(object value)
Definition Console.cs:134
static void Delete(string path)
Definition File.cs:77
static string Combine(string path1, string path2)
Definition Path.cs:41
static string GetFileName(string path)
Definition Path.cs:142
static Encoding UTF8
Definition Encoding.cs:828
static Encoding GetEncoding(int codepage)
Definition Encoding.cs:130
static void Exit(object obj)
Definition Monitor.cs:47
static void Enter(object obj)
Definition Monitor.cs:11
static Thread CurrentThread
Definition Thread.cs:381
DateTime ToUniversalTime()
Definition DateTime.cs:884
static DateTime FromFileTimeUtc(long fileTime)
Definition DateTime.cs:370
static DateTime UtcNow
Definition DateTime.cs:1318