Function at 0x42a750
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
mov dword [eax], 0
push edi
mov al, byte [esi]
lea ebx, [esi + edx]
mov edx, dword [ebp + 8]
cmp al, 0x11
jbe 0x42a78d
movzx ecx, al
inc esi
sub ecx, 0x11
cmp ecx, 4
jb 0x42a97f
nop dword [eax]
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
sub ecx, 1
jne 0x42a780
jmp 0x42a7fe
movzx eax, al
inc esi
cmp eax, 0x10
jae 0x42a83c
test eax, eax
jne 0x42a7ba
mov cl, byte [esi]
test cl, cl
jne 0x42a7b1
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x42a7a4
add eax, 0xf
movzx ecx, cl
add eax, ecx
inc esi
mov ecx, dword [esi]
add esi, 4
mov dword [edx], ecx
add edx, 4
sub eax, 1
je 0x42a7fe
cmp eax, 4
jb 0x42a7f3
nop
mov ecx, dword [esi]
sub eax, 4
mov dword [edx], ecx
add esi, 4
add edx, 4
cmp eax, 4
jae 0x42a7d0
test eax, eax
je 0x42a7fe
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x42a7e6
jmp 0x42a7fe
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x42a7f3
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x42a83c
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
inc esi
sub ecx, eax
movzx eax, byte [ecx - 0x801]
mov byte [edx], al
movzx eax, byte [ecx - 0x800]
mov byte [edx + 1], al
movzx eax, byte [ecx - 0x7ff]
mov byte [edx + 2], al
add edx, 3
jmp 0x42a976
cmp eax, 0x40
jb 0x42a882
mov ecx, eax
mov edi, edx
shr ecx, 2
and ecx, 7
shr eax, 5
sub edi, ecx
movzx ecx, byte [esi]
shl ecx, 3
inc esi
sub edi, ecx
dec edi
dec eax
movzx ecx, byte [edi]
mov byte [edx], cl
movzx ecx, byte [edi + 1]
mov byte [edx + 1], cl
add edx, 2
add edi, 2
nop dword [eax]
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x42a870
jmp 0x42a976
cmp eax, 0x20
jb 0x42a8b8
and eax, 0x1f
jne 0x42a8a8
mov cl, byte [esi]
test cl, cl
jne 0x42a89f
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x42a892
add eax, 0x1f
movzx ecx, cl
add eax, ecx
inc esi
movzx ecx, word [esi]
lea edi, [edx - 1]
shr ecx, 2
sub edi, ecx
add esi, 2
jmp 0x42a90f
cmp eax, 0x10
jb 0x42a957
mov ecx, eax
mov edi, edx
and ecx, 8
shl ecx, 0xb
sub edi, ecx
and eax, 7
jne 0x42a8f6
mov cl, byte [esi]
test cl, cl
jne 0x42a8ed
nop dword [eax + eax]
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x42a8e0
add eax, 7
movzx ecx, cl
add eax, ecx
inc esi
movzx ecx, word [esi]
add esi, 2
shr ecx, 2
sub edi, ecx
cmp edi, edx
je 0x42a9ab
sub edi, 0x4000
cmp eax, 6
jb 0x42a85b
mov ecx, edx
sub ecx, edi
cmp ecx, 4
jl 0x42a85b
mov ecx, dword [edi]
add edi, 4
mov dword [edx], ecx
add edx, 4
sub eax, 2
mov ecx, dword [edi]
sub eax, 4
mov dword [edx], ecx
add edi, 4
add edx, 4
cmp eax, 4
jae 0x42a932
test eax, eax
je 0x42a976
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x42a948
jmp 0x42a976
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
inc esi
sub ecx, eax
movzx eax, byte [ecx - 1]
mov byte [edx], al
movzx eax, byte [ecx]
mov byte [edx + 1], al
add edx, 2
movzx ecx, byte [esi - 2]
and ecx, 3
je 0x42a9a4
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 1
jbe 0x42a99b
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 2
jbe 0x42a99b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x42a83c
mov al, byte [esi]
jmp 0x42a78d
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
mov dword [eax], edx
cmp esi, ebx
jne 0x42a9be
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
pop ebp
ret