Function at 0x1801c2850
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 r13
push r14
push r15
mov ebp, dword [r9]
xor r15d, r15d
mov rdi, rcx
mov r12, r9
mov r14, r8
mov esi, edx
mov ecx, r15d
mov r11d, r15d
lea r13d, [r15 + 1]
mov r10d, r15d
mov ebx, r15d
nop dword [rax]
test ecx, ecx
je 0x1801c28a0
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c28b6
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
test eax, eax
je 0x1801c28df
cmp r10d, esi
jae 0x1801c2b27
cmp ebx, ebp
jae 0x1801c2af9
mov eax, r10d
mov edx, ebx
inc ebx
inc r10d
movzx eax, byte [rax + rdi]
mov byte [rdx + r14], al
jmp 0x1801c2890
mov edx, 1
test ecx, ecx
je 0x1801c28f4
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c290a
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
lea r8d, [rax + rdx*2]
cmp r10d, esi
jae 0x1801c2b27
cmp r8d, 0x1000002
ja 0x1801c2b20
test ecx, ecx
je 0x1801c2934
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c294a
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
test eax, eax
jne 0x1801c298a
test ecx, ecx
je 0x1801c2968
dec ecx
lea edx, [r8 - 1]
mov eax, r11d
shr eax, cl
and eax, 1
lea edx, [rax + rdx*2]
jmp 0x1801c28e4
mov eax, r10d
lea edx, [r8 - 1]
add r10d, 4
mov ecx, 0x1f
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
lea edx, [rax + rdx*2]
jmp 0x1801c28e4
cmp r8d, 2
jne 0x1801c29c2
mov r9d, r13d
test ecx, ecx
je 0x1801c29a0
dec ecx
mov edx, r11d
shr edx, cl
jmp 0x1801c29fe
mov eax, r10d
mov ecx, 0x1f
dec ecx
add r10d, 4
mov r11d, dword [rax + rdi]
mov edx, r11d
mov eax, r11d
shr edx, 0x1f
shr eax, cl
and eax, 1
jmp 0x1801c2a27
cmp r10d, esi
jae 0x1801c2b27
lfence
mov eax, r10d
inc r10d
shl r8d, 8
movzx edx, byte [rax + rdi]
lea r9d, [r8 - 0x300]
add r9d, edx
cmp r9d, 0xffffffff
je 0x1801c2b00
mov edx, r9d
shr r9d, 1
inc r9d
not edx
mov r13d, r9d
and edx, 1
test ecx, ecx
je 0x1801c2a11
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c2a27
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
lea r8d, [rax + rdx*2]
test r8d, r8d
jne 0x1801c2aa0
mov r8d, 1
test ecx, ecx
je 0x1801c2a46
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c2a5c
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
lea r8d, [rax + r8*2]
cmp r10d, esi
jae 0x1801c2b27
cmp r8d, ebp
jae 0x1801c2af9
test ecx, ecx
je 0x1801c2a82
dec ecx
mov eax, r11d
shr eax, cl
and eax, 1
jmp 0x1801c2a98
mov eax, r10d
mov ecx, 0x1f
add r10d, 4
mov r11d, dword [rax + rdi]
mov eax, r11d
shr eax, 0x1f
test eax, eax
je 0x1801c2a36
add r8d, 2
mov eax, r15d
cmp r9d, 0x500
seta al
add r8d, eax
lea eax, [r8 + rbx]
cmp eax, ebp
ja 0x1801c2af9
cmp r9d, ebx
ja 0x1801c2b20
mov eax, r9d
mov r9d, ebx
sub r9, rax
mov edx, ebx
add r9, r14
inc ebx
movzx eax, byte [r9]
inc r9
mov byte [rdx + r14], al
nop dword [rax + rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
mov byte [rbx + r14], al
inc ebx
add r8d, 0xffffffff
jne 0x1801c2ae0
jmp 0x1801c2890
mov eax, 0xffffff36
jmp 0x1801c2b2c
lfence
mov dword [r12], ebx
cmp r10d, esi
je 0x1801c2b1b
mov eax, 0xffffff33
mov r15d, 0xffffff37
cmovb r15d, eax
mov eax, r15d
jmp 0x1801c2b30
mov eax, 0xffffff35
jmp 0x1801c2b2c
mov eax, 0xffffff37
mov dword [r12], ebx
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret