Function at 0x5cd130
Capabilities:
Decompress data using lzo

Disassembly:
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1c]
push edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esi]
mov dword [esi], 0
mov esi, edx
lea ebp, [edi + eax]
lea ebx, [ecx + edx]
mov dword [esp + 0x14], ebx
cmp eax, 1
jb 0x5cd53f
mov al, byte [edi]
cmp al, 0x11
jbe 0x5cd1a0
movzx edx, al
inc edi
sub edx, 0x11
cmp edx, 4
jb 0x5cd32e
cmp ecx, edx
jb 0x5cd515
mov ecx, ebp
lea eax, [edx + 3]
sub ecx, edi
cmp ecx, eax
jb 0x5cd53f
nop
mov al, byte [edi]
inc edi
mov byte [esi], al
inc esi
sub edx, 1
jne 0x5cd190
jmp 0x5cd25b
mov eax, ebp
sub eax, edi
cmp eax, 3
jb 0x5cd53f
movzx eax, byte [edi]
inc edi
cmp eax, 0x10
jae 0x5cd2b5
test eax, eax
jne 0x5cd1f1
mov cl, byte [edi]
test cl, cl
jne 0x5cd1e8
add eax, 0xff
inc edi
cmp eax, 0xfffffe01
ja 0x5cd53f
mov ecx, ebp
sub ecx, edi
cmp ecx, 1
jb 0x5cd53f
mov cl, byte [edi]
test cl, cl
je 0x5cd1c4
add eax, 0xf
movzx ecx, cl
add eax, ecx
inc edi
mov edx, ebx
lea ecx, [eax + 3]
sub edx, esi
cmp edx, ecx
jb 0x5cd515
mov edx, ebp
lea ecx, [eax + 6]
sub edx, edi
cmp edx, ecx
jb 0x5cd53f
mov ecx, dword [edi]
add edi, 4
mov dword [esi], ecx
add esi, 4
sub eax, 1
je 0x5cd25b
cmp eax, 4
jb 0x5cd250
mov ecx, dword [edi]
sub eax, 4
mov dword [esi], ecx
add edi, 4
add esi, 4
cmp eax, 4
jae 0x5cd223
test eax, eax
je 0x5cd25b
nop dword [eax]
mov cl, byte [edi]
inc edi
mov byte [esi], cl
inc esi
sub eax, 1
jne 0x5cd240
jmp 0x5cd25b
mov cl, byte [edi]
inc edi
mov byte [esi], cl
inc esi
sub eax, 1
jne 0x5cd250
movzx eax, byte [edi]
inc edi
cmp eax, 0x10
jae 0x5cd2b1
movzx ecx, byte [edi]
mov edx, esi
shl ecx, 2
inc edi
sub edx, ecx
shr eax, 2
sub edx, eax
sub edx, 0x801
cmp edx, dword [esp + 0x1c]
jb 0x5cd529
cmp edx, esi
jae 0x5cd529
mov eax, ebx
sub eax, esi
cmp eax, 3
jb 0x5cd515
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
movzx eax, byte [edx + 2]
mov byte [esi + 2], al
add esi, 3
jmp 0x5cd321
mov edx, dword [esp + 0x1c]
cmp eax, 0x40
jb 0x5cd36e
mov ecx, eax
mov ebx, esi
shr ecx, 2
and ecx, 7
shr eax, 5
sub ebx, ecx
dec eax
movzx ecx, byte [edi]
inc edi
shl ecx, 3
sub ebx, ecx
dec ebx
cmp ebx, edx
jb 0x5cd52d
cmp ebx, esi
jae 0x5cd52d
mov edx, dword [esp + 0x14]
lea ecx, [eax + 2]
sub edx, esi
cmp edx, ecx
jb 0x5cd515
movzx ecx, byte [ebx]
mov byte [esi], cl
movzx ecx, byte [ebx + 1]
mov byte [esi + 1], cl
add esi, 2
add ebx, 2
nop dword [eax + eax]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
sub eax, 1
jne 0x5cd310
mov ebx, dword [esp + 0x14]
movzx edx, byte [edi - 2]
and edx, 3
je 0x5cd4ec
mov eax, ebx
sub eax, esi
cmp eax, edx
jb 0x5cd515
mov ecx, ebp
lea eax, [edx + 3]
sub ecx, edi
cmp ecx, eax
jb 0x5cd53f
mov al, byte [edi]
inc edi
mov byte [esi], al
inc esi
cmp edx, 1
jbe 0x5cd365
mov al, byte [edi]
inc edi
mov byte [esi], al
inc esi
cmp edx, 2
jbe 0x5cd365
mov al, byte [edi]
mov byte [esi], al
inc esi
inc edi
movzx eax, byte [edi]
inc edi
jmp 0x5cd2b1
cmp eax, 0x20
jb 0x5cd3ca
and eax, 0x1f
jne 0x5cd3ba
mov cl, byte [edi]
test cl, cl
jne 0x5cd3a4
nop
add eax, 0xff
inc edi
cmp eax, 0xfffffe01
ja 0x5cd515
mov ecx, ebp
sub ecx, edi
cmp ecx, 1
jb 0x5cd53f
mov cl, byte [edi]
test cl, cl
je 0x5cd380
movzx ecx, cl
inc edi
add ecx, 0x1f
add eax, ecx
mov ecx, ebp
sub ecx, edi
cmp ecx, 2
jb 0x5cd53f
movzx ecx, word [edi]
lea ebx, [esi - 1]
shr ecx, 2
sub ebx, ecx
add edi, 2
jmp 0x5cd443
cmp eax, 0x10
jb 0x5cd4b3
mov ecx, eax
mov ebx, esi
and ecx, 8
shl ecx, 0xb
sub ebx, ecx
and eax, 7
jne 0x5cd42a
mov cl, byte [edi]
test cl, cl
jne 0x5cd414
nop word [eax + eax]
add eax, 0xff
inc edi
cmp eax, 0xfffffe01
ja 0x5cd515
mov ecx, ebp
sub ecx, edi
cmp ecx, 1
jb 0x5cd53f
mov cl, byte [edi]
test cl, cl
je 0x5cd3f0
movzx ecx, cl
inc edi
add ecx, 7
add eax, ecx
mov ecx, ebp
sub ecx, edi
cmp ecx, 2
jb 0x5cd53f
movzx ecx, word [edi]
add edi, 2
shr ecx, 2
sub ebx, ecx
cmp ebx, esi
je 0x5cd4f5
sub ebx, 0x4000
cmp ebx, edx
jb 0x5cd52d
cmp ebx, esi
jae 0x5cd52d
mov edx, dword [esp + 0x14]
lea ecx, [eax + 2]
sub edx, esi
cmp edx, ecx
jb 0x5cd515
cmp eax, 6
jb 0x5cd2f9
mov ecx, esi
sub ecx, ebx
cmp ecx, 4
jl 0x5cd2f9
mov ecx, dword [ebx]
add ebx, 4
mov dword [esi], ecx
add esi, 4
sub eax, 2
mov ecx, dword [ebx]
sub eax, 4
mov dword [esi], ecx
add ebx, 4
add esi, 4
cmp eax, 4
jae 0x5cd487
test eax, eax
je 0x5cd31d
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
sub eax, 1
jne 0x5cd4a1
jmp 0x5cd31d
movzx ecx, byte [edi]
mov edx, esi
shl ecx, 2
inc edi
sub edx, ecx
shr eax, 2
sub edx, eax
lea ecx, [edx - 1]
cmp ecx, dword [esp + 0x1c]
jb 0x5cd529
cmp ecx, esi
jae 0x5cd529
mov eax, ebx
sub eax, esi
cmp eax, 2
jb 0x5cd515
movzx eax, byte [ecx]
mov byte [esi], al
movzx eax, byte [edx]
mov byte [esi + 1], al
add esi, 2
jmp 0x5cd321
mov edx, dword [esp + 0x1c]
jmp 0x5cd1a0
mov eax, dword [esp + 0x20]
sub esi, edx
mov dword [eax], esi
cmp edi, ebp
jne 0x5cd508
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 eax, dword [esp + 0x20]
sub esi, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov eax, 0xfffffffb
pop esi
pop ebp
pop ebx
ret
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
sub esi, edx
pop edi
mov dword [eax], esi
mov eax, 0xfffffffa
pop esi
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x20]
sub esi, dword [esp + 0x1c]
pop edi
mov dword [eax], esi
mov eax, 0xfffffffc
pop esi
pop ebp
pop ebx
ret