Function at 0x30227a00
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 0x30227a5b
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 0x30227a11
jmp 0x30227de0
cmp edx, 3
jne 0x30227bba
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 0x30227a70
jmp 0x30227de0
cmp edx, 2
jne 0x30227c5d
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 0x30227bc5
jmp 0x30227de0
cmp edx, 1
jne 0x30227d97
mov esi, 6
jmp 0x30227c70
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 0x30227c70
jmp 0x30227de0
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 0x30227da0
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 0x30227eaa
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x30227e55
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 0x30227e10
jmp 0x30228579
cmp edx, 2
jne 0x30228579
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 0x30227e65
jmp 0x30228579
cmp edx, 3
jne 0x30228165
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x30228009
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 0x30227ec4
jmp 0x30228579
cmp edx, 2
jne 0x30228579
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 0x30228020
jmp 0x30228579
cmp dword [ecx + 0x74], 2
jne 0x302282b6
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x30228213
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 0x30228180
jmp 0x30228579
cmp edx, 2
jne 0x30228579
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 0x30228223
jmp 0x30228579
cmp edx, 1
jne 0x30228527
mov edx, dword [ecx + 0x40]
cmp edx, 1
jne 0x302283f5
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 0x302282d0
jmp 0x30228579
cmp edx, 2
jne 0x30228579
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 0x30228405
jmp 0x30228579
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x30228579
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 0x30228530
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 0x30227df0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret