Function at 0x401000
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
push esp
pop ebp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push ecx
pop eax
push edi
mov dword [ebp - 4], eax
push eax
pop edi
mov al, byte [esi]
mov dword [ebp - 8], edx
mov edx, dword [ebp + 0xc]
cmp al, 0x11
jbe 0x40105e
movzx edx, al
sub edx, 0x11
inc esi
cmp edx, 4
jb 0x401362
mov eax, ebx
sub eax, ecx
cmp eax, edx
jb 0x4013c2
mov ebx, dword [ebp + 0xc]
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x4013ea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
dec edx
jne 0x401050
jmp 0x40110a
mov eax, edx
sub eax, esi
cmp eax, 3
jb 0x4013ea
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x401169
test eax, eax
jne 0x4010ac
cmp byte [esi], al
jne 0x4010a3
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x4013ea
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x4013ea
cmp byte [esi], 0
je 0x401080
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 0x4013c2
mov ebx, dword [ebp + 0xc]
push ebx
pop edx
sub edx, esi
lea ecx, [eax + 6]
cmp edx, ecx
jb 0x4013ea
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
add esi, 4
dec eax
je 0x40110a
cmp eax, 4
jb 0x401101
nop
mov ecx, dword [esi]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add esi, 4
cmp eax, 4
jae 0x4010e0
or eax, eax
je 0x40110a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x4010f6
jmp 0x40110a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x401101
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x401163
movzx ecx, byte [esi]
shl ecx, 2
push edi
pop edx
sub edx, ecx
shr eax, 2
sub edx, eax
sub edx, 0x801
inc esi
cmp edx, dword [ebp - 4]
jb 0x4013d6
cmp edx, edi
jae 0x4013d6
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, 3
jb 0x4013c2
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 0x40134e
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
cmp eax, 0x40
jb 0x4011d0
push eax
pop ecx
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 - 4]
jb 0x4013d6
cmp ebx, edi
jae 0x4013d6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x4013c2
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 0x4011c0
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x4011c0
jmp 0x40134b
cmp eax, 0x20
jb 0x401229
and eax, 0x1f
jne 0x401219
cmp byte [esi], al
jne 0x401203
push edi
pop edi
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x4013c2
push edx
pop ecx
sub ecx, esi
cmp ecx, 1
jb 0x4013ea
cmp byte [esi], 0
je 0x4011e0
movzx ecx, byte [esi]
add ecx, 0x1f
add eax, ecx
inc esi
push edx
pop ecx
sub ecx, esi
cmp ecx, 2
jb 0x4013ea
movzx ecx, word [esi]
shr ecx, 2
lea ebx, [edi - 1]
sub ebx, ecx
add esi, 2
jmp 0x4012a2
cmp eax, 0x10
jb 0x40130d
push eax
pop ecx
and ecx, 8
shl ecx, 0xb
mov ebx, edi
sub ebx, ecx
and eax, 7
jne 0x401289
cmp byte [esi], al
jne 0x401273
jmp 0x401250
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x4013c2
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x4013ea
cmp byte [esi], 0
je 0x401250
movzx ecx, byte [esi]
add ecx, 7
add eax, ecx
inc esi
mov ecx, edx
sub ecx, esi
cmp ecx, 2
jb 0x4013ea
movzx ecx, word [esi]
shr ecx, 2
sub ebx, ecx
add esi, 2
cmp ebx, edi
je 0x40139e
sub ebx, 0x4000
cmp ebx, dword [ebp - 4]
jb 0x4013d6
cmp ebx, edi
jae 0x4013d6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x4013c2
cmp eax, 6
jb 0x4011a9
push edi
pop ecx
sub ecx, ebx
cmp ecx, 4
jl 0x4011a9
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 0x4012e6
or eax, eax
je 0x40134b
lea esp, [esp]
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x401300
jmp 0x40134b
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 - 4]
jb 0x4013d6
cmp edx, edi
jae 0x4013d6
mov eax, ebx
sub eax, edi
cmp eax, 2
jb 0x4013c2
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 + 0xc]
movzx edx, byte [esi - 2]
and edx, 3
jne 0x401365
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
jmp 0x40105e
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, edx
jb 0x4013c2
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x4013ea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 1
jbe 0x401395
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 2
jbe 0x401395
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x401163
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
cmp esi, edx
jne 0x4013b3
pop edi
pop esi
sub eax, eax
pop ebx
push ebp
pop esp
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov esp, ebp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret