Function at 0x418610
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
mov cl, byte [esi]
cmp cl, 0x11
lea ebp, [esi + eax]
mov eax, dword [esp + 0x18]
push edi
jbe 0x41864f
movzx ecx, cl
sub ecx, 0x11
inc esi
cmp ecx, 4
jb 0x418700
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x418644
jmp 0x4186ba
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x41870d
test ecx, ecx
jne 0x41867b
cmp byte [esi], 0
jne 0x418673
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x418665
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0xf]
inc esi
mov edx, dword [esi]
mov dword [eax], edx
add eax, 4
add esi, 4
dec ecx
je 0x4186ba
cmp ecx, 4
jb 0x4186b1
lea ecx, [ecx]
mov edx, dword [esi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add esi, 4
cmp ecx, 4
jae 0x418690
test ecx, ecx
jbe 0x4186ba
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x4186a6
jmp 0x4186ba
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x4186b1
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x10
jae 0x41870d
shr ecx, 2
mov edx, eax
sub edx, ecx
movzx ecx, 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
xor ecx, ecx
mov cl, byte [esi - 2]
and ecx, 3
je 0x41864f
lea esp, [esp]
mov dl, byte [esi]
mov byte [eax], dl
inc eax
inc esi
dec ecx
jne 0x418700
movzx ecx, byte [esi]
inc esi
cmp ecx, 0x40
jb 0x41874b
mov edx, ecx
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [esi]
shl edx, 3
sub edi, edx
dec edi
shr ecx, 5
inc esi
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
lea esp, [esp]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x418740
jmp 0x4186ee
cmp ecx, 0x20
jb 0x418786
and ecx, 0x1f
jne 0x418776
cmp byte [esi], 0
jne 0x41876e
lea ebx, [ebx]
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x418760
movzx edx, byte [esi]
lea ecx, [ecx + edx + 0x1f]
inc esi
movzx edx, word [esi]
shr edx, 2
mov edi, eax
sub edi, edx
dec edi
add esi, 2
jmp 0x4187d0
cmp ecx, 0x10
jb 0x41881e
mov edx, ecx
and edx, 8
shl edx, 0xb
mov edi, eax
sub edi, edx
and ecx, 7
jne 0x4187bb
cmp byte [esi], 0
jne 0x4187b3
mov dl, byte [esi + 1]
add ecx, 0xff
inc esi
test dl, dl
je 0x4187a5
movzx edx, byte [esi]
lea ecx, [ecx + edx + 7]
inc esi
movzx edx, word [esi]
shr edx, 2
sub edi, edx
add esi, 2
cmp edi, eax
je 0x418834
sub edi, 0x4000
cmp ecx, 6
jb 0x41872c
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x41872c
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub ecx, 2
mov edx, dword [edi]
mov dword [eax], edx
sub ecx, 4
add eax, 4
add edi, 4
cmp ecx, 4
jae 0x4187f3
test ecx, ecx
jbe 0x4186ee
lea ecx, [ecx]
mov dl, byte [edi]
mov byte [eax], dl
inc eax
inc edi
dec ecx
jne 0x418810
jmp 0x4186ee
shr ecx, 2
mov edx, eax
sub edx, ecx
movzx ecx, byte [esi]
shl ecx, 2
sub edx, ecx
dec edx
inc esi
jmp 0x4186e3
sub eax, dword [esp + 0x1c]
cmp esi, ebp
mov dword [ebx], eax
jne 0x418845
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
pop edi
sbb eax, eax
pop esi
and eax, 0xfffffffc
pop ebp
add eax, 0xfffffffc
pop ebx
ret