Initial commit: client source
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1c_decompress_asm
|
||||
|
||||
_lzo1c_decompress_asm:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
nop
|
||||
L3: xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,20H
|
||||
jae L6
|
||||
or al,al
|
||||
je L7
|
||||
mov ecx,eax
|
||||
L4: repe movsb
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
cmp al,20H
|
||||
jb L9
|
||||
L6: cmp al,40H
|
||||
jb L10
|
||||
mov ecx,eax
|
||||
and al,1fH
|
||||
lea edx,-1H[edi]
|
||||
shr ecx,05H
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,05H
|
||||
sub edx,eax
|
||||
inc ecx
|
||||
xchg esi,edx
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L3
|
||||
lea esi,+0H[esi]
|
||||
L7: mov al,[esi]
|
||||
inc esi
|
||||
lea ecx,+20H[eax]
|
||||
cmp al,0f8H
|
||||
jb L4
|
||||
mov ecx,00000118H
|
||||
sub al,0f8H
|
||||
je L8
|
||||
xchg eax,ecx
|
||||
xor al,al
|
||||
shl eax,cl
|
||||
xchg eax,ecx
|
||||
L8: repe movsb
|
||||
jmp L3
|
||||
lea esi,+0H[esi]
|
||||
L9: lea edx,-1H[edi]
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,05H
|
||||
sub edx,eax
|
||||
xchg esi,edx
|
||||
movsb
|
||||
movsb
|
||||
movsb
|
||||
mov esi,edx
|
||||
movsb
|
||||
xor eax,eax
|
||||
jmp L5
|
||||
L10: and al,1fH
|
||||
mov ecx,eax
|
||||
jne L13
|
||||
mov cl,1fH
|
||||
L11: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L12
|
||||
add ecx,000000ffH
|
||||
jmp L11
|
||||
L12: add ecx,eax
|
||||
L13: mov al,[esi]
|
||||
inc esi
|
||||
mov ebx,eax
|
||||
and al,3fH
|
||||
mov edx,edi
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,06H
|
||||
sub edx,eax
|
||||
cmp edx,edi
|
||||
je L14
|
||||
xchg edx,esi
|
||||
lea ecx,+3H[ecx]
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
xor eax,eax
|
||||
shr ebx,06H
|
||||
mov ecx,ebx
|
||||
jne L4
|
||||
jmp L3
|
||||
L14: cmp ecx,00000001H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L17
|
||||
jb L16
|
||||
L15: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L15
|
||||
L16: mov eax,00000008H
|
||||
jmp L15
|
||||
L17: mov eax,00000004H
|
||||
jmp L15
|
||||
nop
|
||||
|
||||
end
|
||||
@@ -0,0 +1,181 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1c_decompress_asm_safe
|
||||
|
||||
_lzo1c_decompress_asm_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
lea esi,+0H[esi]
|
||||
L3: xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,20H
|
||||
jae L6
|
||||
or al,al
|
||||
je L7
|
||||
mov ecx,eax
|
||||
L4: lea ebx,[edi+ecx]
|
||||
cmp [esp],ebx
|
||||
jb L18
|
||||
lea ebx,[esi+ecx]
|
||||
cmp +4H[esp],ebx
|
||||
jb L17
|
||||
repe movsb
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
cmp al,20H
|
||||
jb L9
|
||||
L6: cmp al,40H
|
||||
jb L10
|
||||
mov ecx,eax
|
||||
and al,1fH
|
||||
lea edx,-1H[edi]
|
||||
shr ecx,05H
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,05H
|
||||
sub edx,eax
|
||||
inc ecx
|
||||
xchg esi,edx
|
||||
cmp esi,+30H[esp]
|
||||
jb L19
|
||||
lea ebx,[edi+ecx]
|
||||
cmp [esp],ebx
|
||||
jb L18
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L3
|
||||
lea esi,+0H[esi]
|
||||
L7: mov al,[esi]
|
||||
inc esi
|
||||
lea ecx,+20H[eax]
|
||||
cmp al,0f8H
|
||||
jb L4
|
||||
mov ecx,00000118H
|
||||
sub al,0f8H
|
||||
je L8
|
||||
xchg eax,ecx
|
||||
xor al,al
|
||||
shl eax,cl
|
||||
xchg eax,ecx
|
||||
L8: lea ebx,[edi+ecx]
|
||||
cmp [esp],ebx
|
||||
jb L18
|
||||
lea ebx,[esi+ecx]
|
||||
cmp +4H[esp],ebx
|
||||
jb L17
|
||||
repe movsb
|
||||
jmp L3
|
||||
lea esi,+0H[esi]
|
||||
L9: lea edx,-1H[edi]
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,05H
|
||||
sub edx,eax
|
||||
xchg esi,edx
|
||||
cmp esi,+30H[esp]
|
||||
jb L19
|
||||
lea ebx,+4H[edi]
|
||||
cmp [esp],ebx
|
||||
jb L18
|
||||
movsb
|
||||
movsb
|
||||
movsb
|
||||
mov esi,edx
|
||||
movsb
|
||||
xor eax,eax
|
||||
jmp L5
|
||||
L10: and al,1fH
|
||||
mov ecx,eax
|
||||
jne L13
|
||||
mov cl,1fH
|
||||
L11: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L12
|
||||
add ecx,000000ffH
|
||||
jmp L11
|
||||
lea esi,+0H[esi]
|
||||
L12: add ecx,eax
|
||||
L13: mov al,[esi]
|
||||
inc esi
|
||||
mov ebx,eax
|
||||
and al,3fH
|
||||
mov edx,edi
|
||||
sub edx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
shl eax,06H
|
||||
sub edx,eax
|
||||
cmp edx,edi
|
||||
je L14
|
||||
xchg edx,esi
|
||||
lea ecx,+3H[ecx]
|
||||
cmp esi,+30H[esp]
|
||||
jb L19
|
||||
lea eax,[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L18
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
xor eax,eax
|
||||
shr ebx,06H
|
||||
mov ecx,ebx
|
||||
jne L4
|
||||
jmp L3
|
||||
L14: cmp ecx,00000001H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L18
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L17
|
||||
jb L16
|
||||
L15: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L15
|
||||
L16: mov eax,00000008H
|
||||
jmp L15
|
||||
L17: mov eax,00000004H
|
||||
jmp L15
|
||||
L18: mov eax,00000005H
|
||||
jmp L15
|
||||
L19: mov eax,00000006H
|
||||
jmp L15
|
||||
|
||||
end
|
||||
@@ -0,0 +1,142 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1f_decompress_asm_fast
|
||||
|
||||
_lzo1f_decompress_asm_fast:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
nop
|
||||
L3: xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,1fH
|
||||
ja L9
|
||||
or al,al
|
||||
mov ecx,eax
|
||||
jne L6
|
||||
L4: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L5
|
||||
add ecx,000000ffH
|
||||
jmp L4
|
||||
L5: lea ecx,+1fH[eax+ecx]
|
||||
L6: mov al,cl
|
||||
shr ecx,02H
|
||||
repe movsd
|
||||
and al,03H
|
||||
je L7
|
||||
mov ebx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],ebx
|
||||
add edi,eax
|
||||
L7: mov al,[esi]
|
||||
inc esi
|
||||
L8: cmp al,1fH
|
||||
jbe L13
|
||||
L9: cmp al,0dfH
|
||||
ja L16
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and al,07H
|
||||
shr ecx,05H
|
||||
mov ebx,eax
|
||||
mov al,[esi]
|
||||
lea eax,[ebx+eax*8]
|
||||
inc esi
|
||||
L10: sub edx,eax
|
||||
add ecx,00000002H
|
||||
xchg edx,esi
|
||||
cmp ecx,00000006H
|
||||
jb L11
|
||||
cmp eax,00000004H
|
||||
jb L11
|
||||
mov al,cl
|
||||
shr ecx,02H
|
||||
repe movsd
|
||||
and al,03H
|
||||
mov cl,al
|
||||
L11: repe movsb
|
||||
mov esi,edx
|
||||
L12: mov cl,-2H[esi]
|
||||
and ecx,00000003H
|
||||
je L3
|
||||
mov eax,[esi]
|
||||
add esi,ecx
|
||||
mov [edi],eax
|
||||
add edi,ecx
|
||||
xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L8
|
||||
L13: shr eax,02H
|
||||
lea edx,-801H[edi]
|
||||
mov ecx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
lea eax,[ecx+eax*8]
|
||||
sub edx,eax
|
||||
mov eax,[edx]
|
||||
mov [edi],eax
|
||||
add edi,00000003H
|
||||
jmp L12
|
||||
L14: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L15
|
||||
add ecx,000000ffH
|
||||
jmp L14
|
||||
L15: lea ecx,+1fH[eax+ecx]
|
||||
jmp L17
|
||||
lea esi,+0H[esi]
|
||||
L16: and al,1fH
|
||||
mov ecx,eax
|
||||
je L14
|
||||
L17: mov edx,edi
|
||||
mov ax,[esi]
|
||||
add esi,00000002H
|
||||
shr eax,02H
|
||||
jne L10
|
||||
cmp ecx,00000001H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L20
|
||||
jb L19
|
||||
L18: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L18
|
||||
L19: mov eax,00000008H
|
||||
jmp L18
|
||||
L20: mov eax,00000004H
|
||||
jmp L18
|
||||
mov esi,esi
|
||||
|
||||
end
|
||||
@@ -0,0 +1,171 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1f_decompress_asm_fast_safe
|
||||
|
||||
_lzo1f_decompress_asm_fast_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
lea esi,+0H[esi]
|
||||
L3: xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,1fH
|
||||
ja L9
|
||||
or al,al
|
||||
mov ecx,eax
|
||||
jne L6
|
||||
L4: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L5
|
||||
add ecx,000000ffH
|
||||
jmp L4
|
||||
L5: lea ecx,+1fH[eax+ecx]
|
||||
L6: lea ebx,[edi+ecx]
|
||||
cmp [esp],ebx
|
||||
jb L21
|
||||
lea ebx,[esi+ecx]
|
||||
cmp +4H[esp],ebx
|
||||
jb L20
|
||||
mov al,cl
|
||||
shr ecx,02H
|
||||
repe movsd
|
||||
and al,03H
|
||||
je L7
|
||||
mov ebx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],ebx
|
||||
add edi,eax
|
||||
L7: mov al,[esi]
|
||||
inc esi
|
||||
L8: cmp al,1fH
|
||||
jbe L13
|
||||
L9: cmp al,0dfH
|
||||
ja L16
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and al,07H
|
||||
shr ecx,05H
|
||||
mov ebx,eax
|
||||
mov al,[esi]
|
||||
lea eax,[ebx+eax*8]
|
||||
inc esi
|
||||
L10: sub edx,eax
|
||||
add ecx,00000002H
|
||||
xchg edx,esi
|
||||
cmp esi,+30H[esp]
|
||||
jb L22
|
||||
lea ebx,[edi+ecx]
|
||||
cmp [esp],ebx
|
||||
jb L21
|
||||
cmp ecx,00000006H
|
||||
jb L11
|
||||
cmp eax,00000004H
|
||||
jb L11
|
||||
mov al,cl
|
||||
shr ecx,02H
|
||||
repe movsd
|
||||
and al,03H
|
||||
mov cl,al
|
||||
L11: repe movsb
|
||||
mov esi,edx
|
||||
L12: mov cl,-2H[esi]
|
||||
and ecx,00000003H
|
||||
je L3
|
||||
mov eax,[esi]
|
||||
add esi,ecx
|
||||
mov [edi],eax
|
||||
add edi,ecx
|
||||
xor eax,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L8
|
||||
L13: lea edx,+3H[edi]
|
||||
cmp [esp],edx
|
||||
jb L21
|
||||
shr eax,02H
|
||||
lea edx,-801H[edi]
|
||||
mov ecx,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
lea eax,[ecx+eax*8]
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L22
|
||||
mov eax,[edx]
|
||||
mov [edi],eax
|
||||
add edi,00000003H
|
||||
jmp L12
|
||||
L14: mov al,[esi]
|
||||
inc esi
|
||||
or al,al
|
||||
jne L15
|
||||
add ecx,000000ffH
|
||||
jmp L14
|
||||
L15: lea ecx,+1fH[eax+ecx]
|
||||
jmp L17
|
||||
lea esi,+0H[esi]
|
||||
L16: and al,1fH
|
||||
mov ecx,eax
|
||||
je L14
|
||||
L17: mov edx,edi
|
||||
mov ax,[esi]
|
||||
add esi,00000002H
|
||||
shr eax,02H
|
||||
jne L10
|
||||
cmp ecx,00000001H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L21
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L20
|
||||
jb L19
|
||||
L18: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L18
|
||||
L19: mov eax,00000008H
|
||||
jmp L18
|
||||
L20: mov eax,00000004H
|
||||
jmp L18
|
||||
L21: mov eax,00000005H
|
||||
jmp L18
|
||||
L22: mov eax,00000006H
|
||||
jmp L18
|
||||
lea esi,+0H[esi]
|
||||
|
||||
end
|
||||
@@ -0,0 +1,195 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1x_decompress_asm_fast
|
||||
|
||||
_lzo1x_decompress_asm_fast:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,0eH
|
||||
jmp L7
|
||||
L3: add eax,000000ffH
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+15H[eax+ebx]
|
||||
jmp L7
|
||||
mov esi,esi
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L9
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000006H
|
||||
L7: mov ecx,eax
|
||||
xor eax,ebp
|
||||
shr ecx,02H
|
||||
and eax,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L8
|
||||
sub esi,eax
|
||||
sub edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L9
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-801H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov ecx,[edx]
|
||||
mov [edi],ecx
|
||||
add edi,ebp
|
||||
jmp L16
|
||||
L9: cmp al,40H
|
||||
jb L12
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,00000007H
|
||||
mov bl,[esi]
|
||||
shr ecx,05H
|
||||
lea eax,[eax+ebx*8]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
add ecx,00000004H
|
||||
cmp eax,ebp
|
||||
jae L14
|
||||
jmp L17
|
||||
L10: add eax,000000ffH
|
||||
L11: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L10
|
||||
lea ecx,+24H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L13
|
||||
nop
|
||||
L12: cmp al,20H
|
||||
jb L20
|
||||
and eax,0000001fH
|
||||
je L11
|
||||
lea ecx,+5H[eax]
|
||||
L13: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L17
|
||||
L14: lea eax,-3H[edi+ecx]
|
||||
shr ecx,02H
|
||||
L15: mov ebx,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],ebx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L15
|
||||
mov edi,eax
|
||||
xor ebx,ebx
|
||||
L16: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
mov edx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],edx
|
||||
add edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L9
|
||||
lea esi,+0H[esi]
|
||||
L17: xchg edx,esi
|
||||
sub ecx,ebp
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L16
|
||||
L18: add ecx,000000ffH
|
||||
L19: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L18
|
||||
lea ecx,+0cH[ebx+ecx]
|
||||
jmp L21
|
||||
lea esi,+0H[esi]
|
||||
L20: cmp al,10H
|
||||
jb L22
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L19
|
||||
add ecx,00000005H
|
||||
L21: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L23
|
||||
sub edx,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L22: shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L16
|
||||
L23: cmp ecx,00000006H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L26
|
||||
jb L25
|
||||
L24: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L24
|
||||
L25: mov eax,00000008H
|
||||
jmp L24
|
||||
L26: mov eax,00000004H
|
||||
jmp L24
|
||||
nop
|
||||
|
||||
end
|
||||
@@ -0,0 +1,250 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1x_decompress_asm_fast_safe
|
||||
|
||||
_lzo1x_decompress_asm_fast_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,0eH
|
||||
jmp L7
|
||||
L3: add eax,000000ffH
|
||||
lea edx,+12H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+15H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: cmp +4H[esp],esi
|
||||
jb L26
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L9
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000006H
|
||||
L7: lea edx,-3H[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
lea edx,-3H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
mov ecx,eax
|
||||
xor eax,ebp
|
||||
shr ecx,02H
|
||||
and eax,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L8
|
||||
sub esi,eax
|
||||
sub edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L9
|
||||
lea edx,+3H[edi]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-801H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L28
|
||||
mov ecx,[edx]
|
||||
mov [edi],ecx
|
||||
add edi,ebp
|
||||
jmp L16
|
||||
mov esi,esi
|
||||
L9: cmp al,40H
|
||||
jb L12
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,00000007H
|
||||
mov bl,[esi]
|
||||
shr ecx,05H
|
||||
lea eax,[eax+ebx*8]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
add ecx,00000004H
|
||||
cmp eax,ebp
|
||||
jae L14
|
||||
jmp L17
|
||||
L10: add eax,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L11: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L10
|
||||
lea ecx,+24H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L13
|
||||
nop
|
||||
L12: cmp al,20H
|
||||
jb L20
|
||||
and eax,0000001fH
|
||||
je L11
|
||||
lea ecx,+5H[eax]
|
||||
L13: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L17
|
||||
L14: cmp edx,+30H[esp]
|
||||
jb L28
|
||||
lea eax,-3H[edi+ecx]
|
||||
shr ecx,02H
|
||||
cmp [esp],eax
|
||||
jb L27
|
||||
L15: mov ebx,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],ebx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L15
|
||||
mov edi,eax
|
||||
xor ebx,ebx
|
||||
L16: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
mov edx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],edx
|
||||
add edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L9
|
||||
lea esi,+0H[esi]
|
||||
L17: cmp edx,+30H[esp]
|
||||
jb L28
|
||||
lea eax,-3H[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L27
|
||||
xchg edx,esi
|
||||
sub ecx,ebp
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L16
|
||||
L18: add ecx,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L19: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L18
|
||||
lea ecx,+0cH[ebx+ecx]
|
||||
jmp L21
|
||||
lea esi,+0H[esi]
|
||||
L20: cmp al,10H
|
||||
jb L22
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L19
|
||||
add ecx,00000005H
|
||||
L21: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L23
|
||||
sub edx,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L22: lea edx,+2H[edi]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L28
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L16
|
||||
L23: cmp ecx,00000006H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L27
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L26
|
||||
jb L25
|
||||
L24: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L24
|
||||
L25: mov eax,00000008H
|
||||
jmp L24
|
||||
L26: mov eax,00000004H
|
||||
jmp L24
|
||||
L27: mov eax,00000005H
|
||||
jmp L24
|
||||
L28: mov eax,00000006H
|
||||
jmp L24
|
||||
|
||||
end
|
||||
@@ -0,0 +1,210 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1x_decompress_asm
|
||||
|
||||
_lzo1x_decompress_asm:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,11H
|
||||
cmp al,04H
|
||||
jae L7
|
||||
mov ecx,eax
|
||||
jmp L9
|
||||
L3: add eax,000000ffH
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+12H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L10
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000003H
|
||||
L7: mov ecx,eax
|
||||
shr eax,02H
|
||||
and ecx,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec eax
|
||||
jne L8
|
||||
L9: repe movsb
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L10
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-801H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov al,+1H[edx]
|
||||
mov +1H[edi],al
|
||||
mov al,+2H[edx]
|
||||
mov +2H[edi],al
|
||||
add edi,ebp
|
||||
jmp L18
|
||||
L10: cmp al,40H
|
||||
jb L13
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,00000007H
|
||||
mov bl,[esi]
|
||||
shr ecx,05H
|
||||
lea eax,[eax+ebx*8]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
inc ecx
|
||||
cmp eax,ebp
|
||||
jae L15
|
||||
jmp L20
|
||||
L11: add eax,000000ffH
|
||||
L12: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L11
|
||||
lea ecx,+21H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L13: cmp al,20H
|
||||
jb L23
|
||||
and eax,0000001fH
|
||||
je L12
|
||||
lea ecx,+2H[eax]
|
||||
L14: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L20
|
||||
L15: mov ebx,ecx
|
||||
shr ebx,02H
|
||||
je L17
|
||||
L16: mov eax,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],eax
|
||||
add edi,00000004H
|
||||
dec ebx
|
||||
jne L16
|
||||
and ecx,ebp
|
||||
je L18
|
||||
L17: mov al,[edx]
|
||||
inc edx
|
||||
mov [edi],al
|
||||
inc edi
|
||||
dec ecx
|
||||
jne L17
|
||||
L18: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
L19: mov cl,[esi]
|
||||
inc esi
|
||||
mov [edi],cl
|
||||
inc edi
|
||||
dec eax
|
||||
jne L19
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L10
|
||||
nop
|
||||
lea esi,+0H[esi]
|
||||
L20: xchg edx,esi
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L18
|
||||
L21: add ecx,000000ffH
|
||||
L22: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L21
|
||||
lea ecx,+9H[ebx+ecx]
|
||||
jmp L24
|
||||
nop
|
||||
lea esi,+0H[esi]
|
||||
L23: cmp al,10H
|
||||
jb L25
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L22
|
||||
add ecx,00000002H
|
||||
L24: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L26
|
||||
sub edx,eax
|
||||
jmp L15
|
||||
lea esi,+0H[esi]
|
||||
L25: shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L18
|
||||
L26: cmp ecx,00000003H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L29
|
||||
jb L28
|
||||
L27: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L27
|
||||
L28: mov eax,00000008H
|
||||
jmp L27
|
||||
L29: mov eax,00000004H
|
||||
jmp L27
|
||||
nop
|
||||
|
||||
end
|
||||
@@ -0,0 +1,270 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1x_decompress_asm_safe
|
||||
|
||||
_lzo1x_decompress_asm_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,11H
|
||||
cmp al,04H
|
||||
jae L7
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
mov ecx,eax
|
||||
jmp L9
|
||||
L3: add eax,000000ffH
|
||||
lea edx,+12H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+12H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: cmp +4H[esp],esi
|
||||
jb L29
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L10
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000003H
|
||||
L7: lea edx,+0H[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,+0H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
and ecx,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec eax
|
||||
jne L8
|
||||
L9: repe movsb
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L10
|
||||
lea edx,+3H[edi]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-801H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L31
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov al,+1H[edx]
|
||||
mov +1H[edi],al
|
||||
mov al,+2H[edx]
|
||||
mov +2H[edi],al
|
||||
add edi,ebp
|
||||
jmp L18
|
||||
mov esi,esi
|
||||
L10: cmp al,40H
|
||||
jb L13
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,00000007H
|
||||
mov bl,[esi]
|
||||
shr ecx,05H
|
||||
lea eax,[eax+ebx*8]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
inc ecx
|
||||
cmp eax,ebp
|
||||
jae L15
|
||||
jmp L20
|
||||
L11: add eax,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L12: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L11
|
||||
lea ecx,+21H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L13: cmp al,20H
|
||||
jb L23
|
||||
and eax,0000001fH
|
||||
je L12
|
||||
lea ecx,+2H[eax]
|
||||
L14: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L20
|
||||
L15: cmp edx,+30H[esp]
|
||||
jb L31
|
||||
lea eax,[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L30
|
||||
mov ebx,ecx
|
||||
shr ebx,02H
|
||||
je L17
|
||||
L16: mov eax,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],eax
|
||||
add edi,00000004H
|
||||
dec ebx
|
||||
jne L16
|
||||
and ecx,ebp
|
||||
je L18
|
||||
L17: mov al,[edx]
|
||||
inc edx
|
||||
mov [edi],al
|
||||
inc edi
|
||||
dec ecx
|
||||
jne L17
|
||||
L18: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L19: mov cl,[esi]
|
||||
inc esi
|
||||
mov [edi],cl
|
||||
inc edi
|
||||
dec eax
|
||||
jne L19
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L10
|
||||
mov esi,esi
|
||||
L20: cmp edx,+30H[esp]
|
||||
jb L31
|
||||
lea eax,+0H[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L30
|
||||
xchg edx,esi
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L18
|
||||
L21: add ecx,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L22: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L21
|
||||
lea ecx,+9H[ebx+ecx]
|
||||
jmp L24
|
||||
nop
|
||||
L23: cmp al,10H
|
||||
jb L25
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L22
|
||||
add ecx,00000002H
|
||||
L24: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L26
|
||||
sub edx,eax
|
||||
jmp L15
|
||||
lea esi,+0H[esi]
|
||||
L25: lea edx,+2H[edi]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L31
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L18
|
||||
L26: cmp ecx,00000003H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L30
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L29
|
||||
jb L28
|
||||
L27: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L27
|
||||
L28: mov eax,00000008H
|
||||
jmp L27
|
||||
L29: mov eax,00000004H
|
||||
jmp L27
|
||||
L30: mov eax,00000005H
|
||||
jmp L27
|
||||
L31: mov eax,00000006H
|
||||
jmp L27
|
||||
|
||||
end
|
||||
@@ -0,0 +1,195 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1y_decompress_asm_fast
|
||||
|
||||
_lzo1y_decompress_asm_fast:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,0eH
|
||||
jmp L7
|
||||
L3: add eax,000000ffH
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+15H[eax+ebx]
|
||||
jmp L7
|
||||
mov esi,esi
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L9
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000006H
|
||||
L7: mov ecx,eax
|
||||
xor eax,ebp
|
||||
shr ecx,02H
|
||||
and eax,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L8
|
||||
sub esi,eax
|
||||
sub edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L9
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-401H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov ecx,[edx]
|
||||
mov [edi],ecx
|
||||
add edi,ebp
|
||||
jmp L16
|
||||
L9: cmp al,40H
|
||||
jb L12
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,ebp
|
||||
mov bl,[esi]
|
||||
shr ecx,04H
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
add ecx,00000002H
|
||||
cmp eax,ebp
|
||||
jae L14
|
||||
jmp L17
|
||||
L10: add eax,000000ffH
|
||||
L11: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L10
|
||||
lea ecx,+24H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L13
|
||||
mov esi,esi
|
||||
L12: cmp al,20H
|
||||
jb L20
|
||||
and eax,0000001fH
|
||||
je L11
|
||||
lea ecx,+5H[eax]
|
||||
L13: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L17
|
||||
L14: lea eax,-3H[edi+ecx]
|
||||
shr ecx,02H
|
||||
L15: mov ebx,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],ebx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L15
|
||||
mov edi,eax
|
||||
xor ebx,ebx
|
||||
L16: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
mov edx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],edx
|
||||
add edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L9
|
||||
lea esi,+0H[esi]
|
||||
L17: xchg edx,esi
|
||||
sub ecx,ebp
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L16
|
||||
L18: add ecx,000000ffH
|
||||
L19: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L18
|
||||
lea ecx,+0cH[ebx+ecx]
|
||||
jmp L21
|
||||
lea esi,+0H[esi]
|
||||
L20: cmp al,10H
|
||||
jb L22
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L19
|
||||
add ecx,00000005H
|
||||
L21: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L23
|
||||
sub edx,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L22: shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L16
|
||||
L23: cmp ecx,00000006H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L26
|
||||
jb L25
|
||||
L24: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L24
|
||||
L25: mov eax,00000008H
|
||||
jmp L24
|
||||
L26: mov eax,00000004H
|
||||
jmp L24
|
||||
nop
|
||||
|
||||
end
|
||||
@@ -0,0 +1,250 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1y_decompress_asm_fast_safe
|
||||
|
||||
_lzo1y_decompress_asm_fast_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,0eH
|
||||
jmp L7
|
||||
L3: add eax,000000ffH
|
||||
lea edx,+12H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+15H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: cmp +4H[esp],esi
|
||||
jb L26
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L9
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000006H
|
||||
L7: lea edx,-3H[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
lea edx,-3H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
mov ecx,eax
|
||||
xor eax,ebp
|
||||
shr ecx,02H
|
||||
and eax,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L8
|
||||
sub esi,eax
|
||||
sub edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L9
|
||||
lea edx,+3H[edi]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-401H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L28
|
||||
mov ecx,[edx]
|
||||
mov [edi],ecx
|
||||
add edi,ebp
|
||||
jmp L16
|
||||
mov esi,esi
|
||||
L9: cmp al,40H
|
||||
jb L12
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,ebp
|
||||
mov bl,[esi]
|
||||
shr ecx,04H
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
add ecx,00000002H
|
||||
cmp eax,ebp
|
||||
jae L14
|
||||
jmp L17
|
||||
L10: add eax,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L11: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L10
|
||||
lea ecx,+24H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L13
|
||||
mov esi,esi
|
||||
L12: cmp al,20H
|
||||
jb L20
|
||||
and eax,0000001fH
|
||||
je L11
|
||||
lea ecx,+5H[eax]
|
||||
L13: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L17
|
||||
L14: cmp edx,+30H[esp]
|
||||
jb L28
|
||||
lea eax,-3H[edi+ecx]
|
||||
shr ecx,02H
|
||||
cmp [esp],eax
|
||||
jb L27
|
||||
L15: mov ebx,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],ebx
|
||||
add edi,00000004H
|
||||
dec ecx
|
||||
jne L15
|
||||
mov edi,eax
|
||||
xor ebx,ebx
|
||||
L16: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
mov edx,[esi]
|
||||
add esi,eax
|
||||
mov [edi],edx
|
||||
add edi,eax
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L9
|
||||
lea esi,+0H[esi]
|
||||
L17: cmp edx,+30H[esp]
|
||||
jb L28
|
||||
lea eax,-3H[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L27
|
||||
xchg edx,esi
|
||||
sub ecx,ebp
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L16
|
||||
L18: add ecx,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L26
|
||||
L19: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L18
|
||||
lea ecx,+0cH[ebx+ecx]
|
||||
jmp L21
|
||||
lea esi,+0H[esi]
|
||||
L20: cmp al,10H
|
||||
jb L22
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L19
|
||||
add ecx,00000005H
|
||||
L21: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L23
|
||||
sub edx,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L22: lea edx,+2H[edi]
|
||||
cmp [esp],edx
|
||||
jb L27
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L28
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L16
|
||||
L23: cmp ecx,00000006H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L27
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L26
|
||||
jb L25
|
||||
L24: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L24
|
||||
L25: mov eax,00000008H
|
||||
jmp L24
|
||||
L26: mov eax,00000004H
|
||||
jmp L24
|
||||
L27: mov eax,00000005H
|
||||
jmp L24
|
||||
L28: mov eax,00000006H
|
||||
jmp L24
|
||||
|
||||
end
|
||||
@@ -0,0 +1,210 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1y_decompress_asm
|
||||
|
||||
_lzo1y_decompress_asm:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,11H
|
||||
cmp al,04H
|
||||
jae L7
|
||||
mov ecx,eax
|
||||
jmp L9
|
||||
L3: add eax,000000ffH
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+12H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L10
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000003H
|
||||
L7: mov ecx,eax
|
||||
shr eax,02H
|
||||
and ecx,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec eax
|
||||
jne L8
|
||||
L9: repe movsb
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L10
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-401H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov al,+1H[edx]
|
||||
mov +1H[edi],al
|
||||
mov al,+2H[edx]
|
||||
mov +2H[edi],al
|
||||
add edi,ebp
|
||||
jmp L18
|
||||
L10: cmp al,40H
|
||||
jb L13
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,ebp
|
||||
mov bl,[esi]
|
||||
shr ecx,04H
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
dec ecx
|
||||
cmp eax,ebp
|
||||
jae L15
|
||||
jmp L20
|
||||
L11: add eax,000000ffH
|
||||
L12: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L11
|
||||
lea ecx,+21H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L13: cmp al,20H
|
||||
jb L23
|
||||
and eax,0000001fH
|
||||
je L12
|
||||
lea ecx,+2H[eax]
|
||||
L14: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L20
|
||||
L15: mov ebx,ecx
|
||||
shr ebx,02H
|
||||
je L17
|
||||
L16: mov eax,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],eax
|
||||
add edi,00000004H
|
||||
dec ebx
|
||||
jne L16
|
||||
and ecx,ebp
|
||||
je L18
|
||||
L17: mov al,[edx]
|
||||
inc edx
|
||||
mov [edi],al
|
||||
inc edi
|
||||
dec ecx
|
||||
jne L17
|
||||
L18: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
L19: mov cl,[esi]
|
||||
inc esi
|
||||
mov [edi],cl
|
||||
inc edi
|
||||
dec eax
|
||||
jne L19
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L10
|
||||
nop
|
||||
lea esi,+0H[esi]
|
||||
L20: xchg edx,esi
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L18
|
||||
L21: add ecx,000000ffH
|
||||
L22: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L21
|
||||
lea ecx,+9H[ebx+ecx]
|
||||
jmp L24
|
||||
nop
|
||||
lea esi,+0H[esi]
|
||||
L23: cmp al,10H
|
||||
jb L25
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L22
|
||||
add ecx,00000002H
|
||||
L24: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L26
|
||||
sub edx,eax
|
||||
jmp L15
|
||||
lea esi,+0H[esi]
|
||||
L25: shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L18
|
||||
L26: cmp ecx,00000003H
|
||||
setne al
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L29
|
||||
jb L28
|
||||
L27: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L27
|
||||
L28: mov eax,00000008H
|
||||
jmp L27
|
||||
L29: mov eax,00000004H
|
||||
jmp L27
|
||||
nop
|
||||
|
||||
end
|
||||
@@ -0,0 +1,270 @@
|
||||
; /*** DO NOT EDIT - GENERATED AUTOMATICALLY ***/
|
||||
; /*** Copyright (C) 1996-2002 Markus F.X.J. Oberhumer ***/
|
||||
|
||||
.386p
|
||||
.model flat
|
||||
|
||||
.code
|
||||
public _lzo1y_decompress_asm_safe
|
||||
|
||||
_lzo1y_decompress_asm_safe:
|
||||
push ebp
|
||||
push edi
|
||||
push esi
|
||||
push ebx
|
||||
push ecx
|
||||
push edx
|
||||
sub esp,0000000cH
|
||||
cld
|
||||
mov esi,+28H[esp]
|
||||
mov edi,+30H[esp]
|
||||
mov ebp,00000003H
|
||||
lea eax,-3H[esi]
|
||||
add eax,+2cH[esp]
|
||||
mov +4H[esp],eax
|
||||
mov eax,edi
|
||||
mov edx,+34H[esp]
|
||||
add eax,[edx]
|
||||
mov [esp],eax
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
lodsb
|
||||
cmp al,11H
|
||||
jbe L6
|
||||
sub al,11H
|
||||
cmp al,04H
|
||||
jae L7
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
mov ecx,eax
|
||||
jmp L9
|
||||
L3: add eax,000000ffH
|
||||
lea edx,+12H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L4: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L3
|
||||
lea eax,+12H[eax+ebx]
|
||||
jmp L7
|
||||
lea esi,+0H[esi]
|
||||
L5: cmp +4H[esp],esi
|
||||
jb L29
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
L6: cmp al,10H
|
||||
jae L10
|
||||
or al,al
|
||||
je L4
|
||||
add eax,00000003H
|
||||
L7: lea edx,+0H[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,+0H[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
and ecx,ebp
|
||||
L8: mov edx,[esi]
|
||||
add esi,00000004H
|
||||
mov [edi],edx
|
||||
add edi,00000004H
|
||||
dec eax
|
||||
jne L8
|
||||
L9: repe movsb
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
cmp al,10H
|
||||
jae L10
|
||||
lea edx,+3H[edi]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-401H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L31
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov al,+1H[edx]
|
||||
mov +1H[edi],al
|
||||
mov al,+2H[edx]
|
||||
mov +2H[edi],al
|
||||
add edi,ebp
|
||||
jmp L18
|
||||
mov esi,esi
|
||||
L10: cmp al,40H
|
||||
jb L13
|
||||
mov ecx,eax
|
||||
shr eax,02H
|
||||
lea edx,-1H[edi]
|
||||
and eax,ebp
|
||||
mov bl,[esi]
|
||||
shr ecx,04H
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
dec ecx
|
||||
cmp eax,ebp
|
||||
jae L15
|
||||
jmp L20
|
||||
L11: add eax,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L12: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L11
|
||||
lea ecx,+21H[eax+ebx]
|
||||
xor eax,eax
|
||||
jmp L14
|
||||
lea esi,+0H[esi]
|
||||
L13: cmp al,20H
|
||||
jb L23
|
||||
and eax,0000001fH
|
||||
je L12
|
||||
lea ecx,+2H[eax]
|
||||
L14: mov ax,[esi]
|
||||
lea edx,-1H[edi]
|
||||
shr eax,02H
|
||||
add esi,00000002H
|
||||
sub edx,eax
|
||||
cmp eax,ebp
|
||||
jb L20
|
||||
L15: cmp edx,+30H[esp]
|
||||
jb L31
|
||||
lea eax,[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L30
|
||||
mov ebx,ecx
|
||||
shr ebx,02H
|
||||
je L17
|
||||
L16: mov eax,[edx]
|
||||
add edx,00000004H
|
||||
mov [edi],eax
|
||||
add edi,00000004H
|
||||
dec ebx
|
||||
jne L16
|
||||
and ecx,ebp
|
||||
je L18
|
||||
L17: mov al,[edx]
|
||||
inc edx
|
||||
mov [edi],al
|
||||
inc edi
|
||||
dec ecx
|
||||
jne L17
|
||||
L18: mov al,-2H[esi]
|
||||
and eax,ebp
|
||||
je L5
|
||||
lea edx,[edi+eax]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
lea edx,[esi+eax]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L19: mov cl,[esi]
|
||||
inc esi
|
||||
mov [edi],cl
|
||||
inc edi
|
||||
dec eax
|
||||
jne L19
|
||||
mov al,[esi]
|
||||
inc esi
|
||||
jmp L10
|
||||
mov esi,esi
|
||||
L20: cmp edx,+30H[esp]
|
||||
jb L31
|
||||
lea eax,+0H[edi+ecx]
|
||||
cmp [esp],eax
|
||||
jb L30
|
||||
xchg edx,esi
|
||||
repe movsb
|
||||
mov esi,edx
|
||||
jmp L18
|
||||
L21: add ecx,000000ffH
|
||||
lea edx,+3H[esi]
|
||||
cmp +4H[esp],edx
|
||||
jb L29
|
||||
L22: mov bl,[esi]
|
||||
inc esi
|
||||
or bl,bl
|
||||
je L21
|
||||
lea ecx,+9H[ebx+ecx]
|
||||
jmp L24
|
||||
nop
|
||||
L23: cmp al,10H
|
||||
jb L25
|
||||
mov ecx,eax
|
||||
and eax,00000008H
|
||||
shl eax,0dH
|
||||
and ecx,00000007H
|
||||
je L22
|
||||
add ecx,00000002H
|
||||
L24: mov ax,[esi]
|
||||
add esi,00000002H
|
||||
lea edx,-4000H[edi]
|
||||
shr eax,02H
|
||||
je L26
|
||||
sub edx,eax
|
||||
jmp L15
|
||||
lea esi,+0H[esi]
|
||||
L25: lea edx,+2H[edi]
|
||||
cmp [esp],edx
|
||||
jb L30
|
||||
shr eax,02H
|
||||
mov bl,[esi]
|
||||
lea edx,-1H[edi]
|
||||
lea eax,[eax+ebx*4]
|
||||
inc esi
|
||||
sub edx,eax
|
||||
cmp edx,+30H[esp]
|
||||
jb L31
|
||||
mov al,[edx]
|
||||
mov [edi],al
|
||||
mov bl,+1H[edx]
|
||||
mov +1H[edi],bl
|
||||
add edi,00000002H
|
||||
jmp L18
|
||||
L26: cmp ecx,00000003H
|
||||
setne al
|
||||
cmp edi,[esp]
|
||||
ja L30
|
||||
mov edx,+28H[esp]
|
||||
add edx,+2cH[esp]
|
||||
cmp esi,edx
|
||||
ja L29
|
||||
jb L28
|
||||
L27: sub edi,+30H[esp]
|
||||
mov edx,+34H[esp]
|
||||
mov [edx],edi
|
||||
neg eax
|
||||
add esp,0000000cH
|
||||
pop edx
|
||||
pop ecx
|
||||
pop ebx
|
||||
pop esi
|
||||
pop edi
|
||||
pop ebp
|
||||
ret
|
||||
mov eax,00000001H
|
||||
jmp L27
|
||||
L28: mov eax,00000008H
|
||||
jmp L27
|
||||
L29: mov eax,00000004H
|
||||
jmp L27
|
||||
L30: mov eax,00000005H
|
||||
jmp L27
|
||||
L31: mov eax,00000006H
|
||||
jmp L27
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user