Function at 0x49b890
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
push edi
mov cl, byte [esi]
lea ebp, [esi + eax]
mov eax, dword [esp + 0x1c]
cmp cl, 0x11
jbe 0x49b8d2
and ecx, 0xff
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x49b97e
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x49b8c7
jmp 0x49b93c
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x49b98c
test ecx, ecx
jne 0x49b900
cmp byte [esi], 0
jne 0x49b8f7
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x49b8e9
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0xf]
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
dec ecx
je 0x49b93c
cmp ecx, 4
jb 0x49b933
mov edx, dword [esi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x49b912
test ecx, ecx
jbe 0x49b93c
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x49b928
jmp 0x49b93c
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x49b933
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x49b98c
shr ecx, 2
mov edx, eax
sub edx, ecx
xor ecx, ecx
mov cl, byte [esi]
shl ecx, 2
sub edx, ecx
mov cl, byte [edx - 0x801]
sub edx, 0x801
inc esi
mov byte [eax], cl
inc eax
inc edx
mov cl, byte [edx]
mov byte [eax], cl
mov dl, byte [edx + 1]
inc eax
mov byte [eax], dl
inc eax
mov cl, byte [esi - 2]
and ecx, 3
je 0x49b8d2
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x49b97e
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x49b9c4
mov edx, ecx
mov edi, eax
shr edx, 2
and edx, 7
sub edi, edx
xor edx, edx
mov dl, byte [esi]
shl edx, 3
sub edi, edx
dec edi
inc esi
shr ecx, 5
dec ecx
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
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x49b9b9
jmp 0x49b972
cmp ecx, 0x20
jb 0x49b9fc
and ecx, 0x1f
jne 0x49b9ea
cmp byte [esi], 0
jne 0x49b9e1
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x49b9d3
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0x1f]
xor edx, edx
mov edi, eax
mov dx, word [esi]
shr edx, 2
sub edi, edx
dec edi
add esi, 2
jmp 0x49ba49
cmp ecx, 0x10
jb 0x49ba94
mov edx, ecx
mov edi, eax
and edx, 8
shl edx, 0xb
sub edi, edx
and ecx, 7
jne 0x49ba32
cmp byte [esi], 0
jne 0x49ba29
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x49ba1b
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 7]
xor edx, edx
mov dx, word [esi]
add esi, 2
shr edx, 2
sub edi, edx
cmp edi, eax
je 0x49baab
sub edi, 0x4000
cmp ecx, 6
jb 0x49b9ac
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x49b9ac
mov edx, dword [edi]
add edi, 4
mov dword [eax], edx
add eax, 4
sub ecx, 2
mov edx, dword [edi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x49ba6c
test ecx, ecx
jbe 0x49b972
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x49ba86
jmp 0x49b972
shr ecx, 2
mov edx, eax
sub edx, ecx
xor ecx, ecx
mov cl, byte [esi]
shl ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x49b967
mov ecx, dword [esp + 0x1c]
sub eax, ecx
cmp esi, ebp
mov dword [ebx], eax
jne 0x49babe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
sbb eax, eax
pop edi
and al, 0xfc
pop esi
pop ebp
add eax, 0xfffffffc
pop ebx
ret