Function at 0x10005ad0
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], edi
mov dword [ebp - 4], ecx
movzx esi, word [ecx]
movzx eax, word [ecx + 2]
shl esi, 0x10
or esi, eax
mov eax, esi
and eax, 0xf800d000
cmp eax, 0xf0008000
jne 0x10005c67
mov eax, esi
mov ecx, esi
and eax, 0x800
and ecx, 0x2000
shl eax, 3
mov edx, esi
or eax, ecx
shr edx, 2
shl eax, 4
mov ecx, esi
and ecx, 0x7ff
and edx, 0x1000000
or eax, ecx
mov ecx, esi
and ecx, 0x3f0000
add eax, eax
or ecx, edx
shr ecx, 4
bswap edx
or eax, ecx
test edx, edx
je 0x10005b4d
or eax, 0xffe00000
mov ecx, dword [ebp - 4]
add ecx, 4
add eax, ecx
mov dword [edi], eax
mov dword [ebp - 0xc], eax
sub eax, ebx
lea edi, [eax - 4]
cmp edi, 0xfff00000
jl 0x10005bd0
cmp edi, 0xfffff
jg 0x10005bd0
mov eax, edi
mov edx, edi
shr eax, 1
mov ecx, edi
xor eax, esi
shl edx, 4
and eax, 0x7ff
shl ecx, 6
xor eax, esi
xor edx, eax
and edx, 0x3f0000
xor edx, eax
mov eax, edi
xor ecx, edx
shr eax, 5
and ecx, 0x4000000
shr edi, 8
xor ecx, edx
lea edx, [ebx + 2]
xor eax, ecx
and eax, 0x2000
xor eax, ecx
xor edi, eax
and edi, 0x800
xor edi, eax
je 0x10005bd3
mov eax, edi
shr eax, 0x10
mov word [ebx], ax
mov al, 4
mov word [edx], di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [ebx + 2]
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
or esi, 1
movzx ecx, word [eax]
movzx eax, word [eax + 2]
shl ecx, 0x10
or ecx, eax
and ecx, 0xfbc0d001
or ecx, 1
mov eax, ecx
shr eax, 0x10
mov word [ebx], ax
lea ebx, [edx + 2]
mov word [edx], cx
add edx, 4
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ecx + 4]
add eax, 0xfffffffc
mov dword [ecx + 4], eax
mov dword [eax], esi
mov esi, dword [ecx + 4]
mov ecx, 0xf85ff000
sub esi, edx
sub esi, 2
mov eax, esi
cdq
mov edi, eax
mov eax, 0xf8dff000
xor edi, edx
sub edi, edx
and edi, 0xffc
test esi, esi
cmovg ecx, eax
or edi, ecx
mov ecx, dword [ebp - 4]
mov eax, edi
shr eax, 0x10
mov word [ecx], ax
mov eax, 0xe001
mov word [ecx + 2], di
mov word [ebx], ax
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov dword [eax + 8], 6
mov al, 4
mov esp, ebp
pop ebp
ret 8
cmp eax, 0xf0009000
jne 0x10005d5f
mov edx, esi
mov eax, esi
and eax, 0x4000000
shr edx, 2
and edx, 0xffc000
or edx, eax
mov eax, esi
and eax, 0x7ff
shr edx, 2
add eax, eax
or edx, eax
mov ecx, edx
shr ecx, 0xb
xor ecx, esi
shr ecx, 0xd
not ecx
and ecx, 1
shl ecx, 0x17
or ecx, edx
mov edx, esi
mov eax, ecx
shr edx, 0xe
shr eax, 0xd
and edx, 1
xor eax, esi
shr eax, 0xb
not eax
and eax, 1
shl eax, 0x16
or eax, ecx
test eax, 0x1000000
je 0x10005cd0
or eax, 0xfe000000
mov ecx, dword [ebp - 4]
add ecx, 4
add eax, ecx
mov dword [ebp - 0xc], eax
mov dword [edi], eax
sub eax, ebx
push edx
sub eax, 4
push eax
push esi
call fcn.10005550
test eax, eax
je 0x10005d05
mov ecx, eax
pop edi
shr ecx, 0x10
mov word [ebx], cx
mov word [ebx + 2], ax
mov al, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xc]
add eax, 0xfffffffc
mov dword [edi + 4], eax
or ecx, 1
mov dword [eax], ecx
mov ecx, 0xf85ff000
mov esi, dword [edi + 4]
sub esi, ebx
sub esi, 2
mov eax, esi
cdq
mov edi, eax
mov eax, 0xf8dff000
xor edi, edx
sub edi, edx
and edi, 0xffc
test esi, esi
cmovg ecx, eax
or edi, ecx
mov eax, edi
shr eax, 0x10
mov word [ebx], ax
mov eax, dword [ebp - 8]
mov word [ebx + 2], di
pop edi
pop esi
mov dword [eax + 8], 0
mov al, 4
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp eax, 0xf000d000
jne 0x10005e2a
mov edx, esi
mov eax, esi
and eax, 0x4000000
shr edx, 2
and edx, 0xffc000
or edx, eax
mov eax, esi
and eax, 0x7ff
shr edx, 2
add eax, eax
or edx, eax
mov ecx, edx
shr ecx, 0xb
xor ecx, esi
shr ecx, 0xd
not ecx
and ecx, 1
shl ecx, 0x17
or ecx, edx
mov eax, ecx
shr eax, 0xd
xor eax, esi
shr eax, 0xb
not eax
and eax, 1
shl eax, 0x16
or eax, ecx
test eax, 0x1000000
je 0x10005dc0
or eax, 0xfe000000
mov ecx, dword [ebp - 4]
add ecx, 4
add ecx, eax
mov eax, dword [edi + 4]
mov dword [edi], ecx
add eax, 0xfffffffc
mov dword [edi + 4], eax
or ecx, 1
mov dword [eax], ecx
mov ecx, 0xf85fe000
mov esi, dword [edi + 4]
sub esi, ebx
sub esi, 2
mov eax, esi
cdq
mov edi, eax
mov eax, 0xf8dfe000
xor edi, edx
sub edi, edx
and edi, 0xffc
test esi, esi
cmovg ecx, eax
or edi, ecx
mov eax, edi
shr eax, 0x10
mov word [ebx], ax
mov eax, 0x47f0
mov word [ebx + 2], di
mov word [ebx + 4], ax
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov dword [eax + 8], 2
mov al, 4
mov esp, ebp
pop ebp
ret 8
and esi, 0xffffff00
cmp esi, 0xf3de8f00
jne 0x10005e3e
mov dword [edi], 0xffffffff
mov eax, dword [ecx]
pop edi
mov dword [ebx], eax
mov al, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8