⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trees.cod

📁 microsoft visual c++ 2005、windows mobile 5 远程控制PC.通过阅读项目源码能让你熟悉Active Sync RAPI
💻 COD
📖 第 1 页 / 共 5 页
字号:
	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 + -