Function at 0x10003cb0
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x10]
mov dword [ebx], 0
push edi
mov dl, byte [esi]
lea ebp, [esi + eax]
mov eax, dword [esp + 0x1c]
cmp dl, 0x11
mov ecx, esi
jbe 0x10003cf8
and edx, 0xff
lea ecx, [esi + 1]
sub edx, 0x11
mov edi, edx
cmp edi, 4
jb 0x10003daa
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec edi
jne 0x10003ced
jmp 0x10003d64
xor edx, edx
mov dl, byte [ecx]
inc ecx
mov esi, edx
cmp esi, 0x10
jae 0x10003dcd
test esi, esi
jne 0x10003d28
cmp byte [ecx], 0
jne 0x10003d1f
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x10003d11
xor edx, edx
mov dl, byte [ecx]
inc ecx
lea esi, [esi + edx + 0xf]
mov edx, dword [ecx]
add ecx, 4
mov dword [eax], edx
add eax, 4
dec esi
je 0x10003d64
cmp esi, 4
jb 0x10003d5b
mov edx, dword [ecx]
sub esi, 4
mov dword [eax], edx
add eax, 4
add ecx, 4
cmp esi, 4
jae 0x10003d3a
test esi, esi
jbe 0x10003d64
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x10003d50
jmp 0x10003d64
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec esi
jne 0x10003d5b
xor edx, edx
mov dl, byte [ecx]
inc ecx
mov esi, edx
cmp esi, 0x10
jae 0x10003dcd
xor edx, edx
mov edi, eax
mov dl, byte [ecx]
shr esi, 2
sub edi, esi
shl edx, 2
sub edi, edx
mov dl, byte [edi - 0x801]
sub edi, 0x801
inc ecx
mov byte [eax], dl
inc eax
inc edi
mov dl, byte [edi]
mov byte [eax], dl
mov dl, byte [edi + 1]
inc eax
mov byte [eax], dl
inc eax
mov dl, byte [ecx - 2]
and edx, 3
mov edi, edx
je 0x10003cf8
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp edi, 1
jbe 0x10003dc6
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
cmp edi, 2
jbe 0x10003dc6
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
xor edx, edx
mov dl, byte [ecx]
inc ecx
mov esi, edx
cmp esi, 0x40
jb 0x10003e05
mov edx, esi
mov edi, eax
shr edx, 2
and edx, 7
sub edi, edx
xor edx, edx
mov dl, byte [ecx]
shl edx, 3
sub edi, edx
dec edi
inc ecx
shr esi, 5
dec esi
mov dl, byte [edi]
mov byte [eax], dl
mov dl, byte [edi + 1]
inc eax
inc edi
mov byte [eax], dl
inc eax
inc edi
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec esi
jne 0x10003dfa
jmp 0x10003d9c
cmp esi, 0x20
jb 0x10003e3d
and esi, 0x1f
jne 0x10003e2b
cmp byte [ecx], 0
jne 0x10003e22
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x10003e14
xor edx, edx
mov dl, byte [ecx]
inc ecx
lea esi, [esi + edx + 0x1f]
xor edx, edx
mov edi, eax
mov dx, word [ecx]
shr edx, 2
sub edi, edx
dec edi
add ecx, 2
jmp 0x10003e8a
cmp esi, 0x10
jb 0x10003ed5
mov edx, esi
mov edi, eax
and edx, 8
shl edx, 0xb
sub edi, edx
and esi, 7
jne 0x10003e73
cmp byte [ecx], 0
jne 0x10003e6a
mov dl, byte [ecx + 1]
add esi, 0xff
inc ecx
test dl, dl
je 0x10003e5c
xor edx, edx
mov dl, byte [ecx]
inc ecx
lea esi, [esi + edx + 7]
xor edx, edx
mov dx, word [ecx]
add ecx, 2
shr edx, 2
sub edi, edx
cmp edi, eax
je 0x10003eec
sub edi, 0x4000
cmp esi, 6
jb 0x10003ded
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x10003ded
mov edx, dword [edi]
add edi, 4
mov dword [eax], edx
add eax, 4
sub esi, 2
mov edx, dword [edi]
sub esi, 4
mov dword [eax], edx
add eax, 4
add edi, 4
cmp esi, 4
jae 0x10003ead
test esi, esi
jbe 0x10003d9c
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec esi
jne 0x10003ec7
jmp 0x10003d9c
xor edx, edx
mov edi, eax
mov dl, byte [ecx]
shr esi, 2
sub edi, esi
shl edx, 2
sub edi, edx
dec edi
inc ecx
jmp 0x10003d91
mov edx, dword [esp + 0x1c]
sub eax, edx
cmp ecx, ebp
mov dword [ebx], eax
jne 0x10003eff
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
sbb eax, eax
pop edi
and al, 0xfc
pop esi
pop ebp
add eax, 0xfffffffc
pop ebx
ret