Function at 0x5929c0
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x10]
mov dword [ebx], 0
mov dl, byte [esi]
cmp dl, 0x11
lea ebp, [esi + eax]
mov eax, dword [esp + 0x18]
push edi
mov ecx, esi
jbe 0x592a03
movzx edi, dl
sub edi, 0x11
cmp edi, 4
lea ecx, [esi + 1]
jb 0x592abd
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec edi
jne 0x5929f8
jmp 0x592a79
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x592add
test esi, esi
jne 0x592a36
cmp byte [ecx], 0
jne 0x592a2e
lea esp, [esp]
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x592a20
movzx edx, byte [ecx]
lea esi, [esi + edx + 0xf]
inc ecx
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
add ecx, 4
dec esi
je 0x592a79
cmp esi, 4
jb 0x592a70
mov edx, dword [ecx]
mov dword [eax], edx
sub esi, 4
add eax, 4
add ecx, 4
cmp esi, 4
jae 0x592a48
test esi, esi
jbe 0x592a79
mov edi, edi
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x592a60
jmp 0x592a79
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x592a70
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x592add
movzx edx, byte [ecx]
shr esi, 2
shl edx, 2
mov edi, eax
sub edi, esi
sub edi, edx
mov dl, byte [edi - 0x801]
sub edi, 0x801
inc ecx
mov byte [eax], dl
inc eax
inc edi
mov dl, byte [edi]
mov byte [eax], dl
mov dl, byte [edi + 1]
inc eax
mov byte [eax], dl
inc eax
xor edx, edx
mov dl, byte [ecx - 2]
and edx, 3
mov edi, edx
je 0x592a03
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp edi, 1
jbe 0x592ad9
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp edi, 2
jbe 0x592ad9
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x40
jb 0x592b1b
mov edx, esi
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [ecx]
shl edx, 3
sub edi, edx
dec edi
shr esi, 5
inc ecx
dec esi
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 esi
jne 0x592b10
jmp 0x592aad
cmp esi, 0x20
jb 0x592b56
and esi, 0x1f
jne 0x592b46
cmp byte [ecx], 0
jne 0x592b3e
lea ebx, [ebx]
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x592b30
movzx edx, byte [ecx]
lea esi, [esi + edx + 0x1f]
inc ecx
movzx edx, word [ecx]
shr edx, 2
mov edi, eax
sub edi, edx
dec edi
add ecx, 2
jmp 0x592ba0
cmp esi, 0x10
mov edi, eax
jb 0x592bee
mov edx, esi
and edx, 8
shl edx, 0xb
sub edi, edx
and esi, 7
jne 0x592b8b
cmp byte [ecx], 0
jne 0x592b83
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x592b75
movzx edx, byte [ecx]
lea esi, [esi + edx + 7]
inc ecx
movzx edx, word [ecx]
shr edx, 2
sub edi, edx
add ecx, 2
cmp edi, eax
je 0x592c02
sub edi, 0x4000
cmp esi, 6
jb 0x592afc
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x592afc
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub esi, 2
mov edx, dword [edi]
mov dword [eax], edx
sub esi, 4
add eax, 4
add edi, 4
cmp esi, 4
jae 0x592bc3
test esi, esi
jbe 0x592aad
lea ecx, [ecx]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec esi
jne 0x592be0
jmp 0x592aad
movzx edx, byte [ecx]
shr esi, 2
sub edi, esi
shl edx, 2
sub edi, edx
dec edi
inc ecx
jmp 0x592aa2
sub eax, dword [esp + 0x1c]
cmp ecx, ebp
mov dword [ebx], eax
jne 0x592c13
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