Function at 0x1801c2e90
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 0x1801c2ee4
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c2f0b
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 0x1801c2f33
cmp eax, edi
jae 0x1801c3256
cmp r11d, esi
jae 0x1801c322a
mov ecx, eax
mov edx, r11d
inc r11d
inc eax
movzx ecx, byte [rcx + rbx]
mov byte [rdx + rbp], cl
jmp 0x1801c2ed0
mov r9d, 1
nop dword [rax]
add r8d, r8d
test r8w, r8w
jne 0x1801c2f6a
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 0x1801c3256
cmp r9d, 0x1000002
ja 0x1801c324f
add r8d, r8d
test r8w, r8w
jne 0x1801c2fb6
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 0x1801c3000
add r8d, r8d
test r8w, r8w
jne 0x1801c2feb
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 0x1801c2f40
cmp r9d, 2
jne 0x1801c3043
add r8d, r8d
mov r10d, r12d
test r8w, r8w
je 0x1801c301a
mov ecx, r8d
shr ecx, 0x10
jmp 0x1801c307c
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
jmp 0x1801c307c
cmp eax, edi
jae 0x1801c3256
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 0x1801c3231
mov ecx, r10d
shr r10d, 1
inc r10d
not ecx
mov r12d, r10d
add r8d, r8d
test cl, 1
je 0x1801c30be
test r8w, r8w
jne 0x1801c30ab
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
and r9d, 1
inc r9d
jmp 0x1801c31d7
test r8w, r8w
je 0x1801c30cf
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c30f6
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 0x1801c3134
add r8d, r8d
test r8w, r8w
jne 0x1801c3124
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
and r9d, 1
jmp 0x1801c31d3
mov r9d, 1
nop word [rax + rax]
add r8d, r8d
test r8w, r8w
je 0x1801c3154
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c317b
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 0x1801c3256
cmp r9d, esi
jae 0x1801c322a
add r8d, r8d
test r8w, r8w
je 0x1801c31a4
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1801c31cb
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 0x1801c3140
add r9d, 3
mov ecx, r14d
cmp r10d, 0x500
seta cl
add r9d, ecx
lea ecx, [r9 + r11]
cmp ecx, esi
ja 0x1801c322a
cmp r10d, r11d
ja 0x1801c324f
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 0x1801c3210
jmp 0x1801c2ed0
mov eax, 0xffffff36
jmp 0x1801c325b
lfence
mov dword [r15], r11d
cmp eax, edi
je 0x1801c324a
mov ecx, 0xffffff33
mov r14d, 0xffffff37
cmovb r14d, ecx
mov eax, r14d
jmp 0x1801c325e
mov eax, 0xffffff35
jmp 0x1801c325b
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