Function at 0x461be0
Capabilities:
Decompress data using lzo

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
add edx, eax
mov ebx, dword [ecx]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0x10]
mov dword [ecx], 0
add edx, ebx
mov ebx, eax
mov dword [ebp - 0x14], edx
movzx eax, byte [eax]
cmp al, 0x11
jbe 0x461c56
movzx edi, al
inc ebx
lea ecx, [edi - 0x11]
cmp ecx, 3
jbe 0x461d90
mov eax, edx
sub eax, esi
cmp eax, ecx
jb 0x461e70
mov edx, dword [ebp - 0x10]
lea eax, [edi - 0x10]
sub edx, ebx
cmp edx, eax
jae 0x461d70
mov ebx, dword [ebp + 0x10]
mov eax, 0xfffffffc
mov ecx, dword [ebp + 0x14]
sub esi, ebx
mov dword [ecx], esi
add esp, 0x10
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, dword [ebp - 0x10]
jae 0x461e87
movzx ecx, al
lea edi, [ebx + 1]
cmp ecx, 0xf
ja 0x461df0
test ecx, ecx
jne 0x461c9b
cmp dword [ebp - 0x10], edi
je 0x461c3f
movzx eax, byte [ebx + 1]
test al, al
jne 0x461c93
nop
inc edi
add ecx, 0xff
cmp dword [ebp - 0x10], edi
je 0x461c3f
movzx eax, byte [edi]
test al, al
je 0x461c80
movzx ebx, al
inc edi
lea ecx, [ebx + ecx + 0xf]
mov edx, dword [ebp - 0x14]
lea eax, [ecx + 3]
sub edx, esi
cmp edx, eax
jb 0x461e70
mov eax, dword [ebp - 0x10]
lea ebx, [ecx + 4]
sub eax, edi
cmp eax, ebx
jb 0x461c3f
mov edx, dword [edi]
lea ebx, [edi + 4]
mov dword [esi], edx
mov edx, ecx
add esi, 4
dec edx
je 0x461cf0
cmp edx, 3
jbe 0x461f80
nop
mov edi, dword [ebx]
sub edx, 4
add ebx, 4
mov dword [esi], edi
add esi, 4
cmp edx, 3
ja 0x461cd0
test edx, edx
jmp 0x461cee
movzx ecx, byte [ebx]
inc ebx
mov byte [esi], cl
inc esi
dec edx
jne 0x461ce6
movzx ecx, byte [ebx]
lea edi, [ebx + 1]
cmp ecx, 0xf
ja 0x461df0
movzx eax, byte [ebx + 1]
shr ecx, 2
lea edi, [esi - 0x801]
sub edi, ecx
add ebx, 2
shl eax, 2
sub edi, eax
cmp edi, dword [ebp + 0x10]
setb dl
cmp edi, esi
setae cl
or dl, cl
jne 0x462019
mov ecx, dword [ebp - 0x14]
sub ecx, esi
cmp ecx, 2
jbe 0x461e70
movzx ecx, byte [edi]
mov byte [esi], cl
movzx eax, byte [edi + 1]
mov byte [esi + 1], al
movzx edx, byte [edi + 2]
mov byte [esi + 2], dl
add esi, 3
lea esi, [esi]
movzx edi, byte [ebx - 2]
mov ecx, edi
and ecx, 3
jne 0x461d90
cmp ebx, dword [ebp - 0x10]
jae 0x461e87
movzx eax, byte [ebx]
jmp 0x461c5f
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
dec ecx
je 0x461cf0
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
dec ecx
jne 0x461d70
jmp 0x461cf0
mov edx, dword [ebp - 0x14]
sub edx, esi
cmp edx, ecx
jb 0x461e70
mov edi, dword [ebp - 0x10]
lea eax, [ecx + 1]
sub edi, ebx
cmp edi, eax
jb 0x461c3f
movzx eax, byte [ebx]
lea edx, [ebx + 1]
mov byte [esi], al
inc esi
cmp ecx, 1
jbe 0x461dd4
movzx eax, byte [ebx + 1]
lea edx, [ebx + 2]
mov byte [esi], al
inc esi
cmp ecx, 2
jbe 0x461dd4
movzx ecx, byte [ebx + 2]
lea edx, [ebx + 3]
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
lea edi, [edx + 1]
cmp edi, dword [ebp - 0x10]
jae 0x461e87
lea esi, [esi]
lea edi, [edi]
cmp ecx, 0x3f
jbe 0x461ea0
shr ecx, 2
lea eax, [esi - 1]
mov edx, ecx
mov dword [ebp - 0x18], eax
and edx, 7
mov eax, dword [ebp + 0x10]
sub dword [ebp - 0x18], edx
movzx ebx, byte [edi]
shl ebx, 3
sub dword [ebp - 0x18], ebx
lea ebx, [edi + 1]
mov edi, ecx
shr edi, 3
lea ecx, [edi - 1]
cmp dword [ebp - 0x18], eax
setb dl
cmp dword [ebp - 0x18], esi
setae al
or dl, al
jne 0x462019
mov edx, dword [ebp - 0x14]
lea eax, [edi + 1]
sub edx, esi
cmp edx, eax
jb 0x461e70
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov edx, dword [ebp - 0x18]
add edx, 2
mov byte [esi + 1], al
add esi, 2
lea esi, [esi]
movzx eax, byte [edx]
inc edx
mov byte [esi], al
inc esi
dec ecx
jne 0x461e60
jmp 0x461d50
mov edi, dword [ebp + 0x10]
mov eax, 0xfffffffb
mov edx, dword [ebp + 0x14]
sub esi, edi
mov dword [edx], esi
add esp, 0x10
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov eax, 0xfffffff9
mov ebx, dword [ebp + 0x14]
sub esi, edx
mov dword [ebx], esi
jmp 0x461c4e
cmp ecx, 0x1f
jbe 0x461f37
and ecx, 0x1f
je 0x461f9d
movzx eax, word [edi]
lea edx, [esi - 1]
lea ebx, [edi + 2]
mov dword [ebp - 0x18], edx
shr eax, 2
sub dword [ebp - 0x18], eax
mov edi, dword [ebp + 0x10]
cmp dword [ebp - 0x18], edi
setb dl
cmp dword [ebp - 0x18], esi
setae al
or dl, al
jne 0x462019
mov edx, dword [ebp - 0x14]
lea eax, [ecx + 2]
sub edx, esi
cmp edx, eax
jb 0x461e70
cmp ecx, 5
jbe 0x461e41
mov eax, dword [ebp - 0x18]
mov edi, esi
sub edi, eax
cmp edi, 3
jle 0x461e41
mov edx, dword [ebp - 0x18]
mov edi, dword [edx]
mov dword [esi], edi
mov edi, edx
add esi, 4
add edi, 4
lea edx, [ecx - 2]
mov ecx, dword [edi]
sub edx, 4
add edi, 4
mov dword [esi], ecx
add esi, 4
cmp edx, 3
ja 0x461f12
test edx, edx
jmp 0x461f30
movzx eax, byte [edi]
inc edi
mov byte [esi], al
inc esi
dec edx
jne 0x461f28
jmp 0x461d50
cmp ecx, 0xf
jbe 0x461fcc
mov ebx, ecx
mov edx, esi
and ebx, 8
shl ebx, 0xb
sub edx, ebx
and ecx, 7
jne 0x462035
cmp dword [ebp - 0x10], edi
je 0x461c3f
movzx eax, byte [edi]
test al, al
jne 0x46202d
add ecx, 0xff
inc edi
cmp dword [ebp - 0x10], edi
jne 0x461f5e
jmp 0x461c3f
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
dec edx
je 0x461cf0
movzx eax, byte [ebx]
inc ebx
mov byte [esi], al
inc esi
dec edx
jne 0x461f80
jmp 0x461cf0
cmp dword [ebp - 0x10], edi
je 0x461c3f
lea esi, [esi]
lea edi, [edi]
movzx eax, byte [edi]
test al, al
jne 0x462053
add ecx, 0xff
inc edi
cmp dword [ebp - 0x10], edi
jne 0x461fb0
jmp 0x461c3f
movzx eax, byte [edi]
shr ecx, 2
lea edx, [esi - 1]
lea ebx, [edi + 1]
mov edi, dword [ebp + 0x10]
sub edx, ecx
shl eax, 2
sub edx, eax
cmp edx, edi
mov dword [ebp - 0x1c], edx
setb dl
cmp dword [ebp - 0x1c], esi
setae cl
or dl, cl
jne 0x462019
mov ecx, dword [ebp - 0x14]
sub ecx, esi
cmp ecx, 1
jbe 0x461e70
mov edi, dword [ebp - 0x1c]
movzx edx, byte [edi]
mov byte [esi], dl
movzx eax, byte [edi + 1]
mov byte [esi + 1], al
add esi, 2
jmp 0x461d50
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
sub esi, ecx
mov dword [eax], esi
mov eax, 0xfffffffa
jmp 0x461c4e
movzx eax, al
inc edi
lea ecx, [eax + ecx + 7]
movzx ebx, word [edi]
shr ebx, 2
sub edx, ebx
cmp edx, esi
mov eax, edx
lea ebx, [edi + 2]
je 0x462060
sub eax, 0x4000
mov dword [ebp - 0x18], eax
jmp 0x461ec4
movzx ebx, al
inc edi
lea ecx, [ebx + ecx + 0x1f]
jmp 0x461eb2
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
sub esi, eax
mov dword [edi], esi
xor eax, eax
cmp ebx, dword [ebp - 0x10]
je 0x461c4e
sbb eax, eax
and eax, 0xfffffffc
sub eax, 4
jmp 0x461c4e