Function at 0x6d8c70
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 0x6d8ccb
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 0x6d8c81
jmp 0x6d9050
cmp edx, 3
jne 0x6d8e2a
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 0x6d8ce0
jmp 0x6d9050
cmp edx, 2
jne 0x6d8ecd
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 0x6d8e35
jmp 0x6d9050
cmp edx, 1
jne 0x6d9007
mov esi, 6
jmp 0x6d8ee0
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 0x6d8ee0
jmp 0x6d9050
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 0x6d9010
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 0x6d911a
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x6d90c5
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 0x6d9080
jmp 0x6d97e9
cmp edx, 2
jne 0x6d97e9
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 0x6d90d5
jmp 0x6d97e9
cmp edx, 3
jne 0x6d93d5
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x6d9279
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 0x6d9134
jmp 0x6d97e9
cmp edx, 2
jne 0x6d97e9
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 0x6d9290
jmp 0x6d97e9
cmp dword [ecx + 0x74], 2
jne 0x6d9526
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x6d9483
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 0x6d93f0
jmp 0x6d97e9
cmp edx, 2
jne 0x6d97e9
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 0x6d9493
jmp 0x6d97e9
cmp edx, 1
jne 0x6d9797
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x6d9665
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 0x6d9540
jmp 0x6d97e9
cmp edx, 2
jne 0x6d97e9
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 0x6d9675
jmp 0x6d97e9
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x6d97e9
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 0x6d97a0
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 0x6d9060
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret