Function at 0x45c8e0
Capabilities:
Decompress data using lzo

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x10]
push ebp
lea ebp, [eax + ecx]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov dword [ecx], 0
mov cl, byte [eax]
push esi
add edx, ebx
cmp cl, 0x11
push edi
mov dword [esp + 0x14], edx
mov esi, ebx
jbe 0x45c945
movzx ecx, cl
sub ecx, 0x11
inc eax
cmp ecx, 4
jb 0x45ca56
sub edx, ebx
cmp edx, ecx
jb 0x45cc95
mov edx, ebp
sub edx, eax
lea edi, [ecx + 1]
cmp edx, edi
jb 0x45cc5f
mov dl, byte [eax]
mov byte [esi], dl
inc esi
inc eax
dec ecx
jne 0x45c937
jmp 0x45c9ea
cmp eax, ebp
jae 0x45ccb9
movzx ecx, byte [eax]
inc eax
cmp ecx, 0x10
jae 0x45ca97
test ecx, ecx
jne 0x45c991
mov edi, ebp
sub edi, eax
cmp edi, 1
jb 0x45cc5f
cmp byte [eax], cl
jne 0x45c989
nop
add ecx, 0xff
inc eax
mov edi, ebp
sub edi, eax
cmp edi, 1
jb 0x45cc5f
cmp byte [eax], 0
je 0x45c970
movzx edi, byte [eax]
lea ecx, [ecx + edi + 0xf]
inc eax
sub edx, esi
lea edi, [ecx + 3]
cmp edx, edi
jb 0x45cc95
mov edx, ebp
sub edx, eax
lea edi, [ecx + 4]
cmp edx, edi
jb 0x45cc5f
mov edx, dword [eax]
mov dword [esi], edx
add esi, 4
add eax, 4
dec ecx
je 0x45c9ea
cmp ecx, 4
jb 0x45c9e1
nop
mov edx, dword [eax]
mov dword [esi], edx
sub ecx, 4
add esi, 4
add eax, 4
cmp ecx, 4
jae 0x45c9c0
test ecx, ecx
jbe 0x45c9ea
mov dl, byte [eax]
mov byte [esi], dl
inc esi
inc eax
dec ecx
jne 0x45c9d6
jmp 0x45c9ea
mov dl, byte [eax]
mov byte [esi], dl
inc esi
inc eax
dec ecx
jne 0x45c9e1
movzx ecx, byte [eax]
inc eax
cmp ecx, 0x10
jae 0x45ca97
movzx edi, byte [eax]
shl edi, 2
mov edx, esi
sub edx, edi
shr ecx, 2
sub edx, ecx
sub edx, 0x801
inc eax
cmp edx, ebx
jb 0x45cca7
cmp edx, esi
jae 0x45cca7
mov ecx, dword [esp + 0x14]
sub ecx, esi
cmp ecx, 3
jb 0x45cc95
mov cl, byte [edx]
mov byte [esi], cl
mov cl, byte [edx + 1]
inc esi
inc edx
mov byte [esi], cl
mov dl, byte [edx + 1]
inc esi
mov byte [esi], dl
inc esi
jmp 0x45ca44
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [eax - 2]
and ecx, 3
je 0x45c945
sub edx, esi
cmp edx, ecx
jb 0x45cc95
mov edx, ebp
sub edx, eax
lea edi, [ecx + 1]
cmp edx, edi
jb 0x45cc5f
mov dl, byte [eax]
mov byte [esi], dl
inc esi
inc eax
cmp ecx, 1
jbe 0x45ca8b
mov dl, byte [eax]
mov byte [esi], dl
inc esi
inc eax
cmp ecx, 2
jbe 0x45ca8b
mov cl, byte [eax]
mov byte [esi], cl
inc esi
inc eax
movzx ecx, byte [eax]
inc eax
cmp eax, ebp
jae 0x45cc56
cmp ecx, 0x40
jb 0x45caf2
mov edx, ecx
shr edx, 2
and edx, 7
mov edi, esi
sub edi, edx
movzx edx, byte [eax]
shl edx, 3
sub edi, edx
dec edi
shr ecx, 5
inc eax
dec ecx
cmp edi, ebx
jb 0x45cca7
cmp edi, esi
jae 0x45cca7
mov edx, dword [esp + 0x14]
sub edx, esi
lea ebx, [ecx + 2]
cmp edx, ebx
jb 0x45cc91
mov dl, byte [edi]
mov byte [esi], dl
mov dl, byte [edi + 1]
inc esi
inc edi
mov byte [esi], dl
inc esi
inc edi
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec ecx
jne 0x45cae4
jmp 0x45ca40
cmp ecx, 0x20
jb 0x45cb41
and ecx, 0x1f
jne 0x45cb31
mov edx, ebp
sub edx, eax
cmp edx, 1
jb 0x45cc5f
cmp byte [eax], 0
jne 0x45cb29
mov edi, edi
add ecx, 0xff
inc eax
mov edx, ebp
sub edx, eax
cmp edx, 1
jb 0x45cc5f
cmp byte [eax], 0
je 0x45cb10
movzx edx, byte [eax]
lea ecx, [ecx + edx + 0x1f]
inc eax
movzx edx, word [eax]
shr edx, 2
mov edi, esi
sub edi, edx
dec edi
add eax, 2
jmp 0x45cbaa
cmp ecx, 0x10
jb 0x45cc1e
mov edx, ecx
and edx, 8
shl edx, 0xb
mov edi, esi
sub edi, edx
and ecx, 7
jne 0x45cb91
mov edx, ebp
sub edx, eax
cmp edx, 1
jb 0x45cc5f
cmp byte [eax], 0
jne 0x45cb89
lea ecx, [ecx]
add ecx, 0xff
inc eax
mov edx, ebp
sub edx, eax
cmp edx, 1
jb 0x45cc5f
cmp byte [eax], 0
je 0x45cb70
movzx edx, byte [eax]
lea ecx, [ecx + edx + 7]
inc eax
movzx edx, word [eax]
shr edx, 2
sub edi, edx
add eax, 2
cmp edi, esi
je 0x45cc71
sub edi, 0x4000
cmp edi, ebx
jb 0x45cca7
cmp edi, esi
jae 0x45cca7
mov edx, dword [esp + 0x14]
sub edx, esi
lea ebx, [ecx + 2]
cmp edx, ebx
jb 0x45cc91
cmp ecx, 6
jb 0x45cad7
mov edx, esi
sub edx, edi
cmp edx, 4
jl 0x45cad7
mov edx, dword [edi]
mov dword [esi], edx
add esi, 4
add edi, 4
sub ecx, 2
mov edi, edi
mov edx, dword [edi]
mov dword [esi], edx
sub ecx, 4
add esi, 4
add edi, 4
cmp ecx, 4
jae 0x45cbf0
test ecx, ecx
jbe 0x45ca40
lea ebx, [ebx]
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec ecx
jne 0x45cc10
jmp 0x45ca40
movzx edi, byte [eax]
shl edi, 2
shr ecx, 2
mov edx, esi
sub edx, edi
sub edx, ecx
dec edx
inc eax
cmp edx, ebx
jb 0x45cca7
cmp edx, esi
jae 0x45cca7
mov ecx, dword [esp + 0x14]
sub ecx, esi
cmp ecx, 2
jb 0x45cc95
mov cl, byte [edx]
mov byte [esi], cl
mov dl, byte [edx + 1]
inc esi
mov byte [esi], dl
inc esi
jmp 0x45ca44
mov edx, dword [esp + 0x14]
jmp 0x45c945
mov eax, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
ret
mov ecx, dword [esp + 0x20]
sub esi, ebx
cmp eax, ebp
mov dword [ecx], esi
jne 0x45cc84
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
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [edx], esi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
ret
mov eax, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
ret
mov ecx, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [ecx], esi
pop esi
pop ebp
mov eax, 0xfffffff9
pop ebx
ret