Function at 0x422de0
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push esi
mov esi, dword [esp + 0x10]
mov cl, byte [esi]
cmp cl, 0x11
lea ebp, [esi + eax]
push edi
mov eax, ebx
jbe 0x422e1b
movzx ecx, cl
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x422ed0
lea esp, [esp]
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x422e10
jmp 0x422e8a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x422edd
test ecx, ecx
jne 0x422e47
cmp byte [esi], 0
jne 0x422e3f
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x422e31
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0xf]
inc esi
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
add esi, 4
dec ecx
je 0x422e8a
cmp ecx, 4
jb 0x422e81
lea esp, [esp]
mov edx, dword [esi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x422e60
test ecx, ecx
jbe 0x422e8a
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x422e76
jmp 0x422e8a
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x422e81
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x422edd
movzx edi, byte [esi]
shl edi, 2
shr ecx, 2
mov edx, eax
sub edx, edi
sub edx, ecx
mov cl, byte [edx - 0x801]
sub edx, 0x801
inc esi
mov byte [eax], cl
inc eax
inc edx
mov cl, byte [edx]
mov byte [eax], cl
mov dl, byte [edx + 1]
inc eax
mov byte [eax], dl
inc eax
xor ecx, ecx
mov cl, byte [esi - 2]
and ecx, 3
je 0x422e1b
lea esp, [esp]
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x422ed0
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x422f1b
mov edx, ecx
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [esi]
shl edx, 3
sub edi, edx
dec edi
shr ecx, 5
inc esi
dec ecx
mov dl, byte [edi]
mov byte [eax], dl
mov dl, byte [edi + 1]
inc eax
inc edi
mov byte [eax], dl
inc eax
inc edi
lea esp, [esp]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x422f10
jmp 0x422ebe
cmp ecx, 0x20
jb 0x422f56
and ecx, 0x1f
jne 0x422f46
cmp byte [esi], 0
jne 0x422f3e
lea ebx, [ebx]
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x422f30
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0x1f]
inc esi
movzx edx, word [esi]
shr edx, 2
mov edi, eax
sub edi, edx
dec edi
add esi, 2
jmp 0x422fa0
cmp ecx, 0x10
jb 0x422fee
mov edx, ecx
and edx, 8
shl edx, 0xb
mov edi, eax
sub edi, edx
and ecx, 7
jne 0x422f8b
cmp byte [esi], 0
jne 0x422f83
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x422f75
movzx edx, byte [esi]
lea ecx, [ecx + edx + 7]
inc esi
movzx edx, word [esi]
shr edx, 2
sub edi, edx
add esi, 2
cmp edi, eax
je 0x423004
sub edi, 0x4000
cmp ecx, 6
jb 0x422efc
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x422efc
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub ecx, 2
mov edx, dword [edi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x422fc3
test ecx, ecx
jbe 0x422ebe
lea ecx, [ecx]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x422fe0
jmp 0x422ebe
movzx edi, byte [esi]
shl edi, 2
mov edx, eax
sub edx, edi
shr ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x422eb3
cmp esi, ebp
je 0x423012
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret 0xc
pop edi
pop esi
pop ebp
sub eax, ebx
pop ebx
ret 0xc