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

📄 trees.cod

📁 microsoft visual c++ 2005、windows mobile 5 远程控制PC.通过阅读项目源码能让你熟悉Active Sync RAPI
💻 COD
📖 第 1 页 / 共 5 页
字号:
; 906  :     if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {

  000df	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  000e5	8b 90 b4 16 00
	00		 mov	 edx, DWORD PTR [eax+5812]
  000eb	2b d1		 sub	 edx, ecx
  000ed	83 c2 0b	 add	 edx, 11			; 0000000bH
  000f0	83 fa 09	 cmp	 edx, 9
  000f3	0f 8d e2 00 00
	00		 jge	 $LN12@tr_align

; 907  :         send_bits(s, STATIC_TREES<<1, 3);

  000f9	ba 02 00 00 00	 mov	 edx, 2
  000fe	d3 e2		 shl	 edx, cl
  00100	66 09 90 b8 16
	00 00		 or	 WORD PTR [eax+5816], dx
  00107	83 f9 0d	 cmp	 ecx, 13			; 0000000dH
  0010a	7e 4a		 jle	 SHORT $LN4@tr_align
  0010c	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  00113	8b 50 14	 mov	 edx, DWORD PTR [eax+20]
  00116	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00119	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  0011c	01 70 14	 add	 DWORD PTR [eax+20], esi
  0011f	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  00126	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  00129	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  0012c	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  0012f	8b 90 bc 16 00
	00		 mov	 edx, DWORD PTR [eax+5820]
  00135	01 70 14	 add	 DWORD PTR [eax+20], esi
  00138	b1 10		 mov	 cl, 16			; 00000010H
  0013a	2a ca		 sub	 cl, dl
  0013c	bf 02 00 00 00	 mov	 edi, 2
  00141	66 d3 ef	 shr	 di, cl
  00144	83 c2 f3	 add	 edx, -13		; fffffff3H
  00147	89 90 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], edx
  0014d	66 89 b8 b8 16
	00 00		 mov	 WORD PTR [eax+5816], di
  00154	eb 09		 jmp	 SHORT $LN3@tr_align
$LN4@tr_align:
  00156	83 c1 03	 add	 ecx, 3
  00159	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
$LN3@tr_align:

; 908  :         send_code(s, END_BLOCK, static_ltree);

  0015f	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  00165	33 d2		 xor	 edx, edx
  00167	d3 e2		 shl	 edx, cl
  00169	66 09 90 b8 16
	00 00		 or	 WORD PTR [eax+5816], dx
  00170	83 f9 09	 cmp	 ecx, 9
  00173	7e 58		 jle	 SHORT $LN2@tr_align
  00175	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  0017c	8b 50 14	 mov	 edx, DWORD PTR [eax+20]
  0017f	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00182	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  00185	01 70 14	 add	 DWORD PTR [eax+20], esi
  00188	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  0018f	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  00192	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  00195	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  00198	8b 90 bc 16 00
	00		 mov	 edx, DWORD PTR [eax+5820]
  0019e	01 70 14	 add	 DWORD PTR [eax+20], esi
  001a1	b1 10		 mov	 cl, 16			; 00000010H
  001a3	2a ca		 sub	 cl, dl
  001a5	33 f6		 xor	 esi, esi
  001a7	66 d3 ee	 shr	 si, cl
  001aa	83 c2 f7	 add	 edx, -9			; fffffff7H
  001ad	89 90 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], edx
  001b3	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si

; 909  : #ifdef DEBUG
; 910  :         s->compressed_len += 10L;
; 911  : #endif
; 912  :         bi_flush(s);

  001ba	e8 00 00 00 00	 call	 _bi_flush
  001bf	5f		 pop	 edi
  001c0	5e		 pop	 esi

; 913  :     }
; 914  :     s->last_eob_len = 7;

  001c1	c7 80 b4 16 00
	00 07 00 00 00	 mov	 DWORD PTR [eax+5812], 7
  001cb	5b		 pop	 ebx

; 915  : }

  001cc	c3		 ret	 0
$LN2@tr_align:

; 908  :         send_code(s, END_BLOCK, static_ltree);

  001cd	83 c1 07	 add	 ecx, 7
  001d0	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx

; 909  : #ifdef DEBUG
; 910  :         s->compressed_len += 10L;
; 911  : #endif
; 912  :         bi_flush(s);

  001d6	e8 00 00 00 00	 call	 _bi_flush
$LN12@tr_align:
  001db	5f		 pop	 edi
  001dc	5e		 pop	 esi

; 913  :     }
; 914  :     s->last_eob_len = 7;

  001dd	c7 80 b4 16 00
	00 07 00 00 00	 mov	 DWORD PTR [eax+5812], 7
  001e7	5b		 pop	 ebx

; 915  : }

  001e8	c3		 ret	 0
__tr_align ENDP
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT _send_tree
_TEXT	SEGMENT
_count$ = -24						; size = 4
_nextlen$ = -20						; size = 4
tv1260 = -16						; size = 4
_len$78757 = -12					; size = 4
_len$78732 = -12					; size = 4
_len$78706 = -12					; size = 4
_len$78694 = -12					; size = 4
_prevlen$ = -12						; size = 4
tv577 = -8						; size = 4
_curlen$ = -4						; size = 4
_send_tree PROC						; COMDAT
; _s$ = eax
; _tree$ = edx
; _max_code$ = ecx

; 756  : {

  00000	83 ec 18	 sub	 esp, 24			; 00000018H
  00003	53		 push	 ebx
  00004	55		 push	 ebp

; 757  :     int n;                     /* iterates over all tree elements */
; 758  :     int prevlen = -1;          /* last emitted length */
; 759  :     int curlen;                /* length of current code */
; 760  :     int nextlen = tree[0].Len; /* length of next code */

  00005	0f b7 6a 02	 movzx	 ebp, WORD PTR [edx+2]
  00009	56		 push	 esi

; 761  :     int count = 0;             /* repeat count of the current code */

  0000a	33 f6		 xor	 esi, esi

; 762  :     int max_count = 7;         /* max repeat count */
; 763  :     int min_count = 4;         /* min repeat count */
; 764  : 
; 765  :     /* tree[max_code+1].Len = -1; */  /* guard already set */
; 766  :     if (nextlen == 0) max_count = 138, min_count = 3;

  0000c	85 ed		 test	 ebp, ebp
  0000e	57		 push	 edi
  0000f	8b d9		 mov	 ebx, ecx
  00011	c7 44 24 1c ff
	ff ff ff	 mov	 DWORD PTR _prevlen$[esp+40], -1
  00019	89 6c 24 14	 mov	 DWORD PTR _nextlen$[esp+40], ebp
  0001d	8d 4e 07	 lea	 ecx, DWORD PTR [esi+7]
  00020	8d 7e 04	 lea	 edi, DWORD PTR [esi+4]
  00023	75 08		 jne	 SHORT $LN36@send_tree
  00025	b9 8a 00 00 00	 mov	 ecx, 138		; 0000008aH
  0002a	8d 7d 03	 lea	 edi, DWORD PTR [ebp+3]
$LN36@send_tree:

; 767  : 
; 768  :     for (n = 0; n <= max_code; n++) {

  0002d	85 db		 test	 ebx, ebx
  0002f	0f 8c ce 04 00
	00		 jl	 $LN33@send_tree
  00035	83 c2 06	 add	 edx, 6
  00038	83 c3 01	 add	 ebx, 1
  0003b	89 54 24 18	 mov	 DWORD PTR tv1260[esp+40], edx
  0003f	89 5c 24 20	 mov	 DWORD PTR tv577[esp+40], ebx
  00043	bd 01 00 00 00	 mov	 ebp, 1
  00048	eb 06 8d 9b 00
	00 00 00	 npad	 8
$LL35@send_tree:

; 769  :         curlen = nextlen; nextlen = tree[n+1].Len;

  00050	8b 5c 24 18	 mov	 ebx, DWORD PTR tv1260[esp+40]
  00054	0f b7 1b	 movzx	 ebx, WORD PTR [ebx]
  00057	8b 54 24 14	 mov	 edx, DWORD PTR _nextlen$[esp+40]

; 770  :         if (++count < max_count && curlen == nextlen) {

  0005b	03 f5		 add	 esi, ebp
  0005d	3b f1		 cmp	 esi, ecx
  0005f	89 54 24 24	 mov	 DWORD PTR _curlen$[esp+40], edx
  00063	89 5c 24 14	 mov	 DWORD PTR _nextlen$[esp+40], ebx
  00067	89 74 24 10	 mov	 DWORD PTR _count$[esp+40], esi
  0006b	7d 08		 jge	 SHORT $LN32@send_tree
  0006d	3b d3		 cmp	 edx, ebx
  0006f	0f 84 7f 04 00
	00		 je	 $LN34@send_tree
$LN32@send_tree:

; 771  :             continue;
; 772  :         } else if (count < min_count) {

  00075	3b f7		 cmp	 esi, edi
  00077	0f 8d a2 00 00
	00		 jge	 $LN30@send_tree
  0007d	8d 49 00	 npad	 3
$LL29@send_tree:

; 773  :             do { send_code(s, curlen, s->bl_tree); } while (--count != 0);

  00080	0f b7 bc 90 7e
	0a 00 00	 movzx	 edi, WORD PTR [eax+edx*4+2686]
  00088	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  0008e	bb 10 00 00 00	 mov	 ebx, 16			; 00000010H
  00093	2b df		 sub	 ebx, edi
  00095	3b cb		 cmp	 ecx, ebx
  00097	7e 5b		 jle	 SHORT $LN26@send_tree
  00099	0f b7 b4 90 7c
	0a 00 00	 movzx	 esi, WORD PTR [eax+edx*4+2684]
  000a1	8b d6		 mov	 edx, esi
  000a3	d3 e2		 shl	 edx, cl
  000a5	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  000a8	66 09 90 b8 16
	00 00		 or	 WORD PTR [eax+5816], dx
  000af	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  000b6	8b 50 14	 mov	 edx, DWORD PTR [eax+20]
  000b9	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  000bc	01 68 14	 add	 DWORD PTR [eax+20], ebp
  000bf	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  000c2	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  000c9	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  000cc	88 1c 11	 mov	 BYTE PTR [ecx+edx], bl
  000cf	8b 90 bc 16 00
	00		 mov	 edx, DWORD PTR [eax+5820]
  000d5	01 68 14	 add	 DWORD PTR [eax+20], ebp
  000d8	b1 10		 mov	 cl, 16			; 00000010H
  000da	2a ca		 sub	 cl, dl
  000dc	66 d3 ee	 shr	 si, cl
  000df	8d 4c 3a f0	 lea	 ecx, DWORD PTR [edx+edi-16]
  000e3	8b 54 24 24	 mov	 edx, DWORD PTR _curlen$[esp+40]
  000e7	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  000ee	8b 74 24 10	 mov	 esi, DWORD PTR _count$[esp+40]
  000f2	eb 14		 jmp	 SHORT $LN44@send_tree
$LN26@send_tree:
  000f4	66 8b 9c 90 7c
	0a 00 00	 mov	 bx, WORD PTR [eax+edx*4+2684]
  000fc	66 d3 e3	 shl	 bx, cl
  000ff	66 09 98 b8 16
	00 00		 or	 WORD PTR [eax+5816], bx
  00106	03 cf		 add	 ecx, edi
$LN44@send_tree:
  00108	2b f5		 sub	 esi, ebp
  0010a	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
  00110	89 74 24 10	 mov	 DWORD PTR _count$[esp+40], esi
  00114	0f 85 66 ff ff
	ff		 jne	 $LL29@send_tree

; 774  : 
; 775  :         } else if (curlen != 0) {

  0011a	e9 a7 03 00 00	 jmp	 $LN5@send_tree
$LN30@send_tree:
  0011f	85 d2		 test	 edx, edx
  00121	0f 84 a5 01 00
	00		 je	 $LN23@send_tree

; 776  :             if (curlen != prevlen) {

  00127	3b 54 24 1c	 cmp	 edx, DWORD PTR _prevlen$[esp+40]
  0012b	0f 84 9c 00 00
	00		 je	 $LN42@send_tree

; 777  :                 send_code(s, curlen, s->bl_tree); count--;

  00131	0f b7 bc 90 7e
	0a 00 00	 movzx	 edi, WORD PTR [eax+edx*4+2686]
  00139	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  0013f	bb 10 00 00 00	 mov	 ebx, 16			; 00000010H
  00144	2b df		 sub	 ebx, edi
  00146	3b cb		 cmp	 ecx, ebx
  00148	89 7c 24 1c	 mov	 DWORD PTR _len$78694[esp+40], edi
  0014c	7e 5b		 jle	 SHORT $LN21@send_tree
  0014e	0f b7 b4 90 7c
	0a 00 00	 movzx	 esi, WORD PTR [eax+edx*4+2684]
  00156	8b fe		 mov	 edi, esi
  00158	d3 e7		 shl	 edi, cl
  0015a	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0015d	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00164	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  0016b	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  0016e	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  00171	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00174	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  0017b	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0017e	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00181	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  00184	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  0018a	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0018d	b1 10		 mov	 cl, 16			; 00000010H
  0018f	2a cb		 sub	 cl, bl
  00191	66 d3 ee	 shr	 si, cl
  00194	8b 4c 24 1c	 mov	 ecx, DWORD PTR _len$78694[esp+40]
  00198	8d 4c 0b f0	 lea	 ecx, DWORD PTR [ebx+ecx-16]
  0019c	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  001a3	8b 74 24 10	 mov	 esi, DWORD PTR _count$[esp+40]
  001a7	eb 18		 jmp	 SHORT $LN45@send_tree
$LN21@send_tree:
  001a9	66 8b bc 90 7c
	0a 00 00	 mov	 di, WORD PTR [eax+edx*4+2684]
  001b1	66 d3 e7	 shl	 di, cl
  001b4	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  001bb	8b 7c 24 1c	 mov	 edi, DWORD PTR _len$78694[esp+40]
  001bf	03 cf		 add	 ecx, edi
$LN45@send_tree:
  001c1	2b f5		 sub	 esi, ebp
  001c3	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
  001c9	89 74 24 10	 mov	 DWORD PTR _count$[esp+40], esi
$LN42@send_tree:

; 778  :             }
; 779  :             Assert(count >= 3 && count <= 6, " 3_6?");
; 780  :             send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);

  001cd	0f b7 b8 be 0a
	00 00		 movzx	 edi, WORD PTR [eax+2750]
  001d4	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  001da	bb 10 00 00 00	 mov	 ebx, 16			; 00000010H
  001df	2b df		 sub	 ebx, edi
  001e1	3b cb		 cmp	 ecx, ebx
  001e3	89 7c 24 1c	 mov	 DWORD PTR _len$78706[esp+40], edi
  001e7	7e 5a		 jle	 SHORT $LN19@send_tree
  001e9	0f b7 b0 bc 0a
	00 00		 movzx	 esi, WORD PTR [eax+2748]
  001f0	8b fe		 mov	 edi, esi
  001f2	d3 e7		 shl	 edi, cl
  001f4	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  001f7	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  001fe	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  00205	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00208	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  0020b	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0020e	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  00215	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00218	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  0021b	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  0021e	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  00224	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00227	b1 10		 mov	 cl, 16			; 00000010H
  00229	2a cb		 sub	 cl, bl
  0022b	66 d3 ee	 shr	 si, cl
  0022e	8b 4c 24 1c	 mov	 ecx, DWORD PTR _len$78706[esp+40]
  00232	8d 4c 0b f0	 lea	 ecx, DWORD PTR [ebx+ecx-16]
  00236	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  0023d	8b 74 24 10	 mov	 esi, DWORD PTR _count$[esp+40]
  00241	eb 17		 jmp	 SHORT $LN46@send_tree
$LN19@send_tree:
  00243	66 8b b8 bc 0a
	00 00		 mov	 di, WORD PTR [eax+2748]
  0024a	66 d3 e7	 shl	 di, cl
  0024d	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00254	8b 7c 24 1c	 mov	 edi, DWORD PTR _len$78706[esp+40]
  00258	03 cf		 add	 ecx, edi
$LN46@send_tree:
  0025a	83 c6 fd	 add	 esi, -3			; fffffffdH
  0025d	83 f9 0e	 cmp	 ecx, 14			; 0000000eH
  00260	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
  00266	7e 53		 jle	 SHORT $LN17@send_tree
  00268	8b fe		 mov	 edi, esi
  0026a	d3 e7		 shl	 edi, cl
  0026c	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0026f	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00276	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  0027d	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00280	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  00283	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00286	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  0028d	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00290	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00293	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  00296	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  0029c	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0029f	b1 10		 mov	 cl, 16			; 00000010H
  002a1	2a cb		 sub	 cl, bl
  002a3	66 d3 ee	 shr	 si, cl
  002a6	83 c3 f2	 add	 ebx, -14		; fffffff2H
  002a9	89 98 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ebx
  002af	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  002b6	e9 0b 02 00 00	 jmp	 $LN5@send_tree
$LN17@send_tree:
  002bb	d3 e6		 shl	 esi, cl
  002bd	66 09 b0 b8 16
	00 00		 or	 WORD PTR [eax+5816], si
  002c4	83 c1 02	 add	 ecx, 2
  002c7	e9 f4 01 00 00	 jmp	 $LN47@send_tree
$LN23@send_tree:

; 781  : 
; 782  :         } else if (count <= 10) {

  002cc	83 fe 0a	 cmp	 esi, 10			; 0000000aH

; 783  :             send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);

  002cf	8b 88 bc 16 00
	00		 mov	 ecx, DWORD PTR [eax+5820]
  002d5	bb 10 00 00 00	 mov	 ebx, 16			; 00000010H
  002da	0f 8f f4 00 00
	00		 jg	 $LN14@send_tree
  002e0	0f b7 b8 c2 0a
	00 00		 movzx	 edi, WORD PTR [eax+2754]
  002e7	2b df		 sub	 ebx, edi
  002e9	3b cb		 cmp	 ecx, ebx
  002eb	89 7c 24 1c	 mov	 DWORD PTR _len$78732[esp+40], edi
  002ef	7e 5a		 jle	 SHORT $LN13@send_tree
  002f1	0f b7 b0 c0 0a
	00 00		 movzx	 esi, WORD PTR [eax+2752]
  002f8	8b fe		 mov	 edi, esi
  002fa	d3 e7		 shl	 edi, cl
  002fc	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  002ff	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00306	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  0030d	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00310	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  00313	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00316	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  0031d	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00320	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00323	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  00326	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  0032c	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0032f	b1 10		 mov	 cl, 16			; 00000010H
  00331	2a cb		 sub	 cl, bl
  00333	66 d3 ee	 shr	 si, cl
  00336	8b 4c 24 1c	 mov	 ecx, DWORD PTR _len$78732[esp+40]
  0033a	8d 4c 0b f0	 lea	 ecx, DWORD PTR [ebx+ecx-16]
  0033e	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  00345	8b 74 24 10	 mov	 esi, DWORD PTR _count$[esp+40]
  00349	eb 17		 jmp	 SHORT $LN48@send_tree
$LN13@send_tree:
  0034b	66 8b b8 c0 0a
	00 00		 mov	 di, WORD PTR [eax+2752]
  00352	66 d3 e7	 shl	 di, cl
  00355	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  0035c	8b 7c 24 1c	 mov	 edi, DWORD PTR _len$78732[esp+40]
  00360	03 cf		 add	 ecx, edi
$LN48@send_tree:
  00362	83 c6 fd	 add	 esi, -3			; fffffffdH
  00365	83 f9 0d	 cmp	 ecx, 13			; 0000000dH
  00368	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
  0036e	7e 53		 jle	 SHORT $LN11@send_tree
  00370	8b fe		 mov	 edi, esi
  00372	d3 e7		 shl	 edi, cl
  00374	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00377	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  0037e	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  00385	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00388	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  0038b	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0038e	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  00395	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00398	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0039b	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  0039e	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  003a4	01 68 14	 add	 DWORD PTR [eax+20], ebp
  003a7	b1 10		 mov	 cl, 16			; 00000010H
  003a9	2a cb		 sub	 cl, bl
  003ab	66 d3 ee	 shr	 si, cl
  003ae	83 c3 f3	 add	 ebx, -13		; fffffff3H
  003b1	89 98 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ebx
  003b7	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  003be	e9 03 01 00 00	 jmp	 $LN5@send_tree
$LN11@send_tree:
  003c3	d3 e6		 shl	 esi, cl
  003c5	66 09 b0 b8 16
	00 00		 or	 WORD PTR [eax+5816], si
  003cc	83 c1 03	 add	 ecx, 3

; 784  : 
; 785  :         } else {

  003cf	e9 ec 00 00 00	 jmp	 $LN47@send_tree
$LN14@send_tree:

; 786  :             send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);

  003d4	0f b7 b8 c6 0a
	00 00		 movzx	 edi, WORD PTR [eax+2758]
  003db	2b df		 sub	 ebx, edi
  003dd	3b cb		 cmp	 ecx, ebx
  003df	89 7c 24 1c	 mov	 DWORD PTR _len$78757[esp+40], edi
  003e3	7e 5a		 jle	 SHORT $LN8@send_tree
  003e5	0f b7 b0 c4 0a
	00 00		 movzx	 esi, WORD PTR [eax+2756]
  003ec	8b fe		 mov	 edi, esi
  003ee	d3 e7		 shl	 edi, cl
  003f0	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  003f3	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  003fa	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  00401	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00404	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  00407	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0040a	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  00411	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00414	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  00417	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  0041a	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  00420	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00423	b1 10		 mov	 cl, 16			; 00000010H
  00425	2a cb		 sub	 cl, bl
  00427	66 d3 ee	 shr	 si, cl
  0042a	8b 4c 24 1c	 mov	 ecx, DWORD PTR _len$78757[esp+40]
  0042e	8d 4c 0b f0	 lea	 ecx, DWORD PTR [ebx+ecx-16]
  00432	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  00439	8b 74 24 10	 mov	 esi, DWORD PTR _count$[esp+40]
  0043d	eb 17		 jmp	 SHORT $LN49@send_tree
