1 ; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01
\r
3 TITLE C:\Workspaces\Sysdyn\org.simantics.fmu\FMUSolution\zlib-1.2.6\infback.c
\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
24 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ DB 'invalid dis'
\r
25 DB 'tance too far back', 00H ; `string'
\r
27 ; COMDAT ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@
\r
29 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ DB 'invalid distance code'
\r
32 ; COMDAT ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@
\r
34 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ DB 'invalid litera'
\r
35 DB 'l/length code', 00H ; `string'
\r
37 ; COMDAT ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@
\r
39 ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ DB 'invalid distances set'
\r
42 ; COMDAT ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@
\r
44 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ DB 'invalid litera'
\r
45 DB 'l/lengths set', 00H ; `string'
\r
47 ; COMDAT ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@
\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
52 ; COMDAT ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@
\r
54 ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ DB 'invalid bit leng'
\r
55 DB 'th repeat', 00H ; `string'
\r
57 ; COMDAT ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@
\r
59 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ DB 'invalid code leng'
\r
60 DB 'ths set', 00H ; `string'
\r
62 ; COMDAT ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@
\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
67 ; COMDAT ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@
\r
69 ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ DB 'invalid store'
\r
70 DB 'd block lengths', 00H ; `string'
\r
72 ; COMDAT ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@
\r
74 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ DB 'invalid block type', 00H ; `string'
\r
76 ?lenfix@?1??fixedtables@@9@9 DB 060H ; `fixedtables'::`2'::lenfix
\r
1612 ?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix
\r
1708 ?order@?1??inflateBack@@9@9 DW 010H ; `inflateBack'::`2'::order
\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
1732 _strm$ = 8 ; size = 4
\r
1733 _inflateBackEnd@4 PROC ; COMDAT
\r
1738 00001 8b ec mov ebp, esp
\r
1741 ; 634 : if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
\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
1753 ; 636 : ZFREE(strm, strm->state);
\r
1756 0001a 8b 4e 28 mov ecx, DWORD PTR [esi+40]
\r
1758 0001e ff d0 call eax
\r
1759 00020 83 c4 08 add esp, 8
\r
1761 ; 637 : strm->state = Z_NULL;
\r
1763 00023 c7 46 1c 00 00
\r
1764 00 00 mov DWORD PTR [esi+28], 0
\r
1766 ; 638 : Tracev((stderr, "inflate: end\n"));
\r
1767 ; 639 : return Z_OK;
\r
1769 0002a 33 c0 xor eax, eax
\r
1775 0002e c2 04 00 ret 4
\r
1778 ; 635 : return Z_STREAM_ERROR;
\r
1780 00031 b8 fe ff ff ff mov eax, -2 ; fffffffeH
\r
1786 00038 c2 04 00 ret 4
\r
1787 _inflateBackEnd@4 ENDP
\r
1788 ; Function compile flags: /Ogtp
\r
1790 ; COMDAT _fixedtables
\r
1792 _fixedtables PROC ; COMDAT
\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
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
1805 ; 95 : /* literal/length table */
\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
1814 ; 104 : inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);
\r
1816 ; 106 : /* distance table */
\r
1818 ; 108 : while (sym < 32) state->lens[sym++] = 5;
\r
1819 ; 109 : distfix = next;
\r
1821 ; 111 : inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);
\r
1823 ; 113 : /* do this just once */
\r
1824 ; 114 : virgin = 0;
\r
1826 ; 116 : #else /* !BUILDFIXED */
\r
1827 ; 117 : # include "inffixed.h"
\r
1828 ; 118 : #endif /* BUILDFIXED */
\r
1829 ; 119 : state->lencode = lenfix;
\r
1831 00000 c7 40 4c 00 00
\r
1832 00 00 mov DWORD PTR [eax+76], OFFSET ?lenfix@?1??fixedtables@@9@9
\r
1834 ; 120 : state->lenbits = 9;
\r
1836 00007 c7 40 54 09 00
\r
1837 00 00 mov DWORD PTR [eax+84], 9
\r
1839 ; 121 : state->distcode = distfix;
\r
1841 0000e c7 40 50 00 00
\r
1842 00 00 mov DWORD PTR [eax+80], OFFSET ?distfix@?1??fixedtables@@9@9
\r
1844 ; 122 : state->distbits = 5;
\r
1846 00015 c7 40 58 05 00
\r
1847 00 00 mov DWORD PTR [eax+88], 5
\r
1854 PUBLIC _inflateBackInit_@20
\r
1855 ; Function compile flags: /Ogtp
\r
1856 ; COMDAT _inflateBackInit_@20
\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
1868 00001 8b ec mov ebp, esp
\r
1870 ; 35 : struct inflate_state FAR *state;
\r
1872 ; 37 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
\r
1873 ; 38 : stream_size != (int)(sizeof(z_stream)))
\r
1875 00003 8b 45 14 mov eax, DWORD PTR _version$[ebp]
\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
1888 ; 40 : if (strm == Z_NULL || window == Z_NULL ||
\r
1889 ; 41 : windowBits < 8 || windowBits > 15)
\r
1892 00025 8b 75 08 mov esi, DWORD PTR _strm$[ebp]
\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
1903 ; 43 : strm->msg = Z_NULL; /* in case we return an error */
\r
1905 0003d 89 5e 18 mov DWORD PTR [esi+24], ebx
\r
1907 ; 44 : if (strm->zalloc == (alloc_func)0) {
\r
1909 00040 39 5e 20 cmp DWORD PTR [esi+32], ebx
\r
1910 00043 75 0a jne SHORT $LN3@inflateBac@2
\r
1912 ; 45 : #ifdef Z_SOLO
\r
1913 ; 46 : return Z_STREAM_ERROR;
\r
1915 ; 48 : strm->zalloc = zcalloc;
\r
1917 00045 c7 46 20 00 00
\r
1918 00 00 mov DWORD PTR [esi+32], OFFSET _zcalloc
\r
1920 ; 49 : strm->opaque = (voidpf)0;
\r
1922 0004c 89 5e 28 mov DWORD PTR [esi+40], ebx
\r
1923 $LN3@inflateBac@2:
\r
1927 ; 52 : if (strm->zfree == (free_func)0)
\r
1929 0004f 39 5e 24 cmp DWORD PTR [esi+36], ebx
\r
1930 00052 75 07 jne SHORT $LN2@inflateBac@2
\r
1932 ; 53 : #ifdef Z_SOLO
\r
1933 ; 54 : return Z_STREAM_ERROR;
\r
1935 ; 56 : strm->zfree = zcfree;
\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
1942 ; 58 : state = (struct inflate_state FAR *)ZALLOC(strm, 1,
\r
1943 ; 59 : sizeof(struct inflate_state));
\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
1950 00069 ff d2 call edx
\r
1951 0006b 83 c4 0c add esp, 12 ; 0000000cH
\r
1953 ; 60 : if (state == Z_NULL) return Z_MEM_ERROR;
\r
1955 0006e 3b c3 cmp eax, ebx
\r
1956 00070 75 0c jne SHORT $LN1@inflateBac@2
\r
1959 00074 b8 fc ff ff ff mov eax, -4 ; fffffffcH
\r
1965 0007b c2 14 00 ret 20 ; 00000014H
\r
1966 $LN1@inflateBac@2:
\r
1968 ; 61 : Tracev((stderr, "inflate: allocated\n"));
\r
1969 ; 62 : strm->state = (struct internal_state FAR *)state;
\r
1971 0007e 89 46 1c mov DWORD PTR [esi+28], eax
\r
1973 ; 63 : state->dmax = 32768U;
\r
1974 ; 64 : state->wbits = windowBits;
\r
1975 ; 65 : state->wsize = 1U << windowBits;
\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
1981 ; 66 : state->window = window;
\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
1987 ; 67 : state->wnext = 0;
\r
1989 00091 89 58 30 mov DWORD PTR [eax+48], ebx
\r
1991 ; 68 : state->whave = 0;
\r
1993 00094 89 58 2c mov DWORD PTR [eax+44], ebx
\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
2000 ; 69 : return Z_OK;
\r
2002 000a5 33 c0 xor eax, eax
\r
2008 000a9 c2 14 00 ret 20 ; 00000014H
\r
2009 $LN4@inflateBac@2:
\r
2013 ; 42 : return Z_STREAM_ERROR;
\r
2015 000ae b8 fe ff ff ff mov eax, -2 ; fffffffeH
\r
2021 000b5 c2 14 00 ret 20 ; 00000014H
\r
2022 $LN6@inflateBac@2:
\r
2024 ; 39 : return Z_VERSION_ERROR;
\r
2026 000b8 b8 fa ff ff ff mov eax, -6 ; fffffffaH
\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
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
2061 00001 8b ec mov ebp, esp
\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
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
2081 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp]
\r
2082 00006 83 ec 1c sub esp, 28 ; 0000001cH
\r
2084 0000a 33 f6 xor esi, esi
\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
2094 ; 275 : state = (struct inflate_state FAR *)strm->state;
\r
2096 ; 277 : /* Reset the state */
\r
2097 ; 278 : strm->msg = Z_NULL;
\r
2099 00020 89 70 18 mov DWORD PTR [eax+24], esi
\r
2101 ; 279 : state->mode = TYPE;
\r
2103 00023 c7 07 0b 00 00
\r
2104 00 mov DWORD PTR [edi], 11 ; 0000000bH
\r
2106 ; 280 : state->last = 0;
\r
2108 00029 89 77 04 mov DWORD PTR [edi+4], esi
\r
2110 ; 281 : state->whave = 0;
\r
2112 0002c 89 77 2c mov DWORD PTR [edi+44], esi
\r
2114 ; 282 : next = strm->next_in;
\r
2116 0002f 8b 08 mov ecx, DWORD PTR [eax]
\r
2117 00031 89 4d f8 mov DWORD PTR _next$[ebp], ecx
\r
2119 ; 283 : have = next != Z_NULL ? strm->avail_in : 0;
\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
2132 ; 286 : put = state->window;
\r
2133 ; 287 : left = state->wsize;
\r
2135 ; 289 : /* Inflate until end of block marked as last */
\r
2137 ; 291 : switch (state->mode) {
\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
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
2152 ; 619 : default: /* can't happen, but makes compilers happy */
\r
2153 ; 620 : ret = Z_STREAM_ERROR;
\r
2155 0005c be fe ff ff ff mov esi, -2 ; fffffffeH
\r
2158 ; 621 : goto inf_leave;
\r
2161 ; 624 : /* Return unused input */
\r
2162 ; 625 : inf_leave:
\r
2163 ; 626 : strm->next_in = next;
\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
2168 ; 627 : strm->avail_in = have;
\r
2170 00067 8b 55 fc mov edx, DWORD PTR _have$[ebp]
\r
2172 0006b 89 08 mov DWORD PTR [eax], ecx
\r
2173 0006d 89 50 04 mov DWORD PTR [eax+4], edx
\r
2176 ; 628 : return ret;
\r
2178 00071 8b c6 mov eax, esi
\r
2183 00074 8b e5 mov esp, ebp
\r
2185 00077 c2 14 00 ret 20 ; 00000014H
\r
2186 0007a 8d 9b 00 00 00
\r
2188 $LL420@inflateBac@3:
\r
2192 ; 286 : put = state->window;
\r
2193 ; 287 : left = state->wsize;
\r
2195 ; 289 : /* Inflate until end of block marked as last */
\r
2197 ; 291 : switch (state->mode) {
\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
2207 ; 292 : case TYPE:
\r
2208 ; 293 : /* determine and dispatch block type */
\r
2209 ; 294 : if (state->last) {
\r
2211 00091 83 7f 04 00 cmp DWORD PTR [edi+4], 0
\r
2212 00095 74 14 je SHORT $LN323@inflateBac@3
\r
2214 ; 295 : BYTEBITS();
\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
2221 ; 296 : state->mode = DONE;
\r
2223 000a0 c7 07 1c 00 00
\r
2224 00 mov DWORD PTR [edi], 28 ; 0000001cH
\r
2228 000a6 e9 8f 0b 00 00 jmp $LN387@inflateBac@3
\r
2229 $LN323@inflateBac@3:
\r
2232 ; 299 : NEEDBITS(3);
\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
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
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
2263 ; 300 : state->last = BITS(1);
\r
2265 000ea 8b c3 mov eax, ebx
\r
2266 000ec 83 e0 01 and eax, 1
\r
2268 ; 301 : DROPBITS(1);
\r
2270 000ef d1 eb shr ebx, 1
\r
2271 000f1 89 47 04 mov DWORD PTR [edi+4], eax
\r
2273 ; 302 : switch (BITS(2)) {
\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
2284 ; 323 : DROPBITS(2);
\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
2293 00111 e9 24 0b 00 00 jmp $LN387@inflateBac@3
\r
2294 $LN304@inflateBac@3:
\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
2301 ; 308 : case 1: /* fixed block */
\r
2302 ; 309 : fixedtables(state);
\r
2304 00116 8b c7 mov eax, edi
\r
2305 00118 e8 00 00 00 00 call _fixedtables
\r
2308 ; 323 : DROPBITS(2);
\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
2317 00129 e9 0c 0b 00 00 jmp $LN387@inflateBac@3
\r
2318 $LN303@inflateBac@3:
\r
2321 ; 323 : DROPBITS(2);
\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
2330 0013a e9 fb 0a 00 00 jmp $LN387@inflateBac@3
\r
2331 $LN302@inflateBac@3:
\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
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
2343 ; 320 : strm->msg = (char *)"invalid block type";
\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
2349 ; 321 : state->mode = BAD;
\r
2351 00149 c7 07 1d 00 00
\r
2352 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
2353 $LN301@inflateBac@3:
\r
2356 ; 323 : DROPBITS(2);
\r
2358 0014f c1 eb 02 shr ebx, 2
\r
2359 00152 83 ee 03 sub esi, 3
\r
2363 00155 e9 e0 0a 00 00 jmp $LN387@inflateBac@3
\r
2364 $LN297@inflateBac@3:
\r
2367 ; 326 : case STORED:
\r
2368 ; 327 : /* get and verify stored block length */
\r
2369 ; 328 : BYTEBITS(); /* go to byte boundary */
\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
2376 ; 329 : NEEDBITS(32);
\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
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
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
2407 ; 330 : if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
\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
2417 ; 331 : strm->msg = (char *)"invalid stored block lengths";
\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
2423 ; 332 : state->mode = BAD;
\r
2425 001be c7 07 1d 00 00
\r
2426 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
2430 001c4 e9 71 0a 00 00 jmp $LN387@inflateBac@3
\r
2431 $LN281@inflateBac@3:
\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
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
2444 ; 340 : /* copy stored block from input to output */
\r
2445 ; 341 : while (state->length != 0) {
\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
2452 $LL277@inflateBac@3:
\r
2454 ; 342 : copy = state->length;
\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
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
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
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
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
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
2495 ; 345 : if (copy > have) copy = have;
\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
2505 ; 346 : if (copy > left) copy = left;
\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
2513 ; 347 : zmemcpy(put, next, copy);
\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
2521 00251 e8 00 00 00 00 call _memcpy
\r
2523 ; 348 : have -= copy;
\r
2525 00256 8b 45 e8 mov eax, DWORD PTR _copy$[ebp]
\r
2527 ; 349 : next += copy;
\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
2532 ; 350 : left -= copy;
\r
2534 0025f 29 45 f0 sub DWORD PTR _left$[ebp], eax
\r
2536 ; 351 : put += copy;
\r
2538 00262 01 45 f4 add DWORD PTR _put$[ebp], eax
\r
2540 ; 352 : state->length -= copy;
\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
2550 ; 354 : Tracev((stderr, "inflate: stored end\n"));
\r
2551 ; 355 : state->mode = TYPE;
\r
2553 00274 c7 07 0b 00 00
\r
2554 00 mov DWORD PTR [edi], 11 ; 0000000bH
\r
2558 0027a e9 bb 09 00 00 jmp $LN387@inflateBac@3
\r
2559 $LN262@inflateBac@3:
\r
2562 ; 358 : case TABLE:
\r
2563 ; 359 : /* get dynamic table entries descriptor */
\r
2564 ; 360 : NEEDBITS(14);
\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
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
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
2595 ; 361 : state->nlen = BITS(5) + 257;
\r
2597 002be 8b c3 mov eax, ebx
\r
2599 ; 362 : DROPBITS(5);
\r
2601 002c0 c1 eb 05 shr ebx, 5
\r
2603 ; 363 : state->ndist = BITS(5) + 1;
\r
2605 002c3 8b cb mov ecx, ebx
\r
2607 ; 364 : DROPBITS(5);
\r
2609 002c5 c1 eb 05 shr ebx, 5
\r
2611 ; 365 : state->ncode = BITS(4) + 4;
\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
2619 002d9 83 c2 04 add edx, 4
\r
2621 ; 366 : DROPBITS(4);
\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
2629 ; 367 : #ifndef PKZIP_BUG_WORKAROUND
\r
2630 ; 368 : if (state->nlen > 286 || state->ndist > 30) {
\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
2641 ; 374 : Tracev((stderr, "inflate: table sizes ok\n"));
\r
2643 ; 376 : /* get code length code lengths (not a typo) */
\r
2644 ; 377 : state->have = 0;
\r
2646 002ff c7 47 68 00 00
\r
2647 00 00 mov DWORD PTR [edi+104], 0
\r
2649 ; 378 : while (state->have < state->ncode) {
\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
2655 $LL238@inflateBac@3:
\r
2657 ; 379 : NEEDBITS(3);
\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
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
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
2688 ; 380 : state->lens[order[state->have++]] = (unsigned short)BITS(3);
\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
2699 ; 381 : DROPBITS(3);
\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
2708 ; 383 : while (state->have < 19)
\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
2714 $LL220@inflateBac@3:
\r
2716 ; 384 : state->lens[order[state->have++]] = 0;
\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
2728 ; 385 : state->next = state->codes;
\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
2735 ; 386 : state->lencode = (code const FAR *)(state->next);
\r
2737 003a5 89 47 4c mov DWORD PTR [edi+76], eax
\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
2743 003a8 8d 97 f0 02 00
\r
2744 00 lea edx, DWORD PTR [edi+752]
\r
2746 003af 8d 47 54 lea eax, DWORD PTR [edi+84]
\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
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
2758 ; 390 : if (ret) {
\r
2760 003ca 85 c0 test eax, eax
\r
2761 003cc 74 15 je SHORT $LN218@inflateBac@3
\r
2763 ; 391 : strm->msg = (char *)"invalid code lengths set";
\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
2769 ; 392 : state->mode = BAD;
\r
2771 003d8 c7 07 1d 00 00
\r
2772 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
2776 003de e9 57 08 00 00 jmp $LN387@inflateBac@3
\r
2777 $LN218@inflateBac@3:
\r
2780 ; 395 : Tracev((stderr, "inflate: code lengths ok\n"));
\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
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
2796 ; 400 : for (;;) {
\r
2797 ; 401 : here = state->lencode[BITS(state->lenbits)];
\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
2804 0040e 23 d3 and edx, ebx
\r
2805 00410 8b 04 90 mov eax, DWORD PTR [eax+edx*4]
\r
2807 ; 402 : if ((unsigned)(here.bits) <= bits) break;
\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
2817 ; 403 : PULLBYTE();
\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
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
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
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
2854 ; 402 : if ((unsigned)(here.bits) <= bits) break;
\r
2856 00477 8b 45 e8 mov eax, DWORD PTR _here$[ebp]
\r
2857 $LN369@inflateBac@3:
\r
2860 ; 405 : if (here.val < 16) {
\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
2867 ; 406 : DROPBITS(here.bits);
\r
2869 00485 c1 e8 08 shr eax, 8
\r
2870 00488 0f b6 c8 movzx ecx, al
\r
2872 ; 407 : state->lens[state->have++] = here.val;
\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
2883 0049a e9 7f 01 00 00 jmp $LN430@inflateBac@3
\r
2884 $LN458@inflateBac@3:
\r
2886 ; 410 : if (here.val == 16) {
\r
2888 0049f 75 7f jne SHORT $LN199@inflateBac@3
\r
2890 ; 411 : NEEDBITS(here.bits + 2);
\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
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
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
2928 ; 412 : DROPBITS(here.bits);
\r
2930 004f3 0f b6 cc movzx ecx, ah
\r
2932 ; 413 : if (state->have == 0) {
\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
2942 ; 418 : len = (unsigned)(state->lens[state->have - 1]);
\r
2944 00505 0f b7 4c 47 6e movzx ecx, WORD PTR [edi+eax*2+110]
\r
2946 ; 419 : copy = 3 + BITS(2);
\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
2952 ; 420 : DROPBITS(2);
\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
2959 ; 422 : else if (here.val == 17) {
\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
2965 ; 423 : NEEDBITS(here.bits + 3);
\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
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
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
3003 ; 424 : DROPBITS(here.bits);
\r
3005 00576 d3 eb shr ebx, cl
\r
3008 ; 426 : copy = 3 + BITS(3);
\r
3009 ; 427 : DROPBITS(3);
\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
3020 00588 eb 5b jmp SHORT $LN459@inflateBac@3
\r
3021 $LN156@inflateBac@3:
\r
3023 ; 430 : NEEDBITS(here.bits + 7);
\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
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
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
3058 ; 431 : DROPBITS(here.bits);
\r
3060 005d3 d3 eb shr ebx, cl
\r
3063 ; 433 : copy = 11 + BITS(7);
\r
3064 ; 434 : DROPBITS(7);
\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
3079 ; 436 : if (state->have + copy > state->nlen + state->ndist) {
\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
3090 ; 441 : while (copy--)
\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
3099 ; 442 : state->lens[state->have++] = (unsigned short)len;
\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
3105 0061c 75 f2 jne SHORT $LL136@inflateBac@3
\r
3106 $LN430@inflateBac@3:
\r
3109 ; 395 : Tracev((stderr, "inflate: code lengths ok\n"));
\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
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
3125 ; 446 : /* handle error breaks in while */
\r
3126 ; 447 : if (state->mode == BAD) break;
\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
3133 ; 449 : /* check for end-of-block code (better have one) */
\r
3134 ; 450 : if (state->lens[256] == 0) {
\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
3140 ; 451 : strm->msg = (char *)"invalid code -- missing end-of-block";
\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
3146 ; 452 : state->mode = BAD;
\r
3148 0064a c7 07 1d 00 00
\r
3149 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3153 00650 e9 e5 05 00 00 jmp $LN387@inflateBac@3
\r
3154 $LN374@inflateBac@3:
\r
3156 ; 414 : strm->msg = (char *)"invalid bit length repeat";
\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
3162 ; 415 : state->mode = BAD;
\r
3164 0065f c7 07 1d 00 00
\r
3165 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3169 00665 e9 d0 05 00 00 jmp $LN387@inflateBac@3
\r
3170 $LN375@inflateBac@3:
\r
3172 ; 437 : strm->msg = (char *)"invalid bit length repeat";
\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
3178 ; 438 : state->mode = BAD;
\r
3180 00674 c7 07 1d 00 00
\r
3181 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3186 ; 446 : /* handle error breaks in while */
\r
3187 ; 447 : if (state->mode == BAD) break;
\r
3189 0067a e9 bb 05 00 00 jmp $LN387@inflateBac@3
\r
3190 $LN133@inflateBac@3:
\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
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
3204 ; 460 : state->lencode = (code const FAR *)(state->next);
\r
3206 0068a 89 47 4c mov DWORD PTR [edi+76], eax
\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
3212 0068d 8d 97 f0 02 00
\r
3213 00 lea edx, DWORD PTR [edi+752]
\r
3215 00694 8d 47 54 lea eax, DWORD PTR [edi+84]
\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
3222 006a3 8d 47 70 lea eax, DWORD PTR [edi+112]
\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
3228 ; 464 : if (ret) {
\r
3230 006b1 85 c0 test eax, eax
\r
3231 006b3 74 15 je SHORT $LN132@inflateBac@3
\r
3233 ; 465 : strm->msg = (char *)"invalid literal/lengths set";
\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
3239 ; 466 : state->mode = BAD;
\r
3241 006bf c7 07 1d 00 00
\r
3242 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3246 006c5 e9 70 05 00 00 jmp $LN387@inflateBac@3
\r
3247 $LN132@inflateBac@3:
\r
3250 ; 469 : state->distcode = (code const FAR *)(state->next);
\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
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
3260 006d3 8d 97 f0 02 00
\r
3261 00 lea edx, DWORD PTR [edi+752]
\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
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
3271 006ec 8d 44 57 70 lea eax, DWORD PTR [edi+edx*2+112]
\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
3277 ; 473 : if (ret) {
\r
3279 006fb 85 c0 test eax, eax
\r
3280 006fd 74 15 je SHORT $LN131@inflateBac@3
\r
3282 ; 474 : strm->msg = (char *)"invalid distances set";
\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
3288 ; 475 : state->mode = BAD;
\r
3290 00709 c7 07 1d 00 00
\r
3291 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3295 0070f e9 26 05 00 00 jmp $LN387@inflateBac@3
\r
3296 $LN131@inflateBac@3:
\r
3299 ; 478 : Tracev((stderr, "inflate: codes ok\n"));
\r
3300 ; 479 : state->mode = LEN;
\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
3309 ; 482 : /* use inflate_fast() if we have enough input and output */
\r
3310 ; 483 : if (have >= 6 && left >= 258) {
\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
3319 ; 484 : RESTORE();
\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
3329 ; 485 : if (state->whave < state->wsize)
\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
3337 ; 486 : state->whave = state->wsize - left;
\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
3344 ; 487 : inflate_fast(strm, state->wsize);
\r
3346 00757 8b 75 08 mov esi, DWORD PTR _strm$[ebp]
\r
3349 0075c e8 00 00 00 00 call _inflate_fast
\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
3367 00781 e9 b4 04 00 00 jmp $LN387@inflateBac@3
\r
3368 $LN239@inflateBac@3:
\r
3370 ; 369 : strm->msg = (char *)"too many length or distance symbols";
\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
3376 ; 370 : state->mode = BAD;
\r
3378 00790 c7 07 1d 00 00
\r
3379 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3383 00796 e9 9f 04 00 00 jmp $LN387@inflateBac@3
\r
3384 $LN353@inflateBac@3:
\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
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
3397 007a9 23 c3 and eax, ebx
\r
3398 007ab 8b 04 81 mov eax, DWORD PTR [ecx+eax*4]
\r
3400 ; 495 : if ((unsigned)(here.bits) <= bits) break;
\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
3409 $LL121@inflateBac@3:
\r
3411 ; 496 : PULLBYTE();
\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
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
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
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
3448 ; 495 : if ((unsigned)(here.bits) <= bits) break;
\r
3450 00814 8b 55 f4 mov edx, DWORD PTR _put$[ebp]
\r
3451 $LN376@inflateBac@3:
\r
3454 ; 498 : if (here.op && (here.op & 0xf0) == 0) {
\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
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
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
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
3487 ; 503 : if ((unsigned)(last.bits + here.bits) <= bits) break;
\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
3498 $LL109@inflateBac@3:
\r
3500 ; 504 : PULLBYTE();
\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
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
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
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
3547 ; 506 : DROPBITS(last.bits);
\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
3557 ; 508 : DROPBITS(here.bits);
\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
3566 ; 509 : state->length = (unsigned)here.val;
\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
3573 ; 511 : /* process literal */
\r
3574 ; 512 : if (here.op == 0) {
\r
3576 008fe 84 c0 test al, al
\r
3577 00900 75 43 jne SHORT $LN92@inflateBac@3
\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
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
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
3603 ; 517 : *put++ = (unsigned char)(state->length);
\r
3605 0092e 8a 47 40 mov al, BYTE PTR [edi+64]
\r
3606 00931 88 02 mov BYTE PTR [edx], al
\r
3611 00934 ff 4d f0 dec DWORD PTR _left$[ebp]
\r
3612 00937 89 55 f4 mov DWORD PTR _put$[ebp], edx
\r
3614 ; 519 : state->mode = LEN;
\r
3616 0093a c7 07 14 00 00
\r
3617 00 mov DWORD PTR [edi], 20 ; 00000014H
\r
3621 00940 e9 f5 02 00 00 jmp $LN387@inflateBac@3
\r
3622 $LN92@inflateBac@3:
\r
3626 ; 523 : /* process end of block */
\r
3627 ; 524 : if (here.op & 32) {
\r
3629 00945 a8 20 test al, 32 ; 00000020H
\r
3630 00947 74 0b je SHORT $LN86@inflateBac@3
\r
3632 ; 525 : Tracevv((stderr, "inflate: end of block\n"));
\r
3633 ; 526 : state->mode = TYPE;
\r
3635 00949 c7 07 0b 00 00
\r
3636 00 mov DWORD PTR [edi], 11 ; 0000000bH
\r
3640 0094f e9 e6 02 00 00 jmp $LN387@inflateBac@3
\r
3641 $LN86@inflateBac@3:
\r
3645 ; 530 : /* invalid code */
\r
3646 ; 531 : if (here.op & 64) {
\r
3648 00954 a8 40 test al, 64 ; 00000040H
\r
3649 00956 74 15 je SHORT $LN85@inflateBac@3
\r
3651 ; 532 : strm->msg = (char *)"invalid literal/length code";
\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
3657 ; 533 : state->mode = BAD;
\r
3659 00962 c7 07 1d 00 00
\r
3660 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3664 00968 e9 cd 02 00 00 jmp $LN387@inflateBac@3
\r
3665 $LN85@inflateBac@3:
\r
3669 ; 537 : /* length code -- get extra bits, if any */
\r
3670 ; 538 : state->extra = (unsigned)(here.op) & 15;
\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
3676 ; 539 : if (state->extra != 0) {
\r
3678 00976 74 59 je SHORT $LN68@inflateBac@3
\r
3680 ; 540 : NEEDBITS(state->extra);
\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
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
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
3713 ; 541 : state->length += BITS(state->extra);
\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
3719 009c8 23 c3 and eax, ebx
\r
3720 009ca 01 47 40 add DWORD PTR [edi+64], eax
\r
3722 ; 542 : DROPBITS(state->extra);
\r
3724 009cd d3 eb shr ebx, cl
\r
3725 009cf 2b f1 sub esi, ecx
\r
3726 $LN68@inflateBac@3:
\r
3729 ; 544 : Tracevv((stderr, "inflate: length %u\n", state->length));
\r
3731 ; 546 : /* get distance code */
\r
3732 ; 547 : for (;;) {
\r
3733 ; 548 : here = state->distcode[BITS(state->distbits)];
\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
3740 009df 23 c3 and eax, ebx
\r
3741 009e1 8b 04 81 mov eax, DWORD PTR [ecx+eax*4]
\r
3743 ; 549 : if ((unsigned)(here.bits) <= bits) break;
\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
3752 ; 550 : PULLBYTE();
\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
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
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
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
3789 ; 549 : if ((unsigned)(here.bits) <= bits) break;
\r
3791 00a44 8b 55 f4 mov edx, DWORD PTR _put$[ebp]
\r
3792 $LN381@inflateBac@3:
\r
3795 ; 552 : if ((here.op & 0xf0) == 0) {
\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
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
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
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
3825 ; 557 : if ((unsigned)(last.bits + here.bits) <= bits) break;
\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
3836 ; 558 : PULLBYTE();
\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
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
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
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
3883 ; 560 : DROPBITS(last.bits);
\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
3893 ; 562 : DROPBITS(here.bits);
\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
3902 ; 563 : if (here.op & 64) {
\r
3904 00b17 a8 40 test al, 64 ; 00000040H
\r
3905 00b19 74 15 je SHORT $LN38@inflateBac@3
\r
3907 ; 564 : strm->msg = (char *)"invalid distance code";
\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
3913 ; 565 : state->mode = BAD;
\r
3915 00b25 c7 07 1d 00 00
\r
3916 00 mov DWORD PTR [edi], 29 ; 0000001dH
\r
3920 00b2b e9 0a 01 00 00 jmp $LN387@inflateBac@3
\r
3921 $LN38@inflateBac@3:
\r
3924 ; 568 : state->offset = (unsigned)here.val;
\r
3926 00b30 8b c8 mov ecx, eax
\r
3929 ; 570 : /* get distance extra bits, if any */
\r
3930 ; 571 : state->extra = (unsigned)(here.op) & 15;
\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
3938 ; 572 : if (state->extra != 0) {
\r
3940 00b41 74 55 je SHORT $LN21@inflateBac@3
\r
3942 ; 573 : NEEDBITS(state->extra);
\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
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
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
3974 ; 574 : state->offset += BITS(state->extra);
\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
3980 00b8f 23 c3 and eax, ebx
\r
3981 00b91 01 47 44 add DWORD PTR [edi+68], eax
\r
3983 ; 575 : DROPBITS(state->extra);
\r
3985 00b94 d3 eb shr ebx, cl
\r
3986 00b96 2b f1 sub esi, ecx
\r
3987 $LN21@inflateBac@3:
\r
3990 ; 577 : if (state->offset > state->wsize - (state->whave < state->wsize ?
\r
3991 ; 578 : left : 0)) {
\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
4001 ; 579 : strm->msg = (char *)"invalid distance too far back";
\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
4007 ; 580 : state->mode = BAD;
\r
4009 00bb4 c7 07 1d 00 00
\r
4010 00 mov DWORD PTR [edi], 29 ; 0000001dH
\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
4019 ; 583 : Tracevv((stderr, "inflate: distance %u\n", state->offset));
\r
4021 ; 585 : /* copy match from window to output */
\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
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
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
4043 ; 588 : copy = state->wsize - state->offset;
\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
4048 ; 589 : if (copy < left) {
\r
4050 00bee 3b 4d f0 cmp ecx, DWORD PTR _left$[ebp]
\r
4051 00bf1 73 0d jae SHORT $LN11@inflateBac@3
\r
4053 ; 590 : from = put + copy;
\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
4058 ; 591 : copy = left - copy;
\r
4060 00bf9 8b 45 f0 mov eax, DWORD PTR _left$[ebp]
\r
4061 00bfc 2b c1 sub eax, ecx
\r
4066 00bfe eb 0b jmp SHORT $LN10@inflateBac@3
\r
4067 $LN11@inflateBac@3:
\r
4069 ; 594 : from = put - state->offset;
\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
4075 ; 595 : copy = left;
\r
4077 00c08 8b 45 f0 mov eax, DWORD PTR _left$[ebp]
\r
4078 $LN10@inflateBac@3:
\r
4081 ; 597 : if (copy > state->length) copy = state->length;
\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
4089 ; 598 : state->length -= copy;
\r
4090 ; 599 : left -= copy;
\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
4096 ; 602 : } while (--copy);
\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
4107 ; 601 : *put++ = *from++;
\r
4109 00c29 8a 0c 11 mov cl, BYTE PTR [ecx+edx]
\r
4110 00c2c 88 0a mov BYTE PTR [edx], cl
\r
4113 ; 602 : } while (--copy);
\r
4116 00c30 75 f4 jne SHORT $LL443@inflateBac@3
\r
4118 ; 603 : } while (state->length != 0);
\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
4127 ; 286 : put = state->window;
\r
4128 ; 287 : left = state->wsize;
\r
4130 ; 289 : /* Inflate until end of block marked as last */
\r
4132 ; 291 : switch (state->mode) {
\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
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
4145 00c48 e9 0f f4 ff ff jmp $LN1@inflateBac@3
\r
4146 $LN363@inflateBac@3:
\r
4149 ; 299 : NEEDBITS(3);
\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
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
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
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
4178 ; 610 : if (out(out_desc, state->window, state->wsize - left))
\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
4183 00c83 8b 45 18 mov eax, DWORD PTR _out_desc$[ebp]
\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
4192 ; 611 : ret = Z_BUF_ERROR;
\r
4194 00c96 be fb ff ff ff mov esi, -5 ; fffffffbH
\r
4197 ; 613 : goto inf_leave;
\r
4199 00c9b e9 c1 f3 ff ff jmp $inf_leave$80342
\r
4200 $LN2@inflateBac@3:
\r
4204 ; 616 : ret = Z_DATA_ERROR;
\r
4206 00ca0 be fd ff ff ff mov esi, -3 ; fffffffdH
\r
4208 ; 617 : goto inf_leave;
\r
4210 00ca5 e9 b7 f3 ff ff jmp $inf_leave$80342
\r
4211 $LN333@inflateBac@3:
\r
4214 ; 274 : return Z_STREAM_ERROR;
\r
4216 00cab b8 fe ff ff ff mov eax, -2 ; fffffffeH
\r
4221 00cb1 8b e5 mov esp, ebp
\r
4223 00cb4 c2 14 00 ret 20 ; 00000014H
\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
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