Function at 0x1400050a2
Capabilities:
Decompress data using ucl

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
mov dword [rbp - 0xc], 0
mov dword [rbp - 0x10], 1
mov rax, qword [rbp + 0x28]
mov eax, dword [rax]
mov dword [rbp - 0x24], eax
jmp 0x140005140
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
jb 0x1400050fb
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff37
jmp 0x1400055ea
mov eax, dword [rbp - 0xc]
cmp eax, dword [rbp - 0x24]
jb 0x140005116
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff36
jmp 0x1400055ea
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
mov edx, eax
mov rax, qword [rbp + 0x10]
lea rcx, [rdx + rax]
mov eax, dword [rbp - 0xc]
lea edx, [rax + 1]
mov dword [rbp - 0xc], edx
mov edx, eax
mov rax, qword [rbp + 0x20]
add rdx, rax
movzx eax, byte [rcx]
mov byte [rdx], al
shl dword [rbp - 4], 1
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x14000515c
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
setne al
jmp 0x1400051a4
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov ecx, eax
mov rax, qword [rbp + 0x10]
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
setne al
test al, al
jne 0x1400050e0
mov dword [rbp - 0x14], 1
shl dword [rbp - 4], 1
mov eax, dword [rbp - 0x14]
lea ecx, [rax + rax]
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x1400051d1
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
jmp 0x140005216
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov r8d, eax
mov rax, qword [rbp + 0x10]
add rax, r8
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
add eax, ecx
mov dword [rbp - 0x14], eax
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
jb 0x140005236
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff37
jmp 0x1400055ea
cmp dword [rbp - 0x14], 0x1000002
jbe 0x140005252
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff35
jmp 0x1400055ea
shl dword [rbp - 4], 1
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x14000526e
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
sete al
jmp 0x1400052b6
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov ecx, eax
mov rax, qword [rbp + 0x10]
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
sete al
test al, al
jne 0x1400051b3
cmp dword [rbp - 0x14], 2
jne 0x1400052cc
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x14], eax
jmp 0x140005323
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
jb 0x1400052e7
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff37
jmp 0x1400055ea
mov eax, dword [rbp - 0x14]
sub eax, 3
shl eax, 8
mov ecx, eax
mov eax, dword [rbp - 8]
lea edx, [rax + 1]
mov dword [rbp - 8], edx
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
add eax, ecx
mov dword [rbp - 0x14], eax
cmp dword [rbp - 0x14], 0xffffffff
je 0x1400055bd
add dword [rbp - 0x14], 1
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x10], eax
shl dword [rbp - 4], 1
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x14000533b
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
jmp 0x14000537f
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov ecx, eax
mov rax, qword [rbp + 0x10]
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
mov dword [rbp - 0x18], eax
shl dword [rbp - 4], 1
mov eax, dword [rbp - 0x18]
lea ecx, [rax + rax]
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x1400053a0
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
jmp 0x1400053e5
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov r8d, eax
mov rax, qword [rbp + 0x10]
add rax, r8
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
add eax, ecx
mov dword [rbp - 0x18], eax
cmp dword [rbp - 0x18], 0
jne 0x140005506
add dword [rbp - 0x18], 1
shl dword [rbp - 4], 1
mov eax, dword [rbp - 0x18]
lea ecx, [rax + rax]
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x140005416
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
jmp 0x14000545b
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov r8d, eax
mov rax, qword [rbp + 0x10]
add rax, r8
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
shr eax, 0x10
and eax, 1
add eax, ecx
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
jb 0x14000547b
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff37
jmp 0x1400055ea
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp - 0x24]
jb 0x140005496
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff36
jmp 0x1400055ea
shl dword [rbp - 4], 1
mov eax, dword [rbp - 4]
movzx eax, ax
test eax, eax
je 0x1400054b2
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
sete al
jmp 0x1400054fa
add dword [rbp - 8], 2
mov eax, dword [rbp - 8]
sub eax, 2
mov edx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
sub eax, 1
mov ecx, eax
mov rax, qword [rbp + 0x10]
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add eax, edx
add eax, eax
add eax, 1
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
and eax, 0x10000
test eax, eax
sete al
test al, al
jne 0x1400053f8
add dword [rbp - 0x18], 2
cmp dword [rbp - 0x14], 0xd00
seta al
movzx eax, al
add dword [rbp - 0x18], eax
mov edx, dword [rbp - 0xc]
mov eax, dword [rbp - 0x18]
add eax, edx
cmp dword [rbp - 0x24], eax
jae 0x140005536
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff36
jmp 0x1400055ea
mov eax, dword [rbp - 0x14]
cmp eax, dword [rbp - 0xc]
jbe 0x140005551
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, 0xffffff35
jmp 0x1400055ea
mov eax, dword [rbp - 0xc]
mov edx, dword [rbp - 0x14]
sub rax, rdx
mov rcx, rax
mov rax, qword [rbp + 0x20]
add rax, rcx
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
lea rdx, [rax + 1]
mov qword [rbp - 0x20], rdx
mov edx, dword [rbp - 0xc]
lea ecx, [rdx + 1]
mov dword [rbp - 0xc], ecx
mov ecx, edx
mov rdx, qword [rbp + 0x20]
add rdx, rcx
movzx eax, byte [rax]
mov byte [rdx], al
mov rax, qword [rbp - 0x20]
lea rdx, [rax + 1]
mov qword [rbp - 0x20], rdx
mov edx, dword [rbp - 0xc]
lea ecx, [rdx + 1]
mov dword [rbp - 0xc], ecx
mov ecx, edx
mov rdx, qword [rbp + 0x20]
add rdx, rcx
movzx eax, byte [rax]
mov byte [rdx], al
sub dword [rbp - 0x18], 1
cmp dword [rbp - 0x18], 0
jne 0x14000558b
jmp 0x1400050de
nop
mov rax, qword [rbp + 0x28]
mov edx, dword [rbp - 0xc]
mov dword [rax], edx
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
je 0x1400055e5
mov eax, dword [rbp - 8]
cmp eax, dword [rbp + 0x18]
jae 0x1400055de
mov eax, 0xffffff33
jmp 0x1400055ea
mov eax, 0xffffff37
jmp 0x1400055ea
mov eax, 0
add rsp, 0x30
pop rbp
ret