Function at 0x448550
Capabilities:
Decompress data using lzo

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [esp + 0x10]
push ebp
lea ebp, [ecx + eax]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov dword [eax], 0
mov eax, ebp
push esi
add edx, ebx
sub eax, ecx
push edi
mov dword [esp + 0x14], edx
mov esi, ebx
cmp eax, 1
jb 0x4488f8
mov al, byte [ecx]
cmp al, 0x11
jbe 0x4485c1
movzx eax, al
sub eax, 0x11
inc ecx
cmp eax, 4
jb 0x4486d5
sub edx, ebx
cmp edx, eax
jb 0x44892e
mov edx, ebp
sub edx, ecx
lea edi, [eax + 3]
cmp edx, edi
jb 0x4488f8
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x4485b3
jmp 0x44866a
mov eax, ebp
sub eax, ecx
cmp eax, 3
jb 0x4488f8
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x10
jae 0x448712
test eax, eax
jne 0x44860e
cmp byte [ecx], al
jne 0x448606
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x4488f8
mov edi, ebp
sub edi, ecx
cmp edi, 1
jb 0x4488f8
cmp byte [ecx], 0
je 0x4485e3
movzx edi, byte [ecx]
lea eax, [eax + edi + 0xf]
inc ecx
sub edx, esi
lea edi, [eax + 3]
cmp edx, edi
jb 0x44892e
mov edx, ebp
sub edx, ecx
lea edi, [eax + 6]
cmp edx, edi
jb 0x4488f8
mov edx, dword [ecx]
mov dword [esi], edx
add esi, 4
add ecx, 4
dec eax
je 0x44866a
cmp eax, 4
jb 0x448661
lea esp, [esp]
mov edx, dword [ecx]
mov dword [esi], edx
sub eax, 4
add esi, 4
add ecx, 4
cmp eax, 4
jae 0x448640
test eax, eax
je 0x44866a
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x448656
jmp 0x44866a
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
dec eax
jne 0x448661
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x10
jae 0x448712
movzx edi, byte [ecx]
add edi, edi
add edi, edi
mov edx, esi
sub edx, edi
shr eax, 2
sub edx, eax
sub edx, 0x801
inc ecx
cmp edx, ebx
jb 0x448940
cmp edx, esi
jae 0x448940
mov eax, dword [esp + 0x14]
sub eax, esi
cmp eax, 3
jb 0x44892e
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
mov dl, byte [edx + 2]
mov byte [esi + 2], dl
add esi, 3
jmp 0x4486c8
mov ebx, dword [esp + 0x1c]
movzx eax, byte [ecx - 2]
and eax, 3
je 0x4488ef
mov edx, dword [esp + 0x14]
sub edx, esi
cmp edx, eax
jb 0x44892e
mov edx, ebp
sub edx, ecx
lea edi, [eax + 3]
cmp edx, edi
jb 0x4488f8
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
cmp eax, 1
jbe 0x44870e
mov dl, byte [ecx]
mov byte [esi], dl
inc esi
inc ecx
cmp eax, 2
jbe 0x44870e
mov al, byte [ecx]
mov byte [esi], al
inc esi
inc ecx
movzx eax, byte [ecx]
inc ecx
cmp eax, 0x40
jb 0x448775
mov edx, eax
shr edx, 2
and edx, 7
mov edi, esi
sub edi, edx
movzx edx, byte [ecx]
add edx, edx
add edx, edx
add edx, edx
sub edi, edx
shr eax, 5
dec edi
inc ecx
dec eax
cmp edi, ebx
jb 0x448940
cmp edi, esi
jae 0x448940
mov edx, dword [esp + 0x14]
sub edx, esi
lea ebx, [eax + 2]
cmp edx, ebx
jb 0x44892a
movzx edx, byte [edi]
mov byte [esi], dl
movzx edx, byte [edi + 1]
mov byte [esi + 1], dl
add esi, 2
add edi, 2
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec eax
jne 0x448767
jmp 0x4486c4
cmp eax, 0x20
jb 0x4487ce
and eax, 0x1f
jne 0x4487bb
cmp byte [ecx], al
jne 0x4487a6
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x44892e
mov edx, ebp
sub edx, ecx
cmp edx, 1
jb 0x4488f8
cmp byte [ecx], 0
je 0x448783
movzx edx, byte [ecx]
lea eax, [eax + edx + 0x1f]
inc ecx
mov edx, ebp
sub edx, ecx
cmp edx, 2
jb 0x4488f8
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
lea edi, [esi - 1]
sub edi, edx
add ecx, 2
jmp 0x448844
cmp eax, 0x10
jb 0x4488b0
mov edx, eax
and edx, 8
shl edx, 0xb
mov edi, esi
sub edi, edx
and eax, 7
jne 0x448828
cmp byte [ecx], al
jne 0x448813
lea esp, [esp]
add eax, 0xff
inc ecx
cmp eax, 0xfffffe01
ja 0x44892e
mov edx, ebp
sub edx, ecx
cmp edx, 1
jb 0x4488f8
cmp byte [ecx], 0
je 0x4487f0
movzx edx, byte [ecx]
lea eax, [eax + edx + 7]
inc ecx
mov edx, ebp
sub edx, ecx
cmp edx, 2
jb 0x4488f8
mov dx, word [ecx]
movzx edx, dx
shr edx, 2
sub edi, edx
add ecx, 2
cmp edi, esi
je 0x44890a
sub edi, 0x4000
cmp edi, ebx
jb 0x448940
cmp edi, esi
jae 0x448940
mov edx, dword [esp + 0x14]
sub edx, esi
lea ebx, [eax + 2]
cmp edx, ebx
jb 0x44892a
cmp eax, 6
jb 0x448755
mov edx, esi
sub edx, edi
cmp edx, 4
jl 0x448755
mov edx, dword [edi]
mov dword [esi], edx
add esi, 4
add edi, 4
sub eax, 2
mov edx, dword [edi]
mov dword [esi], edx
sub eax, 4
add esi, 4
add edi, 4
cmp eax, 4
jae 0x448888
test eax, eax
je 0x4486c4
mov dl, byte [edi]
mov byte [esi], dl
inc esi
inc edi
dec eax
jne 0x4488a2
jmp 0x4486c4
movzx edi, byte [ecx]
add edi, edi
add edi, edi
mov edx, esi
sub edx, edi
shr eax, 2
sub edx, eax
dec edx
inc ecx
cmp edx, ebx
jb 0x448940
cmp edx, esi
jae 0x448940
mov eax, dword [esp + 0x14]
sub eax, esi
cmp eax, 2
jb 0x44892e
mov al, byte [edx]
mov byte [esi], al
mov dl, byte [edx + 1]
mov byte [esi + 1], dl
add esi, 2
jmp 0x4486c8
mov edx, dword [esp + 0x14]
jmp 0x4485c1
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 edx, dword [esp + 0x20]
sub esi, ebx
mov dword [edx], esi
cmp ecx, ebp
jne 0x44891d
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 eax, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
ret
mov ecx, dword [esp + 0x20]
sub esi, ebx
pop edi
mov dword [ecx], esi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
ret