Function at 0x14007c790
Capabilities:
Decompress data using ucl

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r14
push r15
mov ebp, dword [r9]
lea esi, [rdx + r8]
xor r14d, r14d
mov r15, r9
mov rbx, rcx
mov r8d, r14d
mov r10d, r14d
lea r12d, [r14 + 1]
cmp ebp, esi
jb 0x14007c7d0
mov dword [r9], r14d
mov eax, 0xffffff32
jmp 0x14007ca8c
mov qword [rsp + 0x20], rdi
nop word [rax + rax]
add r8d, r8d
mov r9d, edx
test r8w, r8w
je 0x14007c7f7
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14007c81c
movzx ecx, byte [r9 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
test eax, eax
je 0x14007c841
cmp edx, esi
jae 0x14007ca7f
cmp r10d, ebp
jae 0x14007ca56
cmp r10d, edx
ja 0x14007ca4f
inc r10d
inc edx
jmp 0x14007c7e0
mov r9d, 1
nop word [rax + rax]
add r8d, r8d
mov r11d, edx
test r8w, r8w
jne 0x14007c87b
movzx ecx, byte [r11 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
mov r11d, edx
shr eax, 0x10
and eax, 1
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x14007ca7f
cmp r9d, 0x1000002
ja 0x14007ca78
add r8d, r8d
test r8w, r8w
je 0x14007c8b4
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14007c8d9
movzx ecx, byte [r11 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
test eax, eax
je 0x14007c850
cmp r9d, 2
je 0x14007c911
cmp edx, esi
jae 0x14007ca7f
mov eax, edx
inc edx
shl r9d, 8
movzx ecx, byte [rax + rbx]
add ecx, r9d
cmp ecx, 0x2ff
je 0x14007ca5d
lea r12d, [rcx - 0x2ff]
add r8d, r8d
mov r9d, edx
mov edi, r12d
test r8w, r8w
jne 0x14007c93f
movzx ecx, byte [r9 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov r9d, r8d
mov r11d, edx
shr r9d, 0x10
add r8d, r8d
and r9d, 1
test r8w, r8w
jne 0x14007c975
movzx ecx, byte [r11 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
and eax, 1
lea r9d, [rax + r9*2]
test r9d, r9d
jne 0x14007ca26
mov r9d, 1
add r8d, r8d
mov r11d, edx
test r8w, r8w
je 0x14007c9a8
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14007c9cd
movzx ecx, byte [r11 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
mov r11d, edx
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x14007ca7f
cmp r9d, ebp
jae 0x14007ca56
add r8d, r8d
test r8w, r8w
je 0x14007c9f5
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14007ca1a
movzx ecx, byte [r11 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
test eax, eax
je 0x14007c991
add r9d, 2
cmp edi, 0xd00
mov eax, r14d
seta al
lea ecx, [r9 + rax]
add ecx, r10d
cmp ecx, ebp
ja 0x14007ca56
cmp edi, r10d
ja 0x14007ca78
lea r10d, [rcx + 1]
cmp r10d, edx
jbe 0x14007c7e0
mov eax, 0xffffff32
jmp 0x14007ca84
mov eax, 0xffffff36
jmp 0x14007ca84
mov dword [r15], r10d
cmp edx, esi
je 0x14007ca73
mov eax, 0xffffff33
mov r14d, 0xffffff37
cmovb r14d, eax
mov eax, r14d
jmp 0x14007ca87
mov eax, 0xffffff35
jmp 0x14007ca84
mov eax, 0xffffff37
mov dword [r15], r10d
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret