Function at 0x4c5e60
Capabilities:
Decompress data using lzo

Disassembly:
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
lea ebx, [edx + eax]
push esi
mov esi, dword [esp + 0x18]
mov dword [ebp], 0
mov al, byte [edx]
push edi
cmp al, 0x11
jbe 0x4c5e9f
movzx ecx, al
inc edx
sub ecx, 0x11
cmp ecx, 4
jb 0x4c6081
mov al, byte [edx]
inc edx
mov byte [esi], al
inc esi
dec ecx
jne 0x4c5e94
jmp 0x4c5f0a
movzx eax, byte [edx]
inc edx
cmp eax, 0x10
jae 0x4c5f48
test eax, eax
jne 0x4c5ec8
cmp byte [edx], al
jne 0x4c5ebf
inc edx
add eax, 0xff
cmp byte [edx], 0
je 0x4c5eb4
movzx ecx, byte [edx]
add eax, 0xf
add eax, ecx
inc edx
mov ecx, dword [edx]
add edx, 4
mov dword [esi], ecx
add esi, 4
dec eax
je 0x4c5f0a
cmp eax, 4
jb 0x4c5f01
lea ebx, [ebx]
mov ecx, dword [edx]
sub eax, 4
mov dword [esi], ecx
add edx, 4
add esi, 4
cmp eax, 4
jae 0x4c5ee0
test eax, eax
je 0x4c5f0a
mov cl, byte [edx]
inc edx
mov byte [esi], cl
inc esi
dec eax
jne 0x4c5ef6
jmp 0x4c5f0a
mov cl, byte [edx]
inc edx
mov byte [esi], cl
inc esi
dec eax
jne 0x4c5f01
movzx eax, byte [edx]
inc edx
cmp eax, 0x10
jae 0x4c5f48
shr eax, 2
mov ecx, esi
sub ecx, eax
movzx eax, byte [edx]
shl eax, 2
inc edx
sub ecx, eax
movzx eax, byte [ecx - 0x801]
mov byte [esi], al
movzx eax, byte [ecx - 0x800]
mov byte [esi + 1], al
movzx eax, byte [ecx - 0x7ff]
mov byte [esi + 2], al
add esi, 3
jmp 0x4c6074
cmp eax, 0x40
jb 0x4c5f90
mov ecx, eax
mov edi, esi
shr ecx, 2
and ecx, 7
shr eax, 5
sub edi, ecx
movzx ecx, byte [edx]
shl ecx, 3
inc edx
sub edi, ecx
dec edi
dec eax
movzx ecx, byte [edi]
mov byte [esi], cl
movzx ecx, byte [edi + 1]
mov byte [esi + 1], cl
add esi, 2
add edi, 2
lea esp, [esp]
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [esi], cl
inc esi
dec eax
jne 0x4c5f80
jmp 0x4c6074
cmp eax, 0x20
jb 0x4c5fc4
and eax, 0x1f
jne 0x4c5fb4
cmp byte [edx], al
jne 0x4c5fab
mov edi, edi
inc edx
add eax, 0xff
cmp byte [edx], 0
je 0x4c5fa0
movzx ecx, byte [edx]
add eax, 0x1f
add eax, ecx
inc edx
movzx ecx, word [edx]
lea edi, [esi - 1]
shr ecx, 2
sub edi, ecx
add edx, 2
jmp 0x4c600f
cmp eax, 0x10
jb 0x4c6055
mov ecx, eax
mov edi, esi
and ecx, 8
shl ecx, 0xb
sub edi, ecx
and eax, 7
jne 0x4c5ff6
cmp byte [edx], al
jne 0x4c5fed
inc edx
add eax, 0xff
cmp byte [edx], 0
je 0x4c5fe2
movzx ecx, byte [edx]
add eax, 7
add eax, ecx
inc edx
movzx ecx, word [edx]
add edx, 2
shr ecx, 2
sub edi, ecx
cmp edi, esi
je 0x4c60a6
sub edi, 0x4000
cmp eax, 6
jb 0x4c5f67
mov ecx, esi
sub ecx, edi
cmp ecx, 4
jl 0x4c5f67
mov ecx, dword [edi]
add edi, 4
mov dword [esi], ecx
add esi, 4
sub eax, 2
mov ecx, dword [edi]
sub eax, 4
mov dword [esi], ecx
add edi, 4
add esi, 4
cmp eax, 4
jae 0x4c6032
test eax, eax
je 0x4c6074
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [esi], cl
inc esi
dec eax
jne 0x4c6048
jmp 0x4c6074
shr eax, 2
mov ecx, esi
sub ecx, eax
movzx eax, byte [edx]
shl eax, 2
inc edx
sub ecx, eax
movzx eax, byte [ecx - 1]
mov byte [esi], al
movzx eax, byte [ecx]
mov byte [esi + 1], al
add esi, 2
movzx ecx, byte [edx - 2]
and ecx, 3
je 0x4c5e9f
mov al, byte [edx]
inc edx
mov byte [esi], al
inc esi
cmp ecx, 1
jbe 0x4c609d
mov al, byte [edx]
inc edx
mov byte [esi], al
inc esi
cmp ecx, 2
jbe 0x4c609d
mov al, byte [edx]
mov byte [esi], al
inc esi
inc edx
movzx eax, byte [edx]
inc edx
jmp 0x4c5f48
sub esi, dword [esp + 0x1c]
mov dword [ebp], esi
cmp edx, ebx
jne 0x4c60b8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
pop edi
sbb eax, eax
pop esi
and eax, 0xfffffffc
pop ebp
add eax, 0xfffffffc
pop ebx
ret