Function at 0x1402d4100
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 r12, r9
mov esi, edx
mov rbx, rcx
mov r8d, r15d
lea r13d, [r15 + 1]
mov eax, r15d
mov r11d, r15d
nop word [rax + rax]
add r8d, r8d
mov r9d, eax
test r8w, r8w
je 0x1402d4157
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d417c
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 0x1402d41a5
cmp eax, esi
jae 0x1402d44d5
cmp r11d, ebp
jae 0x1402d44ab
mov ecx, eax
mov edx, r11d
inc r11d
inc eax
movzx ecx, byte [rcx + rbx]
mov byte [rdx + r14], cl
jmp 0x1402d4140
mov r9d, 1
nop dword [rax + rax]
add r8d, r8d
mov r10d, eax
test r8w, r8w
je 0x1402d41c7
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d41ec
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 0x1402d44d5
cmp r9d, 0x1000002
ja 0x1402d44ce
add r8d, r8d
test r8w, r8w
jne 0x1402d4230
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
test cl, 1
jne 0x1402d427b
add r8d, r8d
test r8w, r8w
jne 0x1402d4266
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
dec r9d
lea r9d, [rcx + r9*2]
jmp 0x1402d41b0
cmp r9d, 2
jne 0x1402d42bf
add r8d, r8d
mov edi, r13d
test r8w, r8w
je 0x1402d4298
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d42f3
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
jmp 0x1402d42f3
cmp eax, esi
jae 0x1402d44d5
mov ecx, eax
inc eax
shl r9d, 8
movzx edx, byte [rcx + rbx]
lea edi, [r9 - 0x300]
add edi, edx
cmp edi, 0xffffffff
je 0x1402d44b2
mov ecx, edi
shr edi, 1
not ecx
and ecx, 1
inc edi
mov r13d, edi
add r8d, r8d
mov r9d, eax
test ecx, ecx
je 0x1402d4344
test r8w, r8w
je 0x1402d4316
mov r9d, r8d
shr r9d, 0x10
and r9d, 1
inc r9d
jmp 0x1402d4459
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
shr r9d, 0x10
inc r9d
jmp 0x1402d4459
test r8w, r8w
je 0x1402d4355
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d437a
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
mov r9d, eax
test ecx, ecx
je 0x1402d43b9
add r8d, r8d
test r8w, r8w
jne 0x1402d43a9
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
shr r9d, 0x10
and r9d, 1
jmp 0x1402d4455
mov r9d, 1
nop
add r8d, r8d
mov r10d, eax
test r8w, r8w
je 0x1402d43d7
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d43fc
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 0x1402d44d5
cmp r9d, ebp
jae 0x1402d44ab
add r8d, r8d
test r8w, r8w
je 0x1402d4428
mov ecx, r8d
shr ecx, 0x10
and ecx, 1
jmp 0x1402d444d
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 0x1402d43c0
add r9d, 3
mov ecx, r15d
cmp edi, 0x500
seta cl
add r9d, ecx
lea ecx, [r9 + r11]
cmp ecx, ebp
ja 0x1402d44ab
cmp edi, r11d
ja 0x1402d44ce
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
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov byte [r11 + r14], cl
inc r11d
add r9d, 0xffffffff
jne 0x1402d4491
jmp 0x1402d4140
mov eax, 0xffffff36
jmp 0x1402d44da
mov dword [r12], r11d
cmp eax, esi
je 0x1402d44c9
mov ecx, 0xffffff33
mov r15d, 0xffffff37
cmovb r15d, ecx
mov eax, r15d
jmp 0x1402d44de
mov eax, 0xffffff35
jmp 0x1402d44da
mov eax, 0xffffff37
mov dword [r12], 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