Function at 0x439e50
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 0x439e93
movzx esi, dl
sub esi, 0x11
lea ecx, [edi + 1]
cmp esi, 4
jb 0x439f50
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x439e88
jmp 0x439f09
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x439f70
test esi, esi
jne 0x439ec4
cmp byte [ecx], 0
jne 0x439ebc
lea esp, [esp]
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x439eb0
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
dec esi
je 0x439f09
cmp esi, 4
jb 0x439f00
mov edx, dword [ecx]
mov dword [eax], edx
sub esi, 4
add eax, 4
add ecx, 4
cmp esi, 4
jae 0x439ed6
test esi, esi
je 0x439f09
lea esp, [esp]
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x439ef0
jmp 0x439f09
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x439f00
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x10
jae 0x439f70
movzx edx, byte [ecx]
add edx, edx
add edx, edx
shr esi, 2
mov edi, eax
sub edi, esi
sub edi, edx
movzx edx, byte [edi - 0x801]
mov byte [eax], dl
movzx edx, byte [edi - 0x800]
mov byte [eax + 1], dl
movzx edx, byte [edi - 0x7ff]
inc ecx
mov byte [eax + 2], dl
add eax, 3
movzx esi, byte [ecx - 2]
and esi, 3
je 0x439e93
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp esi, 1
jbe 0x439f6c
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp esi, 2
jbe 0x439f6c
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
movzx esi, byte [ecx]
inc ecx
cmp esi, 0x40
jb 0x439faf
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]
mov byte [eax + 1], dl
add eax, 2
add edi, 2
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec esi
jne 0x439fa4
jmp 0x439f43
cmp esi, 0x20
jb 0x439fe7
and esi, 0x1f
jne 0x439fd4
cmp byte [ecx], 0
jne 0x439fcc
mov edi, edi
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x439fc0
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 0x43a032
mov edi, eax
cmp esi, 0x10
jb 0x43a07e
mov edx, esi
and edx, 8
shl edx, 0xb
sub edi, edx
and esi, 7
jne 0x43a01a
cmp byte [ecx], 0
jne 0x43a012
inc ecx
add esi, 0xff
cmp byte [ecx], 0
je 0x43a006
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 0x43a0a1
sub edi, 0x4000
cmp esi, 6
jb 0x439f92
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x439f92
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 0x43a055
test esi, esi
je 0x439f43
nop
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec esi
jne 0x43a070
jmp 0x439f43
movzx edx, byte [ecx]
add edx, edx
shr esi, 2
add edx, edx
sub edi, esi
sub edi, edx
movzx edx, byte [edi - 1]
mov byte [eax], dl
movzx edx, byte [edi]
inc ecx
mov byte [eax + 1], dl
add eax, 2
jmp 0x439f43
sub eax, dword [esp + 0x1c]
mov dword [ebx], eax
cmp ecx, ebp
jne 0x43a0b2
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