Function at 0x4d5f7b
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 0x4d6217
mov ebx, dword [ebp]
mov ecx, ebx
and ebx, 0xffffff
shr ecx, 0x18
cmp edi, ebx
jae 0x4d6217
cmp cl, 1
jne 0x4d5fb2
movzx edx, byte [edi + ebp + 8]
jmp 0x4d5fea
cmp cl, 2
jne 0x4d5fbe
movzx edx, word [ebp + edi*2 + 8]
jmp 0x4d5fea
cmp cl, 3
jne 0x4d5fdd
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 0x4d5fea
cmp cl, 4
jne 0x4d6217
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 0x4d60bf
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 0x4d608c
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x4d6087
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x4d606f
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x4d6071
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x4d60a1
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x4d60a1
mov dword [esi + 0xd], ecx
jmp 0x4d6093
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 0x4d616e
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 0x4d617c
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 0x4d614d
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x4d6148
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x4d6130
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x4d6132
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x4d6162
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x4d6162
mov dword [esi + 0xd], ecx
jmp 0x4d6154
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 0x4d616e
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 0x4d61df
mov ecx, dword [edi + edx]
add edx, 4
test ecx, ecx
jns 0x4d61da
lea eax, [ecx*8]
sar eax, 3
mov dword [esi + 0x19], eax
test ecx, 0x20000000
je 0x4d61c2
lea eax, [edi + edx]
add edx, 4
mov eax, dword [eax]
jmp 0x4d61c4
xor eax, eax
mov dword [esi + 0x15], eax
test ecx, 0x40000000
je 0x4d61f4
mov eax, dword [edi + edx]
add edx, 4
mov dword [esi + 0xd], eax
jmp 0x4d61f4
mov dword [esi + 0xd], ecx
jmp 0x4d61e6
mov dword [esi + 0xd], 0xffffffff
mov dword [esi + 0x15], 0
mov dword [esi + 0x19], 0xffffffff
test byte [ebx], 4
mov ecx, 0x11
je 0x4d620b
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