Function at 0x448d30
Capabilities:
Decompress data using quicklz

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
mov ebp, edx
push edi
mov edi, ecx
test ebp, ebp
je 0x448fcc
mov ebx, dword [ebp]
mov ecx, ebx
and ebx, 0xffffff
shr ecx, 0x18
cmp edi, ebx
jae 0x448fcc
cmp cl, 1
jne 0x448d67
movzx edx, byte [edi + ebp + 8]
jmp 0x448d9f
cmp cl, 2
jne 0x448d73
movzx edx, word [ebp + edi*2 + 8]
jmp 0x448d9f
cmp cl, 3
jne 0x448d92
lea eax, [edi*2]
add eax, ebp
movzx edx, byte [edi + eax + 0xa]
movzx eax, word [edi + eax + 8]
shl edx, 8
or edx, eax
jmp 0x448d9f
cmp cl, 4
jne 0x448fcc
mov edx, dword [ebp + edi*4 + 8]
mov edi, ecx
imul edi, ebx
add edi, 8
add edi, ebp
mov ecx, dword [edi + edx]
lea ebx, [edi + edx]
mov dword [esp + 0x10], ecx
test cl, 1
je 0x448e74
shr ecx, 2
add edx, 5
xor cl, byte [esi]
and cl, 1
xor byte [esi], cl
mov eax, dword [ebx]
shr eax, 4
and eax, 0x1ff
mov dword [esi + 1], eax
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 5], ecx
mov eax, dword [ebx]
shr eax, 0xd
and eax, 0x7ff
add eax, dword [ebp + 4]
mov dword [esi + 9], eax
test byte [ebx], 8
je 0x448e41
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x448e3c
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x448e24
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x448e26
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x448e56
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x448e56
mov dword [esi + 0xd], ecx
jmp 0x448e48
mov dword [esi + 0xd], 0xffffffff
mov dword [esi + 0x15], 0
mov dword [esi + 0x19], 0xffffffff
test byte [ebx], 2
mov eax, dword [esp + 0x18]
jne 0x448f23
mov eax, dword [edi + edx]
mov ecx, 0x11
pop edi
mov dword [ecx + esi], eax
pop esi
pop ebp
pop ebx
pop ecx
ret
shr ecx, 3
xor cl, byte [esi]
and cl, 1
xor byte [esi], cl
test byte [esp + 0x10], 2
mov eax, dword [ebx]
jne 0x448f31
shr eax, 4
add edx, 7
and eax, 0xfff
mov dword [esi + 1], eax
movzx ecx, word [ebx + 4]
movzx eax, byte [ebx + 6]
and ecx, 0xfffffffe
shl ecx, 7
or ecx, eax
mov dword [esi + 5], ecx
movzx eax, word [ebx + 2]
add eax, dword [ebp + 4]
mov dword [esi + 9], eax
test byte [ebx + 4], 1
je 0x448f02
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x448efd
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x448ee5
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x448ee7
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x448f17
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x448f17
mov dword [esi + 0xd], ecx
jmp 0x448f09
mov dword [esi + 0xd], 0xffffffff
mov dword [esi + 0x15], 0
mov dword [esi + 0x19], 0xffffffff
test byte [ebx], 4
mov eax, dword [esp + 0x18]
jne 0x448f23
mov eax, dword [edi + edx]
mov ecx, 0x11
pop edi
mov dword [ecx + esi], eax
pop esi
pop ebp
pop ebx
pop ecx
ret
shr eax, 5
add edx, 0xc
mov dword [esi + 1], eax
mov eax, dword [ebx + 4]
mov dword [esi + 5], eax
mov eax, dword [ebx + 8]
add eax, dword [ebp + 4]
mov dword [esi + 9], eax
test byte [ebx], 0x10
je 0x448f94
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x448f8f
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x448f77
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x448f79
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x448fa9
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x448fa9
mov dword [esi + 0xd], ecx
jmp 0x448f9b
mov dword [esi + 0xd], 0xffffffff
mov dword [esi + 0x15], 0
mov dword [esi + 0x19], 0xffffffff
test byte [ebx], 4
mov ecx, 0x11
je 0x448fc0
mov eax, dword [esp + 0x18]
pop edi
mov dword [ecx + esi], eax
pop esi
pop ebp
pop ebx
pop ecx
ret
mov eax, dword [edi + edx]
pop edi
mov dword [ecx + esi], eax
pop esi
pop ebp
pop ebx
pop ecx
ret
and byte [esi], 0xfe
mov eax, 0x11
pop edi
mov dword [esi + 1], 0
mov dword [esi + 5], 0
mov dword [esi + 9], 0
mov dword [esi + 0xd], 0
mov dword [esi + 0x15], 0
mov dword [esi + 0x19], 0xffffffff
mov dword [eax + esi], 0x80004005
pop esi
pop ebp
pop ebx
pop ecx
ret