Function at 0x1291c00
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push ecx
pop eax
push edi
mov dword [ebp - 4], eax
push eax
pop edi
mov al, byte [esi]
mov dword [ebp - 8], edx
mov edx, dword [ebp + 0xc]
cmp al, 0x11
jbe 0x1291c5e
movzx edx, al
sub edx, 0x11
inc esi
cmp edx, 4
jb 0x1291f62
mov eax, ebx
sub eax, ecx
cmp eax, edx
jb 0x1291fc2
mov ebx, dword [ebp + 0xc]
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x1291fea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
dec edx
jne 0x1291c50
jmp 0x1291d0a
push edx
pop eax
sub eax, esi
cmp eax, 3
jb 0x1291fea
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x1291d69
or eax, eax
jne 0x1291cac
cmp byte [esi], al
jne 0x1291ca3
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x1291fea
push edx
pop ecx
sub ecx, esi
cmp ecx, 1
jb 0x1291fea
cmp byte [esi], 0
je 0x1291c80
movzx ecx, byte [esi]
add eax, 0xf
add eax, ecx
inc esi
mov edx, ebx
sub edx, edi
lea ecx, [eax + 3]
cmp edx, ecx
jb 0x1291fc2
mov ebx, dword [ebp + 0xc]
mov edx, ebx
sub edx, esi
lea ecx, [eax + 6]
cmp edx, ecx
jb 0x1291fea
mov ecx, dword [esi]
mov dword [edi], ecx
add edi, 4
add esi, 4
dec eax
je 0x1291d0a
cmp eax, 4
jb 0x1291d01
nop
mov ecx, dword [esi]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add esi, 4
cmp eax, 4
jae 0x1291ce0
test eax, eax
je 0x1291d0a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x1291cf6
jmp 0x1291d0a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
dec eax
jne 0x1291d01
movzx eax, byte [esi]
inc esi
cmp eax, 0x10
jae 0x1291d63
movzx ecx, byte [esi]
shl ecx, 2
push edi
pop edx
sub edx, ecx
shr eax, 2
sub edx, eax
sub edx, 0x801
inc esi
cmp edx, dword [ebp - 4]
jb 0x1291fd6
cmp edx, edi
jae 0x1291fd6
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, 3
jb 0x1291fc2
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
add edi, 3
jmp 0x1291f4e
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
cmp eax, 0x40
jb 0x1291dd0
push eax
pop ecx
shr ecx, 2
and ecx, 7
push edi
pop ebx
sub ebx, ecx
movzx ecx, byte [esi]
shl ecx, 3
sub ebx, ecx
shr eax, 5
dec ebx
inc esi
dec eax
cmp ebx, dword [ebp - 4]
jb 0x1291fd6
cmp ebx, edi
jae 0x1291fd6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x1291fc2
movzx ecx, byte [ebx]
mov byte [edi], cl
movzx ecx, byte [ebx + 1]
mov byte [edi + 1], cl
add edi, 2
add ebx, 2
jmp 0x1291dc0
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x1291dc0
jmp 0x1291f4b
cmp eax, 0x20
jb 0x1291e29
and eax, 0x1f
jne 0x1291e19
cmp byte [esi], al
jne 0x1291e03
nop
nop
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x1291fc2
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jb 0x1291fea
cmp byte [esi], 0
je 0x1291de0
movzx ecx, byte [esi]
add ecx, 0x1f
add eax, ecx
inc esi
push edx
pop ecx
sub ecx, esi
cmp ecx, 2
jb 0x1291fea
movzx ecx, word [esi]
shr ecx, 2
lea ebx, [edi - 1]
sub ebx, ecx
add esi, 2
jmp 0x1291ea2
cmp eax, 0x10
jb 0x1291f0d
mov ecx, eax
and ecx, 8
shl ecx, 0xb
mov ebx, edi
sub ebx, ecx
and eax, 7
jne 0x1291e89
cmp byte [esi], al
jne 0x1291e73
jmp 0x1291e50
add eax, 0xff
inc esi
cmp eax, 0xfffffe01
ja 0x1291fc2
push edx
pop ecx
sub ecx, esi
cmp ecx, 1
jb 0x1291fea
cmp byte [esi], 0
je 0x1291e50
movzx ecx, byte [esi]
add ecx, 7
add eax, ecx
inc esi
push edx
pop ecx
sub ecx, esi
cmp ecx, 2
jb 0x1291fea
movzx ecx, word [esi]
shr ecx, 2
sub ebx, ecx
add esi, 2
cmp ebx, edi
je 0x1291f9e
sub ebx, 0x4000
cmp ebx, dword [ebp - 4]
jb 0x1291fd6
cmp ebx, edi
jae 0x1291fd6
mov edx, dword [ebp + 0x10]
sub edx, edi
lea ecx, [eax + 2]
cmp edx, ecx
jb 0x1291fc2
cmp eax, 6
jb 0x1291da9
push edi
pop ecx
sub ecx, ebx
cmp ecx, 4
jl 0x1291da9
mov ecx, dword [ebx]
mov dword [edi], ecx
add edi, 4
add ebx, 4
sub eax, 2
mov ecx, dword [ebx]
mov dword [edi], ecx
sub eax, 4
add edi, 4
add ebx, 4
cmp eax, 4
jae 0x1291ee6
or eax, eax
je 0x1291f4b
lea esp, [esp]
mov cl, byte [ebx]
mov byte [edi], cl
inc edi
lea ebx, [ebx + 1]
dec eax
jne 0x1291f00
jmp 0x1291f4b
movzx ecx, byte [esi]
shl ecx, 2
mov edx, edi
sub edx, ecx
shr eax, 2
sub edx, eax
dec edx
inc esi
cmp edx, dword [ebp - 4]
jb 0x1291fd6
cmp edx, edi
jae 0x1291fd6
push ebx
pop eax
sub eax, edi
cmp eax, 2
jb 0x1291fc2
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
add edi, 2
mov ebx, dword [ebp + 0xc]
movzx edx, byte [esi - 2]
and edx, 3
jne 0x1291f65
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
jmp 0x1291c5e
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
sub eax, edi
cmp eax, edx
jb 0x1291fc2
push ebx
pop ecx
sub ecx, esi
lea eax, [edx + 3]
cmp ecx, eax
jb 0x1291fea
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 1
jbe 0x1291f95
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
cmp edx, 2
jbe 0x1291f95
mov al, byte [esi]
mov byte [edi], al
inc edi
inc esi
movzx eax, byte [esi]
inc esi
jmp 0x1291d63
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
cmp esi, edx
jne 0x1291fb3
pop edi
pop esi
sub 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
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
push ebp
pop esp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
push ebp
pop esp
pop ebp
ret
sub edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
push ebp
pop esp
pop ebp
ret