Function at 0x40f170
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x10]
mov dword [ebx], 0
mov cl, byte [esi]
cmp cl, 0x11
lea ebp, [esi + eax]
mov eax, dword [esp + 0x18]
push edi
jbe 0x40f1af
movzx ecx, cl
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x40f260
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40f1a4
jmp 0x40f21a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x40f26d
test ecx, ecx
jne 0x40f1db
cmp byte [esi], 0
jne 0x40f1d3
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x40f1c5
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0xf]
inc esi
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
add esi, 4
dec ecx
je 0x40f21a
cmp ecx, 4
jb 0x40f211
lea ecx, [ecx]
mov edx, dword [esi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x40f1f0
test ecx, ecx
jbe 0x40f21a
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40f206
jmp 0x40f21a
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40f211
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x40f26d
shr ecx, 2
mov edx, eax
sub edx, ecx
movzx ecx, byte [esi]
shl 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
xor ecx, ecx
mov cl, byte [esi - 2]
and ecx, 3
je 0x40f1af
lea esp, [esp]
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x40f260
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x40f2ab
mov edx, ecx
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [esi]
shl edx, 3
sub edi, edx
dec edi
shr ecx, 5
inc esi
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
lea esp, [esp]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x40f2a0
jmp 0x40f24e
cmp ecx, 0x20
jb 0x40f2e6
and ecx, 0x1f
jne 0x40f2d6
cmp byte [esi], 0
jne 0x40f2ce
lea ebx, [ebx]
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x40f2c0
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0x1f]
inc esi
movzx edx, word [esi]
shr edx, 2
mov edi, eax
sub edi, edx
dec edi
add esi, 2
jmp 0x40f330
cmp ecx, 0x10
jb 0x40f37e
mov edx, ecx
and edx, 8
shl edx, 0xb
mov edi, eax
sub edi, edx
and ecx, 7
jne 0x40f31b
cmp byte [esi], 0
jne 0x40f313
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x40f305
movzx edx, byte [esi]
lea ecx, [ecx + edx + 7]
inc esi
movzx edx, word [esi]
shr edx, 2
sub edi, edx
add esi, 2
cmp edi, eax
je 0x40f394
sub edi, 0x4000
cmp ecx, 6
jb 0x40f28c
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x40f28c
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub ecx, 2
mov edx, dword [edi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x40f353
test ecx, ecx
jbe 0x40f24e
lea ecx, [ecx]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x40f370
jmp 0x40f24e
shr ecx, 2
mov edx, eax
sub edx, ecx
movzx ecx, byte [esi]
shl ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x40f243
sub eax, dword [esp + 0x1c]
cmp esi, ebp
mov dword [ebx], eax
jne 0x40f3a5
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