Function at 0x5d9260
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 0x5d92ca
movzx edi, cl
inc eax
sub edi, 0x11
cmp edi, 4
jb 0x5d944c
mov ecx, ebx
sub ecx, edx
cmp ecx, edi
jb 0x5d962c
mov edx, ebp
lea ecx, [edi + 1]
sub edx, eax
cmp edx, ecx
jb 0x5d9618
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5d92b8
jmp 0x5d9379
mov edx, dword [esp + 0x1c]
cmp eax, ebp
jae 0x5d9656
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x5d93d3
test edi, edi
jne 0x5d9317
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
jne 0x5d930e
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
je 0x5d92f5
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 0x5d962c
mov edx, ebp
lea ecx, [edi + 4]
sub edx, eax
cmp edx, ecx
jb 0x5d9618
mov ecx, dword [eax]
add eax, 4
mov dword [esi], ecx
add esi, 4
dec edi
je 0x5d9379
cmp edi, 4
jb 0x5d9370
mov ecx, dword [eax]
sub edi, 4
mov dword [esi], ecx
add eax, 4
add esi, 4
cmp edi, 4
jae 0x5d9347
test edi, edi
je 0x5d9379
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5d9360
jmp 0x5d9379
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
dec edi
jne 0x5d9370
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x5d93cf
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 0x5d9640
cmp edx, esi
jae 0x5d9640
mov ecx, ebx
sub ecx, esi
cmp ecx, 3
jb 0x5d962c
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 0x5d943f
mov edx, dword [esp + 0x1c]
cmp edi, 0x40
jb 0x5d9498
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 0x5d9644
cmp ebx, esi
jae 0x5d9644
mov edx, dword [esp + 0x14]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x5d962c
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 0x5d9430
mov ebx, dword [esp + 0x14]
movzx edi, byte [eax - 2]
and edi, 3
je 0x5d92c6
mov ecx, ebx
sub ecx, esi
cmp ecx, edi
jb 0x5d962c
mov edx, ebp
lea ecx, [edi + 1]
sub edx, eax
cmp edx, ecx
jb 0x5d9618
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
cmp edi, 1
jbe 0x5d9483
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
cmp edi, 2
jbe 0x5d9483
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 0x5d93d3
jmp 0x5d92ca
cmp edi, 0x20
jb 0x5d94e6
and edi, 0x1f
jne 0x5d94d6
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
jne 0x5d94cd
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
je 0x5d94b4
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 0x5d954d
cmp edi, 0x10
jb 0x5d95c0
mov ecx, edi
mov ebx, esi
and ecx, 8
shl ecx, 0xb
sub ebx, ecx
and edi, 7
jne 0x5d9534
mov ecx, ebp
sub ecx, eax
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
jne 0x5d952b
inc eax
mov ecx, ebp
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x5d9618
cmp byte [eax], 0
je 0x5d9512
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 0x5d95f8
sub ebx, 0x4000
cmp ebx, edx
jb 0x5d9644
cmp ebx, esi
jae 0x5d9644
mov edx, dword [esp + 0x14]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x5d962c
cmp edi, 6
jb 0x5d9417
mov ecx, esi
sub ecx, ebx
cmp ecx, 4
jl 0x5d9417
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 0x5d9591
test edi, edi
je 0x5d943b
jmp 0x5d95b0
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
dec edi
jne 0x5d95b0
jmp 0x5d943b
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 0x5d9640
cmp edx, esi
jae 0x5d9640
mov ecx, ebx
sub ecx, esi
cmp ecx, 2
jb 0x5d962c
movzx ecx, byte [edx]
mov byte [esi], cl
movzx ecx, byte [edx + 1]
mov byte [esi + 1], cl
add esi, 2
jmp 0x5d943f
mov ecx, dword [esp + 0x20]
sub esi, edx
mov dword [ecx], esi
cmp eax, ebp
jne 0x5d960b
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