Function at 0x10002fc0
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
movzx edx, word [eax]
movzx ecx, word [eax + 2]
shl edx, 0x10
or edx, ecx
mov ecx, edx
push ebx
mov ebx, dword [ebp + 0xc]
and ecx, 0xf800d000
push esi
cmp ecx, 0xf0008000
jne 0x1000318e
mov eax, edx
and eax, 0x800
add eax, eax
add eax, eax
add eax, eax
mov ecx, edx
and ecx, 0x2000
or eax, ecx
shl eax, 4
mov ecx, edx
and ecx, 0x7ff
or eax, ecx
mov ecx, edx
shr ecx, 2
and ecx, 0x1000000
mov esi, edx
and esi, 0x3f0000
or ecx, esi
shr ecx, 4
add eax, eax
or eax, ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 4]
and ecx, 0xffe00001
or eax, ecx
test eax, 0x100000
je 0x1000304a
or eax, 0xffe00000
mov ecx, dword [ebp + 8]
lea esi, [eax + ecx + 4]
mov ecx, esi
sub ecx, ebx
sub ecx, 4
lea eax, [ecx + 0x100000]
mov dword [edi], esi
cmp eax, 0x1fffff
ja 0x100030c6
mov eax, ecx
shr eax, 1
xor eax, edx
and eax, 0x7ff
xor eax, edx
mov edx, ecx
shl edx, 4
xor edx, eax
and edx, 0x3f0000
xor eax, edx
mov edx, ecx
shl edx, 6
xor edx, eax
and edx, 0x4000000
xor eax, edx
mov edx, ecx
shr edx, 5
xor edx, eax
and edx, 0x2000
shr ecx, 8
xor eax, edx
xor ecx, eax
and ecx, 0x800
xor eax, ecx
je 0x100030c6
mov ecx, eax
shr ecx, 0x10
mov word [ebx], cx
mov word [ebx + 2], ax
pop esi
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 8]
movzx eax, word [ecx]
movzx edx, word [ecx + 2]
shl eax, 0x10
or eax, edx
and eax, 0xfffff801
or eax, 1
and eax, 0xfbc0d7ff
mov ecx, eax
shr ecx, 0x10
mov word [ebx], cx
mov word [ebx + 2], ax
add dword [edi + 4], 0xfffffffc
mov eax, dword [edi + 4]
lea ecx, [ebx + 2]
add ecx, 2
or esi, 1
mov dword [eax], esi
mov esi, dword [edi + 4]
mov dword [ebp + 8], ecx
add ecx, 2
sub esi, ecx
sub esi, 2
mov eax, esi
cdq
xor eax, edx
sub eax, edx
and eax, 0xfff
mov edx, eax
and edx, 3
mov ebx, eax
sub ebx, edx
xor ebx, eax
xor edx, edx
and ebx, 0xfff
xor eax, ebx
test esi, esi
setg dl
and eax, 0xfff
add ecx, 4
and edx, 1
shl edx, 0x17
or eax, edx
or eax, 0xf85ff000
mov edx, eax
shr edx, 0x10
mov word [ecx - 4], dx
mov edx, dword [ebp + 8]
mov word [ecx - 2], ax
sub ecx, dword [ebp + 0xc]
mov eax, 0xe001
mov word [edx], ax
cmp ecx, 4
jbe 0x1000317c
lea eax, [ecx - 4]
movzx eax, ax
pop esi
mov dword [edi + 8], eax
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
movzx eax, ax
pop esi
mov dword [edi + 8], eax
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp ecx, 0xf0009000
jne 0x100031a6
push edi
mov esi, ebx
call fcn.10002ed0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp ecx, 0xf000d000
jne 0x10003217
lea ecx, [ebp - 4]
push ecx
push edx
mov dword [ebp + 0xc], ebx
call fcn.100027c0
mov edx, dword [ebp + 8]
add dword [edi + 4], 0xfffffffc
mov ecx, dword [edi + 4]
lea eax, [eax + edx + 4]
mov dword [edi], eax
or eax, 1
mov dword [ecx], eax
mov eax, dword [edi + 4]
push 0xe
lea ecx, [ebp + 0xc]
call fcn.100028e0
mov eax, dword [ebp + 0xc]
mov ecx, 0x47f0
mov word [eax], cx
add eax, 2
sub eax, ebx
cmp eax, 4
jbe 0x10003205
add eax, 0xfffffffc
movzx edx, ax
pop esi
mov dword [edi + 8], edx
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
movzx edx, ax
pop esi
mov dword [edi + 8], edx
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
and edx, 0xffffff00
cmp edx, 0xf3de8f00
jne 0x1000322b
mov dword [edi], 0xffffffff
mov eax, dword [eax]
mov dword [ebx], eax
pop esi
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8