Function at 0xb1c00
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
push esp
pop ebp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push ecx
pop eax
push edi
mov dword [ebp - 4], eax
push eax
pop edi
mov al, byte [esi]
mov dword [ebp - 8], edx
mov edx, dword [ebp + 0xc]
cmp al, 0x11
jbe 0xb1c5e
movzx edx, al
sub edx, 0x11
inc esi
cmp edx, 4
jb 0xb1f62
mov eax, ebx
sub eax, ecx
cmp eax, edx
jb 0xb1fc2
mov ebx, dword [ebp + 0xc]
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0xb1fea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
dec edx
jne 0xb1c50
jmp 0xb1d0a
mov eax, edx
sub eax, esi
cmp eax, 3
jb 0xb1fea
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0xb1d69
test eax, eax
jne 0xb1cac
cmp byte [esi], al
jne 0xb1ca3
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0xb1fea
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0xb1fea
cmp byte [esi], 0
je 0xb1c80
movzx ecx, byte [esi]
add eax, 0xf
add eax, ecx
inc esi
mov edx, ebx
sub edx, edi
lea ecx, [eax + 3]
cmp edx, ecx
jb 0xb1fc2
mov ebx, dword [ebp + 0xc]
push ebx
pop edx
sub edx, esi
lea ecx, [eax + 6]
cmp edx, ecx
jb 0xb1fea
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
add esi, 4
dec eax
je 0xb1d0a
cmp eax, 4
jb 0xb1d01
nop
mov ecx, dword [esi]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add esi, 4
cmp eax, 4
jae 0xb1ce0
or eax, eax
je 0xb1d0a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0xb1cf6
jmp 0xb1d0a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0xb1d01
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0xb1d63
movzx ecx, byte [esi]
shl ecx, 2
push edi
pop edx
sub edx, ecx
shr eax, 2
sub edx, eax
sub edx, 0x801
inc esi
cmp edx, dword [ebp - 4]
jb 0xb1fd6
cmp edx, edi
jae 0xb1fd6
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, 3
jb 0xb1fc2
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
add edi, 3
jmp 0xb1f4e
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
cmp eax, 0x40
jb 0xb1dd0
push eax
pop ecx
shr ecx, 2
and ecx, 7
mov ebx, edi
sub ebx, ecx
movzx ecx, byte [esi]
shl ecx, 3
sub ebx, ecx
shr eax, 5
dec ebx
inc esi
dec eax
cmp ebx, dword [ebp - 4]
jb 0xb1fd6
cmp ebx, edi
jae 0xb1fd6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0xb1fc2
movzx ecx, byte [ebx]
mov byte [edi], cl
movzx ecx, byte [ebx + 1]
mov byte [edi + 1], cl
add edi, 2
add ebx, 2
jmp 0xb1dc0
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0xb1dc0
jmp 0xb1f4b
cmp eax, 0x20
jb 0xb1e29
and eax, 0x1f
jne 0xb1e19
cmp byte [esi], al
jne 0xb1e03
push edi
pop edi
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0xb1fc2
push edx
pop ecx
sub ecx, esi
cmp ecx, 1
jb 0xb1fea
cmp byte [esi], 0
je 0xb1de0
movzx ecx, byte [esi]
add ecx, 0x1f
add eax, ecx
inc esi
push edx
pop ecx
sub ecx, esi
cmp ecx, 2
jb 0xb1fea
movzx ecx, word [esi]
shr ecx, 2
lea ebx, [edi - 1]
sub ebx, ecx
add esi, 2
jmp 0xb1ea2
cmp eax, 0x10
jb 0xb1f0d
push eax
pop ecx
and ecx, 8
shl ecx, 0xb
mov ebx, edi
sub ebx, ecx
and eax, 7
jne 0xb1e89
cmp byte [esi], al
jne 0xb1e73
jmp 0xb1e50
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0xb1fc2
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0xb1fea
cmp byte [esi], 0
je 0xb1e50
movzx ecx, byte [esi]
add ecx, 7
add eax, ecx
inc esi
mov ecx, edx
sub ecx, esi
cmp ecx, 2
jb 0xb1fea
movzx ecx, word [esi]
shr ecx, 2
sub ebx, ecx
add esi, 2
cmp ebx, edi
je 0xb1f9e
sub ebx, 0x4000
cmp ebx, dword [ebp - 4]
jb 0xb1fd6
cmp ebx, edi
jae 0xb1fd6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0xb1fc2
cmp eax, 6
jb 0xb1da9
push edi
pop ecx
sub ecx, ebx
cmp ecx, 4
jl 0xb1da9
mov ecx, dword [ebx]
mov dword [edi], ecx
add edi, 4
add ebx, 4
sub eax, 2
mov ecx, dword [ebx]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add ebx, 4
cmp eax, 4
jae 0xb1ee6
or eax, eax
je 0xb1f4b
lea esp, [esp]
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0xb1f00
jmp 0xb1f4b
movzx ecx, byte [esi]
shl ecx, 2
mov edx, edi
sub edx, ecx
shr eax, 2
sub edx, eax
dec edx
inc esi
cmp edx, dword [ebp - 4]
jb 0xb1fd6
cmp edx, edi
jae 0xb1fd6
mov eax, ebx
sub eax, edi
cmp eax, 2
jb 0xb1fc2
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
add edi, 2
mov ebx, dword [ebp + 0xc]
movzx edx, byte [esi - 2]
and edx, 3
jne 0xb1f65
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
jmp 0xb1c5e
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, edx
jb 0xb1fc2
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0xb1fea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 1
jbe 0xb1f95
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 2
jbe 0xb1f95
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
movzx eax, byte [esi]
inc esi
jmp 0xb1d63
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
cmp esi, edx
jne 0xb1fb3
pop edi
pop esi
sub eax, eax
pop ebx
push ebp
pop esp
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret