Function at 0x401000
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x14]
add edx, esi
mov ebx, dword [edi]
add ebx, dword [ebp + 0x10]
mov eax, edx
sub eax, esi
mov dword [edi], 0
mov edi, dword [ebp + 0x10]
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ebx
cmp eax, 1
jb 0x401402
mov al, byte [esi]
cmp al, 0x11
jbe 0x401074
movzx edx, al
sub edx, 0x11
inc esi
cmp edx, 4
jb 0x401382
mov eax, ebx
sub eax, edi
cmp eax, edx
jb 0x4013de
mov ebx, dword [ebp + 8]
mov ecx, ebx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x401402
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
dec edx
jne 0x401066
jmp 0x40112a
mov eax, edx
sub eax, esi
cmp eax, 3
jb 0x401402
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x401189
test eax, eax
jne 0x4010cc
cmp byte [esi], al
jne 0x4010c3
jmp 0x4010a0
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x401402
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x401402
cmp byte [esi], 0
je 0x4010a0
movzx ecx, byte [esi]
add eax, 0xf
add eax, ecx
inc esi
mov edx, ebx
sub edx, edi
lea ecx, [eax + 3]
cmp edx, ecx
jb 0x4013de
mov ebx, dword [ebp + 8]
mov edx, ebx
sub edx, esi
lea ecx, [eax + 6]
cmp edx, ecx
jb 0x401402
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
add esi, 4
dec eax
je 0x40112a
cmp eax, 4
jb 0x401121
nop
mov ecx, dword [esi]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add esi, 4
cmp eax, 4
jae 0x401100
test eax, eax
je 0x40112a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x401116
jmp 0x40112a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x401121
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x401183
movzx ecx, byte [esi]
shl ecx, 2
mov edx, edi
sub edx, ecx
shr eax, 2
sub edx, eax
sub edx, 0x801
inc esi
cmp edx, dword [ebp + 0x10]
jb 0x4013f0
cmp edx, edi
jae 0x4013f0
mov eax, dword [ebp + 0xc]
sub eax, edi
cmp eax, 3
jb 0x4013de
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
add edi, 3
jmp 0x40136e
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
cmp eax, 0x40
jb 0x4011f0
mov ecx, eax
shr ecx, 2
and ecx, 7
mov ebx, edi
sub ebx, ecx
movzx ecx, byte [esi]
shl ecx, 3
sub ebx, ecx
shr eax, 5
dec ebx
inc esi
dec eax
cmp ebx, dword [ebp + 0x10]
jb 0x4013f0
cmp ebx, edi
jae 0x4013f0
mov edx, dword [ebp + 0xc]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x4013de
movzx ecx, byte [ebx]
mov byte [edi], cl
movzx ecx, byte [ebx + 1]
mov byte [edi + 1], cl
add edi, 2
add ebx, 2
jmp 0x4011e0
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x4011e0
jmp 0x40136b
cmp eax, 0x20
jb 0x401249
and eax, 0x1f
jne 0x401239
cmp byte [esi], al
jne 0x401223
mov edi, edi
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x4013de
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x401402
cmp byte [esi], 0
je 0x401200
movzx ecx, byte [esi]
add ecx, 0x1f
add eax, ecx
inc esi
mov ecx, edx
sub ecx, esi
cmp ecx, 2
jb 0x401402
movzx ecx, word [esi]
shr ecx, 2
lea ebx, [edi - 1]
sub ebx, ecx
add esi, 2
jmp 0x4012c2
cmp eax, 0x10
jb 0x40132d
mov ecx, eax
and ecx, 8
shl ecx, 0xb
mov ebx, edi
sub ebx, ecx
and eax, 7
jne 0x4012a9
cmp byte [esi], al
jne 0x401293
jmp 0x401270
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x4013de
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x401402
cmp byte [esi], 0
je 0x401270
movzx ecx, byte [esi]
add ecx, 7
add eax, ecx
inc esi
mov ecx, edx
sub ecx, esi
cmp ecx, 2
jb 0x401402
movzx ecx, word [esi]
shr ecx, 2
sub ebx, ecx
add esi, 2
cmp ebx, edi
je 0x4013be
sub ebx, 0x4000
cmp ebx, dword [ebp + 0x10]
jb 0x4013f0
cmp ebx, edi
jae 0x4013f0
mov edx, dword [ebp + 0xc]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x4013de
cmp eax, 6
jb 0x4011c9
mov ecx, edi
sub ecx, ebx
cmp ecx, 4
jl 0x4011c9
mov ecx, dword [ebx]
mov dword [edi], ecx
add edi, 4
add ebx, 4
sub eax, 2
mov ecx, dword [ebx]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add ebx, 4
cmp eax, 4
jae 0x401306
test eax, eax
je 0x40136b
lea esp, [esp]
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x401320
jmp 0x40136b
movzx ecx, byte [esi]
shl ecx, 2
mov edx, edi
sub edx, ecx
shr eax, 2
sub edx, eax
dec edx
inc esi
cmp edx, dword [ebp + 0x10]
jb 0x4013f0
cmp edx, edi
jae 0x4013f0
mov eax, ebx
sub eax, edi
cmp eax, 2
jb 0x4013de
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
add edi, 2
mov ebx, dword [ebp + 8]
movzx edx, byte [esi - 2]
and edx, 3
jne 0x401385
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
jmp 0x401074
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
sub eax, edi
cmp eax, edx
jb 0x4013de
mov ecx, ebx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x401402
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 1
jbe 0x4013b5
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 2
jbe 0x4013b5
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x401183
sub edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
cmp esi, edx
jne 0x4013d1
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 edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
pop ebp
ret
sub edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
pop ebp
ret
sub edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
pop ebp
ret