📄 inflate.cod
字号:
DW 08H
DB 00H
DB 08H
DW 05dH
DB 00H
DB 08H
DW 01dH
DB 00H
DB 09H
DW 09bH
DB 014H
DB 07H
DW 053H
DB 00H
DB 08H
DW 07dH
DB 00H
DB 08H
DW 03dH
DB 00H
DB 09H
DW 0dbH
DB 012H
DB 07H
DW 017H
DB 00H
DB 08H
DW 06dH
DB 00H
DB 08H
DW 02dH
DB 00H
DB 09H
DW 0bbH
DB 00H
DB 08H
DW 0dH
DB 00H
DB 08H
DW 08dH
DB 00H
DB 08H
DW 04dH
DB 00H
DB 09H
DW 0fbH
DB 010H
DB 07H
DW 03H
DB 00H
DB 08H
DW 053H
DB 00H
DB 08H
DW 013H
DB 015H
DB 08H
DW 0c3H
DB 013H
DB 07H
DW 023H
DB 00H
DB 08H
DW 073H
DB 00H
DB 08H
DW 033H
DB 00H
DB 09H
DW 0c7H
DB 011H
DB 07H
DW 0bH
DB 00H
DB 08H
DW 063H
DB 00H
DB 08H
DW 023H
DB 00H
DB 09H
DW 0a7H
DB 00H
DB 08H
DW 03H
DB 00H
DB 08H
DW 083H
DB 00H
DB 08H
DW 043H
DB 00H
DB 09H
DW 0e7H
DB 010H
DB 07H
DW 07H
DB 00H
DB 08H
DW 05bH
DB 00H
DB 08H
DW 01bH
DB 00H
DB 09H
DW 097H
DB 014H
DB 07H
DW 043H
DB 00H
DB 08H
DW 07bH
DB 00H
DB 08H
DW 03bH
DB 00H
DB 09H
DW 0d7H
DB 012H
DB 07H
DW 013H
DB 00H
DB 08H
DW 06bH
DB 00H
DB 08H
DW 02bH
DB 00H
DB 09H
DW 0b7H
DB 00H
DB 08H
DW 0bH
DB 00H
DB 08H
DW 08bH
DB 00H
DB 08H
DW 04bH
DB 00H
DB 09H
DW 0f7H
DB 010H
DB 07H
DW 05H
DB 00H
DB 08H
DW 057H
DB 00H
DB 08H
DW 017H
DB 040H
DB 08H
DW 00H
DB 013H
DB 07H
DW 033H
DB 00H
DB 08H
DW 077H
DB 00H
DB 08H
DW 037H
DB 00H
DB 09H
DW 0cfH
DB 011H
DB 07H
DW 0fH
DB 00H
DB 08H
DW 067H
DB 00H
DB 08H
DW 027H
DB 00H
DB 09H
DW 0afH
DB 00H
DB 08H
DW 07H
DB 00H
DB 08H
DW 087H
DB 00H
DB 08H
DW 047H
DB 00H
DB 09H
DW 0efH
DB 010H
DB 07H
DW 09H
DB 00H
DB 08H
DW 05fH
DB 00H
DB 08H
DW 01fH
DB 00H
DB 09H
DW 09fH
DB 014H
DB 07H
DW 063H
DB 00H
DB 08H
DW 07fH
DB 00H
DB 08H
DW 03fH
DB 00H
DB 09H
DW 0dfH
DB 012H
DB 07H
DW 01bH
DB 00H
DB 08H
DW 06fH
DB 00H
DB 08H
DW 02fH
DB 00H
DB 09H
DW 0bfH
DB 00H
DB 08H
DW 0fH
DB 00H
DB 08H
DW 08fH
DB 00H
DB 08H
DW 04fH
DB 00H
DB 09H
DW 0ffH
?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix
DB 05H
DW 01H
DB 017H
DB 05H
DW 0101H
DB 013H
DB 05H
DW 011H
DB 01bH
DB 05H
DW 01001H
DB 011H
DB 05H
DW 05H
DB 019H
DB 05H
DW 0401H
DB 015H
DB 05H
DW 041H
DB 01dH
DB 05H
DW 04001H
DB 010H
DB 05H
DW 03H
DB 018H
DB 05H
DW 0201H
DB 014H
DB 05H
DW 021H
DB 01cH
DB 05H
DW 02001H
DB 012H
DB 05H
DW 09H
DB 01aH
DB 05H
DW 0801H
DB 016H
DB 05H
DW 081H
DB 040H
DB 05H
DW 00H
DB 010H
DB 05H
DW 02H
DB 017H
DB 05H
DW 0181H
DB 013H
DB 05H
DW 019H
DB 01bH
DB 05H
DW 01801H
DB 011H
DB 05H
DW 07H
DB 019H
DB 05H
DW 0601H
DB 015H
DB 05H
DW 061H
DB 01dH
DB 05H
DW 06001H
DB 010H
DB 05H
DW 04H
DB 018H
DB 05H
DW 0301H
DB 014H
DB 05H
DW 031H
DB 01cH
DB 05H
DW 03001H
DB 012H
DB 05H
DW 0dH
DB 01aH
DB 05H
DW 0c01H
DB 016H
DB 05H
DW 0c1H
DB 040H
DB 05H
DW 00H
?order@?1??inflate@@9@9 DW 010H ; `inflate'::`2'::order
DW 011H
DW 012H
DW 00H
DW 08H
DW 07H
DW 09H
DW 06H
DW 0aH
DW 05H
DW 0bH
DW 04H
DW 0cH
DW 03H
DW 0dH
DW 02H
DW 0eH
DW 01H
DW 0fH
PUBLIC _inflateCopy@8
EXTRN _memcpy:PROC
; Function compile flags: /Ogtpy
; File d:\src\vs2005\cpp\ceremoteclient\zlib123\inflate.c
; COMDAT _inflateCopy@8
_TEXT SEGMENT
_dest$ = 8 ; size = 4
_window$ = 12 ; size = 4
_source$ = 12 ; size = 4
_inflateCopy@8 PROC ; COMDAT
; 1326 : {
00000 53 push ebx
00001 56 push esi
00002 57 push edi
; 1327 : struct inflate_state FAR *state;
; 1328 : struct inflate_state FAR *copy;
; 1329 : unsigned char FAR *window;
; 1330 : unsigned wsize;
; 1331 :
; 1332 : /* check input */
; 1333 : if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
; 1334 : source->zalloc == (alloc_func)0 || source->zfree == (free_func)0)
00003 8b 7c 24 10 mov edi, DWORD PTR _dest$[esp+8]
00007 85 ff test edi, edi
00009 0f 84 2e 01 00
00 je $LN6@inflateCop
0000f 8b 74 24 14 mov esi, DWORD PTR _source$[esp+8]
00013 85 f6 test esi, esi
00015 0f 84 22 01 00
00 je $LN6@inflateCop
0001b 8b 5e 1c mov ebx, DWORD PTR [esi+28]
0001e 85 db test ebx, ebx
00020 0f 84 17 01 00
00 je $LN6@inflateCop
00026 8b 46 20 mov eax, DWORD PTR [esi+32]
00029 85 c0 test eax, eax
0002b 0f 84 0c 01 00
00 je $LN6@inflateCop
00031 83 7e 24 00 cmp DWORD PTR [esi+36], 0
00035 0f 84 02 01 00
00 je $LN6@inflateCop
; 1336 : state = (struct inflate_state FAR *)source->state;
; 1337 :
; 1338 : /* allocate space */
; 1339 : copy = (struct inflate_state FAR *)
; 1340 : ZALLOC(source, 1, sizeof(struct inflate_state));
0003b 8b 4e 28 mov ecx, DWORD PTR [esi+40]
0003e 55 push ebp
0003f 68 30 25 00 00 push 9520 ; 00002530H
00044 6a 01 push 1
00046 51 push ecx
00047 ff d0 call eax
00049 8b e8 mov ebp, eax
0004b 83 c4 0c add esp, 12 ; 0000000cH
; 1341 : if (copy == Z_NULL) return Z_MEM_ERROR;
0004e 85 ed test ebp, ebp
00050 74 3c je SHORT $LN11@inflateCop
; 1342 : window = Z_NULL;
; 1343 : if (state->window != Z_NULL) {
00052 83 7b 34 00 cmp DWORD PTR [ebx+52], 0
00056 c7 44 24 18 00
00 00 00 mov DWORD PTR _window$[esp+12], 0
0005e 74 3a je SHORT $LN3@inflateCop
; 1344 : window = (unsigned char FAR *)
; 1345 : ZALLOC(source, 1U << state->wbits, sizeof(unsigned char));
00060 8b 4b 24 mov ecx, DWORD PTR [ebx+36]
00063 8b 46 28 mov eax, DWORD PTR [esi+40]
00066 ba 01 00 00 00 mov edx, 1
0006b d3 e2 shl edx, cl
0006d 8b 4e 20 mov ecx, DWORD PTR [esi+32]
00070 6a 01 push 1
00072 52 push edx
00073 50 push eax
00074 ff d1 call ecx
00076 83 c4 0c add esp, 12 ; 0000000cH
; 1346 : if (window == Z_NULL) {
00079 85 c0 test eax, eax
0007b 89 44 24 18 mov DWORD PTR _window$[esp+12], eax
0007f 75 19 jne SHORT $LN3@inflateCop
; 1347 : ZFREE(source, copy);
00081 8b 56 28 mov edx, DWORD PTR [esi+40]
00084 8b 46 24 mov eax, DWORD PTR [esi+36]
00087 55 push ebp
00088 52 push edx
00089 ff d0 call eax
0008b 83 c4 08 add esp, 8
$LN11@inflateCop:
0008e 5d pop ebp
0008f 5f pop edi
00090 5e pop esi
; 1348 : return Z_MEM_ERROR;
00091 b8 fc ff ff ff mov eax, -4 ; fffffffcH
00096 5b pop ebx
; 1368 : }
00097 c2 08 00 ret 8
$LN3@inflateCop:
; 1349 : }
; 1350 : }
; 1351 :
; 1352 : /* copy state */
; 1353 : zmemcpy(dest, source, sizeof(z_stream));
; 1354 : zmemcpy(copy, state, sizeof(struct inflate_state));
0009a 68 30 25 00 00 push 9520 ; 00002530H
0009f 53 push ebx
000a0 b9 0e 00 00 00 mov ecx, 14 ; 0000000eH
000a5 55 push ebp
000a6 f3 a5 rep movsd
000a8 e8 00 00 00 00 call _memcpy
; 1355 : if (state->lencode >= state->codes &&
; 1356 : state->lencode <= state->codes + ENOUGH - 1) {
000ad 8b 43 4c mov eax, DWORD PTR [ebx+76]
000b0 8d 8b 30 05 00
00 lea ecx, DWORD PTR [ebx+1328]
000b6 83 c4 0c add esp, 12 ; 0000000cH
000b9 3b c1 cmp eax, ecx
000bb 72 36 jb SHORT $LN2@inflateCop
000bd 8d 93 2c 25 00
00 lea edx, DWORD PTR [ebx+9516]
000c3 3b c2 cmp eax, edx
000c5 77 2c ja SHORT $LN2@inflateCop
; 1357 : copy->lencode = copy->codes + (state->lencode - state->codes);
000c7 2b c3 sub eax, ebx
000c9 2d 30 05 00 00 sub eax, 1328 ; 00000530H
000ce c1 f8 02 sar eax, 2
000d1 8d 84 85 30 05
00 00 lea eax, DWORD PTR [ebp+eax*4+1328]
000d8 89 45 4c mov DWORD PTR [ebp+76], eax
; 1358 : copy->distcode = copy->codes + (state->distcode - state->codes);
000db 8b 4b 50 mov ecx, DWORD PTR [ebx+80]
000de 2b cb sub ecx, ebx
000e0 81 e9 30 05 00
00 sub ecx, 1328 ; 00000530H
000e6 c1 f9 02 sar ecx, 2
000e9 8d 94 8d 30 05
00 00 lea edx, DWORD PTR [ebp+ecx*4+1328]
000f0 89 55 50 mov DWORD PTR [ebp+80], edx
$LN2@inflateCop:
; 1359 : }
; 1360 : copy->next = copy->codes + (state->next - state->codes);
000f3 8b 43 6c mov eax, DWORD PTR [ebx+108]
; 1361 : if (window != Z_NULL) {
000f6 8b 74 24 18 mov esi, DWORD PTR _window$[esp+12]
000fa 2b c3 sub eax, ebx
000fc 2d 30 05 00 00 sub eax, 1328 ; 00000530H
00101 c1 f8 02 sar eax, 2
00104 85 f6 test esi, esi
00106 8d 8c 85 30 05
00 00 lea ecx, DWORD PTR [ebp+eax*4+1328]
0010d 89 4d 6c mov DWORD PTR [ebp+108], ecx
00110 74 18 je SHORT $LN1@inflateCop
; 1362 : wsize = 1U << state->wbits;
00112 8b 4b 24 mov ecx, DWORD PTR [ebx+36]
; 1363 : zmemcpy(window, state->window, wsize);
00115 8b 43 34 mov eax, DWORD PTR [ebx+52]
00118 ba 01 00 00 00 mov edx, 1
0011d d3 e2 shl edx, cl
0011f 52 push edx
00120 50 push eax
00121 56 push esi
00122 e8 00 00 00 00 call _memcpy
00127 83 c4 0c add esp, 12 ; 0000000cH
$LN1@inflateCop:
; 1364 : }
; 1365 : copy->window = window;
; 1366 : dest->state = (struct internal_state FAR *)copy;
0012a 8b 4c 24 14 mov ecx, DWORD PTR _dest$[esp+12]
0012e 89 75 34 mov DWORD PTR [ebp+52], esi
00131 89 69 1c mov DWORD PTR [ecx+28], ebp
00134 5d pop ebp
00135 5f pop edi
00136 5e pop esi
; 1367 : return Z_OK;
00137 33 c0 xor eax, eax
00139 5b pop ebx
; 1368 : }
0013a c2 08 00 ret 8
$LN6@inflateCop:
0013d 5f pop edi
0013e 5e pop esi
; 1335 : return Z_STREAM_ERROR;
0013f b8 fe ff ff ff mov eax, -2 ; fffffffeH
00144 5b pop ebx
; 1368 : }
00145 c2 08 00 ret 8
_inflateCopy@8 ENDP
_TEXT ENDS
PUBLIC _inflateSyncPoint@4
; Function compile flags: /Ogtpy
; COMDAT _inflateSyncPoint@4
_TEXT SEGMENT
_strm$ = 8 ; size = 4
_inflateSyncPoint@4 PROC ; COMDAT
; 1316 : struct inflate_state FAR *state;
; 1317 :
; 1318 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
00000 8b 44 24 04 mov eax, DWORD PTR _strm$[esp-4]
00004 85 c0 test eax, eax
00006 74 1f je SHORT $LN1@inflateSyn
00008 8b 40 1c mov eax, DWORD PTR [eax+28]
0000b 85 c0 test eax, eax
0000d 74 18 je SHORT $LN1@inflateSyn
; 1319 : state = (struct inflate_state FAR *)strm->state;
; 1320 : return state->mode == STORED && state->bits == 0;
0000f 83 38 0d cmp DWORD PTR [eax], 13 ; 0000000dH
00012 75 0e jne SHORT $LN5@inflateSyn
00014 83 78 3c 00 cmp DWORD PTR [eax+60], 0
00018 75 08 jne SHORT $LN5@inflateSyn
0001a b8 01 00 00 00 mov eax, 1
; 1321 : }
0001f c2 04 00 ret 4
$LN5@inflateSyn:
; 1319 : state = (struct inflate_state FAR *)strm->state;
; 1320 : return state->mode == STORED && state->bits == 0;
00022 33 c0 xor eax, eax
; 1321 : }
00024 c2 04 00 ret 4
$LN1@inflateSyn:
; 1316 : struct inflate_state FAR *state;
; 1317 :
; 1318 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
00027 b8 fe ff ff ff mov eax, -2 ; fffffffeH
; 1321 : }
0002c c2 04 00 ret 4
_inflateSyncPoint@4 ENDP
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT _syncsearch
_TEXT SEGMENT
_len$ = 8 ; size = 4
_syncsearch PROC ; COMDAT
; _have$ = edi
; _buf$ = esi
; 1244 : unsigned got;
; 1245 : unsigned next;
; 1246 :
; 1247 : got = *have;
00000 8b 0f mov ecx, DWORD PTR [edi]
; 1248 : next = 0;
00002 33 c0 xor eax, eax
; 1249 : while (next < len && got < 4) {
00004 39 44 24 04 cmp DWORD PTR _len$[esp-4], eax
00008 76 47 jbe SHORT $LN11@syncsearch
0000a 53 push ebx
0000b 55 push ebp
0000c 8d 64 24 00 npad 4
$LL6@syncsearch:
00010 83 f9 04 cmp ecx, 4
00013 73 3a jae SHORT $LN12@syncsearch
; 1250 : if ((int)(buf[next]) == (got < 2 ? 0 : 0xff))
00015 8a 14 30 mov dl, BYTE PTR [eax+esi]
00018 83 f9 02 cmp ecx, 2
0001b 1b db sbb ebx, ebx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -