Function at 0x1801c24d0
Capabilities:
Decompress data using ucl

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
mov esi, dword [r9]
xor r14d, r14d
mov rbp, r8
mov r15, r9
mov edi, edx
mov rbx, rcx
mov r8d, r14d
mov eax, r14d
lea r12d, [r14 + 1]
mov r11d, r14d
nop dword [rax + rax]
add r8d, r8d
test r8w, r8w
je 0x1801c2524
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c254b
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x1801c2573
cmp eax, edi
jae 0x1801c2826
cmp r11d, esi
jae 0x1801c27fa
mov ecx, eax
mov edx, r11d
inc r11d
inc eax
movzx ecx, byte [rcx + rbx]
mov byte [rdx + rbp], cl
jmp 0x1801c2510
mov r9d, 1
nop dword [rax]
add r8d, r8d
test r8w, r8w
jne 0x1801c25aa
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
cmp eax, edi
jae 0x1801c2826
cmp r9d, 0x1000002
ja 0x1801c281f
add r8d, r8d
test r8w, r8w
jne 0x1801c25f6
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test cl, 1
jne 0x1801c2640
add r8d, r8d
test r8w, r8w
jne 0x1801c262b
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
dec r9d
lea r9d, [rcx + r9*2]
jmp 0x1801c2580
cmp r9d, 2
jne 0x1801c2689
add r8d, r8d
mov r10d, r12d
test r8w, r8w
je 0x1801c265f
mov r9d, r8d
shr r9d, 0x10
and r9d, 1
jmp 0x1801c26c7
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov r9d, r8d
shr r9d, 0x10
jmp 0x1801c26c7
cmp eax, edi
jae 0x1801c2826
lfence
mov ecx, eax
inc eax
shl r9d, 8
movzx edx, byte [rcx + rbx]
lea r10d, [r9 - 0x300]
add r10d, edx
cmp r10d, 0xffffffff
je 0x1801c2801
mov r9d, r10d
shr r10d, 1
not r9d
and r9d, 1
inc r10d
mov r12d, r10d
add r8d, r8d
test r8w, r8w
jne 0x1801c26f1
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
test r9d, r9d
jne 0x1801c27a7
mov r9d, 1
nop dword [rax]
add r8d, r8d
test r8w, r8w
je 0x1801c2724
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c274b
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
lea r9d, [rcx + r9*2]
cmp eax, edi
jae 0x1801c2826
cmp r9d, esi
jae 0x1801c27fa
add r8d, r8d
test r8w, r8w
je 0x1801c2774
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c279b
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
lea ecx, [rax - 2]
movzx ecx, byte [rcx + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x1801c2710
add r9d, 2
mov ecx, r14d
cmp r10d, 0x500
seta cl
add r9d, ecx
lea ecx, [r9 + r11]
cmp ecx, esi
ja 0x1801c27fa
cmp r10d, r11d
ja 0x1801c281f
mov ecx, r10d
mov r10d, r11d
sub r10, rcx
mov edx, r11d
add r10, rbp
inc r11d
movzx ecx, byte [r10]
inc r10
mov byte [rdx + rbp], cl
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov byte [r11 + rbp], cl
inc r11d
add r9d, 0xffffffff
jne 0x1801c27e0
jmp 0x1801c2510
mov eax, 0xffffff36
jmp 0x1801c282b
lfence
mov dword [r15], r11d
cmp eax, edi
je 0x1801c281a
mov ecx, 0xffffff33
mov r14d, 0xffffff37
cmovb r14d, ecx
mov eax, r14d
jmp 0x1801c282e
mov eax, 0xffffff35
jmp 0x1801c282b
mov eax, 0xffffff37
mov dword [r15], r11d
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret