Function at 0x474a97
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 cl, byte [esi]
lea ebp, [esi + eax]
mov eax, dword [esp + 0x1c]
cmp cl, 0x11
jbe 0x474ad9
and ecx, 0xff
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x474b85
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x474ace
jmp 0x474b43
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x474b93
test ecx, ecx
jne 0x474b07
cmp byte [esi], 0
jne 0x474afe
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x474af0
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0xf]
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
dec ecx
je 0x474b43
cmp ecx, 4
jb 0x474b3a
mov edx, dword [esi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x474b19
test ecx, ecx
jbe 0x474b43
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x474b2f
jmp 0x474b43
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x474b3a
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x474b93
shr ecx, 2
mov edx, eax
sub edx, ecx
xor ecx, ecx
mov cl, byte [esi]
shl ecx, 2
sub edx, ecx
mov cl, byte [edx - 0x801]
sub edx, 0x801
inc esi
mov byte [eax], cl
inc eax
inc edx
mov cl, byte [edx]
mov byte [eax], cl
mov dl, byte [edx + 1]
inc eax
mov byte [eax], dl
inc eax
mov cl, byte [esi - 2]
and ecx, 3
je 0x474ad9
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x474b85
xor ecx, ecx
mov cl, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x474bcb
mov edx, ecx
mov edi, eax
shr edx, 2
and edx, 7
sub edi, edx
xor edx, edx
mov dl, byte [esi]
shl edx, 3
sub edi, edx
dec edi
inc esi
shr ecx, 5
dec ecx
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 ecx
jne 0x474bc0
jmp 0x474b79
cmp ecx, 0x20
jb 0x474c03
and ecx, 0x1f
jne 0x474bf1
cmp byte [esi], 0
jne 0x474be8
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x474bda
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 0x1f]
xor edx, edx
mov edi, eax
mov dx, word [esi]
shr edx, 2
sub edi, edx
dec edi
add esi, 2
jmp 0x474c50
cmp ecx, 0x10
jb 0x474c9b
mov edx, ecx
mov edi, eax
and edx, 8
shl edx, 0xb
sub edi, edx
and ecx, 7
jne 0x474c39
cmp byte [esi], 0
jne 0x474c30
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x474c22
xor edx, edx
mov dl, byte [esi]
inc esi
lea ecx, [ecx + edx + 7]
xor edx, edx
mov dx, word [esi]
add esi, 2
shr edx, 2
sub edi, edx
cmp edi, eax
je 0x474cb2
sub edi, 0x4000
cmp ecx, 6
jb 0x474bb3
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x474bb3
mov edx, dword [edi]
add edi, 4
mov dword [eax], edx
add eax, 4
sub ecx, 2
mov edx, dword [edi]
sub ecx, 4
mov dword [eax], edx
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x474c73
test ecx, ecx
jbe 0x474b79
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x474c8d
jmp 0x474b79
shr ecx, 2
mov edx, eax
sub edx, ecx
xor ecx, ecx
mov cl, byte [esi]
shl ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x474b6e
mov ecx, dword [esp + 0x1c]
sub eax, ecx
cmp esi, ebp
mov dword [ebx], eax
jne 0x474cc5
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