Function at 0x439e40
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
mov dword [ebx], 0
mov dl, byte [edi]
lea ebp, [edi + eax]
mov eax, dword [esp + 0x1c]
mov ecx, edi
cmp dl, 0x11
jbe 0x439e85
movzx esi, dl
sub esi, 0x11
lea ecx, [edi + 1]
cmp esi, 4
jb 0x439f40
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
sub esi, 1
jne 0x439e78
jmp 0x439efb
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x439f60
test esi, esi
jne 0x439eb4
cmp byte [ecx], 0
jne 0x439eac
jmp 0x439ea0
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x439ea0
movzx edx, byte [ecx]
lea esi, [esi + edx + 0xf]
inc ecx
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
add ecx, 4
sub esi, 1
je 0x439efb
cmp esi, 4
jb 0x439ef0
mov edx, dword [ecx]
mov dword [eax], edx
sub esi, 4
add eax, 4
add ecx, 4
cmp esi, 4
jae 0x439ec8
test esi, esi
jbe 0x439efb
mov edi, edi
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
sub esi, 1
jne 0x439ee0
jmp 0x439efb
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
sub esi, 1
jne 0x439ef0
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x439f60
movzx edx, byte [ecx]
add edx, edx
shr esi, 2
mov edi, eax
sub edi, esi
add edx, edx
sub edi, edx
movzx edx, byte [edi - 0x801]
sub edi, 0x801
mov byte [eax], dl
inc eax
inc edi
movzx edx, byte [edi]
mov byte [eax], dl
movzx edx, byte [edi + 1]
inc eax
inc ecx
mov byte [eax], dl
inc eax
movzx esi, byte [ecx - 2]
and esi, 3
je 0x439e85
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp esi, 1
jbe 0x439f5c
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp esi, 2
jbe 0x439f5c
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x40
jb 0x439f9e
mov edx, esi
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [ecx]
add edx, edx
add edx, edx
add edx, edx
sub edi, edx
shr esi, 5
dec edi
inc ecx
dec esi
movzx edx, byte [edi]
mov byte [eax], dl
movzx edx, byte [edi + 1]
inc edi
inc eax
mov byte [eax], dl
inc eax
inc edi
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
sub esi, 1
jne 0x439f91
jmp 0x439f33
cmp esi, 0x20
jb 0x439fd7
and esi, 0x1f
jne 0x439fc4
cmp byte [ecx], 0
jne 0x439fbc
lea ecx, [ecx]
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x439fb0
movzx edx, byte [ecx]
lea esi, [esi + edx + 0x1f]
inc ecx
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
lea edi, [eax - 1]
sub edi, edx
add ecx, 2
jmp 0x43a022
mov edi, eax
cmp esi, 0x10
jb 0x43a070
mov edx, esi
and edx, 8
shl edx, 0xb
sub edi, edx
and esi, 7
jne 0x43a00a
cmp byte [ecx], 0
jne 0x43a002
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x439ff6
movzx edx, byte [ecx]
lea esi, [esi + edx + 7]
inc ecx
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
sub edi, edx
add ecx, 2
cmp edi, eax
je 0x43a084
sub edi, 0x4000
cmp esi, 6
jb 0x439f82
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x439f82
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub esi, 2
mov edx, dword [edi]
mov dword [eax], edx
sub esi, 4
add eax, 4
add edi, 4
cmp esi, 4
jae 0x43a045
test esi, esi
jbe 0x439f33
nop
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
sub esi, 1
jne 0x43a060
jmp 0x439f33
movzx edx, byte [ecx]
shr esi, 2
add edx, edx
sub edi, esi
add edx, edx
sub edi, edx
dec edi
jmp 0x439f25
sub eax, dword [esp + 0x1c]
mov dword [ebx], eax
cmp ecx, ebp
jne 0x43a095
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