Function at 0x72f7e0
Capabilities:
Compress data using lzo

Disassembly:
push ebp
add edx, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov dword [ebp - 0x24], edx
sub edx, 0xd
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
mov ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x34]
add ecx, 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], edx
nop
lea esi, [esi]
lea ebx, [ecx + 3]
mov dword [ebp - 0x30], ebx
movzx eax, byte [ecx + 2]
lea edx, [ecx + 1]
movzx edi, byte [ecx + 3]
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x29], al
movzx edx, byte [ebp - 0x29]
mov ebx, edi
movzx eax, bl
shl eax, 6
xor eax, edx
movzx edx, byte [ecx + 1]
shl eax, 5
xor eax, edx
movzx edx, byte [ecx]
shl eax, 5
xor eax, edx
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [ebp + 0xc]
shr edx, 5
and edx, 0x3fff
lea ebx, [eax + edx*4]
mov esi, dword [ebx]
cmp esi, dword [ebp - 0x34]
jb 0x72f8d0
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x18], eax
je 0x72f8d0
cmp eax, 0xbfff
ja 0x72f8d0
cmp dword [ebp - 0x18], 0x800
jbe 0x72f8c0
mov eax, edi
cmp al, byte [esi + 3]
je 0x72f8c0
mov eax, dword [ebp + 0xc]
and edx, 0x7ff
xor edx, 0x201f
lea ebx, [eax + edx*4]
mov esi, dword [ebx]
cmp esi, dword [ebp - 0x34]
jb 0x72f8d0
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x18], eax
je 0x72f8d0
cmp eax, 0xbfff
ja 0x72f8d0
cmp dword [ebp - 0x18], 0x800
ja 0x72fb5c
lea esi, [esi]
movzx eax, word [esi]
cmp ax, word [ecx]
je 0x72f8e6
mov edi, dword [ebp + 0xc]
lea ebx, [edi + edx*4]
nop
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x20], eax
mov dword [ebx], ecx
jbe 0x72f9a5
mov ecx, dword [ebp - 0x14]
jmp 0x72f810
movzx eax, byte [ebp - 0x29]
cmp al, byte [esi + 2]
jne 0x72f8c8
cmp ecx, dword [ebp - 0x1c]
mov dword [ebx], ecx
je 0x72f93e
sub ecx, dword [ebp - 0x1c]
cmp ecx, 3
mov dword [ebp - 0x10], ecx
ja 0x72fa10
mov edx, dword [ebp - 0x28]
or byte [edx - 2], cl
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
movzx eax, byte [ebx]
add ebx, 1
mov byte [edi], al
add edi, 1
sub edx, 1
jne 0x72f914
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
sub eax, 1
lea edx, [eax + edx + 1]
lea eax, [eax + ecx + 1]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x30]
add ebx, 1
mov dword [ebp - 0x14], ebx
movzx eax, byte [esi + 3]
cmp al, byte [edi]
je 0x72fa67
sub dword [ebp - 0x14], 1
mov ebx, dword [ebp - 0x14]
mov edx, ebx
sub edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x800
ja 0x72f9c4
mov ecx, dword [ebp - 0x18]
sub edx, 1
shl edx, 5
sub ecx, 1
mov eax, ecx
and eax, 7
shl eax, 2
or edx, eax
mov eax, dword [ebp - 0x28]
shr ecx, 3
mov byte [eax], dl
mov byte [eax + 1], cl
add eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x14], eax
jae 0x72f9a8
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
jmp 0x72f8de
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
sub dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
sub dword [ebp - 0x24], ebx
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebp - 0x18], 0x4000
jbe 0x72fb40
mov ecx, dword [ebp - 0x18]
sub edx, 2
mov ebx, dword [ebp - 0x28]
sub ecx, 0x4000
mov eax, ecx
and eax, 0x4000
shr eax, 0xb
or eax, 0x10
or eax, edx
mov edx, ebx
mov byte [ebx], al
add edx, 1
lea eax, [ecx*4]
shr ecx, 6
mov byte [edx], al
mov byte [edx + 1], cl
mov ebx, dword [ebp - 0x14]
add edx, 2
mov dword [ebp - 0x28], edx
jmp 0x72f992
cmp dword [ebp - 0x10], 0x12
jbe 0x72fb6c
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x28]
sub ebx, 0x12
mov ecx, edi
add ecx, 1
cmp ebx, 0xff
mov byte [edi], 0
jbe 0x72fa5a
mov eax, dword [ebp - 0x10]
lea edx, [eax - 0x112]
mov eax, 0x80808081
mul edx
shr edx, 7
lea eax, [edi + edx + 2]
mov byte [ecx], 0
add ecx, 1
sub ebx, 0xff
cmp ecx, eax
jne 0x72fa4a
mov byte [ecx], bl
add ecx, 1
mov dword [ebp - 0x28], ecx
jmp 0x72f90b
movzx eax, byte [edi + 1]
add edi, 2
mov dword [ebp - 0x14], edi
cmp byte [esi + 4], al
jne 0x72f956
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + 2]
add edx, 3
mov dword [ebp - 0x14], edx
cmp byte [esi + 5], al
jne 0x72f956
mov ecx, dword [ebp - 0x30]
movzx eax, byte [ecx + 3]
add ecx, 4
mov dword [ebp - 0x14], ecx
cmp byte [esi + 6], al
jne 0x72f956
mov ebx, dword [ebp - 0x30]
movzx eax, byte [ebx + 4]
add ebx, 5
mov dword [ebp - 0x14], ebx
cmp byte [esi + 7], al
jne 0x72f956
mov edi, dword [ebp - 0x30]
movzx eax, byte [edi + 5]
add edi, 6
mov dword [ebp - 0x14], edi
cmp byte [esi + 8], al
jne 0x72f956
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0x24], edi
jbe 0x72fb07
mov edx, dword [ebp - 0x30]
movzx eax, byte [esi + 9]
cmp al, byte [edx + 6]
jne 0x72fb07
mov edx, esi
jmp 0x72fafb
movzx eax, byte [edx + 0xa]
add edx, 1
cmp al, byte [ecx]
jne 0x72fb07
add dword [ebp - 0x14], 1
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x24], ecx
ja 0x72faf0
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x4000
ja 0x72fb83
mov ecx, dword [ebp - 0x18]
sub ecx, 1
cmp edx, 0x21
ja 0x72fbb3
mov ebx, dword [ebp - 0x28]
lea eax, [edx - 2]
or eax, 0x20
mov edx, ebx
add edx, 1
mov byte [ebx], al
jmp 0x72f9f6
lea eax, [edx - 2]
mov edx, dword [ebp - 0x28]
or eax, 0x20
mov ecx, dword [ebp - 0x18]
mov byte [edx], al
mov edx, dword [ebp - 0x28]
sub ecx, 1
add edx, 1
jmp 0x72f9f6
mov eax, edi
cmp al, byte [esi + 3]
jne 0x72f8d0
jmp 0x72f8c0
movzx eax, byte [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
sub eax, 3
mov byte [ecx], al
add ecx, 1
mov dword [ebp - 0x28], ecx
jmp 0x72f90b
mov ecx, dword [ebp - 0x18]
sub ecx, 0x4000
cmp edx, 9
ja 0x72fc09
mov eax, ecx
sub edx, 2
and eax, 0x4000
shr eax, 0xb
or eax, 0x10
or eax, edx
mov edx, dword [ebp - 0x28]
mov byte [edx], al
mov edx, dword [ebp - 0x28]
add edx, 1
jmp 0x72f9f6
mov edi, dword [ebp - 0x28]
sub edx, 0x21
mov esi, edi
mov byte [edi], 0x20
add esi, 1
cmp edx, 0xff
mov ebx, edx
jbe 0x72fbff
mov ebx, edx
mov eax, 0x80808081
lea edx, [edx - 0x100]
mov edi, ebx
mul edx
shr edx, 7
mov eax, edx
shl eax, 8
sub eax, edx
sub edi, eax
mov eax, edi
sub eax, 0xff
sub ebx, 0xff
mov byte [esi], 0
add esi, 1
cmp ebx, eax
jne 0x72fbef
lea edx, [esi + 1]
mov byte [esi], bl
jmp 0x72f9f6
mov ebx, dword [ebp - 0x28]
mov eax, ecx
sub edx, 9
and eax, 0x4000
shr eax, 0xb
or eax, 0x10
mov esi, ebx
add esi, 1
mov byte [ebx], al
jmp 0x72fbc1