Function at 0x10170cf0
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
push edi
mov ecx, dword [ebx]
add edx, esi
mov edi, dword [ebp + 8]
mov dword [ebx], 0
mov bl, byte [esi]
mov dword [ebp - 8], edx
lea eax, [ecx + edi]
mov dword [ebp - 4], eax
mov eax, edi
cmp bl, 0x11
jbe 0x10170d55
movzx edi, bl
inc esi
sub edi, 0x11
cmp edi, 4
jb 0x10171056
cmp ecx, edi
jb 0x101710d5
sub edx, esi
lea ecx, [edi + 1]
cmp edx, ecx
jb 0x101710c1
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x10170d42
mov ebx, dword [ebp - 4]
jmp 0x10170e0e
cmp esi, edx
jae 0x101710fd
movzx edi, byte [esi]
inc esi
cmp edi, 0x10
jae 0x10170e68
test edi, edi
jne 0x10170da4
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
jne 0x10170d9b
inc esi
mov ecx, edx
sub ecx, esi
add edi, 0xff
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
je 0x10170d81
add edi, 0xf
movzx ecx, cl
add edi, ecx
inc esi
mov ebx, dword [ebp - 4]
lea ecx, [edi + 3]
mov edx, ebx
sub edx, eax
cmp edx, ecx
jb 0x101710d5
mov edx, dword [ebp - 8]
lea ecx, [edi + 4]
sub edx, esi
cmp edx, ecx
jb 0x101710c1
mov ecx, dword [esi]
add esi, 4
mov dword [eax], ecx
add eax, 4
sub edi, 1
je 0x10170e0e
cmp edi, 4
jb 0x10170e03
nop word [eax + eax]
mov ecx, dword [esi]
sub edi, 4
mov dword [eax], ecx
add esi, 4
add eax, 4
cmp edi, 4
jae 0x10170de0
test edi, edi
je 0x10170e0e
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x10170df6
jmp 0x10170e0e
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x10170e03
movzx edi, byte [esi]
inc esi
cmp edi, 0x10
jae 0x10170e63
movzx ecx, byte [esi]
mov edx, eax
shl ecx, 2
inc esi
sub edx, ecx
shr edi, 2
sub edx, edi
sub edx, 0x801
cmp edx, dword [ebp + 8]
jb 0x101710e9
cmp edx, eax
jae 0x101710e9
mov ecx, ebx
sub ecx, eax
cmp ecx, 3
jb 0x101710d5
movzx ecx, byte [edx]
mov byte [eax], cl
movzx ecx, byte [edx + 1]
mov byte [eax + 1], cl
movzx ecx, byte [edx + 2]
mov byte [eax + 2], cl
add eax, 3
jmp 0x10170ed0
mov edx, dword [ebp - 8]
jmp 0x10170e6b
mov ebx, dword [ebp - 4]
cmp edi, 0x40
jb 0x10170ee5
mov ecx, edi
mov ebx, eax
shr ecx, 2
and ecx, 7
shr edi, 5
sub ebx, ecx
dec edi
movzx ecx, byte [esi]
inc esi
shl ecx, 3
sub ebx, ecx
dec ebx
cmp ebx, dword [ebp + 8]
jb 0x101710e9
cmp ebx, eax
jae 0x101710e9
mov edx, dword [ebp - 4]
lea ecx, [edi + 2]
sub edx, eax
cmp edx, ecx
jb 0x101710d5
movzx ecx, byte [ebx]
mov byte [eax], cl
movzx ecx, byte [ebx + 1]
mov byte [eax + 1], cl
add eax, 2
add ebx, 2
nop dword [eax]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x10170ec0
mov ebx, dword [ebp - 4]
movzx edi, byte [esi - 2]
mov edx, dword [ebp - 8]
and edi, 3
je 0x10170d55
jmp 0x10171059
cmp edi, 0x20
jb 0x10170f35
and edi, 0x1f
jne 0x10170f25
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
jne 0x10170f1c
inc esi
mov ecx, edx
sub ecx, esi
add edi, 0xff
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
je 0x10170f02
add edi, 0x1f
movzx ecx, cl
add edi, ecx
inc esi
movzx ecx, word [esi]
lea ebx, [eax - 1]
shr ecx, 2
sub ebx, ecx
add esi, 2
jmp 0x10170f9e
cmp edi, 0x10
jb 0x10171012
mov ecx, edi
mov ebx, eax
and ecx, 8
shl ecx, 0xb
sub ebx, ecx
and edi, 7
jne 0x10170f85
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
jne 0x10170f7c
inc esi
mov ecx, edx
sub ecx, esi
add edi, 0xff
cmp ecx, 1
jb 0x101710c1
mov cl, byte [esi]
test cl, cl
je 0x10170f62
add edi, 7
movzx ecx, cl
add edi, ecx
inc esi
movzx ecx, word [esi]
add esi, 2
shr ecx, 2
sub ebx, ecx
cmp ebx, eax
je 0x1017109d
sub ebx, 0x4000
cmp ebx, dword [ebp + 8]
jb 0x101710e9
cmp ebx, eax
jae 0x101710e9
mov edx, dword [ebp - 4]
lea ecx, [edi + 2]
sub edx, eax
cmp edx, ecx
jb 0x101710d5
cmp edi, 6
jb 0x10170eab
mov ecx, eax
sub ecx, ebx
cmp ecx, 4
jl 0x10170eab
mov ecx, dword [ebx]
add ebx, 4
mov dword [eax], ecx
add eax, 4
sub edi, 2
mov ecx, dword [ebx]
sub edi, 4
mov dword [eax], ecx
add ebx, 4
add eax, 4
cmp edi, 4
jae 0x10170fe2
test edi, edi
je 0x10170ecd
nop dword [eax]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [eax], cl
inc eax
sub edi, 1
jne 0x10171000
jmp 0x10170ecd
movzx ecx, byte [esi]
mov edx, eax
shl ecx, 2
inc esi
shr edi, 2
sub edx, ecx
sub edx, edi
lea edi, [edx - 1]
cmp edi, dword [ebp + 8]
jb 0x101710e9
cmp edi, eax
jae 0x101710e9
mov ecx, ebx
sub ecx, eax
cmp ecx, 2
jb 0x101710d5
movzx ecx, byte [edi]
mov byte [eax], cl
movzx ecx, byte [edx]
mov byte [eax + 1], cl
add eax, 2
jmp 0x10170ed0
mov ebx, dword [ebp - 4]
mov ecx, ebx
sub ecx, eax
cmp ecx, edi
jb 0x101710d5
sub edx, esi
lea ecx, [edi + 1]
cmp edx, ecx
jb 0x101710c1
lfence
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
cmp edi, 1
jbe 0x10171089
mov cl, byte [esi]
inc esi
mov byte [eax], cl
inc eax
cmp edi, 2
jbe 0x10171089
mov cl, byte [esi]
mov byte [eax], cl
inc eax
inc esi
movzx edi, byte [esi]
inc esi
mov edx, dword [ebp - 8]
cmp esi, edx
jb 0x10170e6b
jmp 0x10170d55
mov ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
mov dword [ecx], eax
cmp esi, edx
jne 0x101710b2
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], eax
mov eax, 0xfffffffc
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], eax
mov eax, 0xfffffffb
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], eax
mov eax, 0xfffffffa
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], eax
mov eax, 0xfffffff9
pop ebx
mov esp, ebp
pop ebp
ret