Function at 0x412300
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
push esi
mov esi, ecx
mov dword [ebx], 0
mov dl, byte [esi]
cmp dl, 0x11
lea ebp, [esi + eax]
mov eax, dword [esp + 0xc]
push edi
jbe 0x412344
movzx edi, dl
sub edi, 0x11
cmp edi, 4
lea ecx, [esi + 1]
jb 0x412420
jmp 0x412330
mov dl, byte [ecx]
mov byte [eax], dl
add eax, 1
add ecx, 1
sub edi, 1
jne 0x412330
jmp 0x4123c6
movzx esi, byte [ecx]
add ecx, 1
cmp esi, 0x10
jae 0x412435
test esi, esi
jne 0x412378
cmp byte [ecx], 0
jne 0x41236e
lea esp, [esp]
add ecx, 1
add esi, 0xff
cmp byte [ecx], 0
je 0x412360
movzx edx, byte [ecx]
lea esi, [esi + edx + 0xf]
add ecx, 1
mov edx, dword [ecx]
mov dword [eax], edx
add eax, 4
add ecx, 4
sub esi, 1
je 0x4123c6
cmp esi, 4
jb 0x4123b7
lea esp, [esp]
mov edx, dword [ecx]
mov dword [eax], edx
sub esi, 4
add eax, 4
add ecx, 4
cmp esi, 4
jae 0x412390
test esi, esi
jbe 0x4123c6
mov dl, byte [ecx]
mov byte [eax], dl
add eax, 1
add ecx, 1
sub esi, 1
jne 0x4123a6
jmp 0x4123c6
mov dl, byte [ecx]
mov byte [eax], dl
add eax, 1
add ecx, 1
sub esi, 1
jne 0x4123b7
movzx esi, byte [ecx]
add ecx, 1
cmp esi, 0x10
jae 0x412435
movzx edx, byte [ecx]
add edx, edx
shr esi, 2
mov edi, eax
sub edi, esi
add edx, edx
sub edi, edx
movzx edx, byte [edi - 0x801]
sub edi, 0x801
mov byte [eax], dl
add eax, 1
add edi, 1
movzx edx, byte [edi]
mov byte [eax], dl
movzx edx, byte [edi + 1]
add eax, 1
add ecx, 1
mov byte [eax], dl
add eax, 1
movzx edx, byte [ecx - 2]
and edx, 3
mov edi, edx
je 0x412344
lea esp, [esp]
mov dl, byte [ecx]
mov byte [eax], dl
add eax, 1
add ecx, 1
sub edi, 1
jne 0x412420
movzx esi, byte [ecx]
add ecx, 1
cmp esi, 0x40
jb 0x412485
mov edx, esi
shr edx, 2
and edx, 7
mov edi, eax
sub edi, edx
movzx edx, byte [ecx]
add edx, edx
add edx, edx
add edx, edx
sub edi, edx
shr esi, 5
sub edi, 1
add ecx, 1
sub esi, 1
movzx edx, byte [edi]
mov byte [eax], dl
movzx edx, byte [edi + 1]
add edi, 1
add eax, 1
mov byte [eax], dl
add eax, 1
add edi, 1
mov dl, byte [edi]
mov byte [eax], dl
add eax, 1
add edi, 1
sub esi, 1
jne 0x412474
jmp 0x41240a
cmp esi, 0x20
jb 0x4124be
and esi, 0x1f
jne 0x4124ac
cmp byte [ecx], 0
jne 0x4124a2
add ecx, 1
add esi, 0xff
cmp byte [ecx], 0
je 0x412494
movzx edx, byte [ecx]
lea esi, [esi + edx + 0x1f]
add ecx, 1
movzx edx, word [ecx]
shr edx, 2
mov edi, eax
sub edi, edx
sub edi, 1
add ecx, 2
jmp 0x41250d
cmp esi, 0x10
mov edi, eax
jb 0x412564
mov edx, esi
and edx, 8
shl edx, 0xb
sub edi, edx
and esi, 7
jne 0x4124f8
cmp byte [ecx], 0
jne 0x4124ee
lea ecx, [ecx]
add ecx, 1
add esi, 0xff
cmp byte [ecx], 0
je 0x4124e0
movzx edx, byte [ecx]
lea esi, [esi + edx + 7]
add ecx, 1
movzx edx, word [ecx]
shr edx, 2
sub edi, edx
add ecx, 2
cmp edi, eax
je 0x41257a
sub edi, 0x4000
cmp esi, 6
jb 0x41245d
mov edx, eax
sub edx, edi
cmp edx, 4
jl 0x41245d
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
add edi, 4
sub esi, 2
mov edx, dword [edi]
mov dword [eax], edx
sub esi, 4
add eax, 4
add edi, 4
cmp esi, 4
jae 0x412530
test esi, esi
jbe 0x41240a
lea ebx, [ebx]
mov dl, byte [edi]
mov byte [eax], dl
add eax, 1
add edi, 1
sub esi, 1
jne 0x412550
jmp 0x41240a
movzx edx, byte [ecx]
shr esi, 2
add edx, edx
sub edi, esi
add edx, edx
sub edi, edx
sub edi, 1
jmp 0x4123f6
sub eax, dword [esp + 0x10]
cmp ecx, ebp
mov dword [ebx], eax
jne 0x41258a
pop edi
pop esi
xor eax, eax
pop ebp
ret
sbb eax, eax
pop edi
and eax, 0xfffffffc
pop esi
add eax, 0xfffffffc
pop ebp
ret