Function at 0x5e5c50
Capabilities:
Decompress data using lzo

Disassembly:
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
push ebx
mov ebx, dword [ecx]
push ebp
mov ebp, dword [esp + 0x10]
add ebx, edx
mov dword [ecx], 0
add ebp, eax
mov cl, byte [eax]
mov dword [esp + 0xc], ebx
push esi
mov esi, edx
push edi
cmp cl, 0x11
jbe 0x5e5cba
movzx edi, cl
inc eax
sub edi, 0x11
cmp edi, 4
jb 0x5e5e3c
mov ecx, ebx
sub ecx, edx
cmp ecx, edi
jb 0x5e601c
mov edx, ebp
lea ecx, [edi + 1]
sub edx, eax
cmp edx, ecx
jb 0x5e6008
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5e5ca8
jmp 0x5e5d69
mov edx, dword [esp + 0x1c]
cmp eax, ebp
jae 0x5e6046
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x5e5dc3
test edi, edi
jne 0x5e5d07
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
jne 0x5e5cfe
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
je 0x5e5ce5
movzx ecx, byte [eax]
add edi, 0xf
add edi, ecx
inc eax
mov edx, ebx
lea ecx, [edi + 3]
sub edx, esi
cmp edx, ecx
jb 0x5e601c
mov edx, ebp
lea ecx, [edi + 4]
sub edx, eax
cmp edx, ecx
jb 0x5e6008
mov ecx, dword [eax]
add eax, 4
mov dword [esi], ecx
add esi, 4
dec edi
je 0x5e5d69
cmp edi, 4
jb 0x5e5d60
mov ecx, dword [eax]
sub edi, 4
mov dword [esi], ecx
add eax, 4
add esi, 4
cmp edi, 4
jae 0x5e5d37
test edi, edi
je 0x5e5d69
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5e5d50
jmp 0x5e5d69
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5e5d60
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x5e5dbf
movzx ecx, byte [eax]
mov edx, esi
shl ecx, 2
inc eax
sub edx, ecx
shr edi, 2
sub edx, edi
sub edx, 0x801
cmp edx, dword [esp + 0x1c]
jb 0x5e6030
cmp edx, esi
jae 0x5e6030
mov ecx, ebx
sub ecx, esi
cmp ecx, 3
jb 0x5e601c
movzx ecx, byte [edx]
mov byte [esi], cl
movzx ecx, byte [edx + 1]
mov byte [esi + 1], cl
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
add esi, 3
jmp 0x5e5e2f
mov edx, dword [esp + 0x1c]
cmp edi, 0x40
jb 0x5e5e88
mov ecx, edi
mov ebx, esi
shr ecx, 2
and ecx, 7
shr edi, 5
sub ebx, ecx
dec edi
movzx ecx, byte [eax]
inc eax
shl ecx, 3
sub ebx, ecx
dec ebx
cmp ebx, edx
jb 0x5e6034
cmp ebx, esi
jae 0x5e6034
mov edx, dword [esp + 0x14]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x5e601c
movzx ecx, byte [ebx]
mov byte [esi], cl
movzx ecx, byte [ebx + 1]
mov byte [esi + 1], cl
add esi, 2
add ebx, 2
lea esp, [esp]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
dec edi
jne 0x5e5e20
mov ebx, dword [esp + 0x14]
movzx edi, byte [eax - 2]
and edi, 3
je 0x5e5cb6
mov ecx, ebx
sub ecx, esi
cmp ecx, edi
jb 0x5e601c
mov edx, ebp
lea ecx, [edi + 1]
sub edx, eax
cmp edx, ecx
jb 0x5e6008
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
cmp edi, 1
jbe 0x5e5e73
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
cmp edi, 2
jbe 0x5e5e73
mov cl, byte [eax]
mov byte [esi], cl
inc esi
inc eax
movzx edi, byte [eax]
inc eax
mov edx, dword [esp + 0x1c]
cmp eax, ebp
jb 0x5e5dc3
jmp 0x5e5cba
cmp edi, 0x20
jb 0x5e5ed6
and edi, 0x1f
jne 0x5e5ec6
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
jne 0x5e5ebd
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
je 0x5e5ea4
movzx ecx, byte [eax]
add edi, 0x1f
add edi, ecx
inc eax
movzx ecx, word [eax]
lea ebx, [esi - 1]
shr ecx, 2
sub ebx, ecx
add eax, 2
jmp 0x5e5f3d
cmp edi, 0x10
jb 0x5e5fb0
mov ecx, edi
mov ebx, esi
and ecx, 8
shl ecx, 0xb
sub ebx, ecx
and edi, 7
jne 0x5e5f24
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
jne 0x5e5f1b
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5e6008
cmp byte [eax], 0
je 0x5e5f02
movzx ecx, byte [eax]
add edi, 7
add edi, ecx
inc eax
movzx ecx, word [eax]
add eax, 2
shr ecx, 2
sub ebx, ecx
cmp ebx, esi
je 0x5e5fe8
sub ebx, 0x4000
cmp ebx, edx
jb 0x5e6034
cmp ebx, esi
jae 0x5e6034
mov edx, dword [esp + 0x14]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x5e601c
cmp edi, 6
jb 0x5e5e07
mov ecx, esi
sub ecx, ebx
cmp ecx, 4
jl 0x5e5e07
mov ecx, dword [ebx]
add ebx, 4
mov dword [esi], ecx
add esi, 4
sub edi, 2
mov ecx, dword [ebx]
sub edi, 4
mov dword [esi], ecx
add ebx, 4
add esi, 4
cmp edi, 4
jae 0x5e5f81
test edi, edi
je 0x5e5e2b
jmp 0x5e5fa0
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
dec edi
jne 0x5e5fa0
jmp 0x5e5e2b
movzx ecx, byte [eax]
mov edx, esi
shl ecx, 2
inc eax
sub edx, ecx
shr edi, 2
sub edx, edi
dec edx
cmp edx, dword [esp + 0x1c]
jb 0x5e6030
cmp edx, esi
jae 0x5e6030
mov ecx, ebx
sub ecx, esi
cmp ecx, 2
jb 0x5e601c
movzx ecx, byte [edx]
mov byte [esi], cl
movzx ecx, byte [edx + 1]
mov byte [esi + 1], cl
add esi, 2
jmp 0x5e5e2f
mov ecx, dword [esp + 0x20]
sub esi, edx
mov dword [ecx], esi
cmp eax, ebp
jne 0x5e5ffb
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
mov ecx, dword [esp + 0x20]
mov eax, 0xfffffffc
sub esi, dword [esp + 0x1c]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
ret
mov ecx, dword [esp + 0x20]
mov eax, 0xfffffffb
sub esi, dword [esp + 0x1c]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
ret
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
sub esi, edx
pop edi
mov eax, 0xfffffffa
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
ret
mov ecx, dword [esp + 0x20]
sub esi, edx
pop edi
mov eax, 0xfffffff9
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
ret