Function at 0x4f2e50
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
mov byte [ebp - 1], 0
push edi
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x17
mov edx, ecx
add eax, eax
shr edx, 0x10
mov dword [ebp - 0x10], eax
and edx, 0xf
mov eax, ecx
mov byte [ebp - 2], 0
and eax, 0x600000
mov dword [ebp - 8], ebx
cmp eax, 0x200000
jne 0x4f2e8d
inc edx
mov eax, ecx
shr eax, 0xd
and eax, 7
mov dword [ebp - 0xc], eax
je 0x4f2e9e
inc eax
mov dword [ebp - 0xc], eax
lea edi, [eax + edx]
test edi, edi
je 0x4f2eb0
mov eax, ecx
shr eax, 0x14
and eax, 1
lea edi, [edi + eax*8]
lea eax, [edi + 1]
shr ecx, 2
and eax, 0xfffffffe
and ecx, 0x7ff
sub dword [ebp - 0x10], eax
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
and eax, 0xffe00000
or ecx, eax
mov eax, dword [ebp + 0xc]
lea edi, [eax + 4]
mov dword [ebp - 0x1c], edi
mov dword [eax], ecx
lea ecx, [eax + 5]
mov byte [edi], 0xe4
mov ebx, dword [ebx + 4]
mov eax, ebx
and eax, 0x600000
cmp eax, 0x400000
jne 0x4f2efd
mov ebx, dword [ebp - 8]
mov byte [ecx], 0xfc
inc ecx
mov ebx, dword [ebx + 4]
test edx, edx
je 0x4f3063
mov eax, ebx
mov edx, ebx
and eax, 0xf0000
cmp eax, 0x10000
jne 0x4f2f31
and ebx, 0x600000
cmp ebx, 0x200000
jne 0x4f2f31
mov eax, dword [ebp - 8]
mov byte [ecx], 1
inc ecx
mov byte [ebp - 1], 1
mov edx, dword [eax + 4]
mov eax, edx
xor ebx, ebx
shr eax, 0x11
and eax, 7
add eax, eax
je 0x4f2faa
mov edi, dword [ebp - 8]
lea eax, [ecx + 2]
mov edx, ebx
and edx, 0xf
mov dword [ebp - 0x18], eax
lea eax, [esi + 2]
shl edx, 6
mov dword [ebp - 0x14], eax
and edx, 0xffffffc0
cmp byte [ebp - 1], 0
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
jne 0x4f2f7c
mov eax, dword [ebp + 8]
dec eax
mov byte [ebp - 1], 1
and eax, 0x3f
or eax, edx
or eax, 0xffffcc00
movzx eax, ax
jmp 0x4f2f8a
and esi, 0x3f
or esi, edx
or esi, 0xffffc800
movzx eax, si
mov esi, dword [ebp - 0x14]
add ebx, 2
mov word [ecx], ax
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [ebp - 0x18]
shr eax, 0x11
and eax, 7
add eax, eax
cmp ebx, eax
jb 0x4f2f42
mov edi, dword [ebp - 0x1c]
mov eax, edx
and eax, 0x600000
test edx, 0x10000
je 0x4f3033
movzx edx, word [ecx]
cmp eax, 0x200000
jne 0x4f2fed
mov eax, ebx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
and edx, 0x3f
and eax, 7
or eax, 0xffffff58
shl eax, 6
or eax, edx
movzx edx, ax
mov eax, 2
add esi, eax
mov word [ecx], dx
add ecx, eax
jmp 0x4f3063
and ebx, 0xf
mov eax, edx
cmp byte [ebp - 1], 0
mov dword [ebp - 0x20], eax
jne 0x4f3011
mov eax, dword [ebp + 8]
or ebx, 0xfffffea0
dec eax
shl ebx, 5
mov byte [ebp - 1], 1
and eax, 0x1f
jmp 0x4f301f
or ebx, 0xffffff40
mov eax, esi
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, 1
movzx edx, bx
add esi, eax
mov word [ecx], dx
add ecx, 2
jmp 0x4f3063
cmp eax, 0x200000
jne 0x4f3063
cmp byte [ebp - 1], 0
jne 0x4f3052
mov eax, dword [ebp + 8]
dec eax
mov byte [ebp - 1], 1
and eax, 0x1f
or eax, 0xffffd560
jmp 0x4f305c
mov eax, esi
and eax, 0x3f
or eax, 0xffffd2c0
mov word [ecx], ax
add ecx, 2
inc esi
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4f3134
mov edx, eax
xor ebx, ebx
and edx, 0xfffffffe
mov dword [ebp - 0x20], edx
jbe 0x4f30e2
mov edi, dword [ebp + 8]
lea ecx, [ecx]
lea eax, [ecx + 2]
mov edx, ebx
and edx, 7
mov dword [ebp - 0x14], eax
lea eax, [esi + 2]
shl edx, 6
mov dword [ebp - 0x18], eax
and edx, 0xffffffc0
cmp byte [ebp - 1], 0
movzx eax, word [ecx]
mov dword [ebp - 0x24], eax
jne 0x4f30b9
lea eax, [edi - 1]
mov byte [ebp - 1], 1
and eax, 0x3f
or eax, edx
or eax, 0xffffda00
movzx eax, ax
jmp 0x4f30c7
and esi, 0x3f
or edx, esi
or edx, 0xffffd800
movzx eax, dx
mov edx, dword [ebp - 0x18]
add ebx, 2
mov esi, edx
mov word [ecx], ax
mov eax, dword [ebp - 0x14]
mov ecx, eax
cmp ebx, dword [ebp - 0x20]
jl 0x4f3080
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
test al, 1
mov al, byte [ebp - 1]
je 0x4f3137
and ebx, 7
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
test al, al
jne 0x4f311f
mov edx, dword [ebp + 8]
mov esi, 0xffffff00
mov byte [ecx + 1], 0xde
dec edx
mov ax, word [ecx]
and edx, 0x1f
and ax, si
shl ebx, 5
or dx, ax
mov al, 1
or dx, bx
mov word [ecx], dx
mov ecx, dword [ebp - 0x20]
jmp 0x4f3137
or ebx, 0xffffff70
and esi, 0x3f
shl ebx, 6
or ebx, esi
mov word [ecx], bx
mov ecx, edx
jmp 0x4f3137
mov al, byte [ebp - 1]
mov ebx, dword [ebp - 8]
mov edx, dword [ebx + 4]
test edx, 0x100000
je 0x4f3155
test al, al
je 0x4f3155
mov dword [ecx], 0xe3e3e3e3
add ecx, 4
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4f3246
and edx, 0x600000
cmp edx, 0x600000
je 0x4f31c9
cmp edx, 0x400000
je 0x4f31c9
lea esi, [eax*8]
mov eax, esi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp esi, 0x4000
jl 0x4f31a8
mov byte [ecx + 3], 0xe0
mov edx, dword [ecx]
xor edx, eax
and edx, 0xffffff
xor dword [ecx], edx
add ecx, 4
jmp 0x4f3246
cmp esi, 0x200
jl 0x4f31c2
and eax, 0x7ff
or eax, 0xffffc000
mov word [ecx], ax
jmp 0x4f3243
and al, 0x1f
mov byte [ecx], al
inc ecx
jmp 0x4f3246
lea esi, [eax*8]
cmp eax, 0x40
mov eax, esi
cdq
jg 0x4f31ea
and edx, 7
add eax, edx
sar eax, 3
dec al
and al, 0x3f
or al, 0x80
mov byte [ecx], al
jmp 0x4f323b
and edx, 0xf
add eax, edx
sar eax, 4
cmp esi, 0x4000
jl 0x4f3211
mov byte [ecx + 3], 0xe0
mov edx, dword [ecx]
xor edx, eax
mov eax, 4
and edx, 0xffffff
xor dword [ecx], edx
jmp 0x4f3236
cmp esi, 0x200
jl 0x4f322d
and eax, 0x7ff
or eax, 0xffffc000
mov word [ecx], ax
mov eax, 2
jmp 0x4f3236
and al, 0x1f
mov byte [ecx], al
mov eax, 1
add ecx, eax
mov byte [ecx], 0x40
mov byte [ecx + 1], 0xe1
mov byte [ebp - 2], 1
add ecx, 2
mov edx, dword [ebx + 4]
mov eax, edx
and al, 3
cmp al, 2
jne 0x4f3258
mov byte [ecx], 0xe5
inc ecx
mov edx, dword [ebx + 4]
mov ebx, dword [ebp + 0xc]
and dl, 3
mov eax, dword [ebx]
cmp dl, 2
jne 0x4f326c
and eax, 0xf81fffff
jmp 0x4f3288
or eax, 0x200000
cmp byte [ebp - 2], 0
je 0x4f3283
and eax, 0xf87fffff
or eax, 0x400000
jmp 0x4f3288
and eax, 0xf83fffff
mov esi, ecx
mov dword [ebx], eax
sub esi, edi
cmp esi, 1
jbe 0x4f32b0
lea edx, [ecx - 1]
cmp edi, edx
jae 0x4f32b0
lea ebx, [ebx]
mov al, byte [edx]
mov cl, byte [edi]
mov byte [edi], al
inc edi
mov byte [edx], cl
dec edx
cmp edi, edx
jb 0x4f32a0
mov eax, dword [ebx]
lea ecx, [esi + 3]
shl ecx, 0x19
xor ecx, eax
lea eax, [esi + 3]
and ecx, 0x7ffffff
shl eax, 0x19
pop edi
xor ecx, eax
pop esi
mov dword [ebx], ecx
pop ebx
mov esp, ebp
pop ebp
ret