Function at 0x4034e0
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ebx
lea ebx, [ecx + eax]
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
mov dword [eax], 0
push esi
mov esi, dword [ebp + 0x10]
mov eax, ebx
add edx, esi
sub eax, ecx
push edi
mov dword [ebp + 0xc], ebx
mov dword [ebp + 8], edx
cmp eax, 1
jb 0x403883
mov al, byte [ecx]
cmp al, 0x11
jbe 0x40354f
movzx eax, al
sub eax, 0x11
inc ecx
cmp eax, 4
jb 0x403664
sub edx, esi
cmp edx, eax
jb 0x4038b5
mov edx, ebx
sub edx, ecx
lea edi, [eax + 3]
cmp edx, edi
jb 0x403883
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x403541
jmp 0x4035fa
mov eax, ebx
sub eax, ecx
cmp eax, 3
jb 0x403883
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x10
jae 0x4036a0
test eax, eax
jne 0x40359c
cmp byte [ecx], al
jne 0x403594
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x403883
mov edi, ebx
sub edi, ecx
cmp edi, 1
jb 0x403883
cmp byte [ecx], 0
je 0x403571
movzx edi, byte [ecx]
lea eax, [eax + edi + 0xf]
inc ecx
sub edx, esi
lea edi, [eax + 3]
cmp edx, edi
jb 0x4038b5
mov edx, ebx
sub edx, ecx
lea edi, [eax + 6]
cmp edx, edi
jb 0x403883
mov edx, dword [ecx]
mov dword [esi], edx
add esi, 4
add ecx, 4
dec eax
je 0x4035fa
cmp eax, 4
jb 0x4035f1
lea ebx, [ebx]
mov edx, dword [ecx]
mov dword [esi], edx
sub eax, 4
add esi, 4
add ecx, 4
cmp eax, 4
jae 0x4035d0
test eax, eax
je 0x4035fa
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x4035e6
jmp 0x4035fa
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x4035f1
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x10
jae 0x4036a0
movzx edi, byte [ecx]
add edi, edi
add edi, edi
mov edx, esi
sub edx, edi
shr eax, 2
sub edx, eax
sub edx, 0x801
inc ecx
cmp edx, dword [ebp + 0x10]
jb 0x4038c7
cmp edx, esi
jae 0x4038c7
mov eax, dword [ebp + 8]
sub eax, esi
cmp eax, 3
jb 0x4038b5
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
mov dl, byte [edx + 2]
mov byte [esi + 2], dl
add esi, 3
jmp 0x403657
mov ebx, dword [ebp + 0xc]
movzx eax, byte [ecx - 2]
and eax, 3
je 0x40387b
mov edx, dword [ebp + 8]
sub edx, esi
cmp edx, eax
jb 0x4038b5
mov edx, ebx
sub edx, ecx
lea edi, [eax + 3]
cmp edx, edi
jb 0x403883
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
cmp eax, 1
jbe 0x40369c
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
cmp eax, 2
jbe 0x40369c
mov al, byte [ecx]
mov byte [esi], al
inc esi
inc ecx
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x40
jb 0x403703
mov edx, eax
shr edx, 2
and edx, 7
mov edi, esi
sub edi, edx
movzx edx, byte [ecx]
add edx, edx
add edx, edx
add edx, edx
sub edi, edx
shr eax, 5
dec edi
inc ecx
dec eax
cmp edi, dword [ebp + 0x10]
jb 0x4038c7
cmp edi, esi
jae 0x4038c7
mov edx, dword [ebp + 8]
sub edx, esi
lea ebx, [eax + 2]
cmp edx, ebx
jb 0x4038b5
movzx edx, byte [edi]
mov byte [esi], dl
movzx edx, byte [edi + 1]
mov byte [esi + 1], dl
add esi, 2
add edi, 2
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec eax
jne 0x4036f5
jmp 0x403654
cmp eax, 0x20
jb 0x40375a
and eax, 0x1f
jne 0x403747
cmp byte [ecx], al
jne 0x403734
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x4038b5
mov edx, ebx
sub edx, ecx
cmp edx, 1
jb 0x403883
cmp byte [ecx], 0
je 0x403711
movzx edx, byte [ecx]
inc ecx
sub ebx, ecx
lea eax, [eax + edx + 0x1f]
cmp ebx, 2
jb 0x403883
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
lea edi, [esi - 1]
sub edi, edx
add ecx, 2
jmp 0x4037d4
cmp eax, 0x10
jb 0x403840
mov edx, eax
and edx, 8
shl edx, 0xb
mov edi, esi
sub edi, edx
and eax, 7
jne 0x4037b8
cmp byte [ecx], al
jne 0x4037a3
jmp 0x403780
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x4038b5
mov edx, ebx
sub edx, ecx
cmp edx, 1
jb 0x403883
cmp byte [ecx], 0
je 0x403780
movzx edx, byte [ecx]
lea eax, [eax + edx + 7]
inc ecx
mov edx, ebx
sub edx, ecx
cmp edx, 2
jb 0x403883
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
sub edi, edx
add ecx, 2
cmp edi, esi
je 0x403895
sub edi, 0x4000
cmp edi, dword [ebp + 0x10]
jb 0x4038c7
cmp edi, esi
jae 0x4038c7
mov edx, dword [ebp + 8]
sub edx, esi
lea ebx, [eax + 2]
cmp edx, ebx
jb 0x4038b5
cmp eax, 6
jb 0x4036e3
mov edx, esi
sub edx, edi
cmp edx, 4
jl 0x4036e3
mov edx, dword [edi]
mov dword [esi], edx
add esi, 4
add edi, 4
sub eax, 2
mov edx, dword [edi]
mov dword [esi], edx
sub eax, 4
add esi, 4
add edi, 4
cmp eax, 4
jae 0x403818
test eax, eax
je 0x403654
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec eax
jne 0x403832
jmp 0x403654
movzx edi, byte [ecx]
add edi, edi
add edi, edi
mov edx, esi
sub edx, edi
shr eax, 2
sub edx, eax
dec edx
inc ecx
cmp edx, dword [ebp + 0x10]
jb 0x4038c7
cmp edx, esi
jae 0x4038c7
mov eax, dword [ebp + 8]
sub eax, esi
cmp eax, 2
jb 0x4038b5
mov al, byte [edx]
mov byte [esi], al
mov dl, byte [edx + 1]
mov byte [esi + 1], dl
add esi, 2
jmp 0x403657
mov edx, dword [ebp + 8]
jmp 0x40354f
sub esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], esi
pop esi
mov eax, 0xfffffffc
pop ebx
pop ebp
ret
sub esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [edx], esi
cmp ecx, ebx
jne 0x4038a8
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
sub esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], esi
pop esi
mov eax, 0xfffffffb
pop ebx
pop ebp
ret
sub esi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
pop edi
mov dword [ecx], esi
pop esi
mov eax, 0xfffffffa
pop ebx
pop ebp
ret