Function at 0x1400804c0
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 r11d, r14d
lea r12d, [r14 + 1]
cmp ebp, esi
jb 0x140080500
mov dword [r9], r14d
mov eax, 0xffffff32
jmp 0x1400807fe
mov qword [rsp + 0x20], rdi
nop word [rax + rax]
add r8d, r8d
mov r9d, edx
test r8w, r8w
je 0x140080527
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14008054c
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 0x140080571
cmp edx, esi
jae 0x1400807f1
cmp r11d, ebp
jae 0x1400807c8
cmp r11d, edx
ja 0x1400807c1
inc r11d
inc edx
jmp 0x140080510
mov r9d, 1
nop word [rax + rax]
add r8d, r8d
mov r10d, edx
test r8w, r8w
jne 0x1400805ab
movzx ecx, byte [r10 + 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 r10d, edx
shr eax, 0x10
and eax, 1
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x1400807f1
cmp r9d, 0x1000002
ja 0x1400807ea
add r8d, r8d
test r8w, r8w
jne 0x1400805f8
movzx ecx, byte [r10 + 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 r10d, edx
shr eax, 0x10
test al, 1
jne 0x140080642
add r8d, r8d
test r8w, r8w
jne 0x14008062d
movzx ecx, byte [r10 + 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
dec r9d
lea r9d, [rax + r9*2]
jmp 0x140080580
cmp r9d, 2
jne 0x140080685
add r8d, r8d
mov edi, r12d
test r8w, r8w
je 0x14008065d
mov r9d, r8d
shr r9d, 0x10
jmp 0x1400806b8
movzx ecx, byte [r10 + 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
shr r9d, 0x10
jmp 0x1400806b8
cmp edx, esi
jae 0x1400807f1
mov eax, edx
inc edx
shl r9d, 8
movzx ecx, byte [rax + rbx]
lea edi, [r9 - 0x300]
add edi, ecx
cmp edi, 0xffffffff
je 0x1400807cf
mov r9d, edi
shr edi, 1
inc edi
not r9d
mov r12d, edi
and r9d, 1
mov r10d, edx
add r8d, r8d
test r8w, r8w
jne 0x1400806e7
movzx ecx, byte [r10 + 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 0x140080798
mov r9d, 1
add r8d, r8d
mov r10d, edx
test r8w, r8w
je 0x14008071a
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14008073f
movzx ecx, byte [r10 + 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 r10d, edx
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x1400807f1
cmp r9d, ebp
jae 0x1400807c8
add r8d, r8d
test r8w, r8w
je 0x140080767
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x14008078c
movzx ecx, byte [r10 + 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 0x140080703
add r9d, 2
cmp edi, 0x500
mov eax, r14d
seta al
lea ecx, [r9 + rax]
add ecx, r11d
cmp ecx, ebp
ja 0x1400807c8
cmp edi, r11d
ja 0x1400807ea
lea r11d, [rcx + 1]
cmp r11d, edx
jbe 0x140080510
mov eax, 0xffffff32
jmp 0x1400807f6
mov eax, 0xffffff36
jmp 0x1400807f6
mov dword [r15], r11d
cmp edx, esi
je 0x1400807e5
mov eax, 0xffffff33
mov r14d, 0xffffff37
cmovb r14d, eax
mov eax, r14d
jmp 0x1400807f9
mov eax, 0xffffff35
jmp 0x1400807f6
mov eax, 0xffffff37
mov dword [r15], r11d
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