Function at 0x1402d9000
Capabilities:
Decompress data using ucl

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r13
push r14
push r15
mov ebp, dword [r9]
xor r15d, r15d
mov r14, r8
mov qword [rsp + 0x28], rdi
mov r13, r9
mov esi, edx
mov rbx, rcx
mov r8d, r15d
lea r12d, [r15 + 1]
mov eax, r15d
mov r11d, r15d
nop word [rax + rax]
add r8d, r8d
mov r9d, eax
test r8w, r8w
je 0x1402d9057
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d907c
movzx edx, byte [r9 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x1402d90a5
cmp eax, esi
jae 0x1402d9314
cmp r11d, ebp
jae 0x1402d92ea
mov ecx, eax
mov edx, r11d
inc r11d
inc eax
movzx ecx, byte [rcx + rbx]
mov byte [rdx + r14], cl
jmp 0x1402d9040
mov r9d, 1
nop dword [rax + rax]
add r8d, r8d
mov r10d, eax
test r8w, r8w
jne 0x1402d90db
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
mov r10d, eax
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
cmp eax, esi
jae 0x1402d9314
cmp r9d, 0x1000002
ja 0x1402d930d
add r8d, r8d
test r8w, r8w
je 0x1402d9114
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d9139
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x1402d90b0
cmp r9d, 2
je 0x1402d9171
cmp eax, esi
jae 0x1402d9314
mov ecx, eax
inc eax
shl r9d, 8
movzx edx, byte [rcx + rbx]
add edx, r9d
cmp edx, 0x2ff
je 0x1402d92f1
lea r12d, [rdx - 0x2ff]
add r8d, r8d
mov r9d, eax
mov edi, r12d
test r8w, r8w
jne 0x1402d919f
movzx edx, byte [r9 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov r9d, r8d
mov r10d, eax
shr r9d, 0x10
add r8d, r8d
and r9d, 1
test r8w, r8w
jne 0x1402d91d5
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
lea r9d, [rcx + r9*2]
test r9d, r9d
jne 0x1402d928a
mov r9d, 1
add r8d, r8d
mov r10d, eax
test r8w, r8w
je 0x1402d9208
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d922d
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
mov r10d, eax
lea r9d, [rcx + r9*2]
cmp eax, esi
jae 0x1402d9314
cmp r9d, ebp
jae 0x1402d92ea
add r8d, r8d
test r8w, r8w
je 0x1402d9259
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d927e
movzx edx, byte [r10 + rbx]
add eax, 2
lea ecx, [rax - 1]
movzx r8d, byte [rcx + rbx]
shl r8d, 8
add r8d, edx
lea r8d, [r8*2 + 1]
mov ecx, r8d
shr ecx, 0x10
test ecx, ecx
je 0x1402d91f1
add r9d, 2
mov ecx, r15d
cmp edi, 0xd00
seta cl
add r9d, ecx
lea ecx, [r9 + r11]
cmp ecx, ebp
ja 0x1402d92ea
cmp edi, r11d
ja 0x1402d930d
mov ecx, edi
mov r10d, r11d
sub r10, rcx
mov edx, r11d
add r10, r14
inc r11d
movzx ecx, byte [r10]
inc r10
mov byte [rdx + r14], cl
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov byte [r11 + r14], cl
inc r11d
add r9d, 0xffffffff
jne 0x1402d92d0
jmp 0x1402d9040
mov eax, 0xffffff36
jmp 0x1402d9319
mov dword [r13], r11d
cmp eax, esi
je 0x1402d9308
mov ecx, 0xffffff33
mov r15d, 0xffffff37
cmovb r15d, ecx
mov eax, r15d
jmp 0x1402d931d
mov eax, 0xffffff35
jmp 0x1402d9319
mov eax, 0xffffff37
mov dword [r13], r11d
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret