Function at 0x6a5d50
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x14]
add edx, eax
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp + 0xc], edx
mov ecx, dword [esi]
mov dword [esi], 0
mov esi, edi
lea ebx, [ecx + edi]
mov dword [ebp + 8], ebx
mov bl, byte [eax]
cmp bl, 0x11
jbe 0x6a5db6
movzx edi, bl
inc eax
sub edi, 0x11
cmp edi, 4
jb 0x6a609a
cmp ecx, edi
jb 0x6a6101
sub edx, eax
lea ecx, [edi + 1]
cmp edx, ecx
jb 0x6a60ef
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a5da3
mov ebx, dword [ebp + 8]
jmp 0x6a5e6e
cmp eax, edx
jae 0x6a6125
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x6a5ec0
test edi, edi
jne 0x6a5e05
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
jne 0x6a5dfc
inc eax
mov ecx, edx
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
je 0x6a5de2
add edi, 0xf
movzx ecx, cl
add edi, ecx
inc eax
mov ebx, dword [ebp + 8]
lea ecx, [edi + 3]
mov edx, ebx
sub edx, esi
cmp edx, ecx
jb 0x6a6101
mov edx, dword [ebp + 0xc]
lea ecx, [edi + 4]
sub edx, eax
cmp edx, ecx
jb 0x6a60ef
mov ecx, dword [eax]
add eax, 4
mov dword [esi], ecx
add esi, 4
sub edi, 1
je 0x6a5e6e
cmp edi, 4
jb 0x6a5e63
nop dword [eax + eax]
mov ecx, dword [eax]
sub edi, 4
mov dword [esi], ecx
add eax, 4
add esi, 4
cmp edi, 4
jae 0x6a5e40
test edi, edi
je 0x6a5e6e
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a5e56
jmp 0x6a5e6e
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a5e63
movzx edi, byte [eax]
inc eax
cmp edi, 0x10
jae 0x6a5ebb
movzx ecx, byte [eax]
mov edx, esi
shl ecx, 2
inc eax
sub edx, ecx
shr edi, 2
sub edx, edi
sub edx, 0x801
cmp edx, dword [ebp + 0x10]
jb 0x6a6113
mov ecx, ebx
sub ecx, esi
cmp ecx, 3
jb 0x6a6101
movzx ecx, byte [edx]
mov byte [esi], cl
movzx ecx, byte [edx + 1]
mov byte [esi + 1], cl
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
add esi, 3
jmp 0x6a5f20
mov edx, dword [ebp + 0xc]
jmp 0x6a5ec3
mov ebx, dword [ebp + 8]
cmp edi, 0x40
jb 0x6a5f35
mov ecx, edi
mov ebx, esi
shr ecx, 2
and ecx, 7
shr edi, 5
sub ebx, ecx
dec edi
movzx ecx, byte [eax]
inc eax
shl ecx, 3
sub ebx, ecx
dec ebx
cmp ebx, dword [ebp + 0x10]
jb 0x6a6113
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x6a6101
movzx ecx, byte [ebx]
mov byte [esi], cl
movzx ecx, byte [ebx + 1]
mov byte [esi + 1], cl
add esi, 2
add ebx, 2
nop dword [eax]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a5f10
mov ebx, dword [ebp + 8]
movzx edi, byte [eax - 2]
mov edx, dword [ebp + 0xc]
and edi, 3
je 0x6a5db6
jmp 0x6a609d
cmp edi, 0x20
jb 0x6a5f85
and edi, 0x1f
jne 0x6a5f75
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
jne 0x6a5f6c
inc eax
mov ecx, edx
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
je 0x6a5f52
add edi, 0x1f
movzx ecx, cl
add edi, ecx
inc eax
movzx ecx, word [eax]
mov ebx, esi
shr ecx, 2
sub ebx, ecx
dec ebx
add eax, 2
jmp 0x6a5fee
cmp edi, 0x10
jb 0x6a6062
mov ecx, edi
mov ebx, esi
and ecx, 8
shl ecx, 0xb
sub ebx, ecx
and edi, 7
jne 0x6a5fd5
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
jne 0x6a5fcc
inc eax
mov ecx, edx
sub ecx, eax
add edi, 0xff
cmp ecx, 1
jb 0x6a60ef
mov cl, byte [eax]
test cl, cl
je 0x6a5fb2
add edi, 7
movzx ecx, cl
add edi, ecx
inc eax
movzx ecx, word [eax]
add eax, 2
shr ecx, 2
sub ebx, ecx
cmp ebx, esi
je 0x6a60cf
sub ebx, 0x4000
cmp ebx, dword [ebp + 0x10]
jb 0x6a6113
mov edx, dword [ebp + 8]
lea ecx, [edi + 2]
sub edx, esi
cmp edx, ecx
jb 0x6a6101
cmp edi, 6
jb 0x6a5efb
mov ecx, esi
sub ecx, ebx
cmp ecx, 4
jl 0x6a5efb
mov ecx, dword [ebx]
add ebx, 4
mov dword [esi], ecx
add esi, 4
sub edi, 2
nop word [eax + eax]
mov ecx, dword [ebx]
sub edi, 4
mov dword [esi], ecx
add ebx, 4
add esi, 4
cmp edi, 4
jae 0x6a6030
test edi, edi
je 0x6a5f1d
nop word [eax + eax]
mov cl, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a6050
jmp 0x6a5f1d
movzx ecx, byte [eax]
mov edx, esi
shl ecx, 2
inc eax
shr edi, 2
sub edx, ecx
sub edx, edi
lea edi, [edx - 1]
cmp edi, dword [ebp + 0x10]
jb 0x6a6113
mov ecx, ebx
sub ecx, esi
cmp ecx, 2
jb 0x6a6101
movzx ecx, byte [edi]
mov byte [esi], cl
movzx ecx, byte [edx]
mov byte [esi + 1], cl
add esi, 2
jmp 0x6a5f20
mov ebx, dword [ebp + 8]
mov ecx, ebx
sub ecx, esi
cmp ecx, edi
jb 0x6a6101
sub edx, eax
lea ecx, [edi + 1]
cmp edx, ecx
jb 0x6a60ef
nop
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
sub edi, 1
jne 0x6a60b0
movzx edi, byte [eax]
inc eax
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x6a5ec3
jmp 0x6a5db6
mov ecx, dword [ebp + 0x14]
sub esi, dword [ebp + 0x10]
mov dword [ecx], esi
cmp eax, edx
jne 0x6a60e2
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, 0xfffffffc
sub esi, dword [ebp + 0x10]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, 0xfffffffb
sub esi, dword [ebp + 0x10]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, 0xfffffffa
sub esi, dword [ebp + 0x10]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, 0xfffffff9
sub esi, dword [ebp + 0x10]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
pop ebp
ret