Function at 0x301cbe20
Capabilities:
Decompress data using quicklz

Disassembly:
mov edx, dword [ecx + 0x74]
sub esp, 8
cmp edx, 4
push ebx
push ebp
push esi
push edi
jne 0x301cbe7b
xor esi, esi
mov dl, byte [eax + 1]
movzx di, byte [eax]
shr dl, 4
movzx dx, dl
add esi, 4
add eax, 3
shl edi, 4
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 4], dx
mov edi, dword [ecx + 0x3f6d4]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0xfff
cmp esi, 0x200
mov word [esi + edi - 2], dx
jl 0x301cbe31
jmp 0x301cc200
cmp edx, 3
jne 0x301cbfda
mov esi, 6
lea esp, [esp]
mov dl, byte [eax + 1]
movzx di, byte [eax]
shr dl, 5
movzx dx, dl
add esi, 0x10
add eax, 0xb
shl edi, 3
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 0x16], dx
mov dl, byte [eax - 9]
movzx di, byte [eax - 0xa]
shr dl, 2
movzx dx, dl
shl edi, 6
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x7ff
mov word [edi + esi - 0x14], dx
mov bl, byte [eax - 7]
movzx dx, byte [eax - 9]
shr bl, 7
movzx di, bl
shl edx, 9
or edx, edi
movzx di, byte [eax - 8]
and edx, 0x7ff
and edi, 0x3ff
shl edi, 1
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 0x12], dx
mov dl, byte [eax - 6]
movzx di, byte [eax - 7]
shr dl, 4
movzx dx, dl
shl edi, 4
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x7ff
mov word [esi + edi - 0x10], dx
mov bl, byte [eax - 5]
movzx dx, byte [eax - 6]
shr bl, 1
movzx di, bl
shl edx, 7
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x7ff
mov word [esi + edi - 0xe], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 5]
shr bl, 6
movzx di, bl
shl edx, 0xa
or edx, edi
movzx di, byte [eax - 4]
and edx, 0x7ff
and edi, 0x1ff
shl edi, 2
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 0xc], dx
mov dl, byte [eax - 2]
movzx di, byte [eax - 3]
shr dl, 3
movzx dx, dl
shl edi, 5
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x7ff
mov word [esi + edi - 0xa], dx
mov edi, dword [ecx + 0x3f6d4]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x7ff
cmp esi, 0x206
mov word [esi + edi - 8], dx
jl 0x301cbe90
jmp 0x301cc200
cmp edx, 2
jne 0x301cc07d
xor esi, esi
mov dl, byte [eax + 1]
movzx di, byte [eax]
shr dl, 6
movzx dx, dl
add esi, 8
add eax, 5
shl edi, 2
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 8], dx
mov dl, byte [eax - 3]
movzx di, byte [eax - 4]
shr dl, 4
movzx dx, dl
shl edi, 4
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x3ff
mov word [edi + esi - 6], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 2
movzx di, bl
shl edx, 6
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x3ff
mov word [edi + esi - 4], dx
movzx dx, byte [eax - 1]
mov dh, byte [eax - 2]
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x3ff
cmp esi, 0x200
mov word [esi + edi - 2], dx
jl 0x301cbfe5
jmp 0x301cc200
cmp edx, 1
jne 0x301cc1b7
mov esi, 6
jmp 0x301cc090
mov dl, byte [eax + 1]
movzx di, byte [eax]
shr dl, 7
movzx dx, dl
add esi, 0x10
add eax, 9
shl edi, 1
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
mov word [esi + edi - 0x16], dx
mov dl, byte [eax - 7]
movzx di, byte [eax - 8]
shr dl, 6
movzx dx, dl
shl edi, 2
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0x14], dx
mov bl, byte [eax - 6]
movzx dx, byte [eax - 7]
shr bl, 5
movzx di, bl
shl edx, 3
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0x12], dx
mov dl, byte [eax - 5]
movzx di, byte [eax - 6]
shr dl, 4
movzx dx, dl
shl edi, 4
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0x10], dx
mov dl, byte [eax - 4]
movzx di, byte [eax - 5]
shr dl, 3
movzx dx, dl
shl edi, 5
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0xe], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 4]
shr bl, 2
movzx di, bl
shl edx, 6
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0xc], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 1
movzx di, bl
shl edx, 7
or edx, edi
mov edi, dword [ecx + 0x3f6d4]
and edx, 0x1ff
mov word [esi + edi - 0xa], dx
mov edi, dword [ecx + 0x3f6d4]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x1ff
cmp esi, 0x206
mov word [esi + edi - 8], dx
jl 0x301cc090
jmp 0x301cc200
xor esi, esi
lea esp, [esp]
mov bl, byte [eax]
mov edx, dword [ecx + 0x3f6d4]
mov byte [esi + edx], bl
mov bl, byte [eax + 1]
mov edx, dword [ecx + 0x3f6d4]
mov byte [edx + esi + 1], bl
mov bl, byte [eax + 2]
mov edx, dword [ecx + 0x3f6d4]
mov byte [edx + esi + 2], bl
mov bl, byte [eax + 3]
mov edx, dword [ecx + 0x3f6d4]
mov byte [edx + esi + 3], bl
add esi, 4
add eax, 4
cmp esi, 0x100
jl 0x301cc1c0
xor edi, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov edi, edi
mov edx, dword [ecx + 0x78]
cmp edx, 4
jne 0x301cc2ca
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x301cc275
mov edi, 0x20
lea esp, [esp]
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 4
movzx dx, dl
add esi, 4
add eax, 3
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0xfff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc230
jmp 0x301cc999
cmp edx, 2
jne 0x301cc999
mov esi, edi
mov edi, 0x40
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 4
movzx dx, dl
add esi, 4
add eax, 3
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0xfff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc285
jmp 0x301cc999
cmp edx, 3
jne 0x301cc585
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x301cc429
mov edi, 8
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 5
movzx dx, dl
add esi, 0x10
add eax, 0xb
shl ebx, 3
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0x10], dx
mov dl, byte [eax - 9]
movzx bx, byte [eax - 0xa]
shr dl, 2
movzx dx, dl
shl ebx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 0xe], dx
mov bl, byte [eax - 7]
movzx dx, byte [eax - 9]
shr bl, 7
movzx bx, bl
shl edx, 9
or edx, ebx
movzx bx, byte [eax - 8]
and edx, 0x7ff
and ebx, 0x3ff
shl ebx, 1
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0xc], dx
mov dl, byte [eax - 6]
movzx bx, byte [eax - 7]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 0xa], dx
mov bl, byte [eax - 5]
movzx dx, byte [eax - 6]
shr bl, 1
movzx bx, bl
shl edx, 7
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 8], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 5]
shr bl, 6
movzx bx, bl
shl edx, 0xa
or edx, ebx
movzx bx, byte [eax - 4]
and edx, 0x7ff
and ebx, 0x1ff
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 6], dx
mov dl, byte [eax - 2]
movzx bx, byte [eax - 3]
shr dl, 3
movzx dx, dl
shl ebx, 5
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x7ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc2e4
jmp 0x301cc999
cmp edx, 2
jne 0x301cc999
mov esi, edi
mov edi, 0x10
lea esp, [esp]
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 5
movzx dx, dl
add esi, 0x10
add eax, 0xb
shl ebx, 3
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0x10], dx
mov dl, byte [eax - 9]
movzx bx, byte [eax - 0xa]
shr dl, 2
movzx dx, dl
shl ebx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 0xe], dx
mov bl, byte [eax - 7]
movzx dx, byte [eax - 9]
shr bl, 7
movzx bx, bl
shl edx, 9
or edx, ebx
movzx bx, byte [eax - 8]
and edx, 0x7ff
and ebx, 0x3ff
shl ebx, 1
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0xc], dx
mov dl, byte [eax - 6]
movzx bx, byte [eax - 7]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 0xa], dx
mov bl, byte [eax - 5]
movzx dx, byte [eax - 6]
shr bl, 1
movzx bx, bl
shl edx, 7
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 8], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 5]
shr bl, 6
movzx bx, bl
shl edx, 0xa
or edx, ebx
movzx bx, byte [eax - 4]
and edx, 0x7ff
and ebx, 0x1ff
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 6], dx
mov dl, byte [eax - 2]
movzx bx, byte [eax - 3]
shr dl, 3
movzx dx, dl
shl ebx, 5
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x7ff
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x7ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc440
jmp 0x301cc999
cmp dword [ecx + 0x74], 2
jne 0x301cc6d6
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x301cc633
mov edi, 0x10
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 6
movzx dx, dl
add esi, 8
add eax, 5
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 8], dx
mov dl, byte [eax - 3]
movzx bx, byte [eax - 4]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
mov word [esi + ebx - 6], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 2
movzx bx, bl
shl edx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
mov word [esi + ebx - 4], dx
movzx dx, byte [eax - 1]
mov dh, byte [eax - 2]
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc5a0
jmp 0x301cc999
cmp edx, 2
jne 0x301cc999
mov esi, edi
mov edi, 0x20
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 6
movzx dx, dl
add esi, 8
add eax, 5
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 8], dx
mov dl, byte [eax - 3]
movzx bx, byte [eax - 4]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
mov word [esi + ebx - 6], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 2
movzx bx, bl
shl edx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
mov word [esi + ebx - 4], dx
movzx dx, byte [eax - 1]
mov dh, byte [eax - 2]
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x3ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc643
jmp 0x301cc999
cmp edx, 1
jne 0x301cc947
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x301cc815
mov edi, 8
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 7
movzx dx, dl
add esi, 0x10
add eax, 9
shl ebx, 1
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0x10], dx
mov dl, byte [eax - 7]
movzx bx, byte [eax - 8]
shr dl, 6
movzx dx, dl
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xe], dx
mov bl, byte [eax - 6]
movzx dx, byte [eax - 7]
shr bl, 5
movzx bx, bl
shl edx, 3
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xc], dx
mov dl, byte [eax - 5]
movzx bx, byte [eax - 6]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xa], dx
mov dl, byte [eax - 4]
movzx bx, byte [eax - 5]
shr dl, 3
movzx dx, dl
shl ebx, 5
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 8], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 4]
shr bl, 2
movzx bx, bl
shl edx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 6], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 1
movzx bx, bl
shl edx, 7
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x1ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc6f0
jmp 0x301cc999
cmp edx, 2
jne 0x301cc999
mov esi, edi
mov edi, 0x10
mov dl, byte [eax + 1]
movzx bx, byte [eax]
shr dl, 7
movzx dx, dl
add esi, 0x10
add eax, 9
shl ebx, 1
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
mov word [esi + ebx - 0x10], dx
mov dl, byte [eax - 7]
movzx bx, byte [eax - 8]
shr dl, 6
movzx dx, dl
shl ebx, 2
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xe], dx
mov bl, byte [eax - 6]
movzx dx, byte [eax - 7]
shr bl, 5
movzx bx, bl
shl edx, 3
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xc], dx
mov dl, byte [eax - 5]
movzx bx, byte [eax - 6]
shr dl, 4
movzx dx, dl
shl ebx, 4
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 0xa], dx
mov dl, byte [eax - 4]
movzx bx, byte [eax - 5]
shr dl, 3
movzx dx, dl
shl ebx, 5
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 8], dx
mov bl, byte [eax - 3]
movzx dx, byte [eax - 4]
shr bl, 2
movzx bx, bl
shl edx, 6
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 6], dx
mov bl, byte [eax - 2]
movzx dx, byte [eax - 3]
shr bl, 1
movzx bx, bl
shl edx, 7
or edx, ebx
mov ebx, dword [ecx + 0x3f6d8]
and edx, 0x1ff
mov word [esi + ebx - 4], dx
mov ebx, dword [ecx + 0x3f6d8]
xor edx, edx
mov dh, byte [eax - 2]
mov dl, byte [eax - 1]
and edx, 0x1ff
dec edi
mov word [esi + ebx - 2], dx
jne 0x301cc825
jmp 0x301cc999
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x301cc999
xor esi, esi
mov bl, byte [eax]
mov edi, dword [ecx + 0x3f6d8]
inc eax
lea edx, [esi + ebp]
mov byte [edx + edi], bl
mov bl, byte [eax]
mov edi, dword [ecx + 0x3f6d8]
lea edx, [esi + ebp]
mov byte [edx + edi + 1], bl
mov bl, byte [eax + 1]
mov edi, dword [ecx + 0x3f6d8]
inc eax
lea edx, [esi + ebp]
mov byte [edx + edi + 2], bl
mov bl, byte [eax + 1]
mov edi, dword [ecx + 0x3f6d8]
inc eax
lea edx, [esi + ebp]
add esi, 4
inc eax
cmp esi, 0x40
mov byte [edx + edi + 3], bl
jl 0x301cc950
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add esi, 0x80
add edi, 0x100
add ebp, 0x40
cmp esi, 0x100
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
jl 0x301cc210
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret