📄 trees.cod
字号:
DB 01dH
DB 01dH
DB 01dH
DB 01dH
DB 01dH
DB 01dH
DB 01dH
DB 01dH
DB 01dH
__length_code DB 00H
DB 01H
DB 02H
DB 03H
DB 04H
DB 05H
DB 06H
DB 07H
DB 08H
DB 08H
DB 09H
DB 09H
DB 0aH
DB 0aH
DB 0bH
DB 0bH
DB 0cH
DB 0cH
DB 0cH
DB 0cH
DB 0dH
DB 0dH
DB 0dH
DB 0dH
DB 0eH
DB 0eH
DB 0eH
DB 0eH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 010H
DB 010H
DB 010H
DB 010H
DB 010H
DB 010H
DB 010H
DB 010H
DB 011H
DB 011H
DB 011H
DB 011H
DB 011H
DB 011H
DB 011H
DB 011H
DB 012H
DB 012H
DB 012H
DB 012H
DB 012H
DB 012H
DB 012H
DB 012H
DB 013H
DB 013H
DB 013H
DB 013H
DB 013H
DB 013H
DB 013H
DB 013H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 014H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 015H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 016H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 017H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 018H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 019H
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01aH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01bH
DB 01cH
_base_length DD 00H
DD 01H
DD 02H
DD 03H
DD 04H
DD 05H
DD 06H
DD 07H
DD 08H
DD 0aH
DD 0cH
DD 0eH
DD 010H
DD 014H
DD 018H
DD 01cH
DD 020H
DD 028H
DD 030H
DD 038H
DD 040H
DD 050H
DD 060H
DD 070H
DD 080H
DD 0a0H
DD 0c0H
DD 0e0H
DD 00H
ORG $+4
_base_dist DD 00H
DD 01H
DD 02H
DD 03H
DD 04H
DD 06H
DD 08H
DD 0cH
DD 010H
DD 018H
DD 020H
DD 030H
DD 040H
DD 060H
DD 080H
DD 0c0H
DD 0100H
DD 0180H
DD 0200H
DD 0300H
DD 0400H
DD 0600H
DD 0800H
DD 0c00H
DD 01000H
DD 01800H
DD 02000H
DD 03000H
DD 04000H
DD 06000H
; Function compile flags: /Ogtpy
; File d:\src\vs2005\cpp\ceremoteclient\zlib123\trees.c
; COMDAT _bi_windup
_TEXT SEGMENT
_bi_windup PROC ; COMDAT
; _s$ = eax
; 1181 : if (s->bi_valid > 8) {
00000 8b 90 bc 16 00
00 mov edx, DWORD PTR [eax+5820]
00006 83 fa 08 cmp edx, 8
00009 53 push ebx
0000a 56 push esi
0000b 7e 3d jle SHORT $LN3@bi_windup
; 1182 : put_short(s, s->bi_buf);
0000d 0f b6 98 b8 16
00 00 movzx ebx, BYTE PTR [eax+5816]
00014 8b 50 14 mov edx, DWORD PTR [eax+20]
00017 8b 48 08 mov ecx, DWORD PTR [eax+8]
0001a 88 1c 11 mov BYTE PTR [ecx+edx], bl
0001d 0f b6 98 b9 16
00 00 movzx ebx, BYTE PTR [eax+5817]
00024 8b 50 08 mov edx, DWORD PTR [eax+8]
00027 be 01 00 00 00 mov esi, 1
0002c 01 70 14 add DWORD PTR [eax+20], esi
0002f 8b 48 14 mov ecx, DWORD PTR [eax+20]
00032 88 1c 11 mov BYTE PTR [ecx+edx], bl
00035 01 70 14 add DWORD PTR [eax+20], esi
; 1185 : }
; 1186 : s->bi_buf = 0;
00038 33 c9 xor ecx, ecx
0003a 5e pop esi
0003b 66 89 88 b8 16
00 00 mov WORD PTR [eax+5816], cx
; 1187 : s->bi_valid = 0;
00042 89 88 bc 16 00
00 mov DWORD PTR [eax+5820], ecx
00048 5b pop ebx
; 1188 : #ifdef DEBUG
; 1189 : s->bits_sent = (s->bits_sent+7) & ~7;
; 1190 : #endif
; 1191 : }
00049 c3 ret 0
$LN3@bi_windup:
; 1183 : } else if (s->bi_valid > 0) {
0004a 33 c9 xor ecx, ecx
0004c 3b d1 cmp edx, ecx
0004e 7e 13 jle SHORT $LN6@bi_windup
; 1184 : put_byte(s, (Byte)s->bi_buf);
00050 8b 70 14 mov esi, DWORD PTR [eax+20]
00053 8b 50 08 mov edx, DWORD PTR [eax+8]
00056 8a 98 b8 16 00
00 mov bl, BYTE PTR [eax+5816]
0005c 88 1c 32 mov BYTE PTR [edx+esi], bl
0005f 83 40 14 01 add DWORD PTR [eax+20], 1
$LN6@bi_windup:
00063 5e pop esi
; 1185 : }
; 1186 : s->bi_buf = 0;
00064 66 89 88 b8 16
00 00 mov WORD PTR [eax+5816], cx
; 1187 : s->bi_valid = 0;
0006b 89 88 bc 16 00
00 mov DWORD PTR [eax+5820], ecx
00071 5b pop ebx
; 1188 : #ifdef DEBUG
; 1189 : s->bits_sent = (s->bits_sent+7) & ~7;
; 1190 : #endif
; 1191 : }
00072 c3 ret 0
_bi_windup ENDP
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT _bi_flush
_TEXT SEGMENT
_bi_flush PROC ; COMDAT
; _s$ = eax
; 1164 : if (s->bi_valid == 16) {
00000 8b 88 bc 16 00
00 mov ecx, DWORD PTR [eax+5820]
00006 83 f9 10 cmp ecx, 16 ; 00000010H
00009 53 push ebx
0000a 75 39 jne SHORT $LN3@bi_flush
; 1165 : put_short(s, s->bi_buf);
0000c 0f b6 98 b8 16
00 00 movzx ebx, BYTE PTR [eax+5816]
00013 8b 50 14 mov edx, DWORD PTR [eax+20]
00016 8b 48 08 mov ecx, DWORD PTR [eax+8]
00019 88 1c 11 mov BYTE PTR [ecx+edx], bl
0001c 83 40 14 01 add DWORD PTR [eax+20], 1
00020 0f b6 98 b9 16
00 00 movzx ebx, BYTE PTR [eax+5817]
00027 8b 48 14 mov ecx, DWORD PTR [eax+20]
0002a 8b 50 08 mov edx, DWORD PTR [eax+8]
0002d 88 1c 11 mov BYTE PTR [ecx+edx], bl
00030 83 40 14 01 add DWORD PTR [eax+20], 1
; 1166 : s->bi_buf = 0;
00034 33 c9 xor ecx, ecx
; 1167 : s->bi_valid = 0;
00036 89 88 bc 16 00
00 mov DWORD PTR [eax+5820], ecx
; 1170 : s->bi_buf >>= 8;
0003c 66 89 88 b8 16
00 00 mov WORD PTR [eax+5816], cx
00043 5b pop ebx
; 1172 : }
; 1173 : }
00044 c3 ret 0
$LN3@bi_flush:
; 1168 : } else if (s->bi_valid >= 8) {
00045 83 f9 08 cmp ecx, 8
00048 7c 29 jl SHORT $LN1@bi_flush
; 1169 : put_byte(s, (Byte)s->bi_buf);
0004a 8b 48 08 mov ecx, DWORD PTR [eax+8]
0004d 8b 50 14 mov edx, DWORD PTR [eax+20]
00050 8a 98 b8 16 00
00 mov bl, BYTE PTR [eax+5816]
00056 88 1c 11 mov BYTE PTR [ecx+edx], bl
; 1170 : s->bi_buf >>= 8;
00059 66 0f b6 88 b9
16 00 00 movzx cx, BYTE PTR [eax+5817]
00061 83 40 14 01 add DWORD PTR [eax+20], 1
; 1171 : s->bi_valid -= 8;
00065 83 80 bc 16 00
00 f8 add DWORD PTR [eax+5820], -8 ; fffffff8H
0006c 66 89 88 b8 16
00 00 mov WORD PTR [eax+5816], cx
$LN1@bi_flush:
00073 5b pop ebx
; 1172 : }
; 1173 : }
00074 c3 ret 0
_bi_flush ENDP
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT _bi_reverse
_TEXT SEGMENT
_bi_reverse PROC ; COMDAT
; _code$ = ecx
; _len$ = edx
; 1150 : register unsigned res = 0;
00000 33 c0 xor eax, eax
00002 56 push esi
$LL3@bi_reverse:
; 1151 : do {
; 1152 : res |= code & 1;
00003 8b f1 mov esi, ecx
00005 83 e6 01 and esi, 1
00008 0b c6 or eax, esi
; 1153 : code >>= 1, res <<= 1;
; 1154 : } while (--len > 0);
0000a 83 ea 01 sub edx, 1
0000d d1 e9 shr ecx, 1
0000f 03 c0 add eax, eax
00011 85 d2 test edx, edx
00013 7f ee jg SHORT $LL3@bi_reverse
; 1155 : return res >> 1;
00015 d1 e8 shr eax, 1
00017 5e pop esi
; 1156 : }
00018 c3 ret 0
_bi_reverse ENDP
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT _set_data_type
_TEXT SEGMENT
_set_data_type PROC ; COMDAT
; _s$ = edx
; 1129 : int n;
; 1130 :
; 1131 : for (n = 0; n < 9; n++)
00000 33 c0 xor eax, eax
00002 8d 8a 94 00 00
00 lea ecx, DWORD PTR [edx+148]
$LL9@set_data_t:
; 1132 : if (s->dyn_ltree[n].Freq != 0)
00008 66 83 39 00 cmp WORD PTR [ecx], 0
0000c 75 0b jne SHORT $LN14@set_data_t
0000e 83 c0 01 add eax, 1
00011 83 c1 04 add ecx, 4
00014 83 f8 09 cmp eax, 9
00017 7c ef jl SHORT $LL9@set_data_t
$LN14@set_data_t:
; 1133 : break;
; 1134 : if (n == 9)
00019 83 f8 09 cmp eax, 9
0001c 0f 85 9b 00 00
00 jne $LN15@set_data_t
; 1135 : for (n = 14; n < 32; n++)
00022 b8 0e 00 00 00 mov eax, 14 ; 0000000eH
00027 8d 8a d0 00 00
00 lea ecx, DWORD PTR [edx+208]
0002d 8d 49 00 npad 3
$LL4@set_data_t:
; 1136 : if (s->dyn_ltree[n].Freq != 0)
00030 66 83 79 fc 00 cmp WORD PTR [ecx-4], 0
00035 0f 85 82 00 00
00 jne $LN15@set_data_t
0003b 66 83 39 00 cmp WORD PTR [ecx], 0
0003f 75 35 jne SHORT $LN18@set_data_t
00041 66 83 79 04 00 cmp WORD PTR [ecx+4], 0
00046 75 3f jne SHORT $LN19@set_data_t
00048 66 83 79 08 00 cmp WORD PTR [ecx+8], 0
0004d 75 49 jne SHORT $LN20@set_data_t
0004f 66 83 79 0c 00 cmp WORD PTR [ecx+12], 0
00054 75 53 jne SHORT $LN21@set_data_t
00056 66 83 79 10 00 cmp WORD PTR [ecx+16], 0
0005b 75 5d jne SHORT $LN22@set_data_t
0005d 83 c0 06 add eax, 6
00060 83 c1 18 add ecx, 24 ; 00000018H
00063 83 f8 20 cmp eax, 32 ; 00000020H
00066 7c c8 jl SHORT $LL4@set_data_t
; 1137 : break;
; 1138 : s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY;
00068 8b 12 mov edx, DWORD PTR [edx]
0006a 33 c9 xor ecx, ecx
0006c 83 f8 20 cmp eax, 32 ; 00000020H
0006f 0f 94 c1 sete cl
00072 89 4a 2c mov DWORD PTR [edx+44], ecx
; 1139 : }
00075 c3 ret 0
$LN18@set_data_t:
; 1137 : break;
; 1138 : s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY;
00076 8b 12 mov edx, DWORD PTR [edx]
00078 33 c9 xor ecx, ecx
0007a 83 c0 01 add eax, 1
0007d 83 f8 20 cmp eax, 32 ; 00000020H
00080 0f 94 c1 sete cl
00083 89 4a 2c mov DWORD PTR [edx+44], ecx
; 1139 : }
00086 c3 ret 0
$LN19@set_data_t:
; 1137 : break;
; 1138 : s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY;
00087 8b 12 mov edx, DWORD PTR [edx]
00089 33 c9 xor ecx, ecx
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -