Function at 0x10055c70
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
add edx, ecx
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [eax]
add ebx, dword [ebp + 8]
mov dword [eax], 0
mov al, byte [ecx]
mov dword [ebp - 8], edx
mov dword [ebp - 4], ebx
push edi
cmp al, 0x11
jbe 0x10055ccf
movzx edi, al
inc ecx
sub edi, 0x11
cmp edi, 4
jb 0x10055e55
mov eax, ebx
sub eax, esi
cmp eax, edi
jb 0x1005603f
sub edx, ecx
lea eax, [edi + 1]
cmp edx, eax
jb 0x1005602b
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
dec edi
jne 0x10055cc1
jmp 0x10055d89
cmp ecx, edx
jae 0x10056067
movzx edi, byte [ecx]
inc ecx
cmp edi, 0x10
jae 0x10055de1
test edi, edi
jne 0x10055d22
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
jne 0x10055d19
lea ebx, [ebx]
inc ecx
mov eax, edx
sub eax, ecx
add edi, 0xff
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
je 0x10055d00
movzx eax, byte [ecx]
add edi, 0xf
add edi, eax
inc ecx
mov edx, ebx
lea eax, [edi + 3]
sub edx, esi
cmp edx, eax
jb 0x1005603f
mov edx, dword [ebp - 8]
lea eax, [edi + 4]
sub edx, ecx
cmp edx, eax
jb 0x1005602b
mov eax, dword [ecx]
add ecx, 4
mov dword [esi], eax
add esi, 4
dec edi
je 0x10055d89
cmp edi, 4
jb 0x10055d80
mov eax, dword [ecx]
sub edi, 4
mov dword [esi], eax
add ecx, 4
add esi, 4
cmp edi, 4
jae 0x10055d53
test edi, edi
je 0x10055d89
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
dec edi
jne 0x10055d70
jmp 0x10055d89
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
dec edi
jne 0x10055d80
movzx edi, byte [ecx]
inc ecx
cmp edi, 0x10
jae 0x10055dde
movzx eax, byte [ecx]
mov edx, esi
shl eax, 2
inc ecx
sub edx, eax
shr edi, 2
sub edx, edi
sub edx, 0x801
cmp edx, dword [ebp + 8]
jb 0x10056053
cmp edx, esi
jae 0x10056053
mov eax, ebx
sub eax, esi
cmp eax, 3
jb 0x1005603f
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
movzx eax, byte [edx + 2]
mov byte [esi + 2], al
add esi, 3
jmp 0x10055e45
mov edx, dword [ebp - 8]
cmp edi, 0x40
jb 0x10055e9e
mov eax, edi
mov ebx, esi
shr eax, 2
and eax, 7
shr edi, 5
sub ebx, eax
dec edi
movzx eax, byte [ecx]
inc ecx
shl eax, 3
sub ebx, eax
dec ebx
cmp ebx, dword [ebp + 8]
jb 0x10056053
cmp ebx, esi
jae 0x10056053
mov edx, dword [ebp - 4]
lea eax, [edi + 2]
sub edx, esi
cmp edx, eax
jb 0x1005603f
movzx eax, byte [ebx]
mov byte [esi], al
movzx eax, byte [ebx + 1]
mov byte [esi + 1], al
add esi, 2
add ebx, 2
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], al
inc esi
dec edi
jne 0x10055e37
mov ebx, dword [ebp - 4]
movzx edi, byte [ecx - 2]
mov edx, dword [ebp - 8]
and edi, 3
je 0x10055ccf
mov eax, ebx
sub eax, esi
cmp eax, edi
jb 0x1005603f
sub edx, ecx
lea eax, [edi + 1]
cmp edx, eax
jb 0x1005602b
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
cmp edi, 1
jbe 0x10055e8a
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
cmp edi, 2
jbe 0x10055e8a
mov al, byte [ecx]
mov byte [esi], al
inc esi
inc ecx
movzx edi, byte [ecx]
inc ecx
mov edx, dword [ebp - 8]
cmp ecx, edx
jb 0x10055de1
jmp 0x10055ccf
cmp edi, 0x20
jb 0x10055ef2
and edi, 0x1f
jne 0x10055ee2
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
jne 0x10055ed9
lea ebx, [ebx]
inc ecx
mov eax, edx
sub eax, ecx
add edi, 0xff
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
je 0x10055ec0
movzx eax, byte [ecx]
add edi, 0x1f
add edi, eax
inc ecx
movzx eax, word [ecx]
mov ebx, esi
shr eax, 2
sub ebx, eax
dec ebx
add ecx, 2
jmp 0x10055f5b
cmp edi, 0x10
jb 0x10055fd0
mov eax, edi
mov ebx, esi
and eax, 8
shl eax, 0xb
sub ebx, eax
and edi, 7
jne 0x10055f42
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
jne 0x10055f39
mov edi, edi
inc ecx
mov eax, edx
sub eax, ecx
add edi, 0xff
cmp eax, 1
jb 0x1005602b
cmp byte [ecx], 0
je 0x10055f20
movzx eax, byte [ecx]
add edi, 7
add edi, eax
inc ecx
movzx eax, word [ecx]
add ecx, 2
shr eax, 2
sub ebx, eax
cmp ebx, esi
je 0x10056007
sub ebx, 0x4000
cmp ebx, dword [ebp + 8]
jb 0x10056053
cmp ebx, esi
jae 0x10056053
mov edx, dword [ebp - 4]
lea eax, [edi + 2]
sub edx, esi
cmp edx, eax
jb 0x1005603f
cmp edi, 6
jb 0x10055e25
mov eax, esi
sub eax, ebx
cmp eax, 4
jl 0x10055e25
mov eax, dword [ebx]
add ebx, 4
mov dword [esi], eax
add esi, 4
sub edi, 2
nop
mov eax, dword [ebx]
sub edi, 4
mov dword [esi], eax
add ebx, 4
add esi, 4
cmp edi, 4
jae 0x10055fa0
test edi, edi
je 0x10055e42
lea ebx, [ebx]
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esi], al
inc esi
dec edi
jne 0x10055fc0
jmp 0x10055e42
movzx eax, byte [ecx]
mov edx, esi
shl eax, 2
inc ecx
sub edx, eax
shr edi, 2
sub edx, edi
dec edx
cmp edx, dword [ebp + 8]
jb 0x10056053
cmp edx, esi
jae 0x10056053
mov eax, ebx
sub eax, esi
cmp eax, 2
jb 0x1005603f
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
add esi, 2
jmp 0x10055e45
mov eax, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
mov dword [eax], esi
cmp ecx, edx
jne 0x1005601c
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 eax, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
pop edi
mov dword [eax], esi
mov eax, 0xfffffffc
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
pop edi
mov dword [eax], esi
mov eax, 0xfffffffb
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
pop edi
mov dword [eax], esi
mov eax, 0xfffffffa
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
pop edi
mov dword [eax], esi
mov eax, 0xfffffff9
pop esi
pop ebx
mov esp, ebp
pop ebp
ret