]> gerrit.simantics Code Review - simantics/sysdyn.git/blob
59b52a4a9443bf408f28dcc3b11b122ef6f9c9a0
[simantics/sysdyn.git] /
1 ; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 \r
2 \r
3         TITLE   C:\Workspaces\Sysdyn\org.simantics.fmu\FMUSolution\zlib-1.2.6\infback.c\r
4         .686P\r
5         .XMM\r
6         include listing.inc\r
7         .model  flat\r
8 \r
9 INCLUDELIB OLDNAMES\r
10 \r
11 PUBLIC  ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@     ; `string'\r
12 PUBLIC  ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ ; `string'\r
13 PUBLIC  ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ ; `string'\r
14 PUBLIC  ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ ; `string'\r
15 PUBLIC  ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ ; `string'\r
16 PUBLIC  ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ ; `string'\r
17 PUBLIC  ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ ; `string'\r
18 PUBLIC  ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ ; `string'\r
19 PUBLIC  ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ ; `string'\r
20 PUBLIC  ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ ; `string'\r
21 PUBLIC  ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ ; `string'\r
22 ;       COMDAT ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@\r
23 CONST   SEGMENT\r
24 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ DB 'invalid dis'\r
25         DB      'tance too far back', 00H                       ; `string'\r
26 CONST   ENDS\r
27 ;       COMDAT ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@\r
28 CONST   SEGMENT\r
29 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ DB 'invalid distance code'\r
30         DB      00H                                             ; `string'\r
31 CONST   ENDS\r
32 ;       COMDAT ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@\r
33 CONST   SEGMENT\r
34 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ DB 'invalid litera'\r
35         DB      'l/length code', 00H                            ; `string'\r
36 CONST   ENDS\r
37 ;       COMDAT ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@\r
38 CONST   SEGMENT\r
39 ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ DB 'invalid distances set'\r
40         DB      00H                                             ; `string'\r
41 CONST   ENDS\r
42 ;       COMDAT ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@\r
43 CONST   SEGMENT\r
44 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ DB 'invalid litera'\r
45         DB      'l/lengths set', 00H                            ; `string'\r
46 CONST   ENDS\r
47 ;       COMDAT ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@\r
48 CONST   SEGMENT\r
49 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ DB 'invalid '\r
50         DB      'code -- missing end-of-block', 00H             ; `string'\r
51 CONST   ENDS\r
52 ;       COMDAT ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@\r
53 CONST   SEGMENT\r
54 ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ DB 'invalid bit leng'\r
55         DB      'th repeat', 00H                                ; `string'\r
56 CONST   ENDS\r
57 ;       COMDAT ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@\r
58 CONST   SEGMENT\r
59 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ DB 'invalid code leng'\r
60         DB      'ths set', 00H                          ; `string'\r
61 CONST   ENDS\r
62 ;       COMDAT ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@\r
63 CONST   SEGMENT\r
64 ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ DB 'too many le'\r
65         DB      'ngth or distance symbols', 00H         ; `string'\r
66 CONST   ENDS\r
67 ;       COMDAT ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@\r
68 CONST   SEGMENT\r
69 ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ DB 'invalid store'\r
70         DB      'd block lengths', 00H                  ; `string'\r
71 CONST   ENDS\r
72 ;       COMDAT ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@\r
73 CONST   SEGMENT\r
74 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ DB 'invalid block type', 00H ; `string'\r
75         ORG $+2\r
76 ?lenfix@?1??fixedtables@@9@9 DB 060H                    ; `fixedtables'::`2'::lenfix\r
77         DB      07H\r
78         DW      00H\r
79         DB      00H\r
80         DB      08H\r
81         DW      050H\r
82         DB      00H\r
83         DB      08H\r
84         DW      010H\r
85         DB      014H\r
86         DB      08H\r
87         DW      073H\r
88         DB      012H\r
89         DB      07H\r
90         DW      01fH\r
91         DB      00H\r
92         DB      08H\r
93         DW      070H\r
94         DB      00H\r
95         DB      08H\r
96         DW      030H\r
97         DB      00H\r
98         DB      09H\r
99         DW      0c0H\r
100         DB      010H\r
101         DB      07H\r
102         DW      0aH\r
103         DB      00H\r
104         DB      08H\r
105         DW      060H\r
106         DB      00H\r
107         DB      08H\r
108         DW      020H\r
109         DB      00H\r
110         DB      09H\r
111         DW      0a0H\r
112         DB      00H\r
113         DB      08H\r
114         DW      00H\r
115         DB      00H\r
116         DB      08H\r
117         DW      080H\r
118         DB      00H\r
119         DB      08H\r
120         DW      040H\r
121         DB      00H\r
122         DB      09H\r
123         DW      0e0H\r
124         DB      010H\r
125         DB      07H\r
126         DW      06H\r
127         DB      00H\r
128         DB      08H\r
129         DW      058H\r
130         DB      00H\r
131         DB      08H\r
132         DW      018H\r
133         DB      00H\r
134         DB      09H\r
135         DW      090H\r
136         DB      013H\r
137         DB      07H\r
138         DW      03bH\r
139         DB      00H\r
140         DB      08H\r
141         DW      078H\r
142         DB      00H\r
143         DB      08H\r
144         DW      038H\r
145         DB      00H\r
146         DB      09H\r
147         DW      0d0H\r
148         DB      011H\r
149         DB      07H\r
150         DW      011H\r
151         DB      00H\r
152         DB      08H\r
153         DW      068H\r
154         DB      00H\r
155         DB      08H\r
156         DW      028H\r
157         DB      00H\r
158         DB      09H\r
159         DW      0b0H\r
160         DB      00H\r
161         DB      08H\r
162         DW      08H\r
163         DB      00H\r
164         DB      08H\r
165         DW      088H\r
166         DB      00H\r
167         DB      08H\r
168         DW      048H\r
169         DB      00H\r
170         DB      09H\r
171         DW      0f0H\r
172         DB      010H\r
173         DB      07H\r
174         DW      04H\r
175         DB      00H\r
176         DB      08H\r
177         DW      054H\r
178         DB      00H\r
179         DB      08H\r
180         DW      014H\r
181         DB      015H\r
182         DB      08H\r
183         DW      0e3H\r
184         DB      013H\r
185         DB      07H\r
186         DW      02bH\r
187         DB      00H\r
188         DB      08H\r
189         DW      074H\r
190         DB      00H\r
191         DB      08H\r
192         DW      034H\r
193         DB      00H\r
194         DB      09H\r
195         DW      0c8H\r
196         DB      011H\r
197         DB      07H\r
198         DW      0dH\r
199         DB      00H\r
200         DB      08H\r
201         DW      064H\r
202         DB      00H\r
203         DB      08H\r
204         DW      024H\r
205         DB      00H\r
206         DB      09H\r
207         DW      0a8H\r
208         DB      00H\r
209         DB      08H\r
210         DW      04H\r
211         DB      00H\r
212         DB      08H\r
213         DW      084H\r
214         DB      00H\r
215         DB      08H\r
216         DW      044H\r
217         DB      00H\r
218         DB      09H\r
219         DW      0e8H\r
220         DB      010H\r
221         DB      07H\r
222         DW      08H\r
223         DB      00H\r
224         DB      08H\r
225         DW      05cH\r
226         DB      00H\r
227         DB      08H\r
228         DW      01cH\r
229         DB      00H\r
230         DB      09H\r
231         DW      098H\r
232         DB      014H\r
233         DB      07H\r
234         DW      053H\r
235         DB      00H\r
236         DB      08H\r
237         DW      07cH\r
238         DB      00H\r
239         DB      08H\r
240         DW      03cH\r
241         DB      00H\r
242         DB      09H\r
243         DW      0d8H\r
244         DB      012H\r
245         DB      07H\r
246         DW      017H\r
247         DB      00H\r
248         DB      08H\r
249         DW      06cH\r
250         DB      00H\r
251         DB      08H\r
252         DW      02cH\r
253         DB      00H\r
254         DB      09H\r
255         DW      0b8H\r
256         DB      00H\r
257         DB      08H\r
258         DW      0cH\r
259         DB      00H\r
260         DB      08H\r
261         DW      08cH\r
262         DB      00H\r
263         DB      08H\r
264         DW      04cH\r
265         DB      00H\r
266         DB      09H\r
267         DW      0f8H\r
268         DB      010H\r
269         DB      07H\r
270         DW      03H\r
271         DB      00H\r
272         DB      08H\r
273         DW      052H\r
274         DB      00H\r
275         DB      08H\r
276         DW      012H\r
277         DB      015H\r
278         DB      08H\r
279         DW      0a3H\r
280         DB      013H\r
281         DB      07H\r
282         DW      023H\r
283         DB      00H\r
284         DB      08H\r
285         DW      072H\r
286         DB      00H\r
287         DB      08H\r
288         DW      032H\r
289         DB      00H\r
290         DB      09H\r
291         DW      0c4H\r
292         DB      011H\r
293         DB      07H\r
294         DW      0bH\r
295         DB      00H\r
296         DB      08H\r
297         DW      062H\r
298         DB      00H\r
299         DB      08H\r
300         DW      022H\r
301         DB      00H\r
302         DB      09H\r
303         DW      0a4H\r
304         DB      00H\r
305         DB      08H\r
306         DW      02H\r
307         DB      00H\r
308         DB      08H\r
309         DW      082H\r
310         DB      00H\r
311         DB      08H\r
312         DW      042H\r
313         DB      00H\r
314         DB      09H\r
315         DW      0e4H\r
316         DB      010H\r
317         DB      07H\r
318         DW      07H\r
319         DB      00H\r
320         DB      08H\r
321         DW      05aH\r
322         DB      00H\r
323         DB      08H\r
324         DW      01aH\r
325         DB      00H\r
326         DB      09H\r
327         DW      094H\r
328         DB      014H\r
329         DB      07H\r
330         DW      043H\r
331         DB      00H\r
332         DB      08H\r
333         DW      07aH\r
334         DB      00H\r
335         DB      08H\r
336         DW      03aH\r
337         DB      00H\r
338         DB      09H\r
339         DW      0d4H\r
340         DB      012H\r
341         DB      07H\r
342         DW      013H\r
343         DB      00H\r
344         DB      08H\r
345         DW      06aH\r
346         DB      00H\r
347         DB      08H\r
348         DW      02aH\r
349         DB      00H\r
350         DB      09H\r
351         DW      0b4H\r
352         DB      00H\r
353         DB      08H\r
354         DW      0aH\r
355         DB      00H\r
356         DB      08H\r
357         DW      08aH\r
358         DB      00H\r
359         DB      08H\r
360         DW      04aH\r
361         DB      00H\r
362         DB      09H\r
363         DW      0f4H\r
364         DB      010H\r
365         DB      07H\r
366         DW      05H\r
367         DB      00H\r
368         DB      08H\r
369         DW      056H\r
370         DB      00H\r
371         DB      08H\r
372         DW      016H\r
373         DB      040H\r
374         DB      08H\r
375         DW      00H\r
376         DB      013H\r
377         DB      07H\r
378         DW      033H\r
379         DB      00H\r
380         DB      08H\r
381         DW      076H\r
382         DB      00H\r
383         DB      08H\r
384         DW      036H\r
385         DB      00H\r
386         DB      09H\r
387         DW      0ccH\r
388         DB      011H\r
389         DB      07H\r
390         DW      0fH\r
391         DB      00H\r
392         DB      08H\r
393         DW      066H\r
394         DB      00H\r
395         DB      08H\r
396         DW      026H\r
397         DB      00H\r
398         DB      09H\r
399         DW      0acH\r
400         DB      00H\r
401         DB      08H\r
402         DW      06H\r
403         DB      00H\r
404         DB      08H\r
405         DW      086H\r
406         DB      00H\r
407         DB      08H\r
408         DW      046H\r
409         DB      00H\r
410         DB      09H\r
411         DW      0ecH\r
412         DB      010H\r
413         DB      07H\r
414         DW      09H\r
415         DB      00H\r
416         DB      08H\r
417         DW      05eH\r
418         DB      00H\r
419         DB      08H\r
420         DW      01eH\r
421         DB      00H\r
422         DB      09H\r
423         DW      09cH\r
424         DB      014H\r
425         DB      07H\r
426         DW      063H\r
427         DB      00H\r
428         DB      08H\r
429         DW      07eH\r
430         DB      00H\r
431         DB      08H\r
432         DW      03eH\r
433         DB      00H\r
434         DB      09H\r
435         DW      0dcH\r
436         DB      012H\r
437         DB      07H\r
438         DW      01bH\r
439         DB      00H\r
440         DB      08H\r
441         DW      06eH\r
442         DB      00H\r
443         DB      08H\r
444         DW      02eH\r
445         DB      00H\r
446         DB      09H\r
447         DW      0bcH\r
448         DB      00H\r
449         DB      08H\r
450         DW      0eH\r
451         DB      00H\r
452         DB      08H\r
453         DW      08eH\r
454         DB      00H\r
455         DB      08H\r
456         DW      04eH\r
457         DB      00H\r
458         DB      09H\r
459         DW      0fcH\r
460         DB      060H\r
461         DB      07H\r
462         DW      00H\r
463         DB      00H\r
464         DB      08H\r
465         DW      051H\r
466         DB      00H\r
467         DB      08H\r
468         DW      011H\r
469         DB      015H\r
470         DB      08H\r
471         DW      083H\r
472         DB      012H\r
473         DB      07H\r
474         DW      01fH\r
475         DB      00H\r
476         DB      08H\r
477         DW      071H\r
478         DB      00H\r
479         DB      08H\r
480         DW      031H\r
481         DB      00H\r
482         DB      09H\r
483         DW      0c2H\r
484         DB      010H\r
485         DB      07H\r
486         DW      0aH\r
487         DB      00H\r
488         DB      08H\r
489         DW      061H\r
490         DB      00H\r
491         DB      08H\r
492         DW      021H\r
493         DB      00H\r
494         DB      09H\r
495         DW      0a2H\r
496         DB      00H\r
497         DB      08H\r
498         DW      01H\r
499         DB      00H\r
500         DB      08H\r
501         DW      081H\r
502         DB      00H\r
503         DB      08H\r
504         DW      041H\r
505         DB      00H\r
506         DB      09H\r
507         DW      0e2H\r
508         DB      010H\r
509         DB      07H\r
510         DW      06H\r
511         DB      00H\r
512         DB      08H\r
513         DW      059H\r
514         DB      00H\r
515         DB      08H\r
516         DW      019H\r
517         DB      00H\r
518         DB      09H\r
519         DW      092H\r
520         DB      013H\r
521         DB      07H\r
522         DW      03bH\r
523         DB      00H\r
524         DB      08H\r
525         DW      079H\r
526         DB      00H\r
527         DB      08H\r
528         DW      039H\r
529         DB      00H\r
530         DB      09H\r
531         DW      0d2H\r
532         DB      011H\r
533         DB      07H\r
534         DW      011H\r
535         DB      00H\r
536         DB      08H\r
537         DW      069H\r
538         DB      00H\r
539         DB      08H\r
540         DW      029H\r
541         DB      00H\r
542         DB      09H\r
543         DW      0b2H\r
544         DB      00H\r
545         DB      08H\r
546         DW      09H\r
547         DB      00H\r
548         DB      08H\r
549         DW      089H\r
550         DB      00H\r
551         DB      08H\r
552         DW      049H\r
553         DB      00H\r
554         DB      09H\r
555         DW      0f2H\r
556         DB      010H\r
557         DB      07H\r
558         DW      04H\r
559         DB      00H\r
560         DB      08H\r
561         DW      055H\r
562         DB      00H\r
563         DB      08H\r
564         DW      015H\r
565         DB      010H\r
566         DB      08H\r
567         DW      0102H\r
568         DB      013H\r
569         DB      07H\r
570         DW      02bH\r
571         DB      00H\r
572         DB      08H\r
573         DW      075H\r
574         DB      00H\r
575         DB      08H\r
576         DW      035H\r
577         DB      00H\r
578         DB      09H\r
579         DW      0caH\r
580         DB      011H\r
581         DB      07H\r
582         DW      0dH\r
583         DB      00H\r
584         DB      08H\r
585         DW      065H\r
586         DB      00H\r
587         DB      08H\r
588         DW      025H\r
589         DB      00H\r
590         DB      09H\r
591         DW      0aaH\r
592         DB      00H\r
593         DB      08H\r
594         DW      05H\r
595         DB      00H\r
596         DB      08H\r
597         DW      085H\r
598         DB      00H\r
599         DB      08H\r
600         DW      045H\r
601         DB      00H\r
602         DB      09H\r
603         DW      0eaH\r
604         DB      010H\r
605         DB      07H\r
606         DW      08H\r
607         DB      00H\r
608         DB      08H\r
609         DW      05dH\r
610         DB      00H\r
611         DB      08H\r
612         DW      01dH\r
613         DB      00H\r
614         DB      09H\r
615         DW      09aH\r
616         DB      014H\r
617         DB      07H\r
618         DW      053H\r
619         DB      00H\r
620         DB      08H\r
621         DW      07dH\r
622         DB      00H\r
623         DB      08H\r
624         DW      03dH\r
625         DB      00H\r
626         DB      09H\r
627         DW      0daH\r
628         DB      012H\r
629         DB      07H\r
630         DW      017H\r
631         DB      00H\r
632         DB      08H\r
633         DW      06dH\r
634         DB      00H\r
635         DB      08H\r
636         DW      02dH\r
637         DB      00H\r
638         DB      09H\r
639         DW      0baH\r
640         DB      00H\r
641         DB      08H\r
642         DW      0dH\r
643         DB      00H\r
644         DB      08H\r
645         DW      08dH\r
646         DB      00H\r
647         DB      08H\r
648         DW      04dH\r
649         DB      00H\r
650         DB      09H\r
651         DW      0faH\r
652         DB      010H\r
653         DB      07H\r
654         DW      03H\r
655         DB      00H\r
656         DB      08H\r
657         DW      053H\r
658         DB      00H\r
659         DB      08H\r
660         DW      013H\r
661         DB      015H\r
662         DB      08H\r
663         DW      0c3H\r
664         DB      013H\r
665         DB      07H\r
666         DW      023H\r
667         DB      00H\r
668         DB      08H\r
669         DW      073H\r
670         DB      00H\r
671         DB      08H\r
672         DW      033H\r
673         DB      00H\r
674         DB      09H\r
675         DW      0c6H\r
676         DB      011H\r
677         DB      07H\r
678         DW      0bH\r
679         DB      00H\r
680         DB      08H\r
681         DW      063H\r
682         DB      00H\r
683         DB      08H\r
684         DW      023H\r
685         DB      00H\r
686         DB      09H\r
687         DW      0a6H\r
688         DB      00H\r
689         DB      08H\r
690         DW      03H\r
691         DB      00H\r
692         DB      08H\r
693         DW      083H\r
694         DB      00H\r
695         DB      08H\r
696         DW      043H\r
697         DB      00H\r
698         DB      09H\r
699         DW      0e6H\r
700         DB      010H\r
701         DB      07H\r
702         DW      07H\r
703         DB      00H\r
704         DB      08H\r
705         DW      05bH\r
706         DB      00H\r
707         DB      08H\r
708         DW      01bH\r
709         DB      00H\r
710         DB      09H\r
711         DW      096H\r
712         DB      014H\r
713         DB      07H\r
714         DW      043H\r
715         DB      00H\r
716         DB      08H\r
717         DW      07bH\r
718         DB      00H\r
719         DB      08H\r
720         DW      03bH\r
721         DB      00H\r
722         DB      09H\r
723         DW      0d6H\r
724         DB      012H\r
725         DB      07H\r
726         DW      013H\r
727         DB      00H\r
728         DB      08H\r
729         DW      06bH\r
730         DB      00H\r
731         DB      08H\r
732         DW      02bH\r
733         DB      00H\r
734         DB      09H\r
735         DW      0b6H\r
736         DB      00H\r
737         DB      08H\r
738         DW      0bH\r
739         DB      00H\r
740         DB      08H\r
741         DW      08bH\r
742         DB      00H\r
743         DB      08H\r
744         DW      04bH\r
745         DB      00H\r
746         DB      09H\r
747         DW      0f6H\r
748         DB      010H\r
749         DB      07H\r
750         DW      05H\r
751         DB      00H\r
752         DB      08H\r
753         DW      057H\r
754         DB      00H\r
755         DB      08H\r
756         DW      017H\r
757         DB      040H\r
758         DB      08H\r
759         DW      00H\r
760         DB      013H\r
761         DB      07H\r
762         DW      033H\r
763         DB      00H\r
764         DB      08H\r
765         DW      077H\r
766         DB      00H\r
767         DB      08H\r
768         DW      037H\r
769         DB      00H\r
770         DB      09H\r
771         DW      0ceH\r
772         DB      011H\r
773         DB      07H\r
774         DW      0fH\r
775         DB      00H\r
776         DB      08H\r
777         DW      067H\r
778         DB      00H\r
779         DB      08H\r
780         DW      027H\r
781         DB      00H\r
782         DB      09H\r
783         DW      0aeH\r
784         DB      00H\r
785         DB      08H\r
786         DW      07H\r
787         DB      00H\r
788         DB      08H\r
789         DW      087H\r
790         DB      00H\r
791         DB      08H\r
792         DW      047H\r
793         DB      00H\r
794         DB      09H\r
795         DW      0eeH\r
796         DB      010H\r
797         DB      07H\r
798         DW      09H\r
799         DB      00H\r
800         DB      08H\r
801         DW      05fH\r
802         DB      00H\r
803         DB      08H\r
804         DW      01fH\r
805         DB      00H\r
806         DB      09H\r
807         DW      09eH\r
808         DB      014H\r
809         DB      07H\r
810         DW      063H\r
811         DB      00H\r
812         DB      08H\r
813         DW      07fH\r
814         DB      00H\r
815         DB      08H\r
816         DW      03fH\r
817         DB      00H\r
818         DB      09H\r
819         DW      0deH\r
820         DB      012H\r
821         DB      07H\r
822         DW      01bH\r
823         DB      00H\r
824         DB      08H\r
825         DW      06fH\r
826         DB      00H\r
827         DB      08H\r
828         DW      02fH\r
829         DB      00H\r
830         DB      09H\r
831         DW      0beH\r
832         DB      00H\r
833         DB      08H\r
834         DW      0fH\r
835         DB      00H\r
836         DB      08H\r
837         DW      08fH\r
838         DB      00H\r
839         DB      08H\r
840         DW      04fH\r
841         DB      00H\r
842         DB      09H\r
843         DW      0feH\r
844         DB      060H\r
845         DB      07H\r
846         DW      00H\r
847         DB      00H\r
848         DB      08H\r
849         DW      050H\r
850         DB      00H\r
851         DB      08H\r
852         DW      010H\r
853         DB      014H\r
854         DB      08H\r
855         DW      073H\r
856         DB      012H\r
857         DB      07H\r
858         DW      01fH\r
859         DB      00H\r
860         DB      08H\r
861         DW      070H\r
862         DB      00H\r
863         DB      08H\r
864         DW      030H\r
865         DB      00H\r
866         DB      09H\r
867         DW      0c1H\r
868         DB      010H\r
869         DB      07H\r
870         DW      0aH\r
871         DB      00H\r
872         DB      08H\r
873         DW      060H\r
874         DB      00H\r
875         DB      08H\r
876         DW      020H\r
877         DB      00H\r
878         DB      09H\r
879         DW      0a1H\r
880         DB      00H\r
881         DB      08H\r
882         DW      00H\r
883         DB      00H\r
884         DB      08H\r
885         DW      080H\r
886         DB      00H\r
887         DB      08H\r
888         DW      040H\r
889         DB      00H\r
890         DB      09H\r
891         DW      0e1H\r
892         DB      010H\r
893         DB      07H\r
894         DW      06H\r
895         DB      00H\r
896         DB      08H\r
897         DW      058H\r
898         DB      00H\r
899         DB      08H\r
900         DW      018H\r
901         DB      00H\r
902         DB      09H\r
903         DW      091H\r
904         DB      013H\r
905         DB      07H\r
906         DW      03bH\r
907         DB      00H\r
908         DB      08H\r
909         DW      078H\r
910         DB      00H\r
911         DB      08H\r
912         DW      038H\r
913         DB      00H\r
914         DB      09H\r
915         DW      0d1H\r
916         DB      011H\r
917         DB      07H\r
918         DW      011H\r
919         DB      00H\r
920         DB      08H\r
921         DW      068H\r
922         DB      00H\r
923         DB      08H\r
924         DW      028H\r
925         DB      00H\r
926         DB      09H\r
927         DW      0b1H\r
928         DB      00H\r
929         DB      08H\r
930         DW      08H\r
931         DB      00H\r
932         DB      08H\r
933         DW      088H\r
934         DB      00H\r
935         DB      08H\r
936         DW      048H\r
937         DB      00H\r
938         DB      09H\r
939         DW      0f1H\r
940         DB      010H\r
941         DB      07H\r
942         DW      04H\r
943         DB      00H\r
944         DB      08H\r
945         DW      054H\r
946         DB      00H\r
947         DB      08H\r
948         DW      014H\r
949         DB      015H\r
950         DB      08H\r
951         DW      0e3H\r
952         DB      013H\r
953         DB      07H\r
954         DW      02bH\r
955         DB      00H\r
956         DB      08H\r
957         DW      074H\r
958         DB      00H\r
959         DB      08H\r
960         DW      034H\r
961         DB      00H\r
962         DB      09H\r
963         DW      0c9H\r
964         DB      011H\r
965         DB      07H\r
966         DW      0dH\r
967         DB      00H\r
968         DB      08H\r
969         DW      064H\r
970         DB      00H\r
971         DB      08H\r
972         DW      024H\r
973         DB      00H\r
974         DB      09H\r
975         DW      0a9H\r
976         DB      00H\r
977         DB      08H\r
978         DW      04H\r
979         DB      00H\r
980         DB      08H\r
981         DW      084H\r
982         DB      00H\r
983         DB      08H\r
984         DW      044H\r
985         DB      00H\r
986         DB      09H\r
987         DW      0e9H\r
988         DB      010H\r
989         DB      07H\r
990         DW      08H\r
991         DB      00H\r
992         DB      08H\r
993         DW      05cH\r
994         DB      00H\r
995         DB      08H\r
996         DW      01cH\r
997         DB      00H\r
998         DB      09H\r
999         DW      099H\r
1000         DB      014H\r
1001         DB      07H\r
1002         DW      053H\r
1003         DB      00H\r
1004         DB      08H\r
1005         DW      07cH\r
1006         DB      00H\r
1007         DB      08H\r
1008         DW      03cH\r
1009         DB      00H\r
1010         DB      09H\r
1011         DW      0d9H\r
1012         DB      012H\r
1013         DB      07H\r
1014         DW      017H\r
1015         DB      00H\r
1016         DB      08H\r
1017         DW      06cH\r
1018         DB      00H\r
1019         DB      08H\r
1020         DW      02cH\r
1021         DB      00H\r
1022         DB      09H\r
1023         DW      0b9H\r
1024         DB      00H\r
1025         DB      08H\r
1026         DW      0cH\r
1027         DB      00H\r
1028         DB      08H\r
1029         DW      08cH\r
1030         DB      00H\r
1031         DB      08H\r
1032         DW      04cH\r
1033         DB      00H\r
1034         DB      09H\r
1035         DW      0f9H\r
1036         DB      010H\r
1037         DB      07H\r
1038         DW      03H\r
1039         DB      00H\r
1040         DB      08H\r
1041         DW      052H\r
1042         DB      00H\r
1043         DB      08H\r
1044         DW      012H\r
1045         DB      015H\r
1046         DB      08H\r
1047         DW      0a3H\r
1048         DB      013H\r
1049         DB      07H\r
1050         DW      023H\r
1051         DB      00H\r
1052         DB      08H\r
1053         DW      072H\r
1054         DB      00H\r
1055         DB      08H\r
1056         DW      032H\r
1057         DB      00H\r
1058         DB      09H\r
1059         DW      0c5H\r
1060         DB      011H\r
1061         DB      07H\r
1062         DW      0bH\r
1063         DB      00H\r
1064         DB      08H\r
1065         DW      062H\r
1066         DB      00H\r
1067         DB      08H\r
1068         DW      022H\r
1069         DB      00H\r
1070         DB      09H\r
1071         DW      0a5H\r
1072         DB      00H\r
1073         DB      08H\r
1074         DW      02H\r
1075         DB      00H\r
1076         DB      08H\r
1077         DW      082H\r
1078         DB      00H\r
1079         DB      08H\r
1080         DW      042H\r
1081         DB      00H\r
1082         DB      09H\r
1083         DW      0e5H\r
1084         DB      010H\r
1085         DB      07H\r
1086         DW      07H\r
1087         DB      00H\r
1088         DB      08H\r
1089         DW      05aH\r
1090         DB      00H\r
1091         DB      08H\r
1092         DW      01aH\r
1093         DB      00H\r
1094         DB      09H\r
1095         DW      095H\r
1096         DB      014H\r
1097         DB      07H\r
1098         DW      043H\r
1099         DB      00H\r
1100         DB      08H\r
1101         DW      07aH\r
1102         DB      00H\r
1103         DB      08H\r
1104         DW      03aH\r
1105         DB      00H\r
1106         DB      09H\r
1107         DW      0d5H\r
1108         DB      012H\r
1109         DB      07H\r
1110         DW      013H\r
1111         DB      00H\r
1112         DB      08H\r
1113         DW      06aH\r
1114         DB      00H\r
1115         DB      08H\r
1116         DW      02aH\r
1117         DB      00H\r
1118         DB      09H\r
1119         DW      0b5H\r
1120         DB      00H\r
1121         DB      08H\r
1122         DW      0aH\r
1123         DB      00H\r
1124         DB      08H\r
1125         DW      08aH\r
1126         DB      00H\r
1127         DB      08H\r
1128         DW      04aH\r
1129         DB      00H\r
1130         DB      09H\r
1131         DW      0f5H\r
1132         DB      010H\r
1133         DB      07H\r
1134         DW      05H\r
1135         DB      00H\r
1136         DB      08H\r
1137         DW      056H\r
1138         DB      00H\r
1139         DB      08H\r
1140         DW      016H\r
1141         DB      040H\r
1142         DB      08H\r
1143         DW      00H\r
1144         DB      013H\r
1145         DB      07H\r
1146         DW      033H\r
1147         DB      00H\r
1148         DB      08H\r
1149         DW      076H\r
1150         DB      00H\r
1151         DB      08H\r
1152         DW      036H\r
1153         DB      00H\r
1154         DB      09H\r
1155         DW      0cdH\r
1156         DB      011H\r
1157         DB      07H\r
1158         DW      0fH\r
1159         DB      00H\r
1160         DB      08H\r
1161         DW      066H\r
1162         DB      00H\r
1163         DB      08H\r
1164         DW      026H\r
1165         DB      00H\r
1166         DB      09H\r
1167         DW      0adH\r
1168         DB      00H\r
1169         DB      08H\r
1170         DW      06H\r
1171         DB      00H\r
1172         DB      08H\r
1173         DW      086H\r
1174         DB      00H\r
1175         DB      08H\r
1176         DW      046H\r
1177         DB      00H\r
1178         DB      09H\r
1179         DW      0edH\r
1180         DB      010H\r
1181         DB      07H\r
1182         DW      09H\r
1183         DB      00H\r
1184         DB      08H\r
1185         DW      05eH\r
1186         DB      00H\r
1187         DB      08H\r
1188         DW      01eH\r
1189         DB      00H\r
1190         DB      09H\r
1191         DW      09dH\r
1192         DB      014H\r
1193         DB      07H\r
1194         DW      063H\r
1195         DB      00H\r
1196         DB      08H\r
1197         DW      07eH\r
1198         DB      00H\r
1199         DB      08H\r
1200         DW      03eH\r
1201         DB      00H\r
1202         DB      09H\r
1203         DW      0ddH\r
1204         DB      012H\r
1205         DB      07H\r
1206         DW      01bH\r
1207         DB      00H\r
1208         DB      08H\r
1209         DW      06eH\r
1210         DB      00H\r
1211         DB      08H\r
1212         DW      02eH\r
1213         DB      00H\r
1214         DB      09H\r
1215         DW      0bdH\r
1216         DB      00H\r
1217         DB      08H\r
1218         DW      0eH\r
1219         DB      00H\r
1220         DB      08H\r
1221         DW      08eH\r
1222         DB      00H\r
1223         DB      08H\r
1224         DW      04eH\r
1225         DB      00H\r
1226         DB      09H\r
1227         DW      0fdH\r
1228         DB      060H\r
1229         DB      07H\r
1230         DW      00H\r
1231         DB      00H\r
1232         DB      08H\r
1233         DW      051H\r
1234         DB      00H\r
1235         DB      08H\r
1236         DW      011H\r
1237         DB      015H\r
1238         DB      08H\r
1239         DW      083H\r
1240         DB      012H\r
1241         DB      07H\r
1242         DW      01fH\r
1243         DB      00H\r
1244         DB      08H\r
1245         DW      071H\r
1246         DB      00H\r
1247         DB      08H\r
1248         DW      031H\r
1249         DB      00H\r
1250         DB      09H\r
1251         DW      0c3H\r
1252         DB      010H\r
1253         DB      07H\r
1254         DW      0aH\r
1255         DB      00H\r
1256         DB      08H\r
1257         DW      061H\r
1258         DB      00H\r
1259         DB      08H\r
1260         DW      021H\r
1261         DB      00H\r
1262         DB      09H\r
1263         DW      0a3H\r
1264         DB      00H\r
1265         DB      08H\r
1266         DW      01H\r
1267         DB      00H\r
1268         DB      08H\r
1269         DW      081H\r
1270         DB      00H\r
1271         DB      08H\r
1272         DW      041H\r
1273         DB      00H\r
1274         DB      09H\r
1275         DW      0e3H\r
1276         DB      010H\r
1277         DB      07H\r
1278         DW      06H\r
1279         DB      00H\r
1280         DB      08H\r
1281         DW      059H\r
1282         DB      00H\r
1283         DB      08H\r
1284         DW      019H\r
1285         DB      00H\r
1286         DB      09H\r
1287         DW      093H\r
1288         DB      013H\r
1289         DB      07H\r
1290         DW      03bH\r
1291         DB      00H\r
1292         DB      08H\r
1293         DW      079H\r
1294         DB      00H\r
1295         DB      08H\r
1296         DW      039H\r
1297         DB      00H\r
1298         DB      09H\r
1299         DW      0d3H\r
1300         DB      011H\r
1301         DB      07H\r
1302         DW      011H\r
1303         DB      00H\r
1304         DB      08H\r
1305         DW      069H\r
1306         DB      00H\r
1307         DB      08H\r
1308         DW      029H\r
1309         DB      00H\r
1310         DB      09H\r
1311         DW      0b3H\r
1312         DB      00H\r
1313         DB      08H\r
1314         DW      09H\r
1315         DB      00H\r
1316         DB      08H\r
1317         DW      089H\r
1318         DB      00H\r
1319         DB      08H\r
1320         DW      049H\r
1321         DB      00H\r
1322         DB      09H\r
1323         DW      0f3H\r
1324         DB      010H\r
1325         DB      07H\r
1326         DW      04H\r
1327         DB      00H\r
1328         DB      08H\r
1329         DW      055H\r
1330         DB      00H\r
1331         DB      08H\r
1332         DW      015H\r
1333         DB      010H\r
1334         DB      08H\r
1335         DW      0102H\r
1336         DB      013H\r
1337         DB      07H\r
1338         DW      02bH\r
1339         DB      00H\r
1340         DB      08H\r
1341         DW      075H\r
1342         DB      00H\r
1343         DB      08H\r
1344         DW      035H\r
1345         DB      00H\r
1346         DB      09H\r
1347         DW      0cbH\r
1348         DB      011H\r
1349         DB      07H\r
1350         DW      0dH\r
1351         DB      00H\r
1352         DB      08H\r
1353         DW      065H\r
1354         DB      00H\r
1355         DB      08H\r
1356         DW      025H\r
1357         DB      00H\r
1358         DB      09H\r
1359         DW      0abH\r
1360         DB      00H\r
1361         DB      08H\r
1362         DW      05H\r
1363         DB      00H\r
1364         DB      08H\r
1365         DW      085H\r
1366         DB      00H\r
1367         DB      08H\r
1368         DW      045H\r
1369         DB      00H\r
1370         DB      09H\r
1371         DW      0ebH\r
1372         DB      010H\r
1373         DB      07H\r
1374         DW      08H\r
1375         DB      00H\r
1376         DB      08H\r
1377         DW      05dH\r
1378         DB      00H\r
1379         DB      08H\r
1380         DW      01dH\r
1381         DB      00H\r
1382         DB      09H\r
1383         DW      09bH\r
1384         DB      014H\r
1385         DB      07H\r
1386         DW      053H\r
1387         DB      00H\r
1388         DB      08H\r
1389         DW      07dH\r
1390         DB      00H\r
1391         DB      08H\r
1392         DW      03dH\r
1393         DB      00H\r
1394         DB      09H\r
1395         DW      0dbH\r
1396         DB      012H\r
1397         DB      07H\r
1398         DW      017H\r
1399         DB      00H\r
1400         DB      08H\r
1401         DW      06dH\r
1402         DB      00H\r
1403         DB      08H\r
1404         DW      02dH\r
1405         DB      00H\r
1406         DB      09H\r
1407         DW      0bbH\r
1408         DB      00H\r
1409         DB      08H\r
1410         DW      0dH\r
1411         DB      00H\r
1412         DB      08H\r
1413         DW      08dH\r
1414         DB      00H\r
1415         DB      08H\r
1416         DW      04dH\r
1417         DB      00H\r
1418         DB      09H\r
1419         DW      0fbH\r
1420         DB      010H\r
1421         DB      07H\r
1422         DW      03H\r
1423         DB      00H\r
1424         DB      08H\r
1425         DW      053H\r
1426         DB      00H\r
1427         DB      08H\r
1428         DW      013H\r
1429         DB      015H\r
1430         DB      08H\r
1431         DW      0c3H\r
1432         DB      013H\r
1433         DB      07H\r
1434         DW      023H\r
1435         DB      00H\r
1436         DB      08H\r
1437         DW      073H\r
1438         DB      00H\r
1439         DB      08H\r
1440         DW      033H\r
1441         DB      00H\r
1442         DB      09H\r
1443         DW      0c7H\r
1444         DB      011H\r
1445         DB      07H\r
1446         DW      0bH\r
1447         DB      00H\r
1448         DB      08H\r
1449         DW      063H\r
1450         DB      00H\r
1451         DB      08H\r
1452         DW      023H\r
1453         DB      00H\r
1454         DB      09H\r
1455         DW      0a7H\r
1456         DB      00H\r
1457         DB      08H\r
1458         DW      03H\r
1459         DB      00H\r
1460         DB      08H\r
1461         DW      083H\r
1462         DB      00H\r
1463         DB      08H\r
1464         DW      043H\r
1465         DB      00H\r
1466         DB      09H\r
1467         DW      0e7H\r
1468         DB      010H\r
1469         DB      07H\r
1470         DW      07H\r
1471         DB      00H\r
1472         DB      08H\r
1473         DW      05bH\r
1474         DB      00H\r
1475         DB      08H\r
1476         DW      01bH\r
1477         DB      00H\r
1478         DB      09H\r
1479         DW      097H\r
1480         DB      014H\r
1481         DB      07H\r
1482         DW      043H\r
1483         DB      00H\r
1484         DB      08H\r
1485         DW      07bH\r
1486         DB      00H\r
1487         DB      08H\r
1488         DW      03bH\r
1489         DB      00H\r
1490         DB      09H\r
1491         DW      0d7H\r
1492         DB      012H\r
1493         DB      07H\r
1494         DW      013H\r
1495         DB      00H\r
1496         DB      08H\r
1497         DW      06bH\r
1498         DB      00H\r
1499         DB      08H\r
1500         DW      02bH\r
1501         DB      00H\r
1502         DB      09H\r
1503         DW      0b7H\r
1504         DB      00H\r
1505         DB      08H\r
1506         DW      0bH\r
1507         DB      00H\r
1508         DB      08H\r
1509         DW      08bH\r
1510         DB      00H\r
1511         DB      08H\r
1512         DW      04bH\r
1513         DB      00H\r
1514         DB      09H\r
1515         DW      0f7H\r
1516         DB      010H\r
1517         DB      07H\r
1518         DW      05H\r
1519         DB      00H\r
1520         DB      08H\r
1521         DW      057H\r
1522         DB      00H\r
1523         DB      08H\r
1524         DW      017H\r
1525         DB      040H\r
1526         DB      08H\r
1527         DW      00H\r
1528         DB      013H\r
1529         DB      07H\r
1530         DW      033H\r
1531         DB      00H\r
1532         DB      08H\r
1533         DW      077H\r
1534         DB      00H\r
1535         DB      08H\r
1536         DW      037H\r
1537         DB      00H\r
1538         DB      09H\r
1539         DW      0cfH\r
1540         DB      011H\r
1541         DB      07H\r
1542         DW      0fH\r
1543         DB      00H\r
1544         DB      08H\r
1545         DW      067H\r
1546         DB      00H\r
1547         DB      08H\r
1548         DW      027H\r
1549         DB      00H\r
1550         DB      09H\r
1551         DW      0afH\r
1552         DB      00H\r
1553         DB      08H\r
1554         DW      07H\r
1555         DB      00H\r
1556         DB      08H\r
1557         DW      087H\r
1558         DB      00H\r
1559         DB      08H\r
1560         DW      047H\r
1561         DB      00H\r
1562         DB      09H\r
1563         DW      0efH\r
1564         DB      010H\r
1565         DB      07H\r
1566         DW      09H\r
1567         DB      00H\r
1568         DB      08H\r
1569         DW      05fH\r
1570         DB      00H\r
1571         DB      08H\r
1572         DW      01fH\r
1573         DB      00H\r
1574         DB      09H\r
1575         DW      09fH\r
1576         DB      014H\r
1577         DB      07H\r
1578         DW      063H\r
1579         DB      00H\r
1580         DB      08H\r
1581         DW      07fH\r
1582         DB      00H\r
1583         DB      08H\r
1584         DW      03fH\r
1585         DB      00H\r
1586         DB      09H\r
1587         DW      0dfH\r
1588         DB      012H\r
1589         DB      07H\r
1590         DW      01bH\r
1591         DB      00H\r
1592         DB      08H\r
1593         DW      06fH\r
1594         DB      00H\r
1595         DB      08H\r
1596         DW      02fH\r
1597         DB      00H\r
1598         DB      09H\r
1599         DW      0bfH\r
1600         DB      00H\r
1601         DB      08H\r
1602         DW      0fH\r
1603         DB      00H\r
1604         DB      08H\r
1605         DW      08fH\r
1606         DB      00H\r
1607         DB      08H\r
1608         DW      04fH\r
1609         DB      00H\r
1610         DB      09H\r
1611         DW      0ffH\r
1612 ?distfix@?1??fixedtables@@9@9 DB 010H                   ; `fixedtables'::`2'::distfix\r
1613         DB      05H\r
1614         DW      01H\r
1615         DB      017H\r
1616         DB      05H\r
1617         DW      0101H\r
1618         DB      013H\r
1619         DB      05H\r
1620         DW      011H\r
1621         DB      01bH\r
1622         DB      05H\r
1623         DW      01001H\r
1624         DB      011H\r
1625         DB      05H\r
1626         DW      05H\r
1627         DB      019H\r
1628         DB      05H\r
1629         DW      0401H\r
1630         DB      015H\r
1631         DB      05H\r
1632         DW      041H\r
1633         DB      01dH\r
1634         DB      05H\r
1635         DW      04001H\r
1636         DB      010H\r
1637         DB      05H\r
1638         DW      03H\r
1639         DB      018H\r
1640         DB      05H\r
1641         DW      0201H\r
1642         DB      014H\r
1643         DB      05H\r
1644         DW      021H\r
1645         DB      01cH\r
1646         DB      05H\r
1647         DW      02001H\r
1648         DB      012H\r
1649         DB      05H\r
1650         DW      09H\r
1651         DB      01aH\r
1652         DB      05H\r
1653         DW      0801H\r
1654         DB      016H\r
1655         DB      05H\r
1656         DW      081H\r
1657         DB      040H\r
1658         DB      05H\r
1659         DW      00H\r
1660         DB      010H\r
1661         DB      05H\r
1662         DW      02H\r
1663         DB      017H\r
1664         DB      05H\r
1665         DW      0181H\r
1666         DB      013H\r
1667         DB      05H\r
1668         DW      019H\r
1669         DB      01bH\r
1670         DB      05H\r
1671         DW      01801H\r
1672         DB      011H\r
1673         DB      05H\r
1674         DW      07H\r
1675         DB      019H\r
1676         DB      05H\r
1677         DW      0601H\r
1678         DB      015H\r
1679         DB      05H\r
1680         DW      061H\r
1681         DB      01dH\r
1682         DB      05H\r
1683         DW      06001H\r
1684         DB      010H\r
1685         DB      05H\r
1686         DW      04H\r
1687         DB      018H\r
1688         DB      05H\r
1689         DW      0301H\r
1690         DB      014H\r
1691         DB      05H\r
1692         DW      031H\r
1693         DB      01cH\r
1694         DB      05H\r
1695         DW      03001H\r
1696         DB      012H\r
1697         DB      05H\r
1698         DW      0dH\r
1699         DB      01aH\r
1700         DB      05H\r
1701         DW      0c01H\r
1702         DB      016H\r
1703         DB      05H\r
1704         DW      0c1H\r
1705         DB      040H\r
1706         DB      05H\r
1707         DW      00H\r
1708 ?order@?1??inflateBack@@9@9 DW 010H                     ; `inflateBack'::`2'::order\r
1709         DW      011H\r
1710         DW      012H\r
1711         DW      00H\r
1712         DW      08H\r
1713         DW      07H\r
1714         DW      09H\r
1715         DW      06H\r
1716         DW      0aH\r
1717         DW      05H\r
1718         DW      0bH\r
1719         DW      04H\r
1720         DW      0cH\r
1721         DW      03H\r
1722         DW      0dH\r
1723         DW      02H\r
1724         DW      0eH\r
1725         DW      01H\r
1726         DW      0fH\r
1727 PUBLIC  _inflateBackEnd@4\r
1728 ; Function compile flags: /Ogtp\r
1729 ; File c:\workspaces\sysdyn\org.simantics.fmu\fmusolution\zlib-1.2.6\infback.c\r
1730 ;       COMDAT _inflateBackEnd@4\r
1731 _TEXT   SEGMENT\r
1732 _strm$ = 8                                              ; size = 4\r
1733 _inflateBackEnd@4 PROC                                  ; COMDAT\r
1734 \r
1735 ; 633  : {\r
1736 \r
1737   00000 55               push    ebp\r
1738   00001 8b ec            mov     ebp, esp\r
1739   00003 56               push    esi\r
1740 \r
1741 ; 634  :     if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)\r
1742 \r
1743   00004 8b 75 08         mov     esi, DWORD PTR _strm$[ebp]\r
1744   00007 85 f6            test    esi, esi\r
1745   00009 74 26            je      SHORT $LN1@inflateBac\r
1746   0000b 8b 4e 1c         mov     ecx, DWORD PTR [esi+28]\r
1747   0000e 85 c9            test    ecx, ecx\r
1748   00010 74 1f            je      SHORT $LN1@inflateBac\r
1749   00012 8b 46 24         mov     eax, DWORD PTR [esi+36]\r
1750   00015 85 c0            test    eax, eax\r
1751   00017 74 18            je      SHORT $LN1@inflateBac\r
1752 \r
1753 ; 636  :     ZFREE(strm, strm->state);\r
1754 \r
1755   00019 51               push    ecx\r
1756   0001a 8b 4e 28         mov     ecx, DWORD PTR [esi+40]\r
1757   0001d 51               push    ecx\r
1758   0001e ff d0            call    eax\r
1759   00020 83 c4 08         add     esp, 8\r
1760 \r
1761 ; 637  :     strm->state = Z_NULL;\r
1762 \r
1763   00023 c7 46 1c 00 00\r
1764         00 00            mov     DWORD PTR [esi+28], 0\r
1765 \r
1766 ; 638  :     Tracev((stderr, "inflate: end\n"));\r
1767 ; 639  :     return Z_OK;\r
1768 \r
1769   0002a 33 c0            xor     eax, eax\r
1770   0002c 5e               pop     esi\r
1771 \r
1772 ; 640  : }\r
1773 \r
1774   0002d 5d               pop     ebp\r
1775   0002e c2 04 00         ret     4\r
1776 $LN1@inflateBac:\r
1777 \r
1778 ; 635  :         return Z_STREAM_ERROR;\r
1779 \r
1780   00031 b8 fe ff ff ff   mov     eax, -2                        ; fffffffeH\r
1781   00036 5e               pop     esi\r
1782 \r
1783 ; 640  : }\r
1784 \r
1785   00037 5d               pop     ebp\r
1786   00038 c2 04 00         ret     4\r
1787 _inflateBackEnd@4 ENDP\r
1788 ; Function compile flags: /Ogtp\r
1789 _TEXT   ENDS\r
1790 ;       COMDAT _fixedtables\r
1791 _TEXT   SEGMENT\r
1792 _fixedtables PROC                                       ; COMDAT\r
1793 ; _state$ = eax\r
1794 \r
1795 ; 85   : #ifdef BUILDFIXED\r
1796 ; 86   :     static int virgin = 1;\r
1797 ; 87   :     static code *lenfix, *distfix;\r
1798 ; 88   :     static code fixed[544];\r
1799 ; 89   : \r
1800 ; 90   :     /* build fixed huffman tables if first call (may not be thread safe) */\r
1801 ; 91   :     if (virgin) {\r
1802 ; 92   :         unsigned sym, bits;\r
1803 ; 93   :         static code *next;\r
1804 ; 94   : \r
1805 ; 95   :         /* literal/length table */\r
1806 ; 96   :         sym = 0;\r
1807 ; 97   :         while (sym < 144) state->lens[sym++] = 8;\r
1808 ; 98   :         while (sym < 256) state->lens[sym++] = 9;\r
1809 ; 99   :         while (sym < 280) state->lens[sym++] = 7;\r
1810 ; 100  :         while (sym < 288) state->lens[sym++] = 8;\r
1811 ; 101  :         next = fixed;\r
1812 ; 102  :         lenfix = next;\r
1813 ; 103  :         bits = 9;\r
1814 ; 104  :         inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);\r
1815 ; 105  : \r
1816 ; 106  :         /* distance table */\r
1817 ; 107  :         sym = 0;\r
1818 ; 108  :         while (sym < 32) state->lens[sym++] = 5;\r
1819 ; 109  :         distfix = next;\r
1820 ; 110  :         bits = 5;\r
1821 ; 111  :         inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);\r
1822 ; 112  : \r
1823 ; 113  :         /* do this just once */\r
1824 ; 114  :         virgin = 0;\r
1825 ; 115  :     }\r
1826 ; 116  : #else /* !BUILDFIXED */\r
1827 ; 117  : #   include "inffixed.h"\r
1828 ; 118  : #endif /* BUILDFIXED */\r
1829 ; 119  :     state->lencode = lenfix;\r
1830 \r
1831   00000 c7 40 4c 00 00\r
1832         00 00            mov     DWORD PTR [eax+76], OFFSET ?lenfix@?1??fixedtables@@9@9\r
1833 \r
1834 ; 120  :     state->lenbits = 9;\r
1835 \r
1836   00007 c7 40 54 09 00\r
1837         00 00            mov     DWORD PTR [eax+84], 9\r
1838 \r
1839 ; 121  :     state->distcode = distfix;\r
1840 \r
1841   0000e c7 40 50 00 00\r
1842         00 00            mov     DWORD PTR [eax+80], OFFSET ?distfix@?1??fixedtables@@9@9\r
1843 \r
1844 ; 122  :     state->distbits = 5;\r
1845 \r
1846   00015 c7 40 58 05 00\r
1847         00 00            mov     DWORD PTR [eax+88], 5\r
1848 \r
1849 ; 123  : }\r
1850 \r
1851   0001c c3               ret     0\r
1852 _fixedtables ENDP\r
1853 _TEXT   ENDS\r
1854 PUBLIC  _inflateBackInit_@20\r
1855 ; Function compile flags: /Ogtp\r
1856 ;       COMDAT _inflateBackInit_@20\r
1857 _TEXT   SEGMENT\r
1858 _strm$ = 8                                              ; size = 4\r
1859 _windowBits$ = 12                                       ; size = 4\r
1860 _window$ = 16                                           ; size = 4\r
1861 _version$ = 20                                          ; size = 4\r
1862 _stream_size$ = 24                                      ; size = 4\r
1863 _inflateBackInit_@20 PROC                               ; COMDAT\r
1864 \r
1865 ; 34   : {\r
1866 \r
1867   00000 55               push    ebp\r
1868   00001 8b ec            mov     ebp, esp\r
1869 \r
1870 ; 35   :     struct inflate_state FAR *state;\r
1871 ; 36   : \r
1872 ; 37   :     if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||\r
1873 ; 38   :         stream_size != (int)(sizeof(z_stream)))\r
1874 \r
1875   00003 8b 45 14         mov     eax, DWORD PTR _version$[ebp]\r
1876   00006 53               push    ebx\r
1877   00007 33 db            xor     ebx, ebx\r
1878   00009 3b c3            cmp     eax, ebx\r
1879   0000b 0f 84 a7 00 00\r
1880         00               je      $LN6@inflateBac@2\r
1881   00011 80 38 31         cmp     BYTE PTR [eax], 49     ; 00000031H\r
1882   00014 0f 85 9e 00 00\r
1883         00               jne     $LN6@inflateBac@2\r
1884   0001a 83 7d 18 38      cmp     DWORD PTR _stream_size$[ebp], 56 ; 00000038H\r
1885   0001e 0f 85 94 00 00\r
1886         00               jne     $LN6@inflateBac@2\r
1887 \r
1888 ; 40   :     if (strm == Z_NULL || window == Z_NULL ||\r
1889 ; 41   :         windowBits < 8 || windowBits > 15)\r
1890 \r
1891   00024 56               push    esi\r
1892   00025 8b 75 08         mov     esi, DWORD PTR _strm$[ebp]\r
1893   00028 57               push    edi\r
1894   00029 3b f3            cmp     esi, ebx\r
1895   0002b 74 7f            je      SHORT $LN4@inflateBac@2\r
1896   0002d 39 5d 10         cmp     DWORD PTR _window$[ebp], ebx\r
1897   00030 74 7a            je      SHORT $LN4@inflateBac@2\r
1898   00032 8b 7d 0c         mov     edi, DWORD PTR _windowBits$[ebp]\r
1899   00035 8d 47 f8         lea     eax, DWORD PTR [edi-8]\r
1900   00038 83 f8 07         cmp     eax, 7\r
1901   0003b 77 6f            ja      SHORT $LN4@inflateBac@2\r
1902 \r
1903 ; 43   :     strm->msg = Z_NULL;                 /* in case we return an error */\r
1904 \r
1905   0003d 89 5e 18         mov     DWORD PTR [esi+24], ebx\r
1906 \r
1907 ; 44   :     if (strm->zalloc == (alloc_func)0) {\r
1908 \r
1909   00040 39 5e 20         cmp     DWORD PTR [esi+32], ebx\r
1910   00043 75 0a            jne     SHORT $LN3@inflateBac@2\r
1911 \r
1912 ; 45   : #ifdef Z_SOLO\r
1913 ; 46   :         return Z_STREAM_ERROR;\r
1914 ; 47   : #else\r
1915 ; 48   :         strm->zalloc = zcalloc;\r
1916 \r
1917   00045 c7 46 20 00 00\r
1918         00 00            mov     DWORD PTR [esi+32], OFFSET _zcalloc\r
1919 \r
1920 ; 49   :         strm->opaque = (voidpf)0;\r
1921 \r
1922   0004c 89 5e 28         mov     DWORD PTR [esi+40], ebx\r
1923 $LN3@inflateBac@2:\r
1924 \r
1925 ; 50   : #endif\r
1926 ; 51   :     }\r
1927 ; 52   :     if (strm->zfree == (free_func)0)\r
1928 \r
1929   0004f 39 5e 24         cmp     DWORD PTR [esi+36], ebx\r
1930   00052 75 07            jne     SHORT $LN2@inflateBac@2\r
1931 \r
1932 ; 53   : #ifdef Z_SOLO\r
1933 ; 54   :         return Z_STREAM_ERROR;\r
1934 ; 55   : #else\r
1935 ; 56   :     strm->zfree = zcfree;\r
1936 \r
1937   00054 c7 46 24 00 00\r
1938         00 00            mov     DWORD PTR [esi+36], OFFSET _zcfree\r
1939 $LN2@inflateBac@2:\r
1940 \r
1941 ; 57   : #endif\r
1942 ; 58   :     state = (struct inflate_state FAR *)ZALLOC(strm, 1,\r
1943 ; 59   :                                                sizeof(struct inflate_state));\r
1944 \r
1945   0005b 8b 4e 28         mov     ecx, DWORD PTR [esi+40]\r
1946   0005e 8b 56 20         mov     edx, DWORD PTR [esi+32]\r
1947   00061 68 cc 1b 00 00   push    7116                   ; 00001bccH\r
1948   00066 6a 01            push    1\r
1949   00068 51               push    ecx\r
1950   00069 ff d2            call    edx\r
1951   0006b 83 c4 0c         add     esp, 12                        ; 0000000cH\r
1952 \r
1953 ; 60   :     if (state == Z_NULL) return Z_MEM_ERROR;\r
1954 \r
1955   0006e 3b c3            cmp     eax, ebx\r
1956   00070 75 0c            jne     SHORT $LN1@inflateBac@2\r
1957   00072 5f               pop     edi\r
1958   00073 5e               pop     esi\r
1959   00074 b8 fc ff ff ff   mov     eax, -4                        ; fffffffcH\r
1960   00079 5b               pop     ebx\r
1961 \r
1962 ; 70   : }\r
1963 \r
1964   0007a 5d               pop     ebp\r
1965   0007b c2 14 00         ret     20                     ; 00000014H\r
1966 $LN1@inflateBac@2:\r
1967 \r
1968 ; 61   :     Tracev((stderr, "inflate: allocated\n"));\r
1969 ; 62   :     strm->state = (struct internal_state FAR *)state;\r
1970 \r
1971   0007e 89 46 1c         mov     DWORD PTR [esi+28], eax\r
1972 \r
1973 ; 63   :     state->dmax = 32768U;\r
1974 ; 64   :     state->wbits = windowBits;\r
1975 ; 65   :     state->wsize = 1U << windowBits;\r
1976 \r
1977   00081 8b cf            mov     ecx, edi\r
1978   00083 ba 01 00 00 00   mov     edx, 1\r
1979   00088 d3 e2            shl     edx, cl\r
1980 \r
1981 ; 66   :     state->window = window;\r
1982 \r
1983   0008a 8b 4d 10         mov     ecx, DWORD PTR _window$[ebp]\r
1984   0008d 89 78 24         mov     DWORD PTR [eax+36], edi\r
1985   00090 5f               pop     edi\r
1986 \r
1987 ; 67   :     state->wnext = 0;\r
1988 \r
1989   00091 89 58 30         mov     DWORD PTR [eax+48], ebx\r
1990 \r
1991 ; 68   :     state->whave = 0;\r
1992 \r
1993   00094 89 58 2c         mov     DWORD PTR [eax+44], ebx\r
1994   00097 5e               pop     esi\r
1995   00098 c7 40 14 00 80\r
1996         00 00            mov     DWORD PTR [eax+20], 32768 ; 00008000H\r
1997   0009f 89 50 28         mov     DWORD PTR [eax+40], edx\r
1998   000a2 89 48 34         mov     DWORD PTR [eax+52], ecx\r
1999 \r
2000 ; 69   :     return Z_OK;\r
2001 \r
2002   000a5 33 c0            xor     eax, eax\r
2003   000a7 5b               pop     ebx\r
2004 \r
2005 ; 70   : }\r
2006 \r
2007   000a8 5d               pop     ebp\r
2008   000a9 c2 14 00         ret     20                     ; 00000014H\r
2009 $LN4@inflateBac@2:\r
2010   000ac 5f               pop     edi\r
2011   000ad 5e               pop     esi\r
2012 \r
2013 ; 42   :         return Z_STREAM_ERROR;\r
2014 \r
2015   000ae b8 fe ff ff ff   mov     eax, -2                        ; fffffffeH\r
2016   000b3 5b               pop     ebx\r
2017 \r
2018 ; 70   : }\r
2019 \r
2020   000b4 5d               pop     ebp\r
2021   000b5 c2 14 00         ret     20                     ; 00000014H\r
2022 $LN6@inflateBac@2:\r
2023 \r
2024 ; 39   :         return Z_VERSION_ERROR;\r
2025 \r
2026   000b8 b8 fa ff ff ff   mov     eax, -6                        ; fffffffaH\r
2027   000bd 5b               pop     ebx\r
2028 \r
2029 ; 70   : }\r
2030 \r
2031   000be 5d               pop     ebp\r
2032   000bf c2 14 00         ret     20                     ; 00000014H\r
2033 _inflateBackInit_@20 ENDP\r
2034 PUBLIC  _inflateBack@20\r
2035 ; Function compile flags: /Ogtp\r
2036 ;       COMDAT _inflateBack@20\r
2037 _TEXT   SEGMENT\r
2038 tv1911 = -28                                            ; size = 4\r
2039 tv1420 = -28                                            ; size = 4\r
2040 _from$ = -28                                            ; size = 4\r
2041 tv1446 = -24                                            ; size = 4\r
2042 tv1421 = -24                                            ; size = 4\r
2043 _len$ = -24                                             ; size = 4\r
2044 _here$ = -24                                            ; size = 4\r
2045 _copy$ = -24                                            ; size = 4\r
2046 _last$ = -20                                            ; size = 4\r
2047 _left$ = -16                                            ; size = 4\r
2048 _put$ = -12                                             ; size = 4\r
2049 _next$ = -8                                             ; size = 4\r
2050 _have$ = -4                                             ; size = 4\r
2051 _strm$ = 8                                              ; size = 4\r
2052 _in$ = 12                                               ; size = 4\r
2053 _in_desc$ = 16                                          ; size = 4\r
2054 _out$ = 20                                              ; size = 4\r
2055 _out_desc$ = 24                                         ; size = 4\r
2056 _inflateBack@20 PROC                                    ; COMDAT\r
2057 \r
2058 ; 256  : {\r
2059 \r
2060   00000 55               push    ebp\r
2061   00001 8b ec            mov     ebp, esp\r
2062 \r
2063 ; 257  :     struct inflate_state FAR *state;\r
2064 ; 258  :     unsigned char FAR *next;    /* next input */\r
2065 ; 259  :     unsigned char FAR *put;     /* next output */\r
2066 ; 260  :     unsigned have, left;        /* available input and output */\r
2067 ; 261  :     unsigned long hold;         /* bit buffer */\r
2068 ; 262  :     unsigned bits;              /* bits in bit buffer */\r
2069 ; 263  :     unsigned copy;              /* number of stored or match bytes to copy */\r
2070 ; 264  :     unsigned char FAR *from;    /* where to copy match bytes from */\r
2071 ; 265  :     code here;                  /* current decoding table entry */\r
2072 ; 266  :     code last;                  /* parent table entry */\r
2073 ; 267  :     unsigned len;               /* length to copy for repeats, bits to drop */\r
2074 ; 268  :     int ret;                    /* return code */\r
2075 ; 269  :     static const unsigned short order[19] = /* permutation of code lengths */\r
2076 ; 270  :         {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};\r
2077 ; 271  : \r
2078 ; 272  :     /* Check that the strm exists and that the state was initialized */\r
2079 ; 273  :     if (strm == Z_NULL || strm->state == Z_NULL)\r
2080 \r
2081   00003 8b 45 08         mov     eax, DWORD PTR _strm$[ebp]\r
2082   00006 83 ec 1c         sub     esp, 28                        ; 0000001cH\r
2083   00009 56               push    esi\r
2084   0000a 33 f6            xor     esi, esi\r
2085   0000c 57               push    edi\r
2086   0000d 3b c6            cmp     eax, esi\r
2087   0000f 0f 84 95 0c 00\r
2088         00               je      $LN333@inflateBac@3\r
2089   00015 8b 78 1c         mov     edi, DWORD PTR [eax+28]\r
2090   00018 3b fe            cmp     edi, esi\r
2091   0001a 0f 84 8a 0c 00\r
2092         00               je      $LN333@inflateBac@3\r
2093 \r
2094 ; 275  :     state = (struct inflate_state FAR *)strm->state;\r
2095 ; 276  : \r
2096 ; 277  :     /* Reset the state */\r
2097 ; 278  :     strm->msg = Z_NULL;\r
2098 \r
2099   00020 89 70 18         mov     DWORD PTR [eax+24], esi\r
2100 \r
2101 ; 279  :     state->mode = TYPE;\r
2102 \r
2103   00023 c7 07 0b 00 00\r
2104         00               mov     DWORD PTR [edi], 11    ; 0000000bH\r
2105 \r
2106 ; 280  :     state->last = 0;\r
2107 \r
2108   00029 89 77 04         mov     DWORD PTR [edi+4], esi\r
2109 \r
2110 ; 281  :     state->whave = 0;\r
2111 \r
2112   0002c 89 77 2c         mov     DWORD PTR [edi+44], esi\r
2113 \r
2114 ; 282  :     next = strm->next_in;\r
2115 \r
2116   0002f 8b 08            mov     ecx, DWORD PTR [eax]\r
2117   00031 89 4d f8         mov     DWORD PTR _next$[ebp], ecx\r
2118 \r
2119 ; 283  :     have = next != Z_NULL ? strm->avail_in : 0;\r
2120 \r
2121   00034 3b ce            cmp     ecx, esi\r
2122   00036 74 08            je      SHORT $LN337@inflateBac@3\r
2123   00038 8b 40 04         mov     eax, DWORD PTR [eax+4]\r
2124   0003b 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2125   0003e eb 03            jmp     SHORT $LN338@inflateBac@3\r
2126 $LN337@inflateBac@3:\r
2127   00040 89 75 fc         mov     DWORD PTR _have$[ebp], esi\r
2128 $LN338@inflateBac@3:\r
2129 \r
2130 ; 284  :     hold = 0;\r
2131 ; 285  :     bits = 0;\r
2132 ; 286  :     put = state->window;\r
2133 ; 287  :     left = state->wsize;\r
2134 ; 288  : \r
2135 ; 289  :     /* Inflate until end of block marked as last */\r
2136 ; 290  :     for (;;)\r
2137 ; 291  :         switch (state->mode) {\r
2138 \r
2139   00043 8b 07            mov     eax, DWORD PTR [edi]\r
2140   00045 8b 57 34         mov     edx, DWORD PTR [edi+52]\r
2141   00048 8b 4f 28         mov     ecx, DWORD PTR [edi+40]\r
2142   0004b 53               push    ebx\r
2143   0004c 83 e8 0b         sub     eax, 11                        ; 0000000bH\r
2144   0004f 33 db            xor     ebx, ebx\r
2145   00051 89 55 f4         mov     DWORD PTR _put$[ebp], edx\r
2146   00054 89 4d f0         mov     DWORD PTR _left$[ebp], ecx\r
2147   00057 83 f8 12         cmp     eax, 18                        ; 00000012H\r
2148   0005a 76 27            jbe     SHORT $LN332@inflateBac@3\r
2149 $LN1@inflateBac@3:\r
2150 \r
2151 ; 618  : \r
2152 ; 619  :         default:                /* can't happen, but makes compilers happy */\r
2153 ; 620  :             ret = Z_STREAM_ERROR;\r
2154 \r
2155   0005c be fe ff ff ff   mov     esi, -2                        ; fffffffeH\r
2156 $inf_leave$80342:\r
2157 \r
2158 ; 621  :             goto inf_leave;\r
2159 ; 622  :         }\r
2160 ; 623  : \r
2161 ; 624  :     /* Return unused input */\r
2162 ; 625  :   inf_leave:\r
2163 ; 626  :     strm->next_in = next;\r
2164 \r
2165   00061 8b 45 08         mov     eax, DWORD PTR _strm$[ebp]\r
2166   00064 8b 4d f8         mov     ecx, DWORD PTR _next$[ebp]\r
2167 \r
2168 ; 627  :     strm->avail_in = have;\r
2169 \r
2170   00067 8b 55 fc         mov     edx, DWORD PTR _have$[ebp]\r
2171   0006a 5b               pop     ebx\r
2172   0006b 89 08            mov     DWORD PTR [eax], ecx\r
2173   0006d 89 50 04         mov     DWORD PTR [eax+4], edx\r
2174   00070 5f               pop     edi\r
2175 \r
2176 ; 628  :     return ret;\r
2177 \r
2178   00071 8b c6            mov     eax, esi\r
2179   00073 5e               pop     esi\r
2180 \r
2181 ; 629  : }\r
2182 \r
2183   00074 8b e5            mov     esp, ebp\r
2184   00076 5d               pop     ebp\r
2185   00077 c2 14 00         ret     20                     ; 00000014H\r
2186   0007a 8d 9b 00 00 00\r
2187         00               npad    6\r
2188 $LL420@inflateBac@3:\r
2189 \r
2190 ; 284  :     hold = 0;\r
2191 ; 285  :     bits = 0;\r
2192 ; 286  :     put = state->window;\r
2193 ; 287  :     left = state->wsize;\r
2194 ; 288  : \r
2195 ; 289  :     /* Inflate until end of block marked as last */\r
2196 ; 290  :     for (;;)\r
2197 ; 291  :         switch (state->mode) {\r
2198 \r
2199   00080 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
2200 $LN332@inflateBac@3:\r
2201   00083 0f b6 80 00 00\r
2202         00 00            movzx   eax, BYTE PTR $LN414@inflateBac@3[eax]\r
2203   0008a ff 24 85 00 00\r
2204         00 00            jmp     DWORD PTR $LN460@inflateBac@3[eax*4]\r
2205 $LN328@inflateBac@3:\r
2206 \r
2207 ; 292  :         case TYPE:\r
2208 ; 293  :             /* determine and dispatch block type */\r
2209 ; 294  :             if (state->last) {\r
2210 \r
2211   00091 83 7f 04 00      cmp     DWORD PTR [edi+4], 0\r
2212   00095 74 14            je      SHORT $LN323@inflateBac@3\r
2213 \r
2214 ; 295  :                 BYTEBITS();\r
2215 \r
2216   00097 8b ce            mov     ecx, esi\r
2217   00099 83 e1 07         and     ecx, 7\r
2218   0009c d3 eb            shr     ebx, cl\r
2219   0009e 2b f1            sub     esi, ecx\r
2220 \r
2221 ; 296  :                 state->mode = DONE;\r
2222 \r
2223   000a0 c7 07 1c 00 00\r
2224         00               mov     DWORD PTR [edi], 28    ; 0000001cH\r
2225 \r
2226 ; 297  :                 break;\r
2227 \r
2228   000a6 e9 8f 0b 00 00   jmp     $LN387@inflateBac@3\r
2229 $LN323@inflateBac@3:\r
2230 \r
2231 ; 298  :             }\r
2232 ; 299  :             NEEDBITS(3);\r
2233 \r
2234   000ab 83 fe 03         cmp     esi, 3\r
2235   000ae 73 3a            jae     SHORT $LN322@inflateBac@3\r
2236 $LL320@inflateBac@3:\r
2237   000b0 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2238   000b4 75 19            jne     SHORT $LN314@inflateBac@3\r
2239   000b6 8b 55 10         mov     edx, DWORD PTR _in_desc$[ebp]\r
2240   000b9 8d 4d f8         lea     ecx, DWORD PTR _next$[ebp]\r
2241   000bc 51               push    ecx\r
2242   000bd 52               push    edx\r
2243   000be ff 55 0c         call    DWORD PTR _in$[ebp]\r
2244   000c1 83 c4 08         add     esp, 8\r
2245   000c4 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2246   000c7 85 c0            test    eax, eax\r
2247   000c9 0f 84 7e 0b 00\r
2248         00               je      $LN363@inflateBac@3\r
2249 $LN314@inflateBac@3:\r
2250   000cf 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2251   000d2 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2252   000d5 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2253   000d8 8b ce            mov     ecx, esi\r
2254   000da d3 e2            shl     edx, cl\r
2255   000dc 40               inc     eax\r
2256   000dd 83 c6 08         add     esi, 8\r
2257   000e0 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2258   000e3 03 da            add     ebx, edx\r
2259   000e5 83 fe 03         cmp     esi, 3\r
2260   000e8 72 c6            jb      SHORT $LL320@inflateBac@3\r
2261 $LN322@inflateBac@3:\r
2262 \r
2263 ; 300  :             state->last = BITS(1);\r
2264 \r
2265   000ea 8b c3            mov     eax, ebx\r
2266   000ec 83 e0 01         and     eax, 1\r
2267 \r
2268 ; 301  :             DROPBITS(1);\r
2269 \r
2270   000ef d1 eb            shr     ebx, 1\r
2271   000f1 89 47 04         mov     DWORD PTR [edi+4], eax\r
2272 \r
2273 ; 302  :             switch (BITS(2)) {\r
2274 \r
2275   000f4 8b c3            mov     eax, ebx\r
2276   000f6 83 e0 03         and     eax, 3\r
2277   000f9 83 f8 03         cmp     eax, 3\r
2278   000fc 77 51            ja      SHORT $LN301@inflateBac@3\r
2279   000fe ff 24 85 00 00\r
2280         00 00            jmp     DWORD PTR $LN461@inflateBac@3[eax*4]\r
2281 $LN305@inflateBac@3:\r
2282 \r
2283 ; 322  :             }\r
2284 ; 323  :             DROPBITS(2);\r
2285 \r
2286   00105 c1 eb 02         shr     ebx, 2\r
2287   00108 c7 07 0d 00 00\r
2288         00               mov     DWORD PTR [edi], 13    ; 0000000dH\r
2289   0010e 83 ee 03         sub     esi, 3\r
2290 \r
2291 ; 324  :             break;\r
2292 \r
2293   00111 e9 24 0b 00 00   jmp     $LN387@inflateBac@3\r
2294 $LN304@inflateBac@3:\r
2295 \r
2296 ; 303  :             case 0:                             /* stored block */\r
2297 ; 304  :                 Tracev((stderr, "inflate:     stored block%s\n",\r
2298 ; 305  :                         state->last ? " (last)" : ""));\r
2299 ; 306  :                 state->mode = STORED;\r
2300 ; 307  :                 break;\r
2301 ; 308  :             case 1:                             /* fixed block */\r
2302 ; 309  :                 fixedtables(state);\r
2303 \r
2304   00116 8b c7            mov     eax, edi\r
2305   00118 e8 00 00 00 00   call    _fixedtables\r
2306 \r
2307 ; 322  :             }\r
2308 ; 323  :             DROPBITS(2);\r
2309 \r
2310   0011d c1 eb 02         shr     ebx, 2\r
2311   00120 c7 07 14 00 00\r
2312         00               mov     DWORD PTR [edi], 20    ; 00000014H\r
2313   00126 83 ee 03         sub     esi, 3\r
2314 \r
2315 ; 324  :             break;\r
2316 \r
2317   00129 e9 0c 0b 00 00   jmp     $LN387@inflateBac@3\r
2318 $LN303@inflateBac@3:\r
2319 \r
2320 ; 322  :             }\r
2321 ; 323  :             DROPBITS(2);\r
2322 \r
2323   0012e c1 eb 02         shr     ebx, 2\r
2324   00131 c7 07 10 00 00\r
2325         00               mov     DWORD PTR [edi], 16    ; 00000010H\r
2326   00137 83 ee 03         sub     esi, 3\r
2327 \r
2328 ; 324  :             break;\r
2329 \r
2330   0013a e9 fb 0a 00 00   jmp     $LN387@inflateBac@3\r
2331 $LN302@inflateBac@3:\r
2332 \r
2333 ; 310  :                 Tracev((stderr, "inflate:     fixed codes block%s\n",\r
2334 ; 311  :                         state->last ? " (last)" : ""));\r
2335 ; 312  :                 state->mode = LEN;              /* decode codes */\r
2336 ; 313  :                 break;\r
2337 ; 314  :             case 2:                             /* dynamic block */\r
2338 ; 315  :                 Tracev((stderr, "inflate:     dynamic codes block%s\n",\r
2339 ; 316  :                         state->last ? " (last)" : ""));\r
2340 ; 317  :                 state->mode = TABLE;\r
2341 ; 318  :                 break;\r
2342 ; 319  :             case 3:\r
2343 ; 320  :                 strm->msg = (char *)"invalid block type";\r
2344 \r
2345   0013f 8b 4d 08         mov     ecx, DWORD PTR _strm$[ebp]\r
2346   00142 c7 41 18 00 00\r
2347         00 00            mov     DWORD PTR [ecx+24], OFFSET ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@\r
2348 \r
2349 ; 321  :                 state->mode = BAD;\r
2350 \r
2351   00149 c7 07 1d 00 00\r
2352         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
2353 $LN301@inflateBac@3:\r
2354 \r
2355 ; 322  :             }\r
2356 ; 323  :             DROPBITS(2);\r
2357 \r
2358   0014f c1 eb 02         shr     ebx, 2\r
2359   00152 83 ee 03         sub     esi, 3\r
2360 \r
2361 ; 324  :             break;\r
2362 \r
2363   00155 e9 e0 0a 00 00   jmp     $LN387@inflateBac@3\r
2364 $LN297@inflateBac@3:\r
2365 \r
2366 ; 325  : \r
2367 ; 326  :         case STORED:\r
2368 ; 327  :             /* get and verify stored block length */\r
2369 ; 328  :             BYTEBITS();                         /* go to byte boundary */\r
2370 \r
2371   0015a 8b ce            mov     ecx, esi\r
2372   0015c 83 e1 07         and     ecx, 7\r
2373   0015f 2b f1            sub     esi, ecx\r
2374   00161 d3 eb            shr     ebx, cl\r
2375 \r
2376 ; 329  :             NEEDBITS(32);\r
2377 \r
2378   00163 83 fe 20         cmp     esi, 32                        ; 00000020H\r
2379   00166 73 3a            jae     SHORT $LN293@inflateBac@3\r
2380 $LL291@inflateBac@3:\r
2381   00168 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2382   0016c 75 19            jne     SHORT $LN285@inflateBac@3\r
2383   0016e 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
2384   00171 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
2385   00174 52               push    edx\r
2386   00175 50               push    eax\r
2387   00176 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2388   00179 83 c4 08         add     esp, 8\r
2389   0017c 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2390   0017f 85 c0            test    eax, eax\r
2391   00181 0f 84 c6 0a 00\r
2392         00               je      $LN363@inflateBac@3\r
2393 $LN285@inflateBac@3:\r
2394   00187 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2395   0018a 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2396   0018d ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2397   00190 8b ce            mov     ecx, esi\r
2398   00192 d3 e2            shl     edx, cl\r
2399   00194 40               inc     eax\r
2400   00195 83 c6 08         add     esi, 8\r
2401   00198 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2402   0019b 03 da            add     ebx, edx\r
2403   0019d 83 fe 20         cmp     esi, 32                        ; 00000020H\r
2404   001a0 72 c6            jb      SHORT $LL291@inflateBac@3\r
2405 $LN293@inflateBac@3:\r
2406 \r
2407 ; 330  :             if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {\r
2408 \r
2409   001a2 8b cb            mov     ecx, ebx\r
2410   001a4 8b c3            mov     eax, ebx\r
2411   001a6 f7 d1            not     ecx\r
2412   001a8 25 ff ff 00 00   and     eax, 65535             ; 0000ffffH\r
2413   001ad c1 e9 10         shr     ecx, 16                        ; 00000010H\r
2414   001b0 3b c1            cmp     eax, ecx\r
2415   001b2 74 15            je      SHORT $LN281@inflateBac@3\r
2416 \r
2417 ; 331  :                 strm->msg = (char *)"invalid stored block lengths";\r
2418 \r
2419   001b4 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
2420   001b7 c7 42 18 00 00\r
2421         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@\r
2422 \r
2423 ; 332  :                 state->mode = BAD;\r
2424 \r
2425   001be c7 07 1d 00 00\r
2426         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
2427 \r
2428 ; 333  :                 break;\r
2429 \r
2430   001c4 e9 71 0a 00 00   jmp     $LN387@inflateBac@3\r
2431 $LN281@inflateBac@3:\r
2432 \r
2433 ; 334  :             }\r
2434 ; 335  :             state->length = (unsigned)hold & 0xffff;\r
2435 ; 336  :             Tracev((stderr, "inflate:       stored length %u\n",\r
2436 ; 337  :                     state->length));\r
2437 ; 338  :             INITBITS();\r
2438 \r
2439   001c9 33 db            xor     ebx, ebx\r
2440   001cb 33 f6            xor     esi, esi\r
2441   001cd 89 47 40         mov     DWORD PTR [edi+64], eax\r
2442 \r
2443 ; 339  : \r
2444 ; 340  :             /* copy stored block from input to output */\r
2445 ; 341  :             while (state->length != 0) {\r
2446 \r
2447   001d0 85 c0            test    eax, eax\r
2448   001d2 0f 84 9c 00 00\r
2449         00               je      $LN276@inflateBac@3\r
2450   001d8 eb 06 8d 9b 00\r
2451         00 00 00         npad    8\r
2452 $LL277@inflateBac@3:\r
2453 \r
2454 ; 342  :                 copy = state->length;\r
2455 \r
2456   001e0 8b 47 40         mov     eax, DWORD PTR [edi+64]\r
2457   001e3 89 45 e8         mov     DWORD PTR _copy$[ebp], eax\r
2458 \r
2459 ; 343  :                 PULL();\r
2460 \r
2461   001e6 39 5d fc         cmp     DWORD PTR _have$[ebp], ebx\r
2462   001e9 75 19            jne     SHORT $LN274@inflateBac@3\r
2463   001eb 8b 55 10         mov     edx, DWORD PTR _in_desc$[ebp]\r
2464   001ee 8d 4d f8         lea     ecx, DWORD PTR _next$[ebp]\r
2465   001f1 51               push    ecx\r
2466   001f2 52               push    edx\r
2467   001f3 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2468   001f6 83 c4 08         add     esp, 8\r
2469   001f9 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2470   001fc 85 c0            test    eax, eax\r
2471   001fe 0f 84 5a 0a 00\r
2472         00               je      $LN365@inflateBac@3\r
2473 $LN274@inflateBac@3:\r
2474 \r
2475 ; 344  :                 ROOM();\r
2476 \r
2477   00204 39 5d f0         cmp     DWORD PTR _left$[ebp], ebx\r
2478   00207 75 23            jne     SHORT $LN269@inflateBac@3\r
2479   00209 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
2480   0020c 8b 4f 34         mov     ecx, DWORD PTR [edi+52]\r
2481   0020f 50               push    eax\r
2482   00210 89 45 f0         mov     DWORD PTR _left$[ebp], eax\r
2483   00213 89 47 2c         mov     DWORD PTR [edi+44], eax\r
2484   00216 8b 45 18         mov     eax, DWORD PTR _out_desc$[ebp]\r
2485   00219 51               push    ecx\r
2486   0021a 50               push    eax\r
2487   0021b 89 4d f4         mov     DWORD PTR _put$[ebp], ecx\r
2488   0021e ff 55 14         call    DWORD PTR _out$[ebp]\r
2489   00221 83 c4 0c         add     esp, 12                        ; 0000000cH\r
2490   00224 85 c0            test    eax, eax\r
2491   00226 0f 85 28 0a 00\r
2492         00               jne     $LN366@inflateBac@3\r
2493 $LN269@inflateBac@3:\r
2494 \r
2495 ; 345  :                 if (copy > have) copy = have;\r
2496 \r
2497   0022c 8b 45 e8         mov     eax, DWORD PTR _copy$[ebp]\r
2498   0022f 8b 4d fc         mov     ecx, DWORD PTR _have$[ebp]\r
2499   00232 3b c1            cmp     eax, ecx\r
2500   00234 76 05            jbe     SHORT $LN265@inflateBac@3\r
2501   00236 8b c1            mov     eax, ecx\r
2502   00238 89 4d e8         mov     DWORD PTR _copy$[ebp], ecx\r
2503 $LN265@inflateBac@3:\r
2504 \r
2505 ; 346  :                 if (copy > left) copy = left;\r
2506 \r
2507   0023b 8b 4d f0         mov     ecx, DWORD PTR _left$[ebp]\r
2508   0023e 3b c1            cmp     eax, ecx\r
2509   00240 76 03            jbe     SHORT $LN264@inflateBac@3\r
2510   00242 89 4d e8         mov     DWORD PTR _copy$[ebp], ecx\r
2511 $LN264@inflateBac@3:\r
2512 \r
2513 ; 347  :                 zmemcpy(put, next, copy);\r
2514 \r
2515   00245 8b 4d e8         mov     ecx, DWORD PTR _copy$[ebp]\r
2516   00248 8b 55 f8         mov     edx, DWORD PTR _next$[ebp]\r
2517   0024b 8b 45 f4         mov     eax, DWORD PTR _put$[ebp]\r
2518   0024e 51               push    ecx\r
2519   0024f 52               push    edx\r
2520   00250 50               push    eax\r
2521   00251 e8 00 00 00 00   call    _memcpy\r
2522 \r
2523 ; 348  :                 have -= copy;\r
2524 \r
2525   00256 8b 45 e8         mov     eax, DWORD PTR _copy$[ebp]\r
2526 \r
2527 ; 349  :                 next += copy;\r
2528 \r
2529   00259 01 45 f8         add     DWORD PTR _next$[ebp], eax\r
2530   0025c 29 45 fc         sub     DWORD PTR _have$[ebp], eax\r
2531 \r
2532 ; 350  :                 left -= copy;\r
2533 \r
2534   0025f 29 45 f0         sub     DWORD PTR _left$[ebp], eax\r
2535 \r
2536 ; 351  :                 put += copy;\r
2537 \r
2538   00262 01 45 f4         add     DWORD PTR _put$[ebp], eax\r
2539 \r
2540 ; 352  :                 state->length -= copy;\r
2541 \r
2542   00265 29 47 40         sub     DWORD PTR [edi+64], eax\r
2543   00268 83 c4 0c         add     esp, 12                        ; 0000000cH\r
2544   0026b 39 5f 40         cmp     DWORD PTR [edi+64], ebx\r
2545   0026e 0f 85 6c ff ff\r
2546         ff               jne     $LL277@inflateBac@3\r
2547 $LN276@inflateBac@3:\r
2548 \r
2549 ; 353  :             }\r
2550 ; 354  :             Tracev((stderr, "inflate:       stored end\n"));\r
2551 ; 355  :             state->mode = TYPE;\r
2552 \r
2553   00274 c7 07 0b 00 00\r
2554         00               mov     DWORD PTR [edi], 11    ; 0000000bH\r
2555 \r
2556 ; 356  :             break;\r
2557 \r
2558   0027a e9 bb 09 00 00   jmp     $LN387@inflateBac@3\r
2559 $LN262@inflateBac@3:\r
2560 \r
2561 ; 357  : \r
2562 ; 358  :         case TABLE:\r
2563 ; 359  :             /* get dynamic table entries descriptor */\r
2564 ; 360  :             NEEDBITS(14);\r
2565 \r
2566   0027f 83 fe 0e         cmp     esi, 14                        ; 0000000eH\r
2567   00282 73 3a            jae     SHORT $LN261@inflateBac@3\r
2568 $LL259@inflateBac@3:\r
2569   00284 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2570   00288 75 19            jne     SHORT $LN253@inflateBac@3\r
2571   0028a 8b 55 10         mov     edx, DWORD PTR _in_desc$[ebp]\r
2572   0028d 8d 4d f8         lea     ecx, DWORD PTR _next$[ebp]\r
2573   00290 51               push    ecx\r
2574   00291 52               push    edx\r
2575   00292 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2576   00295 83 c4 08         add     esp, 8\r
2577   00298 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2578   0029b 85 c0            test    eax, eax\r
2579   0029d 0f 84 aa 09 00\r
2580         00               je      $LN363@inflateBac@3\r
2581 $LN253@inflateBac@3:\r
2582   002a3 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2583   002a6 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2584   002a9 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2585   002ac 8b ce            mov     ecx, esi\r
2586   002ae d3 e2            shl     edx, cl\r
2587   002b0 40               inc     eax\r
2588   002b1 83 c6 08         add     esi, 8\r
2589   002b4 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2590   002b7 03 da            add     ebx, edx\r
2591   002b9 83 fe 0e         cmp     esi, 14                        ; 0000000eH\r
2592   002bc 72 c6            jb      SHORT $LL259@inflateBac@3\r
2593 $LN261@inflateBac@3:\r
2594 \r
2595 ; 361  :             state->nlen = BITS(5) + 257;\r
2596 \r
2597   002be 8b c3            mov     eax, ebx\r
2598 \r
2599 ; 362  :             DROPBITS(5);\r
2600 \r
2601   002c0 c1 eb 05         shr     ebx, 5\r
2602 \r
2603 ; 363  :             state->ndist = BITS(5) + 1;\r
2604 \r
2605   002c3 8b cb            mov     ecx, ebx\r
2606 \r
2607 ; 364  :             DROPBITS(5);\r
2608 \r
2609   002c5 c1 eb 05         shr     ebx, 5\r
2610 \r
2611 ; 365  :             state->ncode = BITS(4) + 4;\r
2612 \r
2613   002c8 8b d3            mov     edx, ebx\r
2614   002ca 83 e0 1f         and     eax, 31                        ; 0000001fH\r
2615   002cd 83 e1 1f         and     ecx, 31                        ; 0000001fH\r
2616   002d0 83 e2 0f         and     edx, 15                        ; 0000000fH\r
2617   002d3 05 01 01 00 00   add     eax, 257               ; 00000101H\r
2618   002d8 41               inc     ecx\r
2619   002d9 83 c2 04         add     edx, 4\r
2620 \r
2621 ; 366  :             DROPBITS(4);\r
2622 \r
2623   002dc c1 eb 04         shr     ebx, 4\r
2624   002df 83 ee 0e         sub     esi, 14                        ; 0000000eH\r
2625   002e2 89 47 60         mov     DWORD PTR [edi+96], eax\r
2626   002e5 89 4f 64         mov     DWORD PTR [edi+100], ecx\r
2627   002e8 89 57 5c         mov     DWORD PTR [edi+92], edx\r
2628 \r
2629 ; 367  : #ifndef PKZIP_BUG_WORKAROUND\r
2630 ; 368  :             if (state->nlen > 286 || state->ndist > 30) {\r
2631 \r
2632   002eb 3d 1e 01 00 00   cmp     eax, 286               ; 0000011eH\r
2633   002f0 0f 87 90 04 00\r
2634         00               ja      $LN239@inflateBac@3\r
2635   002f6 83 f9 1e         cmp     ecx, 30                        ; 0000001eH\r
2636   002f9 0f 87 87 04 00\r
2637         00               ja      $LN239@inflateBac@3\r
2638 \r
2639 ; 372  :             }\r
2640 ; 373  : #endif\r
2641 ; 374  :             Tracev((stderr, "inflate:       table sizes ok\n"));\r
2642 ; 375  : \r
2643 ; 376  :             /* get code length code lengths (not a typo) */\r
2644 ; 377  :             state->have = 0;\r
2645 \r
2646   002ff c7 47 68 00 00\r
2647         00 00            mov     DWORD PTR [edi+104], 0\r
2648 \r
2649 ; 378  :             while (state->have < state->ncode) {\r
2650 \r
2651   00306 85 d2            test    edx, edx\r
2652   00308 76 6b            jbe     SHORT $LN346@inflateBac@3\r
2653   0030a 8d 9b 00 00 00\r
2654         00               npad    6\r
2655 $LL238@inflateBac@3:\r
2656 \r
2657 ; 379  :                 NEEDBITS(3);\r
2658 \r
2659   00310 83 fe 03         cmp     esi, 3\r
2660   00313 73 3a            jae     SHORT $LN235@inflateBac@3\r
2661 $LL233@inflateBac@3:\r
2662   00315 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2663   00319 75 19            jne     SHORT $LN227@inflateBac@3\r
2664   0031b 8b 4d 10         mov     ecx, DWORD PTR _in_desc$[ebp]\r
2665   0031e 8d 45 f8         lea     eax, DWORD PTR _next$[ebp]\r
2666   00321 50               push    eax\r
2667   00322 51               push    ecx\r
2668   00323 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2669   00326 83 c4 08         add     esp, 8\r
2670   00329 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2671   0032c 85 c0            test    eax, eax\r
2672   0032e 0f 84 19 09 00\r
2673         00               je      $LN363@inflateBac@3\r
2674 $LN227@inflateBac@3:\r
2675   00334 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2676   00337 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2677   0033a ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2678   0033d 8b ce            mov     ecx, esi\r
2679   0033f d3 e2            shl     edx, cl\r
2680   00341 40               inc     eax\r
2681   00342 83 c6 08         add     esi, 8\r
2682   00345 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2683   00348 03 da            add     ebx, edx\r
2684   0034a 83 fe 03         cmp     esi, 3\r
2685   0034d 72 c6            jb      SHORT $LL233@inflateBac@3\r
2686 $LN235@inflateBac@3:\r
2687 \r
2688 ; 380  :                 state->lens[order[state->have++]] = (unsigned short)BITS(3);\r
2689 \r
2690   0034f 8b 4f 68         mov     ecx, DWORD PTR [edi+104]\r
2691   00352 0f b7 14 4d 00\r
2692         00 00 00         movzx   edx, WORD PTR ?order@?1??inflateBack@@9@9[ecx*2]\r
2693   0035a 8b c3            mov     eax, ebx\r
2694   0035c 83 e0 07         and     eax, 7\r
2695   0035f 66 89 44 57 70   mov     WORD PTR [edi+edx*2+112], ax\r
2696   00364 ff 47 68         inc     DWORD PTR [edi+104]\r
2697   00367 8b 47 68         mov     eax, DWORD PTR [edi+104]\r
2698 \r
2699 ; 381  :                 DROPBITS(3);\r
2700 \r
2701   0036a c1 eb 03         shr     ebx, 3\r
2702   0036d 83 ee 03         sub     esi, 3\r
2703   00370 3b 47 5c         cmp     eax, DWORD PTR [edi+92]\r
2704   00373 72 9b            jb      SHORT $LL238@inflateBac@3\r
2705 $LN346@inflateBac@3:\r
2706 \r
2707 ; 382  :             }\r
2708 ; 383  :             while (state->have < 19)\r
2709 \r
2710   00375 b8 13 00 00 00   mov     eax, 19                        ; 00000013H\r
2711   0037a 39 47 68         cmp     DWORD PTR [edi+104], eax\r
2712   0037d 73 1b            jae     SHORT $LN219@inflateBac@3\r
2713   0037f 90               npad    1\r
2714 $LL220@inflateBac@3:\r
2715 \r
2716 ; 384  :                 state->lens[order[state->have++]] = 0;\r
2717 \r
2718   00380 8b 4f 68         mov     ecx, DWORD PTR [edi+104]\r
2719   00383 0f b7 14 4d 00\r
2720         00 00 00         movzx   edx, WORD PTR ?order@?1??inflateBack@@9@9[ecx*2]\r
2721   0038b 33 c9            xor     ecx, ecx\r
2722   0038d 66 89 4c 57 70   mov     WORD PTR [edi+edx*2+112], cx\r
2723   00392 ff 47 68         inc     DWORD PTR [edi+104]\r
2724   00395 39 47 68         cmp     DWORD PTR [edi+104], eax\r
2725   00398 72 e6            jb      SHORT $LL220@inflateBac@3\r
2726 $LN219@inflateBac@3:\r
2727 \r
2728 ; 385  :             state->next = state->codes;\r
2729 \r
2730   0039a 8d 87 30 05 00\r
2731         00               lea     eax, DWORD PTR [edi+1328]\r
2732   003a0 8d 4f 6c         lea     ecx, DWORD PTR [edi+108]\r
2733   003a3 89 01            mov     DWORD PTR [ecx], eax\r
2734 \r
2735 ; 386  :             state->lencode = (code const FAR *)(state->next);\r
2736 \r
2737   003a5 89 47 4c         mov     DWORD PTR [edi+76], eax\r
2738 \r
2739 ; 387  :             state->lenbits = 7;\r
2740 ; 388  :             ret = inflate_table(CODES, state->lens, 19, &(state->next),\r
2741 ; 389  :                                 &(state->lenbits), state->work);\r
2742 \r
2743   003a8 8d 97 f0 02 00\r
2744         00               lea     edx, DWORD PTR [edi+752]\r
2745   003ae 52               push    edx\r
2746   003af 8d 47 54         lea     eax, DWORD PTR [edi+84]\r
2747   003b2 50               push    eax\r
2748   003b3 51               push    ecx\r
2749   003b4 c7 00 07 00 00\r
2750         00               mov     DWORD PTR [eax], 7\r
2751   003ba 6a 13            push    19                     ; 00000013H\r
2752   003bc 8d 47 70         lea     eax, DWORD PTR [edi+112]\r
2753   003bf 50               push    eax\r
2754   003c0 6a 00            push    0\r
2755   003c2 e8 00 00 00 00   call    _inflate_table\r
2756   003c7 83 c4 18         add     esp, 24                        ; 00000018H\r
2757 \r
2758 ; 390  :             if (ret) {\r
2759 \r
2760   003ca 85 c0            test    eax, eax\r
2761   003cc 74 15            je      SHORT $LN218@inflateBac@3\r
2762 \r
2763 ; 391  :                 strm->msg = (char *)"invalid code lengths set";\r
2764 \r
2765   003ce 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
2766   003d1 c7 42 18 00 00\r
2767         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@\r
2768 \r
2769 ; 392  :                 state->mode = BAD;\r
2770 \r
2771   003d8 c7 07 1d 00 00\r
2772         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
2773 \r
2774 ; 393  :                 break;\r
2775 \r
2776   003de e9 57 08 00 00   jmp     $LN387@inflateBac@3\r
2777 $LN218@inflateBac@3:\r
2778 \r
2779 ; 394  :             }\r
2780 ; 395  :             Tracev((stderr, "inflate:       code lengths ok\n"));\r
2781 ; 396  : \r
2782 ; 397  :             /* get length and distance code code lengths */\r
2783 ; 398  :             state->have = 0;\r
2784 ; 399  :             while (state->have < state->nlen + state->ndist) {\r
2785 \r
2786   003e3 8b 47 64         mov     eax, DWORD PTR [edi+100]\r
2787   003e6 03 47 60         add     eax, DWORD PTR [edi+96]\r
2788   003e9 c7 47 68 00 00\r
2789         00 00            mov     DWORD PTR [edi+104], 0\r
2790   003f0 0f 84 37 02 00\r
2791         00               je      $LN417@inflateBac@3\r
2792   003f6 eb 08 8d a4 24\r
2793         00 00 00 00 90   npad    10\r
2794 $LL217@inflateBac@3:\r
2795 \r
2796 ; 400  :                 for (;;) {\r
2797 ; 401  :                     here = state->lencode[BITS(state->lenbits)];\r
2798 \r
2799   00400 8b 4f 54         mov     ecx, DWORD PTR [edi+84]\r
2800   00403 8b 47 4c         mov     eax, DWORD PTR [edi+76]\r
2801   00406 ba 01 00 00 00   mov     edx, 1\r
2802   0040b d3 e2            shl     edx, cl\r
2803   0040d 4a               dec     edx\r
2804   0040e 23 d3            and     edx, ebx\r
2805   00410 8b 04 90         mov     eax, DWORD PTR [eax+edx*4]\r
2806 \r
2807 ; 402  :                     if ((unsigned)(here.bits) <= bits) break;\r
2808 \r
2809   00413 8b c8            mov     ecx, eax\r
2810   00415 c1 e9 08         shr     ecx, 8\r
2811   00418 0f b6 d1         movzx   edx, cl\r
2812   0041b 89 45 e8         mov     DWORD PTR _here$[ebp], eax\r
2813   0041e 3b d6            cmp     edx, esi\r
2814   00420 76 58            jbe     SHORT $LN369@inflateBac@3\r
2815 $LL215@inflateBac@3:\r
2816 \r
2817 ; 403  :                     PULLBYTE();\r
2818 \r
2819   00422 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2820   00426 75 19            jne     SHORT $LN208@inflateBac@3\r
2821   00428 8b 4d 10         mov     ecx, DWORD PTR _in_desc$[ebp]\r
2822   0042b 8d 45 f8         lea     eax, DWORD PTR _next$[ebp]\r
2823   0042e 50               push    eax\r
2824   0042f 51               push    ecx\r
2825   00430 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2826   00433 83 c4 08         add     esp, 8\r
2827   00436 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2828   00439 85 c0            test    eax, eax\r
2829   0043b 0f 84 0c 08 00\r
2830         00               je      $LN363@inflateBac@3\r
2831 $LN208@inflateBac@3:\r
2832   00441 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2833   00444 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2834   00447 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2835   0044a 40               inc     eax\r
2836   0044b 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2837   0044e 8b ce            mov     ecx, esi\r
2838   00450 d3 e2            shl     edx, cl\r
2839   00452 8b 4f 54         mov     ecx, DWORD PTR [edi+84]\r
2840   00455 b8 01 00 00 00   mov     eax, 1\r
2841   0045a d3 e0            shl     eax, cl\r
2842   0045c 8b 4f 4c         mov     ecx, DWORD PTR [edi+76]\r
2843   0045f 03 da            add     ebx, edx\r
2844   00461 83 c6 08         add     esi, 8\r
2845   00464 48               dec     eax\r
2846   00465 23 c3            and     eax, ebx\r
2847   00467 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
2848   0046a 89 45 e8         mov     DWORD PTR _here$[ebp], eax\r
2849   0046d c1 e8 08         shr     eax, 8\r
2850   00470 0f b6 d0         movzx   edx, al\r
2851   00473 3b d6            cmp     edx, esi\r
2852   00475 77 ab            ja      SHORT $LL215@inflateBac@3\r
2853 \r
2854 ; 402  :                     if ((unsigned)(here.bits) <= bits) break;\r
2855 \r
2856   00477 8b 45 e8         mov     eax, DWORD PTR _here$[ebp]\r
2857 $LN369@inflateBac@3:\r
2858 \r
2859 ; 404  :                 }\r
2860 ; 405  :                 if (here.val < 16) {\r
2861 \r
2862   0047a 8b d0            mov     edx, eax\r
2863   0047c c1 ea 10         shr     edx, 16                        ; 00000010H\r
2864   0047f 66 83 fa 10      cmp     dx, 16                 ; 00000010H\r
2865   00483 73 1a            jae     SHORT $LN458@inflateBac@3\r
2866 \r
2867 ; 406  :                     DROPBITS(here.bits);\r
2868 \r
2869   00485 c1 e8 08         shr     eax, 8\r
2870   00488 0f b6 c8         movzx   ecx, al\r
2871 \r
2872 ; 407  :                     state->lens[state->have++] = here.val;\r
2873 \r
2874   0048b 8b 47 68         mov     eax, DWORD PTR [edi+104]\r
2875   0048e d3 eb            shr     ebx, cl\r
2876   00490 2b f1            sub     esi, ecx\r
2877   00492 66 89 54 47 70   mov     WORD PTR [edi+eax*2+112], dx\r
2878   00497 ff 47 68         inc     DWORD PTR [edi+104]\r
2879 \r
2880 ; 408  :                 }\r
2881 ; 409  :                 else {\r
2882 \r
2883   0049a e9 7f 01 00 00   jmp     $LN430@inflateBac@3\r
2884 $LN458@inflateBac@3:\r
2885 \r
2886 ; 410  :                     if (here.val == 16) {\r
2887 \r
2888   0049f 75 7f            jne     SHORT $LN199@inflateBac@3\r
2889 \r
2890 ; 411  :                         NEEDBITS(here.bits + 2);\r
2891 \r
2892   004a1 8b c8            mov     ecx, eax\r
2893   004a3 c1 e9 08         shr     ecx, 8\r
2894   004a6 0f b6 d1         movzx   edx, cl\r
2895   004a9 83 c2 02         add     edx, 2\r
2896   004ac 3b f2            cmp     esi, edx\r
2897   004ae 73 43            jae     SHORT $LN197@inflateBac@3\r
2898 $LL195@inflateBac@3:\r
2899   004b0 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2900   004b4 75 19            jne     SHORT $LN189@inflateBac@3\r
2901   004b6 8b 4d 10         mov     ecx, DWORD PTR _in_desc$[ebp]\r
2902   004b9 8d 45 f8         lea     eax, DWORD PTR _next$[ebp]\r
2903   004bc 50               push    eax\r
2904   004bd 51               push    ecx\r
2905   004be ff 55 0c         call    DWORD PTR _in$[ebp]\r
2906   004c1 83 c4 08         add     esp, 8\r
2907   004c4 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2908   004c7 85 c0            test    eax, eax\r
2909   004c9 0f 84 7e 07 00\r
2910         00               je      $LN363@inflateBac@3\r
2911 $LN189@inflateBac@3:\r
2912   004cf 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2913   004d2 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2914   004d5 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2915   004d8 40               inc     eax\r
2916   004d9 8b ce            mov     ecx, esi\r
2917   004db 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2918   004de 0f b6 45 e9      movzx   eax, BYTE PTR _here$[ebp+1]\r
2919   004e2 d3 e2            shl     edx, cl\r
2920   004e4 83 c6 08         add     esi, 8\r
2921   004e7 83 c0 02         add     eax, 2\r
2922   004ea 03 da            add     ebx, edx\r
2923   004ec 3b f0            cmp     esi, eax\r
2924   004ee 72 c0            jb      SHORT $LL195@inflateBac@3\r
2925   004f0 8b 45 e8         mov     eax, DWORD PTR _here$[ebp]\r
2926 $LN197@inflateBac@3:\r
2927 \r
2928 ; 412  :                         DROPBITS(here.bits);\r
2929 \r
2930   004f3 0f b6 cc         movzx   ecx, ah\r
2931 \r
2932 ; 413  :                         if (state->have == 0) {\r
2933 \r
2934   004f6 8b 47 68         mov     eax, DWORD PTR [edi+104]\r
2935   004f9 d3 eb            shr     ebx, cl\r
2936   004fb 2b f1            sub     esi, ecx\r
2937   004fd 85 c0            test    eax, eax\r
2938   004ff 0f 84 50 01 00\r
2939         00               je      $LN374@inflateBac@3\r
2940 \r
2941 ; 417  :                         }\r
2942 ; 418  :                         len = (unsigned)(state->lens[state->have - 1]);\r
2943 \r
2944   00505 0f b7 4c 47 6e   movzx   ecx, WORD PTR [edi+eax*2+110]\r
2945 \r
2946 ; 419  :                         copy = 3 + BITS(2);\r
2947 \r
2948   0050a 8b c3            mov     eax, ebx\r
2949   0050c 83 e0 03         and     eax, 3\r
2950   0050f 83 c0 03         add     eax, 3\r
2951 \r
2952 ; 420  :                         DROPBITS(2);\r
2953 \r
2954   00512 c1 eb 02         shr     ebx, 2\r
2955   00515 89 4d e8         mov     DWORD PTR _len$[ebp], ecx\r
2956   00518 83 ee 02         sub     esi, 2\r
2957 \r
2958 ; 421  :                     }\r
2959 ; 422  :                     else if (here.val == 17) {\r
2960 \r
2961   0051b e9 d0 00 00 00   jmp     $LN138@inflateBac@3\r
2962 $LN199@inflateBac@3:\r
2963   00520 66 83 7d ea 11   cmp     WORD PTR _here$[ebp+2], 17 ; 00000011H\r
2964 \r
2965 ; 423  :                         NEEDBITS(here.bits + 3);\r
2966 \r
2967   00525 0f b6 cc         movzx   ecx, ah\r
2968   00528 89 4d e8         mov     DWORD PTR tv1446[ebp], ecx\r
2969   0052b 75 5d            jne     SHORT $LN156@inflateBac@3\r
2970   0052d 8d 41 03         lea     eax, DWORD PTR [ecx+3]\r
2971   00530 3b f0            cmp     esi, eax\r
2972   00532 73 42            jae     SHORT $LN175@inflateBac@3\r
2973 $LL173@inflateBac@3:\r
2974   00534 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
2975   00538 75 19            jne     SHORT $LN167@inflateBac@3\r
2976   0053a 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
2977   0053d 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
2978   00540 52               push    edx\r
2979   00541 50               push    eax\r
2980   00542 ff 55 0c         call    DWORD PTR _in$[ebp]\r
2981   00545 83 c4 08         add     esp, 8\r
2982   00548 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
2983   0054b 85 c0            test    eax, eax\r
2984   0054d 0f 84 fa 06 00\r
2985         00               je      $LN363@inflateBac@3\r
2986 $LN167@inflateBac@3:\r
2987   00553 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
2988   00556 0f b6 10         movzx   edx, BYTE PTR [eax]\r
2989   00559 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
2990   0055c 40               inc     eax\r
2991   0055d 8b ce            mov     ecx, esi\r
2992   0055f d3 e2            shl     edx, cl\r
2993   00561 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
2994   00564 8b 45 e8         mov     eax, DWORD PTR tv1446[ebp]\r
2995   00567 83 c6 08         add     esi, 8\r
2996   0056a 83 c0 03         add     eax, 3\r
2997   0056d 03 da            add     ebx, edx\r
2998   0056f 3b f0            cmp     esi, eax\r
2999   00571 72 c1            jb      SHORT $LL173@inflateBac@3\r
3000   00573 8b 4d e8         mov     ecx, DWORD PTR tv1446[ebp]\r
3001 $LN175@inflateBac@3:\r
3002 \r
3003 ; 424  :                         DROPBITS(here.bits);\r
3004 \r
3005   00576 d3 eb            shr     ebx, cl\r
3006 \r
3007 ; 425  :                         len = 0;\r
3008 ; 426  :                         copy = 3 + BITS(3);\r
3009 ; 427  :                         DROPBITS(3);\r
3010 \r
3011   00578 ba fd ff ff ff   mov     edx, -3                        ; fffffffdH\r
3012   0057d 8b c3            mov     eax, ebx\r
3013   0057f 83 e0 07         and     eax, 7\r
3014   00582 83 c0 03         add     eax, 3\r
3015   00585 c1 eb 03         shr     ebx, 3\r
3016 \r
3017 ; 428  :                     }\r
3018 ; 429  :                     else {\r
3019 \r
3020   00588 eb 5b            jmp     SHORT $LN459@inflateBac@3\r
3021 $LN156@inflateBac@3:\r
3022 \r
3023 ; 430  :                         NEEDBITS(here.bits + 7);\r
3024 \r
3025   0058a 8d 41 07         lea     eax, DWORD PTR [ecx+7]\r
3026   0058d 3b f0            cmp     esi, eax\r
3027   0058f 73 42            jae     SHORT $LN155@inflateBac@3\r
3028 $LL153@inflateBac@3:\r
3029   00591 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3030   00595 75 19            jne     SHORT $LN147@inflateBac@3\r
3031   00597 8b 4d 10         mov     ecx, DWORD PTR _in_desc$[ebp]\r
3032   0059a 8d 45 f8         lea     eax, DWORD PTR _next$[ebp]\r
3033   0059d 50               push    eax\r
3034   0059e 51               push    ecx\r
3035   0059f ff 55 0c         call    DWORD PTR _in$[ebp]\r
3036   005a2 83 c4 08         add     esp, 8\r
3037   005a5 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3038   005a8 85 c0            test    eax, eax\r
3039   005aa 0f 84 9d 06 00\r
3040         00               je      $LN363@inflateBac@3\r
3041 $LN147@inflateBac@3:\r
3042   005b0 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3043   005b3 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3044   005b6 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3045   005b9 40               inc     eax\r
3046   005ba 8b ce            mov     ecx, esi\r
3047   005bc d3 e2            shl     edx, cl\r
3048   005be 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3049   005c1 8b 45 e8         mov     eax, DWORD PTR tv1446[ebp]\r
3050   005c4 83 c6 08         add     esi, 8\r
3051   005c7 83 c0 07         add     eax, 7\r
3052   005ca 03 da            add     ebx, edx\r
3053   005cc 3b f0            cmp     esi, eax\r
3054   005ce 72 c1            jb      SHORT $LL153@inflateBac@3\r
3055   005d0 8b 4d e8         mov     ecx, DWORD PTR tv1446[ebp]\r
3056 $LN155@inflateBac@3:\r
3057 \r
3058 ; 431  :                         DROPBITS(here.bits);\r
3059 \r
3060   005d3 d3 eb            shr     ebx, cl\r
3061 \r
3062 ; 432  :                         len = 0;\r
3063 ; 433  :                         copy = 11 + BITS(7);\r
3064 ; 434  :                         DROPBITS(7);\r
3065 \r
3066   005d5 ba f9 ff ff ff   mov     edx, -7                        ; fffffff9H\r
3067   005da 8b c3            mov     eax, ebx\r
3068   005dc 83 e0 7f         and     eax, 127               ; 0000007fH\r
3069   005df 83 c0 0b         add     eax, 11                        ; 0000000bH\r
3070   005e2 c1 eb 07         shr     ebx, 7\r
3071 $LN459@inflateBac@3:\r
3072   005e5 2b d1            sub     edx, ecx\r
3073   005e7 03 f2            add     esi, edx\r
3074   005e9 c7 45 e8 00 00\r
3075         00 00            mov     DWORD PTR _len$[ebp], 0\r
3076 $LN138@inflateBac@3:\r
3077 \r
3078 ; 435  :                     }\r
3079 ; 436  :                     if (state->have + copy > state->nlen + state->ndist) {\r
3080 \r
3081   005f0 8b 4f 64         mov     ecx, DWORD PTR [edi+100]\r
3082   005f3 8b 57 68         mov     edx, DWORD PTR [edi+104]\r
3083   005f6 03 4f 60         add     ecx, DWORD PTR [edi+96]\r
3084   005f9 03 d0            add     edx, eax\r
3085   005fb 3b d1            cmp     edx, ecx\r
3086   005fd 77 6b            ja      SHORT $LN375@inflateBac@3\r
3087 \r
3088 ; 439  :                         break;\r
3089 ; 440  :                     }\r
3090 ; 441  :                     while (copy--)\r
3091 \r
3092   005ff 85 c0            test    eax, eax\r
3093   00601 74 1b            je      SHORT $LN430@inflateBac@3\r
3094   00603 8b 4d e8         mov     ecx, DWORD PTR _len$[ebp]\r
3095   00606 eb 08 8d a4 24\r
3096         00 00 00 00 90   npad    10\r
3097 $LL136@inflateBac@3:\r
3098 \r
3099 ; 442  :                         state->lens[state->have++] = (unsigned short)len;\r
3100 \r
3101   00610 8b 57 68         mov     edx, DWORD PTR [edi+104]\r
3102   00613 66 89 4c 57 70   mov     WORD PTR [edi+edx*2+112], cx\r
3103   00618 ff 47 68         inc     DWORD PTR [edi+104]\r
3104   0061b 48               dec     eax\r
3105   0061c 75 f2            jne     SHORT $LL136@inflateBac@3\r
3106 $LN430@inflateBac@3:\r
3107 \r
3108 ; 394  :             }\r
3109 ; 395  :             Tracev((stderr, "inflate:       code lengths ok\n"));\r
3110 ; 396  : \r
3111 ; 397  :             /* get length and distance code code lengths */\r
3112 ; 398  :             state->have = 0;\r
3113 ; 399  :             while (state->have < state->nlen + state->ndist) {\r
3114 \r
3115   0061e 8b 47 64         mov     eax, DWORD PTR [edi+100]\r
3116   00621 03 47 60         add     eax, DWORD PTR [edi+96]\r
3117   00624 39 47 68         cmp     DWORD PTR [edi+104], eax\r
3118   00627 0f 82 d3 fd ff\r
3119         ff               jb      $LL217@inflateBac@3\r
3120 $LN417@inflateBac@3:\r
3121 \r
3122 ; 443  :                 }\r
3123 ; 444  :             }\r
3124 ; 445  : \r
3125 ; 446  :             /* handle error breaks in while */\r
3126 ; 447  :             if (state->mode == BAD) break;\r
3127 \r
3128   0062d 83 3f 1d         cmp     DWORD PTR [edi], 29    ; 0000001dH\r
3129   00630 0f 84 04 06 00\r
3130         00               je      $LN387@inflateBac@3\r
3131 \r
3132 ; 448  : \r
3133 ; 449  :             /* check for end-of-block code (better have one) */\r
3134 ; 450  :             if (state->lens[256] == 0) {\r
3135 \r
3136   00636 66 83 bf 70 02\r
3137         00 00 00         cmp     WORD PTR [edi+624], 0\r
3138   0063e 75 3f            jne     SHORT $LN133@inflateBac@3\r
3139 \r
3140 ; 451  :                 strm->msg = (char *)"invalid code -- missing end-of-block";\r
3141 \r
3142   00640 8b 45 08         mov     eax, DWORD PTR _strm$[ebp]\r
3143   00643 c7 40 18 00 00\r
3144         00 00            mov     DWORD PTR [eax+24], OFFSET ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@\r
3145 \r
3146 ; 452  :                 state->mode = BAD;\r
3147 \r
3148   0064a c7 07 1d 00 00\r
3149         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3150 \r
3151 ; 453  :                 break;\r
3152 \r
3153   00650 e9 e5 05 00 00   jmp     $LN387@inflateBac@3\r
3154 $LN374@inflateBac@3:\r
3155 \r
3156 ; 414  :                             strm->msg = (char *)"invalid bit length repeat";\r
3157 \r
3158   00655 8b 4d 08         mov     ecx, DWORD PTR _strm$[ebp]\r
3159   00658 c7 41 18 00 00\r
3160         00 00            mov     DWORD PTR [ecx+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@\r
3161 \r
3162 ; 415  :                             state->mode = BAD;\r
3163 \r
3164   0065f c7 07 1d 00 00\r
3165         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3166 \r
3167 ; 416  :                             break;\r
3168 \r
3169   00665 e9 d0 05 00 00   jmp     $LN387@inflateBac@3\r
3170 $LN375@inflateBac@3:\r
3171 \r
3172 ; 437  :                         strm->msg = (char *)"invalid bit length repeat";\r
3173 \r
3174   0066a 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
3175   0066d c7 42 18 00 00\r
3176         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@\r
3177 \r
3178 ; 438  :                         state->mode = BAD;\r
3179 \r
3180   00674 c7 07 1d 00 00\r
3181         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3182 \r
3183 ; 443  :                 }\r
3184 ; 444  :             }\r
3185 ; 445  : \r
3186 ; 446  :             /* handle error breaks in while */\r
3187 ; 447  :             if (state->mode == BAD) break;\r
3188 \r
3189   0067a e9 bb 05 00 00   jmp     $LN387@inflateBac@3\r
3190 $LN133@inflateBac@3:\r
3191 \r
3192 ; 454  :             }\r
3193 ; 455  : \r
3194 ; 456  :             /* build code tables -- note: do not change the lenbits or distbits\r
3195 ; 457  :                values here (9 and 6) without reading the comments in inftrees.h\r
3196 ; 458  :                concerning the ENOUGH constants, which depend on those values */\r
3197 ; 459  :             state->next = state->codes;\r
3198 \r
3199   0067f 8d 87 30 05 00\r
3200         00               lea     eax, DWORD PTR [edi+1328]\r
3201   00685 8d 4f 6c         lea     ecx, DWORD PTR [edi+108]\r
3202   00688 89 01            mov     DWORD PTR [ecx], eax\r
3203 \r
3204 ; 460  :             state->lencode = (code const FAR *)(state->next);\r
3205 \r
3206   0068a 89 47 4c         mov     DWORD PTR [edi+76], eax\r
3207 \r
3208 ; 461  :             state->lenbits = 9;\r
3209 ; 462  :             ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),\r
3210 ; 463  :                                 &(state->lenbits), state->work);\r
3211 \r
3212   0068d 8d 97 f0 02 00\r
3213         00               lea     edx, DWORD PTR [edi+752]\r
3214   00693 52               push    edx\r
3215   00694 8d 47 54         lea     eax, DWORD PTR [edi+84]\r
3216   00697 50               push    eax\r
3217   00698 51               push    ecx\r
3218   00699 8b 4f 60         mov     ecx, DWORD PTR [edi+96]\r
3219   0069c c7 00 09 00 00\r
3220         00               mov     DWORD PTR [eax], 9\r
3221   006a2 51               push    ecx\r
3222   006a3 8d 47 70         lea     eax, DWORD PTR [edi+112]\r
3223   006a6 50               push    eax\r
3224   006a7 6a 01            push    1\r
3225   006a9 e8 00 00 00 00   call    _inflate_table\r
3226   006ae 83 c4 18         add     esp, 24                        ; 00000018H\r
3227 \r
3228 ; 464  :             if (ret) {\r
3229 \r
3230   006b1 85 c0            test    eax, eax\r
3231   006b3 74 15            je      SHORT $LN132@inflateBac@3\r
3232 \r
3233 ; 465  :                 strm->msg = (char *)"invalid literal/lengths set";\r
3234 \r
3235   006b5 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
3236   006b8 c7 42 18 00 00\r
3237         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@\r
3238 \r
3239 ; 466  :                 state->mode = BAD;\r
3240 \r
3241   006bf c7 07 1d 00 00\r
3242         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3243 \r
3244 ; 467  :                 break;\r
3245 \r
3246   006c5 e9 70 05 00 00   jmp     $LN387@inflateBac@3\r
3247 $LN132@inflateBac@3:\r
3248 \r
3249 ; 468  :             }\r
3250 ; 469  :             state->distcode = (code const FAR *)(state->next);\r
3251 \r
3252   006ca 8b 47 6c         mov     eax, DWORD PTR [edi+108]\r
3253   006cd 8d 4f 6c         lea     ecx, DWORD PTR [edi+108]\r
3254   006d0 89 47 50         mov     DWORD PTR [edi+80], eax\r
3255 \r
3256 ; 470  :             state->distbits = 6;\r
3257 ; 471  :             ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,\r
3258 ; 472  :                             &(state->next), &(state->distbits), state->work);\r
3259 \r
3260   006d3 8d 97 f0 02 00\r
3261         00               lea     edx, DWORD PTR [edi+752]\r
3262   006d9 52               push    edx\r
3263   006da 8b 57 60         mov     edx, DWORD PTR [edi+96]\r
3264   006dd 8d 47 58         lea     eax, DWORD PTR [edi+88]\r
3265   006e0 50               push    eax\r
3266   006e1 51               push    ecx\r
3267   006e2 8b 4f 64         mov     ecx, DWORD PTR [edi+100]\r
3268   006e5 c7 00 06 00 00\r
3269         00               mov     DWORD PTR [eax], 6\r
3270   006eb 51               push    ecx\r
3271   006ec 8d 44 57 70      lea     eax, DWORD PTR [edi+edx*2+112]\r
3272   006f0 50               push    eax\r
3273   006f1 6a 02            push    2\r
3274   006f3 e8 00 00 00 00   call    _inflate_table\r
3275   006f8 83 c4 18         add     esp, 24                        ; 00000018H\r
3276 \r
3277 ; 473  :             if (ret) {\r
3278 \r
3279   006fb 85 c0            test    eax, eax\r
3280   006fd 74 15            je      SHORT $LN131@inflateBac@3\r
3281 \r
3282 ; 474  :                 strm->msg = (char *)"invalid distances set";\r
3283 \r
3284   006ff 8b 4d 08         mov     ecx, DWORD PTR _strm$[ebp]\r
3285   00702 c7 41 18 00 00\r
3286         00 00            mov     DWORD PTR [ecx+24], OFFSET ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@\r
3287 \r
3288 ; 475  :                 state->mode = BAD;\r
3289 \r
3290   00709 c7 07 1d 00 00\r
3291         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3292 \r
3293 ; 476  :                 break;\r
3294 \r
3295   0070f e9 26 05 00 00   jmp     $LN387@inflateBac@3\r
3296 $LN131@inflateBac@3:\r
3297 \r
3298 ; 477  :             }\r
3299 ; 478  :             Tracev((stderr, "inflate:       codes ok\n"));\r
3300 ; 479  :             state->mode = LEN;\r
3301 \r
3302   00714 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3303   00717 c7 07 14 00 00\r
3304         00               mov     DWORD PTR [edi], 20    ; 00000014H\r
3305 $LN130@inflateBac@3:\r
3306 \r
3307 ; 480  : \r
3308 ; 481  :         case LEN:\r
3309 ; 482  :             /* use inflate_fast() if we have enough input and output */\r
3310 ; 483  :             if (have >= 6 && left >= 258) {\r
3311 \r
3312   0071d 83 7d fc 06      cmp     DWORD PTR _have$[ebp], 6\r
3313   00721 72 78            jb      SHORT $LN353@inflateBac@3\r
3314   00723 8b 4d f0         mov     ecx, DWORD PTR _left$[ebp]\r
3315   00726 81 f9 02 01 00\r
3316         00               cmp     ecx, 258               ; 00000102H\r
3317   0072c 72 6d            jb      SHORT $LN353@inflateBac@3\r
3318 \r
3319 ; 484  :                 RESTORE();\r
3320 \r
3321   0072e 8b 45 08         mov     eax, DWORD PTR _strm$[ebp]\r
3322   00731 89 50 0c         mov     DWORD PTR [eax+12], edx\r
3323   00734 8b 55 f8         mov     edx, DWORD PTR _next$[ebp]\r
3324   00737 89 10            mov     DWORD PTR [eax], edx\r
3325   00739 8b 55 fc         mov     edx, DWORD PTR _have$[ebp]\r
3326   0073c 89 48 10         mov     DWORD PTR [eax+16], ecx\r
3327   0073f 89 50 04         mov     DWORD PTR [eax+4], edx\r
3328 \r
3329 ; 485  :                 if (state->whave < state->wsize)\r
3330 \r
3331   00742 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
3332   00745 89 5f 38         mov     DWORD PTR [edi+56], ebx\r
3333   00748 89 77 3c         mov     DWORD PTR [edi+60], esi\r
3334   0074b 39 47 2c         cmp     DWORD PTR [edi+44], eax\r
3335   0074e 73 07            jae     SHORT $LN125@inflateBac@3\r
3336 \r
3337 ; 486  :                     state->whave = state->wsize - left;\r
3338 \r
3339   00750 8b d0            mov     edx, eax\r
3340   00752 2b d1            sub     edx, ecx\r
3341   00754 89 57 2c         mov     DWORD PTR [edi+44], edx\r
3342 $LN125@inflateBac@3:\r
3343 \r
3344 ; 487  :                 inflate_fast(strm, state->wsize);\r
3345 \r
3346   00757 8b 75 08         mov     esi, DWORD PTR _strm$[ebp]\r
3347   0075a 50               push    eax\r
3348   0075b 56               push    esi\r
3349   0075c e8 00 00 00 00   call    _inflate_fast\r
3350 \r
3351 ; 488  :                 LOAD();\r
3352 \r
3353   00761 8b 46 0c         mov     eax, DWORD PTR [esi+12]\r
3354   00764 8b 16            mov     edx, DWORD PTR [esi]\r
3355   00766 8b 4e 10         mov     ecx, DWORD PTR [esi+16]\r
3356   00769 89 45 f4         mov     DWORD PTR _put$[ebp], eax\r
3357   0076c 8b 46 04         mov     eax, DWORD PTR [esi+4]\r
3358   0076f 89 55 f8         mov     DWORD PTR _next$[ebp], edx\r
3359   00772 8b 5f 38         mov     ebx, DWORD PTR [edi+56]\r
3360   00775 8b 77 3c         mov     esi, DWORD PTR [edi+60]\r
3361   00778 83 c4 08         add     esp, 8\r
3362   0077b 89 4d f0         mov     DWORD PTR _left$[ebp], ecx\r
3363   0077e 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3364 \r
3365 ; 489  :                 break;\r
3366 \r
3367   00781 e9 b4 04 00 00   jmp     $LN387@inflateBac@3\r
3368 $LN239@inflateBac@3:\r
3369 \r
3370 ; 369  :                 strm->msg = (char *)"too many length or distance symbols";\r
3371 \r
3372   00786 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
3373   00789 c7 42 18 00 00\r
3374         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@\r
3375 \r
3376 ; 370  :                 state->mode = BAD;\r
3377 \r
3378   00790 c7 07 1d 00 00\r
3379         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3380 \r
3381 ; 371  :                 break;\r
3382 \r
3383   00796 e9 9f 04 00 00   jmp     $LN387@inflateBac@3\r
3384 $LN353@inflateBac@3:\r
3385 \r
3386 ; 490  :             }\r
3387 ; 491  : \r
3388 ; 492  :             /* get a literal, length, or end-of-block code */\r
3389 ; 493  :             for (;;) {\r
3390 ; 494  :                 here = state->lencode[BITS(state->lenbits)];\r
3391 \r
3392   0079b 8b 4f 54         mov     ecx, DWORD PTR [edi+84]\r
3393   0079e b8 01 00 00 00   mov     eax, 1\r
3394   007a3 d3 e0            shl     eax, cl\r
3395   007a5 8b 4f 4c         mov     ecx, DWORD PTR [edi+76]\r
3396   007a8 48               dec     eax\r
3397   007a9 23 c3            and     eax, ebx\r
3398   007ab 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3399 \r
3400 ; 495  :                 if ((unsigned)(here.bits) <= bits) break;\r
3401 \r
3402   007ae 8b c8            mov     ecx, eax\r
3403   007b0 c1 e9 08         shr     ecx, 8\r
3404   007b3 0f b6 c9         movzx   ecx, cl\r
3405   007b6 3b ce            cmp     ecx, esi\r
3406   007b8 76 5d            jbe     SHORT $LN376@inflateBac@3\r
3407   007ba 8d 9b 00 00 00\r
3408         00               npad    6\r
3409 $LL121@inflateBac@3:\r
3410 \r
3411 ; 496  :                 PULLBYTE();\r
3412 \r
3413   007c0 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3414   007c4 75 19            jne     SHORT $LN114@inflateBac@3\r
3415   007c6 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3416   007c9 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3417   007cc 52               push    edx\r
3418   007cd 50               push    eax\r
3419   007ce ff 55 0c         call    DWORD PTR _in$[ebp]\r
3420   007d1 83 c4 08         add     esp, 8\r
3421   007d4 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3422   007d7 85 c0            test    eax, eax\r
3423   007d9 0f 84 6e 04 00\r
3424         00               je      $LN363@inflateBac@3\r
3425 $LN114@inflateBac@3:\r
3426   007df 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3427   007e2 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3428   007e5 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3429   007e8 40               inc     eax\r
3430   007e9 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3431   007ec 8b ce            mov     ecx, esi\r
3432   007ee d3 e2            shl     edx, cl\r
3433   007f0 8b 4f 54         mov     ecx, DWORD PTR [edi+84]\r
3434   007f3 b8 01 00 00 00   mov     eax, 1\r
3435   007f8 d3 e0            shl     eax, cl\r
3436   007fa 8b 4f 4c         mov     ecx, DWORD PTR [edi+76]\r
3437   007fd 03 da            add     ebx, edx\r
3438   007ff 83 c6 08         add     esi, 8\r
3439   00802 48               dec     eax\r
3440   00803 23 c3            and     eax, ebx\r
3441   00805 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3442   00808 8b d0            mov     edx, eax\r
3443   0080a c1 ea 08         shr     edx, 8\r
3444   0080d 0f b6 ca         movzx   ecx, dl\r
3445   00810 3b ce            cmp     ecx, esi\r
3446   00812 77 ac            ja      SHORT $LL121@inflateBac@3\r
3447 \r
3448 ; 495  :                 if ((unsigned)(here.bits) <= bits) break;\r
3449 \r
3450   00814 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3451 $LN376@inflateBac@3:\r
3452 \r
3453 ; 497  :             }\r
3454 ; 498  :             if (here.op && (here.op & 0xf0) == 0) {\r
3455 \r
3456   00817 84 c0            test    al, al\r
3457   00819 0f 84 c8 00 00\r
3458         00               je      $LN96@inflateBac@3\r
3459   0081f a8 f0            test    al, 240                        ; 000000f0H\r
3460   00821 0f 85 c0 00 00\r
3461         00               jne     $LN96@inflateBac@3\r
3462 \r
3463 ; 499  :                 last = here;\r
3464 ; 500  :                 for (;;) {\r
3465 ; 501  :                     here = state->lencode[last.val +\r
3466 ; 502  :                             (BITS(last.bits + last.op) >> last.bits)];\r
3467 \r
3468   00827 8b c8            mov     ecx, eax\r
3469   00829 c1 e9 08         shr     ecx, 8\r
3470   0082c 0f b6 d1         movzx   edx, cl\r
3471   0082f 89 4d e4         mov     DWORD PTR tv1420[ebp], ecx\r
3472   00832 89 55 e8         mov     DWORD PTR tv1421[ebp], edx\r
3473   00835 0f b6 c8         movzx   ecx, al\r
3474   00838 03 ca            add     ecx, edx\r
3475   0083a ba 01 00 00 00   mov     edx, 1\r
3476   0083f d3 e2            shl     edx, cl\r
3477   00841 8b 4d e8         mov     ecx, DWORD PTR tv1421[ebp]\r
3478   00844 89 45 ec         mov     DWORD PTR _last$[ebp], eax\r
3479   00847 c1 e8 10         shr     eax, 16                        ; 00000010H\r
3480   0084a 4a               dec     edx\r
3481   0084b 23 d3            and     edx, ebx\r
3482   0084d d3 ea            shr     edx, cl\r
3483   0084f 03 d0            add     edx, eax\r
3484   00851 8b 47 4c         mov     eax, DWORD PTR [edi+76]\r
3485   00854 8b 04 90         mov     eax, DWORD PTR [eax+edx*4]\r
3486 \r
3487 ; 503  :                     if ((unsigned)(last.bits + here.bits) <= bits) break;\r
3488 \r
3489   00857 8b c8            mov     ecx, eax\r
3490   00859 c1 e9 08         shr     ecx, 8\r
3491   0085c 0f b6 d1         movzx   edx, cl\r
3492   0085f 0f b6 4d e4      movzx   ecx, BYTE PTR tv1420[ebp]\r
3493   00863 03 d1            add     edx, ecx\r
3494   00865 3b d6            cmp     edx, esi\r
3495   00867 76 6f            jbe     SHORT $LN439@inflateBac@3\r
3496   00869 8d a4 24 00 00\r
3497         00 00            npad    7\r
3498 $LL109@inflateBac@3:\r
3499 \r
3500 ; 504  :                     PULLBYTE();\r
3501 \r
3502   00870 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3503   00874 75 19            jne     SHORT $LN102@inflateBac@3\r
3504   00876 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3505   00879 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3506   0087c 52               push    edx\r
3507   0087d 50               push    eax\r
3508   0087e ff 55 0c         call    DWORD PTR _in$[ebp]\r
3509   00881 83 c4 08         add     esp, 8\r
3510   00884 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3511   00887 85 c0            test    eax, eax\r
3512   00889 0f 84 be 03 00\r
3513         00               je      $LN363@inflateBac@3\r
3514 $LN102@inflateBac@3:\r
3515   0088f 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3516   00892 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3517   00895 40               inc     eax\r
3518   00896 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3519   00899 8b 45 ec         mov     eax, DWORD PTR _last$[ebp]\r
3520   0089c 8b ce            mov     ecx, esi\r
3521   0089e d3 e2            shl     edx, cl\r
3522   008a0 0f b6 c8         movzx   ecx, al\r
3523   008a3 03 da            add     ebx, edx\r
3524   008a5 0f b6 d4         movzx   edx, ah\r
3525   008a8 03 ca            add     ecx, edx\r
3526   008aa ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3527   008ad b8 01 00 00 00   mov     eax, 1\r
3528   008b2 d3 e0            shl     eax, cl\r
3529   008b4 8b ca            mov     ecx, edx\r
3530   008b6 83 c6 08         add     esi, 8\r
3531   008b9 48               dec     eax\r
3532   008ba 23 c3            and     eax, ebx\r
3533   008bc d3 e8            shr     eax, cl\r
3534   008be 0f b7 4d ee      movzx   ecx, WORD PTR _last$[ebp+2]\r
3535   008c2 03 c1            add     eax, ecx\r
3536   008c4 8b 4f 4c         mov     ecx, DWORD PTR [edi+76]\r
3537   008c7 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3538   008ca 8b c8            mov     ecx, eax\r
3539   008cc c1 e9 08         shr     ecx, 8\r
3540   008cf 0f b6 c9         movzx   ecx, cl\r
3541   008d2 03 ca            add     ecx, edx\r
3542   008d4 3b ce            cmp     ecx, esi\r
3543   008d6 77 98            ja      SHORT $LL109@inflateBac@3\r
3544 $LN439@inflateBac@3:\r
3545 \r
3546 ; 505  :                 }\r
3547 ; 506  :                 DROPBITS(last.bits);\r
3548 \r
3549   008d8 0f b6 4d ed      movzx   ecx, BYTE PTR _last$[ebp+1]\r
3550   008dc 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3551   008df d3 eb            shr     ebx, cl\r
3552   008e1 0f b6 4d ed      movzx   ecx, BYTE PTR _last$[ebp+1]\r
3553   008e5 2b f1            sub     esi, ecx\r
3554 $LN96@inflateBac@3:\r
3555 \r
3556 ; 507  :             }\r
3557 ; 508  :             DROPBITS(here.bits);\r
3558 \r
3559   008e7 8b c8            mov     ecx, eax\r
3560   008e9 c1 e9 08         shr     ecx, 8\r
3561   008ec 0f b6 c9         movzx   ecx, cl\r
3562   008ef d3 eb            shr     ebx, cl\r
3563   008f1 2b f1            sub     esi, ecx\r
3564   008f3 89 4d e8         mov     DWORD PTR tv1421[ebp], ecx\r
3565 \r
3566 ; 509  :             state->length = (unsigned)here.val;\r
3567 \r
3568   008f6 8b c8            mov     ecx, eax\r
3569   008f8 c1 e9 10         shr     ecx, 16                        ; 00000010H\r
3570   008fb 89 4f 40         mov     DWORD PTR [edi+64], ecx\r
3571 \r
3572 ; 510  : \r
3573 ; 511  :             /* process literal */\r
3574 ; 512  :             if (here.op == 0) {\r
3575 \r
3576   008fe 84 c0            test    al, al\r
3577   00900 75 43            jne     SHORT $LN92@inflateBac@3\r
3578 \r
3579 ; 513  :                 Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\r
3580 ; 514  :                         "inflate:         literal '%c'\n" :\r
3581 ; 515  :                         "inflate:         literal 0x%02x\n", here.val));\r
3582 ; 516  :                 ROOM();\r
3583 \r
3584   00902 83 7d f0 00      cmp     DWORD PTR _left$[ebp], 0\r
3585   00906 75 26            jne     SHORT $LN90@inflateBac@3\r
3586   00908 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
3587   0090b 8b 4f 34         mov     ecx, DWORD PTR [edi+52]\r
3588   0090e 8b 55 18         mov     edx, DWORD PTR _out_desc$[ebp]\r
3589   00911 50               push    eax\r
3590   00912 51               push    ecx\r
3591   00913 52               push    edx\r
3592   00914 89 4d f4         mov     DWORD PTR _put$[ebp], ecx\r
3593   00917 89 45 f0         mov     DWORD PTR _left$[ebp], eax\r
3594   0091a 89 47 2c         mov     DWORD PTR [edi+44], eax\r
3595   0091d ff 55 14         call    DWORD PTR _out$[ebp]\r
3596   00920 83 c4 0c         add     esp, 12                        ; 0000000cH\r
3597   00923 85 c0            test    eax, eax\r
3598   00925 0f 85 29 03 00\r
3599         00               jne     $LN366@inflateBac@3\r
3600   0092b 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3601 $LN90@inflateBac@3:\r
3602 \r
3603 ; 517  :                 *put++ = (unsigned char)(state->length);\r
3604 \r
3605   0092e 8a 47 40         mov     al, BYTE PTR [edi+64]\r
3606   00931 88 02            mov     BYTE PTR [edx], al\r
3607   00933 42               inc     edx\r
3608 \r
3609 ; 518  :                 left--;\r
3610 \r
3611   00934 ff 4d f0         dec     DWORD PTR _left$[ebp]\r
3612   00937 89 55 f4         mov     DWORD PTR _put$[ebp], edx\r
3613 \r
3614 ; 519  :                 state->mode = LEN;\r
3615 \r
3616   0093a c7 07 14 00 00\r
3617         00               mov     DWORD PTR [edi], 20    ; 00000014H\r
3618 \r
3619 ; 520  :                 break;\r
3620 \r
3621   00940 e9 f5 02 00 00   jmp     $LN387@inflateBac@3\r
3622 $LN92@inflateBac@3:\r
3623 \r
3624 ; 521  :             }\r
3625 ; 522  : \r
3626 ; 523  :             /* process end of block */\r
3627 ; 524  :             if (here.op & 32) {\r
3628 \r
3629   00945 a8 20            test    al, 32                 ; 00000020H\r
3630   00947 74 0b            je      SHORT $LN86@inflateBac@3\r
3631 \r
3632 ; 525  :                 Tracevv((stderr, "inflate:         end of block\n"));\r
3633 ; 526  :                 state->mode = TYPE;\r
3634 \r
3635   00949 c7 07 0b 00 00\r
3636         00               mov     DWORD PTR [edi], 11    ; 0000000bH\r
3637 \r
3638 ; 527  :                 break;\r
3639 \r
3640   0094f e9 e6 02 00 00   jmp     $LN387@inflateBac@3\r
3641 $LN86@inflateBac@3:\r
3642 \r
3643 ; 528  :             }\r
3644 ; 529  : \r
3645 ; 530  :             /* invalid code */\r
3646 ; 531  :             if (here.op & 64) {\r
3647 \r
3648   00954 a8 40            test    al, 64                 ; 00000040H\r
3649   00956 74 15            je      SHORT $LN85@inflateBac@3\r
3650 \r
3651 ; 532  :                 strm->msg = (char *)"invalid literal/length code";\r
3652 \r
3653   00958 8b 4d 08         mov     ecx, DWORD PTR _strm$[ebp]\r
3654   0095b c7 41 18 00 00\r
3655         00 00            mov     DWORD PTR [ecx+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@\r
3656 \r
3657 ; 533  :                 state->mode = BAD;\r
3658 \r
3659   00962 c7 07 1d 00 00\r
3660         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3661 \r
3662 ; 534  :                 break;\r
3663 \r
3664   00968 e9 cd 02 00 00   jmp     $LN387@inflateBac@3\r
3665 $LN85@inflateBac@3:\r
3666 \r
3667 ; 535  :             }\r
3668 ; 536  : \r
3669 ; 537  :             /* length code -- get extra bits, if any */\r
3670 ; 538  :             state->extra = (unsigned)(here.op) & 15;\r
3671 \r
3672   0096d 0f b6 c0         movzx   eax, al\r
3673   00970 83 e0 0f         and     eax, 15                        ; 0000000fH\r
3674   00973 89 47 48         mov     DWORD PTR [edi+72], eax\r
3675 \r
3676 ; 539  :             if (state->extra != 0) {\r
3677 \r
3678   00976 74 59            je      SHORT $LN68@inflateBac@3\r
3679 \r
3680 ; 540  :                 NEEDBITS(state->extra);\r
3681 \r
3682   00978 3b f0            cmp     esi, eax\r
3683   0097a 73 41            jae     SHORT $LN82@inflateBac@3\r
3684   0097c 8d 64 24 00      npad    4\r
3685 $LL80@inflateBac@3:\r
3686   00980 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3687   00984 75 19            jne     SHORT $LN74@inflateBac@3\r
3688   00986 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3689   00989 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3690   0098c 52               push    edx\r
3691   0098d 50               push    eax\r
3692   0098e ff 55 0c         call    DWORD PTR _in$[ebp]\r
3693   00991 83 c4 08         add     esp, 8\r
3694   00994 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3695   00997 85 c0            test    eax, eax\r
3696   00999 0f 84 ae 02 00\r
3697         00               je      $LN363@inflateBac@3\r
3698 $LN74@inflateBac@3:\r
3699   0099f 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3700   009a2 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3701   009a5 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3702   009a8 8b ce            mov     ecx, esi\r
3703   009aa d3 e2            shl     edx, cl\r
3704   009ac 40               inc     eax\r
3705   009ad 83 c6 08         add     esi, 8\r
3706   009b0 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3707   009b3 03 da            add     ebx, edx\r
3708   009b5 3b 77 48         cmp     esi, DWORD PTR [edi+72]\r
3709   009b8 72 c6            jb      SHORT $LL80@inflateBac@3\r
3710   009ba 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3711 $LN82@inflateBac@3:\r
3712 \r
3713 ; 541  :                 state->length += BITS(state->extra);\r
3714 \r
3715   009bd 8b 4f 48         mov     ecx, DWORD PTR [edi+72]\r
3716   009c0 b8 01 00 00 00   mov     eax, 1\r
3717   009c5 d3 e0            shl     eax, cl\r
3718   009c7 48               dec     eax\r
3719   009c8 23 c3            and     eax, ebx\r
3720   009ca 01 47 40         add     DWORD PTR [edi+64], eax\r
3721 \r
3722 ; 542  :                 DROPBITS(state->extra);\r
3723 \r
3724   009cd d3 eb            shr     ebx, cl\r
3725   009cf 2b f1            sub     esi, ecx\r
3726 $LN68@inflateBac@3:\r
3727 \r
3728 ; 543  :             }\r
3729 ; 544  :             Tracevv((stderr, "inflate:         length %u\n", state->length));\r
3730 ; 545  : \r
3731 ; 546  :             /* get distance code */\r
3732 ; 547  :             for (;;) {\r
3733 ; 548  :                 here = state->distcode[BITS(state->distbits)];\r
3734 \r
3735   009d1 8b 4f 58         mov     ecx, DWORD PTR [edi+88]\r
3736   009d4 b8 01 00 00 00   mov     eax, 1\r
3737   009d9 d3 e0            shl     eax, cl\r
3738   009db 8b 4f 50         mov     ecx, DWORD PTR [edi+80]\r
3739   009de 48               dec     eax\r
3740   009df 23 c3            and     eax, ebx\r
3741   009e1 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3742 \r
3743 ; 549  :                 if ((unsigned)(here.bits) <= bits) break;\r
3744 \r
3745   009e4 8b c8            mov     ecx, eax\r
3746   009e6 c1 e9 08         shr     ecx, 8\r
3747   009e9 0f b6 c9         movzx   ecx, cl\r
3748   009ec 3b ce            cmp     ecx, esi\r
3749   009ee 76 57            jbe     SHORT $LN381@inflateBac@3\r
3750 $LL67@inflateBac@3:\r
3751 \r
3752 ; 550  :                 PULLBYTE();\r
3753 \r
3754   009f0 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3755   009f4 75 19            jne     SHORT $LN60@inflateBac@3\r
3756   009f6 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3757   009f9 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3758   009fc 52               push    edx\r
3759   009fd 50               push    eax\r
3760   009fe ff 55 0c         call    DWORD PTR _in$[ebp]\r
3761   00a01 83 c4 08         add     esp, 8\r
3762   00a04 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3763   00a07 85 c0            test    eax, eax\r
3764   00a09 0f 84 3e 02 00\r
3765         00               je      $LN363@inflateBac@3\r
3766 $LN60@inflateBac@3:\r
3767   00a0f 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3768   00a12 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3769   00a15 ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3770   00a18 40               inc     eax\r
3771   00a19 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3772   00a1c 8b ce            mov     ecx, esi\r
3773   00a1e d3 e2            shl     edx, cl\r
3774   00a20 8b 4f 58         mov     ecx, DWORD PTR [edi+88]\r
3775   00a23 b8 01 00 00 00   mov     eax, 1\r
3776   00a28 d3 e0            shl     eax, cl\r
3777   00a2a 8b 4f 50         mov     ecx, DWORD PTR [edi+80]\r
3778   00a2d 03 da            add     ebx, edx\r
3779   00a2f 83 c6 08         add     esi, 8\r
3780   00a32 48               dec     eax\r
3781   00a33 23 c3            and     eax, ebx\r
3782   00a35 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3783   00a38 8b d0            mov     edx, eax\r
3784   00a3a c1 ea 08         shr     edx, 8\r
3785   00a3d 0f b6 ca         movzx   ecx, dl\r
3786   00a40 3b ce            cmp     ecx, esi\r
3787   00a42 77 ac            ja      SHORT $LL67@inflateBac@3\r
3788 \r
3789 ; 549  :                 if ((unsigned)(here.bits) <= bits) break;\r
3790 \r
3791   00a44 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3792 $LN381@inflateBac@3:\r
3793 \r
3794 ; 551  :             }\r
3795 ; 552  :             if ((here.op & 0xf0) == 0) {\r
3796 \r
3797   00a47 a8 f0            test    al, 240                        ; 000000f0H\r
3798   00a49 0f 85 b9 00 00\r
3799         00               jne     $LN42@inflateBac@3\r
3800 \r
3801 ; 553  :                 last = here;\r
3802 ; 554  :                 for (;;) {\r
3803 ; 555  :                     here = state->distcode[last.val +\r
3804 ; 556  :                             (BITS(last.bits + last.op) >> last.bits)];\r
3805 \r
3806   00a4f 8b c8            mov     ecx, eax\r
3807   00a51 c1 e9 08         shr     ecx, 8\r
3808   00a54 0f b6 d1         movzx   edx, cl\r
3809   00a57 89 4d e4         mov     DWORD PTR tv1420[ebp], ecx\r
3810   00a5a 89 55 e8         mov     DWORD PTR tv1421[ebp], edx\r
3811   00a5d 0f b6 c8         movzx   ecx, al\r
3812   00a60 03 ca            add     ecx, edx\r
3813   00a62 ba 01 00 00 00   mov     edx, 1\r
3814   00a67 d3 e2            shl     edx, cl\r
3815   00a69 8b 4d e8         mov     ecx, DWORD PTR tv1421[ebp]\r
3816   00a6c 89 45 ec         mov     DWORD PTR _last$[ebp], eax\r
3817   00a6f c1 e8 10         shr     eax, 16                        ; 00000010H\r
3818   00a72 4a               dec     edx\r
3819   00a73 23 d3            and     edx, ebx\r
3820   00a75 d3 ea            shr     edx, cl\r
3821   00a77 03 d0            add     edx, eax\r
3822   00a79 8b 47 50         mov     eax, DWORD PTR [edi+80]\r
3823   00a7c 8b 04 90         mov     eax, DWORD PTR [eax+edx*4]\r
3824 \r
3825 ; 557  :                     if ((unsigned)(last.bits + here.bits) <= bits) break;\r
3826 \r
3827   00a7f 8b c8            mov     ecx, eax\r
3828   00a81 c1 e9 08         shr     ecx, 8\r
3829   00a84 0f b6 d1         movzx   edx, cl\r
3830   00a87 0f b6 4d e4      movzx   ecx, BYTE PTR tv1420[ebp]\r
3831   00a8b 03 d1            add     edx, ecx\r
3832   00a8d 3b d6            cmp     edx, esi\r
3833   00a8f 76 68            jbe     SHORT $LN441@inflateBac@3\r
3834 $LL55@inflateBac@3:\r
3835 \r
3836 ; 558  :                     PULLBYTE();\r
3837 \r
3838   00a91 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3839   00a95 75 19            jne     SHORT $LN48@inflateBac@3\r
3840   00a97 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3841   00a9a 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3842   00a9d 52               push    edx\r
3843   00a9e 50               push    eax\r
3844   00a9f ff 55 0c         call    DWORD PTR _in$[ebp]\r
3845   00aa2 83 c4 08         add     esp, 8\r
3846   00aa5 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3847   00aa8 85 c0            test    eax, eax\r
3848   00aaa 0f 84 9d 01 00\r
3849         00               je      $LN363@inflateBac@3\r
3850 $LN48@inflateBac@3:\r
3851   00ab0 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3852   00ab3 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3853   00ab6 40               inc     eax\r
3854   00ab7 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3855   00aba 8b 45 ec         mov     eax, DWORD PTR _last$[ebp]\r
3856   00abd 8b ce            mov     ecx, esi\r
3857   00abf d3 e2            shl     edx, cl\r
3858   00ac1 0f b6 c8         movzx   ecx, al\r
3859   00ac4 03 da            add     ebx, edx\r
3860   00ac6 0f b6 d4         movzx   edx, ah\r
3861   00ac9 03 ca            add     ecx, edx\r
3862   00acb ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3863   00ace b8 01 00 00 00   mov     eax, 1\r
3864   00ad3 d3 e0            shl     eax, cl\r
3865   00ad5 8b ca            mov     ecx, edx\r
3866   00ad7 83 c6 08         add     esi, 8\r
3867   00ada 48               dec     eax\r
3868   00adb 23 c3            and     eax, ebx\r
3869   00add d3 e8            shr     eax, cl\r
3870   00adf 0f b7 4d ee      movzx   ecx, WORD PTR _last$[ebp+2]\r
3871   00ae3 03 c1            add     eax, ecx\r
3872   00ae5 8b 4f 50         mov     ecx, DWORD PTR [edi+80]\r
3873   00ae8 8b 04 81         mov     eax, DWORD PTR [ecx+eax*4]\r
3874   00aeb 8b c8            mov     ecx, eax\r
3875   00aed c1 e9 08         shr     ecx, 8\r
3876   00af0 0f b6 c9         movzx   ecx, cl\r
3877   00af3 03 ca            add     ecx, edx\r
3878   00af5 3b ce            cmp     ecx, esi\r
3879   00af7 77 98            ja      SHORT $LL55@inflateBac@3\r
3880 $LN441@inflateBac@3:\r
3881 \r
3882 ; 559  :                 }\r
3883 ; 560  :                 DROPBITS(last.bits);\r
3884 \r
3885   00af9 0f b6 4d ed      movzx   ecx, BYTE PTR _last$[ebp+1]\r
3886   00afd 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3887   00b00 d3 eb            shr     ebx, cl\r
3888   00b02 0f b6 4d ed      movzx   ecx, BYTE PTR _last$[ebp+1]\r
3889   00b06 2b f1            sub     esi, ecx\r
3890 $LN42@inflateBac@3:\r
3891 \r
3892 ; 561  :             }\r
3893 ; 562  :             DROPBITS(here.bits);\r
3894 \r
3895   00b08 8b c8            mov     ecx, eax\r
3896   00b0a c1 e9 08         shr     ecx, 8\r
3897   00b0d 0f b6 c9         movzx   ecx, cl\r
3898   00b10 d3 eb            shr     ebx, cl\r
3899   00b12 2b f1            sub     esi, ecx\r
3900   00b14 89 4d e8         mov     DWORD PTR tv1421[ebp], ecx\r
3901 \r
3902 ; 563  :             if (here.op & 64) {\r
3903 \r
3904   00b17 a8 40            test    al, 64                 ; 00000040H\r
3905   00b19 74 15            je      SHORT $LN38@inflateBac@3\r
3906 \r
3907 ; 564  :                 strm->msg = (char *)"invalid distance code";\r
3908 \r
3909   00b1b 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
3910   00b1e c7 42 18 00 00\r
3911         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@\r
3912 \r
3913 ; 565  :                 state->mode = BAD;\r
3914 \r
3915   00b25 c7 07 1d 00 00\r
3916         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
3917 \r
3918 ; 566  :                 break;\r
3919 \r
3920   00b2b e9 0a 01 00 00   jmp     $LN387@inflateBac@3\r
3921 $LN38@inflateBac@3:\r
3922 \r
3923 ; 567  :             }\r
3924 ; 568  :             state->offset = (unsigned)here.val;\r
3925 \r
3926   00b30 8b c8            mov     ecx, eax\r
3927 \r
3928 ; 569  : \r
3929 ; 570  :             /* get distance extra bits, if any */\r
3930 ; 571  :             state->extra = (unsigned)(here.op) & 15;\r
3931 \r
3932   00b32 0f b6 c0         movzx   eax, al\r
3933   00b35 c1 e9 10         shr     ecx, 16                        ; 00000010H\r
3934   00b38 83 e0 0f         and     eax, 15                        ; 0000000fH\r
3935   00b3b 89 4f 44         mov     DWORD PTR [edi+68], ecx\r
3936   00b3e 89 47 48         mov     DWORD PTR [edi+72], eax\r
3937 \r
3938 ; 572  :             if (state->extra != 0) {\r
3939 \r
3940   00b41 74 55            je      SHORT $LN21@inflateBac@3\r
3941 \r
3942 ; 573  :                 NEEDBITS(state->extra);\r
3943 \r
3944   00b43 3b f0            cmp     esi, eax\r
3945   00b45 73 3d            jae     SHORT $LN35@inflateBac@3\r
3946 $LL33@inflateBac@3:\r
3947   00b47 83 7d fc 00      cmp     DWORD PTR _have$[ebp], 0\r
3948   00b4b 75 19            jne     SHORT $LN27@inflateBac@3\r
3949   00b4d 8b 45 10         mov     eax, DWORD PTR _in_desc$[ebp]\r
3950   00b50 8d 55 f8         lea     edx, DWORD PTR _next$[ebp]\r
3951   00b53 52               push    edx\r
3952   00b54 50               push    eax\r
3953   00b55 ff 55 0c         call    DWORD PTR _in$[ebp]\r
3954   00b58 83 c4 08         add     esp, 8\r
3955   00b5b 89 45 fc         mov     DWORD PTR _have$[ebp], eax\r
3956   00b5e 85 c0            test    eax, eax\r
3957   00b60 0f 84 e7 00 00\r
3958         00               je      $LN363@inflateBac@3\r
3959 $LN27@inflateBac@3:\r
3960   00b66 8b 45 f8         mov     eax, DWORD PTR _next$[ebp]\r
3961   00b69 0f b6 10         movzx   edx, BYTE PTR [eax]\r
3962   00b6c ff 4d fc         dec     DWORD PTR _have$[ebp]\r
3963   00b6f 8b ce            mov     ecx, esi\r
3964   00b71 d3 e2            shl     edx, cl\r
3965   00b73 40               inc     eax\r
3966   00b74 83 c6 08         add     esi, 8\r
3967   00b77 89 45 f8         mov     DWORD PTR _next$[ebp], eax\r
3968   00b7a 03 da            add     ebx, edx\r
3969   00b7c 3b 77 48         cmp     esi, DWORD PTR [edi+72]\r
3970   00b7f 72 c6            jb      SHORT $LL33@inflateBac@3\r
3971   00b81 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
3972 $LN35@inflateBac@3:\r
3973 \r
3974 ; 574  :                 state->offset += BITS(state->extra);\r
3975 \r
3976   00b84 8b 4f 48         mov     ecx, DWORD PTR [edi+72]\r
3977   00b87 b8 01 00 00 00   mov     eax, 1\r
3978   00b8c d3 e0            shl     eax, cl\r
3979   00b8e 48               dec     eax\r
3980   00b8f 23 c3            and     eax, ebx\r
3981   00b91 01 47 44         add     DWORD PTR [edi+68], eax\r
3982 \r
3983 ; 575  :                 DROPBITS(state->extra);\r
3984 \r
3985   00b94 d3 eb            shr     ebx, cl\r
3986   00b96 2b f1            sub     esi, ecx\r
3987 $LN21@inflateBac@3:\r
3988 \r
3989 ; 576  :             }\r
3990 ; 577  :             if (state->offset > state->wsize - (state->whave < state->wsize ?\r
3991 ; 578  :                                                 left : 0)) {\r
3992 \r
3993   00b98 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
3994   00b9b 39 47 2c         cmp     DWORD PTR [edi+44], eax\r
3995   00b9e 1b c9            sbb     ecx, ecx\r
3996   00ba0 23 4d f0         and     ecx, DWORD PTR _left$[ebp]\r
3997   00ba3 2b c1            sub     eax, ecx\r
3998   00ba5 39 47 44         cmp     DWORD PTR [edi+68], eax\r
3999   00ba8 76 16            jbe     SHORT $LL19@inflateBac@3\r
4000 \r
4001 ; 579  :                 strm->msg = (char *)"invalid distance too far back";\r
4002 \r
4003   00baa 8b 55 08         mov     edx, DWORD PTR _strm$[ebp]\r
4004   00bad c7 42 18 00 00\r
4005         00 00            mov     DWORD PTR [edx+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@\r
4006 \r
4007 ; 580  :                 state->mode = BAD;\r
4008 \r
4009   00bb4 c7 07 1d 00 00\r
4010         00               mov     DWORD PTR [edi], 29    ; 0000001dH\r
4011 \r
4012 ; 581  :                 break;\r
4013 \r
4014   00bba eb 7e            jmp     SHORT $LN387@inflateBac@3\r
4015   00bbc 8d 64 24 00      npad    4\r
4016 $LL19@inflateBac@3:\r
4017 \r
4018 ; 582  :             }\r
4019 ; 583  :             Tracevv((stderr, "inflate:         distance %u\n", state->offset));\r
4020 ; 584  : \r
4021 ; 585  :             /* copy match from window to output */\r
4022 ; 586  :             do {\r
4023 ; 587  :                 ROOM();\r
4024 \r
4025   00bc0 83 7d f0 00      cmp     DWORD PTR _left$[ebp], 0\r
4026   00bc4 75 22            jne     SHORT $LN15@inflateBac@3\r
4027   00bc6 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
4028   00bc9 8b 4f 34         mov     ecx, DWORD PTR [edi+52]\r
4029   00bcc 50               push    eax\r
4030   00bcd 89 45 f0         mov     DWORD PTR _left$[ebp], eax\r
4031   00bd0 89 47 2c         mov     DWORD PTR [edi+44], eax\r
4032   00bd3 8b 45 18         mov     eax, DWORD PTR _out_desc$[ebp]\r
4033   00bd6 51               push    ecx\r
4034   00bd7 50               push    eax\r
4035   00bd8 89 4d f4         mov     DWORD PTR _put$[ebp], ecx\r
4036   00bdb ff 55 14         call    DWORD PTR _out$[ebp]\r
4037   00bde 83 c4 0c         add     esp, 12                        ; 0000000cH\r
4038   00be1 85 c0            test    eax, eax\r
4039   00be3 75 6f            jne     SHORT $LN366@inflateBac@3\r
4040   00be5 8b 55 f4         mov     edx, DWORD PTR _put$[ebp]\r
4041 $LN15@inflateBac@3:\r
4042 \r
4043 ; 588  :                 copy = state->wsize - state->offset;\r
4044 \r
4045   00be8 8b 4f 28         mov     ecx, DWORD PTR [edi+40]\r
4046   00beb 2b 4f 44         sub     ecx, DWORD PTR [edi+68]\r
4047 \r
4048 ; 589  :                 if (copy < left) {\r
4049 \r
4050   00bee 3b 4d f0         cmp     ecx, DWORD PTR _left$[ebp]\r
4051   00bf1 73 0d            jae     SHORT $LN11@inflateBac@3\r
4052 \r
4053 ; 590  :                     from = put + copy;\r
4054 \r
4055   00bf3 8d 04 11         lea     eax, DWORD PTR [ecx+edx]\r
4056   00bf6 89 45 e4         mov     DWORD PTR _from$[ebp], eax\r
4057 \r
4058 ; 591  :                     copy = left - copy;\r
4059 \r
4060   00bf9 8b 45 f0         mov     eax, DWORD PTR _left$[ebp]\r
4061   00bfc 2b c1            sub     eax, ecx\r
4062 \r
4063 ; 592  :                 }\r
4064 ; 593  :                 else {\r
4065 \r
4066   00bfe eb 0b            jmp     SHORT $LN10@inflateBac@3\r
4067 $LN11@inflateBac@3:\r
4068 \r
4069 ; 594  :                     from = put - state->offset;\r
4070 \r
4071   00c00 8b c2            mov     eax, edx\r
4072   00c02 2b 47 44         sub     eax, DWORD PTR [edi+68]\r
4073   00c05 89 45 e4         mov     DWORD PTR _from$[ebp], eax\r
4074 \r
4075 ; 595  :                     copy = left;\r
4076 \r
4077   00c08 8b 45 f0         mov     eax, DWORD PTR _left$[ebp]\r
4078 $LN10@inflateBac@3:\r
4079 \r
4080 ; 596  :                 }\r
4081 ; 597  :                 if (copy > state->length) copy = state->length;\r
4082 \r
4083   00c0b 8b 4f 40         mov     ecx, DWORD PTR [edi+64]\r
4084   00c0e 3b c1            cmp     eax, ecx\r
4085   00c10 76 02            jbe     SHORT $LN9@inflateBac@3\r
4086   00c12 8b c1            mov     eax, ecx\r
4087 $LN9@inflateBac@3:\r
4088 \r
4089 ; 598  :                 state->length -= copy;\r
4090 ; 599  :                 left -= copy;\r
4091 \r
4092   00c14 29 45 f0         sub     DWORD PTR _left$[ebp], eax\r
4093   00c17 2b c8            sub     ecx, eax\r
4094   00c19 89 4f 40         mov     DWORD PTR [edi+64], ecx\r
4095 \r
4096 ; 602  :                 } while (--copy);\r
4097 \r
4098   00c1c 8b 4d e4         mov     ecx, DWORD PTR _from$[ebp]\r
4099   00c1f 2b ca            sub     ecx, edx\r
4100   00c21 89 4d e4         mov     DWORD PTR tv1911[ebp], ecx\r
4101   00c24 eb 03            jmp     SHORT $LN8@inflateBac@3\r
4102 $LL443@inflateBac@3:\r
4103   00c26 8b 4d e4         mov     ecx, DWORD PTR tv1911[ebp]\r
4104 $LN8@inflateBac@3:\r
4105 \r
4106 ; 600  :                 do {\r
4107 ; 601  :                     *put++ = *from++;\r
4108 \r
4109   00c29 8a 0c 11         mov     cl, BYTE PTR [ecx+edx]\r
4110   00c2c 88 0a            mov     BYTE PTR [edx], cl\r
4111   00c2e 42               inc     edx\r
4112 \r
4113 ; 602  :                 } while (--copy);\r
4114 \r
4115   00c2f 48               dec     eax\r
4116   00c30 75 f4            jne     SHORT $LL443@inflateBac@3\r
4117 \r
4118 ; 603  :             } while (state->length != 0);\r
4119 \r
4120   00c32 89 55 f4         mov     DWORD PTR _put$[ebp], edx\r
4121   00c35 39 47 40         cmp     DWORD PTR [edi+64], eax\r
4122   00c38 75 86            jne     SHORT $LL19@inflateBac@3\r
4123 $LN387@inflateBac@3:\r
4124 \r
4125 ; 284  :     hold = 0;\r
4126 ; 285  :     bits = 0;\r
4127 ; 286  :     put = state->window;\r
4128 ; 287  :     left = state->wsize;\r
4129 ; 288  : \r
4130 ; 289  :     /* Inflate until end of block marked as last */\r
4131 ; 290  :     for (;;)\r
4132 ; 291  :         switch (state->mode) {\r
4133 \r
4134   00c3a 8b 07            mov     eax, DWORD PTR [edi]\r
4135   00c3c 83 e8 0b         sub     eax, 11                        ; 0000000bH\r
4136   00c3f 83 f8 12         cmp     eax, 18                        ; 00000012H\r
4137   00c42 0f 86 38 f4 ff\r
4138         ff               jbe     $LL420@inflateBac@3\r
4139 \r
4140 ; 513  :                 Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\r
4141 ; 514  :                         "inflate:         literal '%c'\n" :\r
4142 ; 515  :                         "inflate:         literal 0x%02x\n", here.val));\r
4143 ; 516  :                 ROOM();\r
4144 \r
4145   00c48 e9 0f f4 ff ff   jmp     $LN1@inflateBac@3\r
4146 $LN363@inflateBac@3:\r
4147 \r
4148 ; 298  :             }\r
4149 ; 299  :             NEEDBITS(3);\r
4150 \r
4151   00c4d c7 45 f8 00 00\r
4152         00 00            mov     DWORD PTR _next$[ebp], 0\r
4153 $LN366@inflateBac@3:\r
4154   00c54 be fb ff ff ff   mov     esi, -5                        ; fffffffbH\r
4155   00c59 e9 03 f4 ff ff   jmp     $inf_leave$80342\r
4156 $LN365@inflateBac@3:\r
4157 \r
4158 ; 343  :                 PULL();\r
4159 \r
4160   00c5e 89 5d f8         mov     DWORD PTR _next$[ebp], ebx\r
4161   00c61 be fb ff ff ff   mov     esi, -5                        ; fffffffbH\r
4162   00c66 e9 f6 f3 ff ff   jmp     $inf_leave$80342\r
4163 $LN5@inflateBac@3:\r
4164 \r
4165 ; 604  :             break;\r
4166 ; 605  : \r
4167 ; 606  :         case DONE:\r
4168 ; 607  :             /* inflate stream terminated properly -- write leftover output */\r
4169 ; 608  :             ret = Z_STREAM_END;\r
4170 ; 609  :             if (left < state->wsize) {\r
4171 \r
4172   00c6b 8b 47 28         mov     eax, DWORD PTR [edi+40]\r
4173   00c6e be 01 00 00 00   mov     esi, 1\r
4174   00c73 39 45 f0         cmp     DWORD PTR _left$[ebp], eax\r
4175   00c76 0f 83 e5 f3 ff\r
4176         ff               jae     $inf_leave$80342\r
4177 \r
4178 ; 610  :                 if (out(out_desc, state->window, state->wsize - left))\r
4179 \r
4180   00c7c 2b 45 f0         sub     eax, DWORD PTR _left$[ebp]\r
4181   00c7f 8b 57 34         mov     edx, DWORD PTR [edi+52]\r
4182   00c82 50               push    eax\r
4183   00c83 8b 45 18         mov     eax, DWORD PTR _out_desc$[ebp]\r
4184   00c86 52               push    edx\r
4185   00c87 50               push    eax\r
4186   00c88 ff 55 14         call    DWORD PTR _out$[ebp]\r
4187   00c8b 83 c4 0c         add     esp, 12                        ; 0000000cH\r
4188   00c8e 85 c0            test    eax, eax\r
4189   00c90 0f 84 cb f3 ff\r
4190         ff               je      $inf_leave$80342\r
4191 \r
4192 ; 611  :                     ret = Z_BUF_ERROR;\r
4193 \r
4194   00c96 be fb ff ff ff   mov     esi, -5                        ; fffffffbH\r
4195 \r
4196 ; 612  :             }\r
4197 ; 613  :             goto inf_leave;\r
4198 \r
4199   00c9b e9 c1 f3 ff ff   jmp     $inf_leave$80342\r
4200 $LN2@inflateBac@3:\r
4201 \r
4202 ; 614  : \r
4203 ; 615  :         case BAD:\r
4204 ; 616  :             ret = Z_DATA_ERROR;\r
4205 \r
4206   00ca0 be fd ff ff ff   mov     esi, -3                        ; fffffffdH\r
4207 \r
4208 ; 617  :             goto inf_leave;\r
4209 \r
4210   00ca5 e9 b7 f3 ff ff   jmp     $inf_leave$80342\r
4211 $LN333@inflateBac@3:\r
4212   00caa 5f               pop     edi\r
4213 \r
4214 ; 274  :         return Z_STREAM_ERROR;\r
4215 \r
4216   00cab b8 fe ff ff ff   mov     eax, -2                        ; fffffffeH\r
4217   00cb0 5e               pop     esi\r
4218 \r
4219 ; 629  : }\r
4220 \r
4221   00cb1 8b e5            mov     esp, ebp\r
4222   00cb3 5d               pop     ebp\r
4223   00cb4 c2 14 00         ret     20                     ; 00000014H\r
4224   00cb7 90               npad    1\r
4225 $LN460@inflateBac@3:\r
4226   00cb8 00 00 00 00      DD      $LN328@inflateBac@3\r
4227   00cbc 00 00 00 00      DD      $LN297@inflateBac@3\r
4228   00cc0 00 00 00 00      DD      $LN262@inflateBac@3\r
4229   00cc4 00 00 00 00      DD      $LN130@inflateBac@3\r
4230   00cc8 00 00 00 00      DD      $LN5@inflateBac@3\r
4231   00ccc 00 00 00 00      DD      $LN2@inflateBac@3\r
4232   00cd0 00 00 00 00      DD      $LN1@inflateBac@3\r
4233 $LN414@inflateBac@3:\r
4234   00cd4 00               DB      0\r
4235   00cd5 06               DB      6\r
4236   00cd6 01               DB      1\r
4237   00cd7 06               DB      6\r
4238   00cd8 06               DB      6\r
4239   00cd9 02               DB      2\r
4240   00cda 06               DB      6\r
4241   00cdb 06               DB      6\r
4242   00cdc 06               DB      6\r
4243   00cdd 03               DB      3\r
4244   00cde 06               DB      6\r
4245   00cdf 06               DB      6\r
4246   00ce0 06               DB      6\r
4247   00ce1 06               DB      6\r
4248   00ce2 06               DB      6\r
4249   00ce3 06               DB      6\r
4250   00ce4 06               DB      6\r
4251   00ce5 04               DB      4\r
4252   00ce6 05               DB      5\r
4253   00ce7 90               npad    1\r
4254 $LN461@inflateBac@3:\r
4255   00ce8 00 00 00 00      DD      $LN305@inflateBac@3\r
4256   00cec 00 00 00 00      DD      $LN304@inflateBac@3\r
4257   00cf0 00 00 00 00      DD      $LN303@inflateBac@3\r
4258   00cf4 00 00 00 00      DD      $LN302@inflateBac@3\r
4259 _inflateBack@20 ENDP\r
4260 END\r