Function at 0x45db50
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
push edi
mov al, byte [esi]
lea ebx, [esi + edx]
mov edx, dword [ebp + 8]
cmp al, 0x11
jbe 0x45db8d
movzx ecx, al
inc esi
sub ecx, 0x11
cmp ecx, 4
jb 0x45dd7f
nop dword [eax]
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
sub ecx, 1
jne 0x45db80
jmp 0x45dbfe
movzx eax, al
inc esi
cmp eax, 0x10
jae 0x45dc3c
test eax, eax
jne 0x45dbba
mov cl, byte [esi]
test cl, cl
jne 0x45dbb1
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x45dba4
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 0x45dbfe
cmp eax, 4
jb 0x45dbf3
nop
mov ecx, dword [esi]
sub eax, 4
mov dword [edx], ecx
add esi, 4
add edx, 4
cmp eax, 4
jae 0x45dbd0
test eax, eax
je 0x45dbfe
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x45dbe6
jmp 0x45dbfe
mov cl, byte [esi]
inc esi
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x45dbf3
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x45dc3c
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 0x45dd76
cmp eax, 0x40
jb 0x45dc82
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 0x45dc70
jmp 0x45dd76
cmp eax, 0x20
jb 0x45dcb8
and eax, 0x1f
jne 0x45dca8
mov cl, byte [esi]
test cl, cl
jne 0x45dc9f
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x45dc92
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 0x45dd0f
cmp eax, 0x10
jb 0x45dd57
mov ecx, eax
mov edi, edx
and ecx, 8
shl ecx, 0xb
sub edi, ecx
and eax, 7
jne 0x45dcf6
mov cl, byte [esi]
test cl, cl
jne 0x45dced
nop dword [eax + eax]
mov cl, byte [esi + 1]
inc esi
add eax, 0xff
test cl, cl
je 0x45dce0
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 0x45ddab
sub edi, 0x4000
cmp eax, 6
jb 0x45dc5b
mov ecx, edx
sub ecx, edi
cmp ecx, 4
jl 0x45dc5b
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 0x45dd32
test eax, eax
je 0x45dd76
mov cl, byte [edi]
lea edi, [edi + 1]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x45dd48
jmp 0x45dd76
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 0x45dda4
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 1
jbe 0x45dd9b
mov al, byte [esi]
inc esi
mov byte [edx], al
inc edx
cmp ecx, 2
jbe 0x45dd9b
mov al, byte [esi]
mov byte [edx], al
inc edx
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x45dc3c
mov al, byte [esi]
jmp 0x45db8d
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
mov dword [eax], edx
cmp esi, ebx
jne 0x45ddbe
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