Function at 0x440d60
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
add ebx, esi
mov dword [eax], 0
push edi
mov al, byte [esi]
cmp al, 0x11
jbe 0x440d9d
movzx ecx, al
inc esi
sub ecx, 0x11
cmp ecx, 4
jb 0x440f8f
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
sub ecx, 1
jne 0x440d90
jmp 0x440e0e
movzx eax, al
inc esi
cmp eax, 0x10
jae 0x440e4c
test eax, eax
jne 0x440dca
mov cl, byte [esi]
test cl, cl
jne 0x440dc1
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x440db4
add eax, 0xf
movzx ecx, cl
add eax, ecx
inc esi
mov ecx, dword [esi]
add esi, 4
mov dword [edx], ecx
add edx, 4
sub eax, 1
je 0x440e0e
cmp eax, 4
jb 0x440e03
nop
mov ecx, dword [esi]
sub eax, 4
mov dword [edx], ecx
add esi, 4
add edx, 4
cmp eax, 4
jae 0x440de0
test eax, eax
je 0x440e0e
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x440df6
jmp 0x440e0e
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x440e03
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x440e4c
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
inc esi
sub ecx, eax
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 0x440f86
cmp eax, 0x40
jb 0x440e92
mov ecx, eax
mov edi, edx
shr ecx, 2
and ecx, 7
shr eax, 5
sub edi, ecx
movzx ecx, byte [esi]
shl ecx, 3
inc esi
sub edi, ecx
dec edi
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
nop dword [eax]
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x440e80
jmp 0x440f86
cmp eax, 0x20
jb 0x440ec8
and eax, 0x1f
jne 0x440eb8
mov cl, byte [esi]
test cl, cl
jne 0x440eaf
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x440ea2
add eax, 0x1f
movzx ecx, cl
add eax, ecx
inc esi
movzx ecx, word [esi]
lea edi, [edx - 1]
shr ecx, 2
sub edi, ecx
add esi, 2
jmp 0x440f1f
cmp eax, 0x10
jb 0x440f67
mov ecx, eax
mov edi, edx
and ecx, 8
shl ecx, 0xb
sub edi, ecx
and eax, 7
jne 0x440f06
mov cl, byte [esi]
test cl, cl
jne 0x440efd
nop dword [eax + eax]
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x440ef0
add eax, 7
movzx ecx, cl
add eax, ecx
inc esi
movzx ecx, word [esi]
add esi, 2
shr ecx, 2
sub edi, ecx
cmp edi, edx
je 0x440fbb
sub edi, 0x4000
cmp eax, 6
jb 0x440e6b
mov ecx, edx
sub ecx, edi
cmp ecx, 4
jl 0x440e6b
mov ecx, dword [edi]
add edi, 4
mov dword [edx], ecx
add edx, 4
sub eax, 2
mov ecx, dword [edi]
sub eax, 4
mov dword [edx], ecx
add edi, 4
add edx, 4
cmp eax, 4
jae 0x440f42
test eax, eax
je 0x440f86
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x440f58
jmp 0x440f86
shr eax, 2
mov ecx, edx
sub ecx, eax
movzx eax, byte [esi]
shl eax, 2
inc esi
sub ecx, eax
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 0x440fb4
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 1
jbe 0x440fab
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 2
jbe 0x440fab
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x440e4c
mov al, byte [esi]
jmp 0x440d9d
mov eax, dword [ebp + 0x14]
sub edx, dword [ebp + 0x10]
mov dword [eax], edx
cmp esi, ebx
jne 0x440fce
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