Function at 0x4a3b24
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d12e8
mov eax, dword fs:[0]
push eax
mov eax, 0x206c
call fcn.00401910
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
xor edx, edx
mov dword [ebp - 0x2058], ebx
mov dword [ebp - 0x2068], edx
mov dword [ebp - 0x2060], edx
mov dword [ebp - 0x205c], edx
mov dword [ebp - 0x2064], edx
mov dword [ebp - 0x2050], edx
mov dword [ebp - 0x2054], edx
mov dword [ebp - 0x204c], edx
mov dword [ebp - 4], edx
push 5
pop edi
cmp byte [ebx + 0xb064], dl
je 0x4a3c69
mov ecx, dword [ebx + 0xb068]
xor eax, eax
add ecx, 8
adc eax, edx
cmp dword [ebx + 0xb04c], eax
jl 0x4a3c69
jg 0x4a3bc3
cmp dword [ebx + 0xb048], ecx
jbe 0x4a3c69
mov ecx, ebx
mov byte [ebp - 0x2041], 1
call fcn.004a440c
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push 0x10
push ecx
mov ecx, ebx
call dword [eax + 8]
cmp eax, 0x10
je 0x4a3bef
mov ecx, ebx
call fcn.004a2f58
jmp 0x4a43e3
lea eax, [ebp - 0x18]
push eax
push 0
push dword [ebx + 0x65d0]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebx + 0x65d4]
push eax
mov eax, dword [ebx + 0x6534]
lea esi, [ebx + 0x1024]
add eax, 0x4020
mov ecx, esi
push eax
push edi
push 0
call fcn.004a7881
cmp byte [ebx + 0x65cc], 0
je 0x4a3c61
push 8
lea eax, [ebx + 0x65e4]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.msvcrt.dll_memcmp]
add esp, 0xc
test eax, eax
je 0x4a3c61
mov byte [ebx + 0xb06d], 1
inc dword [0x511834]
mov dword [0x511830], 0xb
jmp 0x4a43e3
mov dword [ebp - 0x204c], esi
jmp 0x4a3c6f
mov byte [ebp - 0x2041], dl
push 7
lea ecx, [ebp - 0x2068]
call fcn.004acd87
cmp eax, 7
jb 0x4a3be3
lea ecx, [ebp - 0x2068]
mov byte [ebx + 0x6564], 0
call fcn.004ace85
push 4
mov dword [ebx + 0x6554], eax
pop eax
cmp dword [ebp - 0x2054], eax
jbe 0x4a3cbd
mov ecx, dword [ebp - 0x2068]
test byte [ecx + eax], 0x80
je 0x4a3d1f
inc eax
cmp eax, dword [ebp - 0x2054]
jb 0x4a3cae
xor esi, esi
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov ecx, eax
or ecx, edx
je 0x4a43dc
test esi, esi
je 0x4a43dc
lea ecx, [esi - 3]
add esi, 4
add esi, eax
add ecx, eax
mov dword [ebp - 0x2048], esi
js 0x4a43dc
cmp esi, 7
jb 0x4a43dc
push ecx
lea ecx, [ebp - 0x2068]
call fcn.004acd87
mov eax, dword [ebp - 0x2054]
cmp eax, esi
jb 0x4a3be3
cmp eax, 4
ja 0x4a3d24
or edi, 0xffffffff
jmp 0x4a3d4a
lea esi, [eax - 3]
jmp 0x4a3cbf
or dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x18]
add eax, 0xfffffffc
mov dword [ebp - 0x18], vtable.micro::qsec::QCRC32.0
push eax
mov eax, dword [ebp - 0x2068]
add eax, 4
push eax
call fcn.004bb730
mov edi, dword [ebp - 0x14]
not edi
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov esi, eax
lea ecx, [ebp - 0x2068]
mov dword [ebx + 0x6558], esi
call fcn.004acee7
mov dword [ebx + 0x655c], eax
shr eax, 2
and al, 1
mov dword [ebx + 0x654c], esi
cmp dword [ebx + 0x6554], edi
mov byte [ebx + 0x6564], al
mov eax, dword [ebp - 0x2048]
mov dword [ebx + 0x6560], eax
setne al
test al, al
je 0x4a3dc7
mov ecx, ebx
call fcn.004a2f8e
push 3
mov ecx, 0x511830
mov byte [ebx + 0xb06c], 1
call fcn.004a8593
cmp byte [ebp - 0x2041], 0
je 0x4a3dc7
mov byte [ebx + 0xb06d], 1
jmp 0x4a43e3
xor eax, eax
and dword [ebp - 0x2070], eax
test byte [ebx + 0x655c], 1
mov dword [ebp - 0x2074], eax
je 0x4a3e0d
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov ecx, edx
mov dword [ebp - 0x2074], eax
mov dword [ebp - 0x2070], ecx
test ecx, ecx
jb 0x4a3e0d
ja 0x4a43dc
cmp eax, dword [ebx + 0x6560]
jae 0x4a43dc
xor esi, esi
xor edi, edi
test byte [ebx + 0x655c], 2
mov dword [ebp - 0x206c], esi
mov dword [ebp - 0x2048], edi
je 0x4a3e41
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov esi, eax
mov dword [ebp - 0x2048], edx
mov dword [ebp - 0x206c], esi
mov edi, edx
push dword [ebx + 0x6560]
mov ecx, ebx
call fcn.004a2cd4
mov edx, dword [ebx + 0x6558]
xor ecx, ecx
add eax, esi
adc ecx, edi
add eax, dword [ebx + 0xb048]
mov dword [ebx + 0xb050], eax
adc ecx, dword [ebx + 0xb04c]
xor eax, eax
inc eax
mov dword [ebx + 0xb054], ecx
cmp edx, eax
je 0x4a42d6
jle 0x4a43ab
cmp edx, 3
jle 0x4a3ff1
push 5
cmp edx, 4
je 0x4a3ed3
pop eax
cmp edx, eax
jne 0x4a43ab
mov ecx, eax
lea edi, [ebx + 0x88f0]
lea esi, [ebx + 0x6554]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2068]
call fcn.004acee7
and al, 1
mov byte [ebx + 0x890c], al
xor eax, eax
mov word [ebx + 0x890e], ax
mov byte [ebx + 0x890d], al
jmp 0x4a43ab
pop ecx
lea edi, [ebx + 0x65b8]
lea esi, [ebx + 0x6554]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2068]
call fcn.004acee7
test eax, eax
je 0x4a3f02
push 1
mov ecx, 0x511830
call fcn.004a8593
jmp 0x4a43e3
lea ecx, [ebp - 0x2068]
call fcn.004acee7
and al, 1
lea ecx, [ebp - 0x2068]
mov byte [ebx + 0x65cc], al
call fcn.004ace37
movzx eax, al
mov dword [ebx + 0x65d0], eax
cmp eax, 0x18
ja 0x4a3ef1
push 0x10
lea eax, [ebx + 0x65d4]
push eax
call fcn.004acf54
cmp byte [ebx + 0x65cc], 0
je 0x4a3fe5
push 8
lea esi, [ebx + 0x65e4]
push esi
lea ecx, [ebp - 0x2068]
call fcn.004acf54
push 4
lea eax, [ebp - 0x2048]
push eax
lea ecx, [ebp - 0x2068]
call fcn.004acf54
xor eax, eax
mov dword [ebp - 0x1c], vtable.micro::qsec::QBCrypt.0
push eax
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push 0x4f40fc
push eax
call dword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
xor eax, eax
mov dword [ebp - 0x1c], vtable.micro::qsec::QSha256.0
push eax
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], eax
call fcn.004bce4f
push 8
push esi
lea ecx, [ebp - 0x1c]
call fcn.004bcf0a
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004bceb0
push 4
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2048]
push eax
call dword [sym.imp.msvcrt.dll_memcmp]
add esp, 0xc
lea ecx, [ebp - 0x1c]
neg eax
sbb al, al
inc al
mov byte [ebx + 0x65cc], al
call fcn.004bce39
mov byte [ebx + 0xb064], 1
jmp 0x4a43ab
cmp edx, 2
lea eax, [ebx + 0x65f0]
lea edi, [ebx + 0x8930]
cmove edi, eax
push ecx
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.004ab664
push 5
pop eax
mov ecx, eax
lea esi, [ebx + 0x6554]
mov eax, dword [ebp - 0x206c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x2068]
cmp dword [ebx + 0x6558], 2
mov esi, dword [ebp - 0x2048]
sete byte [ebp - 0x2041]
mov byte [edi + 0x10e9], 1
mov dword [edi + 0x1048], eax
mov dword [edi + 0x104c], esi
call fcn.004acee7
lea ecx, [ebp - 0x2068]
mov dword [ebp - 0x2048], eax
mov dword [edi + 0x1084], eax
call fcn.004acee7
mov ecx, dword [ebp - 0x2048]
shr ecx, 3
and cl, 1
mov dword [edi + 0x1050], eax
mov dword [edi + 0x1054], edx
mov byte [edi + 0x108a], cl
je 0x4a409e
mov eax, Ordinal_1
mov dword [edi + 0x1050], eax
mov dword [edi + 0x1054], eax
mov edx, dword [edi + 0x1054]
mov ecx, dword [edi + 0x1050]
cmp esi, edx
jl 0x4a40ba
mov eax, dword [ebp - 0x206c]
jg 0x4a40be
cmp eax, ecx
ja 0x4a40be
mov eax, ecx
mov esi, edx
lea ecx, [ebp - 0x2068]
mov dword [edi + 0x1058], eax
mov dword [edi + 0x105c], esi
call fcn.004acee7
test byte [ebp - 0x2048], 2
mov dword [edi + 0x1c], eax
je 0x4a4110
lea ecx, [ebp - 0x2068]
call fcn.004ace85
xor ecx, ecx
add eax, 0xb6109100
push 0
push 0x989680
adc ecx, 2
push ecx
push eax
call fcn.00401b00
mov dword [edi + 0x1030], eax
mov dword [edi + 0x1034], edx
and dword [edi + 0x1060], 0
test byte [edi + 0x1084], 4
je 0x4a413b
lea ecx, [ebp - 0x2068]
mov dword [edi + 0x1060], 1
call fcn.004ace85
mov dword [edi + 0x1064], eax
and dword [edi + 0x10f0], 0
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov ecx, eax
mov dword [ebp - 0x2048], eax
shr ecx, 7
and al, 0x3f
and cl, 7
mov byte [edi + 0x19], al
mov byte [edi + 0x1a], cl
lea ecx, [ebp - 0x2068]
call fcn.004acee7
lea ecx, [ebp - 0x2068]
mov byte [ebp - 0x2042], al
mov byte [edi + 0x18], al
call fcn.004acee7
mov ecx, dword [ebx + 0x655c]
xor edx, edx
shr ecx, 6
inc edx
mov dword [ebp - 0x14], eax
and cl, dl
mov al, byte [ebp - 0x2042]
mov byte [edi + 0x10e8], cl
mov dword [edi + 0x10ec], 2
cmp al, dl
jne 0x4a41b5
mov dword [edi + 0x10ec], edx
jmp 0x4a41c0
test al, al
jne 0x4a41c0
and dword [edi + 0x10ec], 0
mov ecx, dword [edi + 8]
mov eax, ecx
shr eax, 3
and al, dl
mov byte [edi + 0x1088], al
mov eax, ecx
shr ecx, 5
shr eax, 4
and cl, dl
and al, dl
mov byte [edi + 0x10ea], cl
cmp byte [ebp - 0x2041], 0
mov ecx, dword [ebp - 0x2048]
mov byte [edi + 0x1089], al
je 0x4a41fc
test cl, 0x40
jne 0x4a41fe
xor edx, edx
shr ecx, 0xa
mov eax, 0x20000
and ecx, 0xf
mov byte [edi + 0x10e0], dl
mov dl, byte [edi + 0x1084]
mov esi, 0x1fff
shl eax, cl
and dl, 1
xor ecx, ecx
mov byte [edi + 0x10e1], dl
test dl, dl
push 5
cmovne eax, ecx
mov dword [edi + 0x10e4], eax
xor eax, eax
cmp byte [edi + 0x108b], al
pop ecx
cmovne eax, ecx
cmp dword [ebp - 0x14], esi
mov dword [edi + 0x108c], eax
lea ecx, [ebp - 0x2068]
cmovb esi, dword [ebp - 0x14]
lea eax, [ebp - 0x2040]
push esi
push eax
call fcn.004acf54
mov byte [ebp + esi - 0x2040], 0
lea ecx, [ebp - 0x2040]
lea esi, [edi + 0x20]
push 0x7ff
mov edx, esi
call fcn.004aec17
pop ecx
mov ecx, dword [ebp - 0x2074]
mov eax, ecx
or eax, dword [ebp - 0x2070]
je 0x4a429e
push edi
push ecx
lea eax, [ebp - 0x2068]
mov ecx, ebx
push eax
call fcn.004a4559
cmp byte [ebp - 0x2041], 0
je 0x4a42b4
push edi
mov ecx, ebx
call fcn.004a4bb2
jmp 0x4a43ab
push 0x4f39d4
push esi
call dword [sym.imp.msvcrt.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x4a43ab
mov byte [ebx + 0xb05e], 1
jmp 0x4a43ab
lea edx, [ebx + 0x6578]
mov ecx, edx
call fcn.004ab6f4
push 5
pop eax
mov ecx, eax
lea esi, [ebx + 0x6554]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2068]
call fcn.004acee7
mov edx, eax
mov byte [ebx + 0xb060], 0
xor eax, eax
mov cl, dl
inc eax
and cl, al
mov byte [ebp - 0x2042], cl
mov byte [ebx + 0xb05d], cl
mov ecx, edx
shr ecx, 2
and cl, al
mov byte [ebx + 0xb05c], cl
mov ecx, edx
shr ecx, 4
and cl, al
mov eax, edx
mov byte [ebx + 0xb05f], cl
xor ecx, ecx
inc ecx
shr eax, 3
and al, cl
mov byte [ebx + 0xb062], cl
mov byte [ebx + 0xb063], al
test dl, 2
je 0x4a4364
lea ecx, [ebp - 0x2068]
call fcn.004acee7
xor ecx, ecx
mov dword [ebx + 0xb080], eax
inc ecx
jmp 0x4a436b
and dword [ebx + 0xb080], 0
cmp byte [ebp - 0x2042], 0
je 0x4a437d
cmp dword [ebx + 0xb080], 0
je 0x4a437f
xor ecx, ecx
mov byte [ebx + 0xb061], cl
mov ecx, dword [ebp - 0x2074]
mov eax, ecx
or eax, dword [ebp - 0x2070]
je 0x4a43ab
lea eax, [ebx + 0x6578]
push eax
push ecx
lea eax, [ebp - 0x2068]
mov ecx, ebx
push eax
call fcn.004a4559
mov eax, dword [ebx + 0xb054]
cmp eax, dword [ebx + 0xb04c]
jg 0x4a43c9
jl 0x4a43dc
mov eax, dword [ebx + 0xb050]
cmp eax, dword [ebx + 0xb048]
jbe 0x4a43dc
lea ecx, [ebp - 0x2068]
call fcn.004a2d04
mov eax, dword [ebp - 0x2054]
jmp 0x4a43f0
mov ecx, ebx
call fcn.004a2f8e
lea ecx, [ebp - 0x2068]
call fcn.004a2d04
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00401000
mov esp, ebp
pop ebp
ret