Function at 0x40e800
Capabilities:
Decompress data using lzo

Disassembly:
mov al, byte [0xc65c00]
push ebx
lea ebx, [edx + 0xc65c00]
mov edx, 0xc6e480
push ebp
mov ebp, dword [esp + 0x10]
push esi
mov esi, 0xc65c00
push edi
mov dword [ebp], 0
cmp al, 0x11
jbe 0x40e84d
movzx ecx, al
mov esi, 0xc65c01
sub ecx, 0x11
cmp ecx, 4
jb 0x40ea3f
nop dword [eax]
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
sub ecx, 1
jne 0x40e840
jmp 0x40e8be
movzx eax, al
inc esi
cmp eax, 0x10
jae 0x40e8fc
test eax, eax
jne 0x40e87a
mov cl, byte [esi]
test cl, cl
jne 0x40e871
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x40e864
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 0x40e8be
cmp eax, 4
jb 0x40e8b3
nop
mov ecx, dword [esi]
sub eax, 4
mov dword [edx], ecx
add esi, 4
add edx, 4
cmp eax, 4
jae 0x40e890
test eax, eax
je 0x40e8be
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x40e8a6
jmp 0x40e8be
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x40e8b3
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x40e8fc
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 0x40ea36
cmp eax, 0x40
jb 0x40e942
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 0x40e930
jmp 0x40ea36
cmp eax, 0x20
jb 0x40e978
and eax, 0x1f
jne 0x40e968
mov cl, byte [esi]
test cl, cl
jne 0x40e95f
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x40e952
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 0x40e9cf
cmp eax, 0x10
jb 0x40ea17
mov ecx, eax
mov edi, edx
and ecx, 8
shl ecx, 0xb
sub edi, ecx
and eax, 7
jne 0x40e9b6
mov cl, byte [esi]
test cl, cl
jne 0x40e9ad
nop dword [eax + eax]
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x40e9a0
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 0x40ea6b
sub edi, 0x4000
cmp eax, 6
jb 0x40e91b
mov ecx, edx
sub ecx, edi
cmp ecx, 4
jl 0x40e91b
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 0x40e9f2
test eax, eax
je 0x40ea36
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x40ea08
jmp 0x40ea36
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 0x40ea64
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 1
jbe 0x40ea5b
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 2
jbe 0x40ea5b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x40e8fc
mov al, byte [esi]
jmp 0x40e84d
sub edx, 0xc6e480
mov dword [ebp], edx
cmp esi, ebx
jne 0x40ea7f
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