Function at 0x40b860
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
mov dword [eax], 0
mov al, byte [esi]
lea ebx, [esi + edx]
mov edx, dword [ebp + 8]
push edi
cmp al, 0x11
jbe 0x40b89b
movzx ecx, al
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x40ba7f
lea ecx, [ecx]
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
dec ecx
jne 0x40b890
jmp 0x40b909
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x40b947
test eax, eax
jne 0x40b8c4
cmp byte [esi], al
jne 0x40b8bb
inc esi
add eax, 0xff
cmp byte [esi], 0
je 0x40b8b0
movzx ecx, byte [esi]
add eax, 0xf
add eax, ecx
inc esi
mov ecx, dword [esi]
mov dword [edx], ecx
add edx, 4
add esi, 4
dec eax
je 0x40b909
cmp eax, 4
jb 0x40b900
mov ecx, dword [esi]
mov dword [edx], ecx
sub eax, 4
add edx, 4
add esi, 4
cmp eax, 4
jae 0x40b8d6
test eax, eax
je 0x40b909
lea esp, [esp]
mov cl, byte [esi]
mov byte [edx], cl
inc edx
inc esi
dec eax
jne 0x40b8f0
jmp 0x40b909
mov cl, byte [esi]
mov byte [edx], cl
inc edx
inc esi
dec eax
jne 0x40b900
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x40b947
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
sub ecx, eax
inc esi
movzx eax, byte [ecx - 0x801]
mov byte [edx], al
movzx eax, byte [ecx - 0x800]
mov byte [edx + 1], al
movzx eax, byte [ecx - 0x7ff]
mov byte [edx + 2], al
add edx, 3
jmp 0x40ba72
cmp eax, 0x40
jb 0x40b988
mov ecx, eax
shr ecx, 2
and ecx, 7
mov edi, edx
sub edi, ecx
movzx ecx, byte [esi]
shl ecx, 3
sub edi, ecx
shr eax, 5
dec edi
inc esi
dec eax
movzx ecx, byte [edi]
mov byte [edx], cl
movzx ecx, byte [edi + 1]
mov byte [edx + 1], cl
add edx, 2
add edi, 2
mov cl, byte [edi]
mov byte [edx], cl
inc edx
lea edi, [edi + 1]
dec eax
jne 0x40b978
jmp 0x40ba72
cmp eax, 0x20
jb 0x40b9ba
and eax, 0x1f
jne 0x40b9aa
cmp byte [esi], al
jne 0x40b9a1
inc esi
add eax, 0xff
cmp byte [esi], 0
je 0x40b996
movzx ecx, byte [esi]
add eax, 0x1f
add eax, ecx
inc esi
movzx ecx, word [esi]
shr ecx, 2
mov edi, edx
sub edi, ecx
dec edi
add esi, 2
jmp 0x40ba0d
cmp eax, 0x10
jb 0x40ba53
mov ecx, eax
and ecx, 8
shl ecx, 0xb
mov edi, edx
sub edi, ecx
and eax, 7
jne 0x40b9f4
cmp byte [esi], al
jne 0x40b9eb
jmp 0x40b9e0
inc esi
add eax, 0xff
cmp byte [esi], 0
je 0x40b9e0
movzx ecx, byte [esi]
add eax, 7
add eax, ecx
inc esi
movzx ecx, word [esi]
shr ecx, 2
sub edi, ecx
add esi, 2
cmp edi, edx
je 0x40baa4
sub edi, 0x4000
cmp eax, 6
jb 0x40b966
mov ecx, edx
sub ecx, edi
cmp ecx, 4
jl 0x40b966
mov ecx, dword [edi]
mov dword [edx], ecx
add edx, 4
add edi, 4
sub eax, 2
mov ecx, dword [edi]
mov dword [edx], ecx
sub eax, 4
add edx, 4
add edi, 4
cmp eax, 4
jae 0x40ba30
test eax, eax
je 0x40ba72
mov cl, byte [edi]
mov byte [edx], cl
inc edx
lea edi, [edi + 1]
dec eax
jne 0x40ba46
jmp 0x40ba72
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
sub ecx, eax
inc esi
movzx eax, byte [ecx - 1]
mov byte [edx], al
movzx eax, byte [ecx]
mov byte [edx + 1], al
add edx, 2
movzx ecx, byte [esi - 2]
and ecx, 3
je 0x40b89b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
cmp ecx, 1
jbe 0x40ba9b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
cmp ecx, 2
jbe 0x40ba9b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x40b947
sub edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
cmp esi, ebx
jne 0x40bab7
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
pop ebp
ret