Function at 0x401370
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
mov cl, byte [esi]
lea ebp, [esi + eax]
cmp cl, 0x11
mov eax, ebx
jbe 0x4013aa
and ecx, 0xff
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x401458
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40139f
jmp 0x401414
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x401466
test ecx, ecx
jne 0x4013d8
cmp byte [esi], 0
jne 0x4013cf
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x4013c1
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0xf]
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
dec ecx
je 0x401414
cmp ecx, 4
jb 0x40140b
mov edx, dword [esi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x4013ea
test ecx, ecx
jbe 0x401414
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x401400
jmp 0x401414
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40140b
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x401466
xor edx, edx
mov dl, byte [esi]
mov edi, edx
mov edx, eax
shl edi, 2
sub edx, edi
shr ecx, 2
sub edx, ecx
mov cl, byte [edx - 0x801]
sub edx, 0x801
inc esi
mov byte [eax], cl
inc eax
inc edx
mov cl, byte [edx]
mov byte [eax], cl
mov dl, byte [edx + 1]
inc eax
mov byte [eax], dl
inc eax
mov cl, byte [esi - 2]
and ecx, 3
je 0x4013aa
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x401458
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x40149e
mov edx, ecx
mov edi, eax
shr edx, 2
and edx, 7
sub edi, edx
xor edx, edx
mov dl, byte [esi]
shl edx, 3
sub edi, edx
dec edi
inc esi
shr ecx, 5
dec ecx
mov dl, byte [edi]
mov byte [eax], dl
mov dl, byte [edi + 1]
inc eax
inc edi
mov byte [eax], dl
inc eax
inc edi
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x401493
jmp 0x40144c
cmp ecx, 0x20
jb 0x4014d6
and ecx, 0x1f
jne 0x4014c4
cmp byte [esi], 0
jne 0x4014bb
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x4014ad
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0x1f]
xor edx, edx
mov edi, eax
mov dx, word [esi]
shr edx, 2
sub edi, edx
dec edi
add esi, 2
jmp 0x401523
cmp ecx, 0x10
jb 0x40156e
mov edx, ecx
mov edi, eax
and edx, 8
shl edx, 0xb
sub edi, edx
and ecx, 7
jne 0x40150c
cmp byte [esi], 0
jne 0x401503
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x4014f5
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 7]
xor edx, edx
mov dx, word [esi]
add esi, 2
shr edx, 2
sub edi, edx
cmp edi, eax
je 0x401587
sub edi, 0x4000
cmp ecx, 6
jb 0x401486
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x401486
mov edx, dword [edi]
add edi, 4
mov dword [eax], edx
add eax, 4
sub ecx, 2
mov edx, dword [edi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x401546
test ecx, ecx
jbe 0x40144c
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x401560
jmp 0x40144c
xor edx, edx
mov dl, byte [esi]
mov edi, edx
mov edx, eax
shl edi, 2
sub edx, edi
shr ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x401441
cmp esi, ebp
je 0x401593
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret
pop edi
pop esi
sub eax, ebx
pop ebp
pop ebx
ret