$LN8@send_tree:
  0043f	66 8b b8 c4 0a
	00 00		 mov	 di, WORD PTR [eax+2756]
  00446	66 d3 e7	 shl	 di, cl
  00449	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00450	8b 7c 24 1c	 mov	 edi, DWORD PTR _len$78757[esp+40]
  00454	03 cf		 add	 ecx, edi
$LN49@send_tree:
  00456	83 c6 f5	 add	 esi, -11		; fffffff5H
  00459	83 f9 09	 cmp	 ecx, 9
  0045c	89 88 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ecx
  00462	7e 50		 jle	 SHORT $LN6@send_tree
  00464	8b fe		 mov	 edi, esi
  00466	d3 e7		 shl	 edi, cl
  00468	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0046b	66 09 b8 b8 16
	00 00		 or	 WORD PTR [eax+5816], di
  00472	0f b6 98 b8 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5816]
  00479	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  0047c	88 1c 39	 mov	 BYTE PTR [ecx+edi], bl
  0047f	01 68 14	 add	 DWORD PTR [eax+20], ebp
  00482	0f b6 98 b9 16
	00 00		 movzx	 ebx, BYTE PTR [eax+5817]
  00489	8b 78 14	 mov	 edi, DWORD PTR [eax+20]
  0048c	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0048f	88 1c 0f	 mov	 BYTE PTR [edi+ecx], bl
  00492	8b 98 bc 16 00
	00		 mov	 ebx, DWORD PTR [eax+5820]
  00498	01 68 14	 add	 DWORD PTR [eax+20], ebp
  0049b	b1 10		 mov	 cl, 16			; 00000010H
  0049d	2a cb		 sub	 cl, bl
  0049f	66 d3 ee	 shr	 si, cl
  004a2	83 c3 f7	 add	 ebx, -9			; fffffff7H
  004a5	89 98 bc 16 00
	00		 mov	 DWORD PTR [eax+5820], ebx
  004ab	66 89 b0 b8 16
	00 00		 mov	 WORD PTR [eax+5816], si
  004b2	eb 12		 jmp	 SHORT $LN5@send_tree
$LN6@send_tree:
  004b4	d3 e6		 shl	 esi, cl
  004b6	66 09 b0 b8 16
	00 00		 or	 WORD PTR [eax+5816], si
  004bd	83 c1 07	 add	 ecx, 7
$LN47@send_tree:
  004c0	89 88 bc 16 00
	00		 mov	 DWORD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -