📄 lzma_d_cf.s
字号:
push si push di push bp mov bp,sp sub sp,102 mov si,word ptr [bp+8] lea bx,[si+4] mov word ptr [bp-34],bx xor ax,ax mov word ptr [bp-20],ax mov word ptr [bp-18],ax mov byte ptr [bp-2],0 mov cl,byte ptr [si+2] mov ax,1 shl ax,cl dec ax mov word ptr [bp-88],ax mov cl,byte ptr [si+1] mov ax,1 shl ax,cl dec ax cwd mov word ptr [bp-86],ax mov word ptr [bp-84],dx xor ax,ax mov word ptr [bp-16],ax mov word ptr [bp-100],ax mov word ptr [bp-50],ax mov word ptr [bp-54],ax mov word ptr [bp-74],ax mov bx,word ptr [bp+18] mov word ptr [bx],ax mov word ptr [bx+2],ax mov bx,word ptr [bp+28] mov word ptr [bx],ax mov word ptr [bx+2],ax inc ax mov word ptr [bp-102],ax mov word ptr [bp-52],ax mov word ptr [bp-56],ax mov word ptr [bp-68],ax mov al,byte ptr [si] mov word ptr [bp-78],ax mov dl,byte ptr [si+1] xor dh,dh mov cx,ax add cx,dx mov ax,768 xor dl,dl jcxz .Lf001.Lf000: shl ax,1 rcl dx,1 loop .Lf000.Lf001: mov si,ax add si,1846 mov cx,dx adc cx,0 xor dx,dx xor ax,ax.Lf002: cmp ax,cx jb .Lf003 jne .Lf004 cmp dx,si jae .Lf004.Lf003: mov bx,dx shl bx,1 add bx,word ptr [bp-34] mov word ptr [bx],1024 add dx,1 adc ax,0 jmp .Lf002.Lf004: mov bx,word ptr [bp+10] mov word ptr [bp-12],bx mov ax,word ptr [bp+12] mov word ptr [bp-10],ax mov ax,bx mov dx,word ptr [bp+12] mov bx,word ptr [bp+14] mov cx,word ptr [bp+16] M_PIA mov word ptr [bp-30],ax mov word ptr [bp-28],dx xor ax,ax mov word ptr [bp-6],ax mov word ptr [bp-4],ax mov si,65535 mov di,si mov word ptr [bp-72],ax jmp .Lf006.Lf005: les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx inc word ptr [bp-72] cmp word ptr [bp-72],5 jge .Lf008.Lf006: mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Lf005.Lf007: mov ax,1 jmp .Lf125.Lf008: mov ax,word ptr [bp-18] cmp ax,word ptr [bp+26] jb .Lf011 je .Lf010.Lf009: jmp .Lf122.Lf010: mov ax,word ptr [bp-20] cmp ax,word ptr [bp+24] jae .Lf009.Lf011: mov ax,word ptr [bp-20] and ax,word ptr [bp-88] mov word ptr [bp-58],ax mov cl,5 mov dx,word ptr [bp-16] shl dx,cl add dx,word ptr [bp-34] shl ax,1 add dx,ax mov word ptr [bp-14],dx cmp di,256 jae .Lf012 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC je .Lf007 M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Lf012: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-14] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Lf015 je .Lf014.Lf013: jmp .Lf034.Lf014: mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Lf013.Lf015: mov word ptr [bp-26],1 mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-14] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax mov cx,8 sub cx,word ptr [bp-78] mov al,byte ptr [bp-2] xor ah,ah sar ax,cl cwd mov word ptr [bp-90],ax mov bx,dx mov ax,word ptr [bp-20] and ax,word ptr [bp-86] mov dx,word ptr [bp-18] and dx,word ptr [bp-84] mov cx,word ptr [bp-78] jcxz .Lf017.Lf016: shl ax,1 rcl dx,1 loop .Lf016.Lf017: add ax,word ptr [bp-90] adc dx,bx M_U4M_dxax_0x0600 mov dx,word ptr [bp-34] add dx,3692 add dx,ax mov word ptr [bp-14],dx cmp word ptr [bp-16],7 jge .Lf018 jmp .Lf025.Lf018: mov bx,word ptr [bp-20] sub bx,word ptr [bp-102] mov cx,word ptr [bp-18] sbb cx,word ptr [bp-100] mov ax,word ptr [bp+20] mov dx,word ptr [bp+22] M_PIA mov bx,ax mov es,dx mov al,byte ptr es:[bx] xor ah,ah mov word ptr [bp-76],ax.Lf019: shl word ptr [bp-76],1 mov ax,word ptr [bp-76] xor al,al and ah,1 mov word ptr [bp-66],ax shl ax,1 mov dx,word ptr [bp-14] add dh,2 add dx,ax mov ax,word ptr [bp-26] shl ax,1 add dx,ax mov word ptr [bp-46],dx cmp di,256 jae .Lf021 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Lf020 jmp .Lf007.Lf020: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Lf021: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-46] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Lf022 jne .Lf023 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Lf023.Lf022: mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-46] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax shl word ptr [bp-26],1 cmp word ptr [bp-66],0 jne .Lf025 jmp .Lf024.Lf023: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-46] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-26] add ax,ax inc ax mov word ptr [bp-26],ax cmp word ptr [bp-66],0 je .Lf025.Lf024: cmp word ptr [bp-26],256 jge .Lf025 jmp .Lf019.Lf025: mov ax,word ptr [bp-26] cmp ax,256 jl .Lf026 jmp .Lf031.Lf026: shl ax,1 mov bx,word ptr [bp-14] add bx,ax mov word ptr [bp-40],bx cmp di,256 jae .Lf028 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Lf027 jmp .Lf007.Lf027: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Lf028: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-40] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Lf029 jne .Lf030 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Lf030.Lf029: mov si,word ptr [bp-8] mov di,dx mov ax,2048 mov bx,word ptr [bp-40] sub ax,word ptr [bx] mov cl,5 shr ax,cl add word ptr [bx],ax shl word ptr [bp-26],1 jmp .Lf025.Lf030: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-40] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-26] add ax,ax inc ax mov word ptr [bp-26],ax jmp .Lf025.Lf031: mov al,byte ptr [bp-26] mov byte ptr [bp-2],al mov bx,word ptr [bp-20] mov cx,word ptr [bp-18] add word ptr [bp-20],1 adc word ptr [bp-18],0 mov ax,word ptr [bp+20] mov dx,word ptr [bp+22] M_PIA mov bx,ax mov es,dx mov al,byte ptr [bp-26] mov byte ptr es:[bx],al mov ax,word ptr [bp-16] cmp ax,4 jge .Lf032 xor ax,ax mov word ptr [bp-16],ax jmp .Lf008.Lf032: cmp ax,10 jge .Lf033 sub word ptr [bp-16],3 jmp .Lf008.Lf033: sub word ptr [bp-16],6 jmp .Lf008.Lf034: sub si,word ptr [bp-8] sbb di,dx mov ax,word ptr [bp-8] sub word ptr [bp-6],ax sbb word ptr [bp-4],dx mov cl,5 mov bx,word ptr [bp-14] mov ax,word ptr [bx] shr ax,cl sub word ptr [bx],ax mov ax,word ptr [bp-16] shl ax,1 mov dx,word ptr [bp-34] add dx,384 add dx,ax mov word ptr [bp-14],dx cmp di,256 jae .Lf036 mov ax,word ptr [bp-12] mov dx,word ptr [bp-10] mov bx,word ptr [bp-30] mov cx,word ptr [bp-28] M_PTC_JNE .Lf035 jmp .Lf007.Lf035: M_shld_disi_8_bxcx les bx,dword ptr [bp-12] mov al,byte ptr es:[bx] mov byte ptr [bp-90],al mov byte ptr [bp-89],0 mov ax,word ptr [bp-6] mov dx,word ptr [bp-4] M_shld_8 mov bx,word ptr [bp-90] or bx,ax mov word ptr [bp-6],bx mov word ptr [bp-4],dx mov ax,word ptr [bp-12] mov dx,es M_PIA1 mov word ptr [bp-12],ax mov word ptr [bp-10],dx.Lf036: M_shrd_11_disi_bp -96 -98 mov bx,word ptr [bp-14] mov bx,word ptr [bx] M_U4M_dxax_00bx mov word ptr [bp-8],ax mov word ptr [bp-94],dx mov ax,word ptr [bp-4] cmp ax,dx jb .Lf037 jne .Lf040 mov ax,word ptr [bp-6] cmp ax,word ptr [bp-8] jae .Lf040.Lf037:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -