Function at 0x14007bed0
Capabilities:
Decompress data using ucl

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r13
push r14
push r15
mov ebp, dword [r9]
xor r15d, r15d
mov r14, r8
mov qword [rsp + 0x28], rdi
mov r12, r9
mov esi, edx
mov rbx, rcx
mov r8d, r15d
lea r13d, [r15 + 1]
mov eax, r15d
mov r11d, r15d
nop word [rax + rax]
add r8d, r8d
mov r9d, eax
test r8w, r8w
je 0x14007bf27
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x14007bf4c
movzx edx, byte [r9 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x14007bf75
cmp eax, esi
jae 0x14007c224
cmp r11d, ebp
jae 0x14007c1fa
mov ecx, eax
mov edx, r11d
inc r11d
inc eax
movzx ecx, byte [rcx + rbx]
mov byte [rdx + r14], cl
jmp 0x14007bf10
mov r9d, 1
nop dword [rax + rax]
add r8d, r8d
mov r10d, eax
test r8w, r8w
jne 0x14007bfab
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
mov r10d, eax
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
cmp eax, esi
jae 0x14007c224
cmp r9d, 0x1000002
ja 0x14007c21d
add r8d, r8d
test r8w, r8w
jne 0x14007bff8
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
mov r10d, eax
shr ecx, 0x10
test cl, 1
jne 0x14007c043
add r8d, r8d
test r8w, r8w
jne 0x14007c02e
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
dec r9d
lea r9d, [rcx + r9*2]
jmp 0x14007bf80
cmp r9d, 2
jne 0x14007c086
add r8d, r8d
mov edi, r13d
test r8w, r8w
je 0x14007c05e
mov r9d, r8d
shr r9d, 0x10
jmp 0x14007c0b9
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov r9d, r8d
shr r9d, 0x10
jmp 0x14007c0b9
cmp eax, esi
jae 0x14007c224
mov ecx, eax
inc eax
shl r9d, 8
movzx edx, byte [rcx + rbx]
lea edi, [r9 - 0x300]
add edi, edx
cmp edi, 0xffffffff
je 0x14007c201
mov r9d, edi
shr edi, 1
inc edi
not r9d
mov r13d, edi
and r9d, 1
mov r10d, eax
add r8d, r8d
test r8w, r8w
jne 0x14007c0e8
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
test r9d, r9d
jne 0x14007c19d
mov r9d, 1
add r8d, r8d
mov r10d, eax
test r8w, r8w
je 0x14007c11b
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x14007c140
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
mov r10d, eax
lea r9d, [rcx + r9*2]
cmp eax, esi
jae 0x14007c224
cmp r9d, ebp
jae 0x14007c1fa
add r8d, r8d
test r8w, r8w
je 0x14007c16c
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x14007c191
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x14007c104
add r9d, 2
mov ecx, r15d
cmp edi, 0x500
seta cl
add r9d, ecx
lea ecx, [r9 + r11]
cmp ecx, ebp
ja 0x14007c1fa
cmp edi, r11d
ja 0x14007c21d
mov ecx, edi
mov r10d, r11d
sub r10, rcx
mov edx, r11d
add r10, r14
inc r11d
movzx ecx, byte [r10]
inc r10
mov byte [rdx + r14], cl
nop word [rax + rax]
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov byte [r11 + r14], cl
inc r11d
add r9d, 0xffffffff
jne 0x14007c1e0
jmp 0x14007bf10
mov eax, 0xffffff36
jmp 0x14007c229
mov dword [r12], r11d
cmp eax, esi
je 0x14007c218
mov ecx, 0xffffff33
mov r15d, 0xffffff37
cmovb r15d, ecx
mov eax, r15d
jmp 0x14007c22d
mov eax, 0xffffff35
jmp 0x14007c229
mov eax, 0xffffff37
mov dword [r12], r11d
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret