Function at 0x1402d7570
Capabilities:
Decompress data using ucl

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r14
push r15
mov ebp, dword [r9]
lea esi, [rdx + r8]
xor r14d, r14d
mov r15, r9
mov rbx, rcx
mov r8d, r14d
mov r11d, r14d
lea r12d, [r14 + 1]
cmp ebp, esi
jb 0x1402d75b0
mov dword [r9], r14d
mov eax, 0xffffff32
jmp 0x1402d78ae
mov qword [rsp + 0x20], rdi
nop word [rax + rax]
add r8d, r8d
mov r9d, edx
test r8w, r8w
je 0x1402d75d7
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x1402d75fc
movzx ecx, byte [r9 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
test eax, eax
je 0x1402d7621
cmp edx, esi
jae 0x1402d78a1
cmp r11d, ebp
jae 0x1402d7878
cmp r11d, edx
ja 0x1402d7871
inc r11d
inc edx
jmp 0x1402d75c0
mov r9d, 1
nop word [rax + rax]
add r8d, r8d
mov r10d, edx
test r8w, r8w
jne 0x1402d765b
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
mov r10d, edx
shr eax, 0x10
and eax, 1
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x1402d78a1
cmp r9d, 0x1000002
ja 0x1402d789a
add r8d, r8d
test r8w, r8w
jne 0x1402d76a8
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
mov r10d, edx
shr eax, 0x10
test al, 1
jne 0x1402d76f2
add r8d, r8d
test r8w, r8w
jne 0x1402d76dd
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
and eax, 1
dec r9d
lea r9d, [rax + r9*2]
jmp 0x1402d7630
cmp r9d, 2
jne 0x1402d7735
add r8d, r8d
mov edi, r12d
test r8w, r8w
je 0x1402d770d
mov r9d, r8d
shr r9d, 0x10
jmp 0x1402d7768
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov r9d, r8d
shr r9d, 0x10
jmp 0x1402d7768
cmp edx, esi
jae 0x1402d78a1
mov eax, edx
inc edx
shl r9d, 8
movzx ecx, byte [rax + rbx]
lea edi, [r9 - 0x300]
add edi, ecx
cmp edi, 0xffffffff
je 0x1402d787f
mov r9d, edi
shr edi, 1
inc edi
not r9d
mov r12d, edi
and r9d, 1
mov r10d, edx
add r8d, r8d
test r8w, r8w
jne 0x1402d7797
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
and eax, 1
lea r9d, [rax + r9*2]
test r9d, r9d
jne 0x1402d7848
mov r9d, 1
add r8d, r8d
mov r10d, edx
test r8w, r8w
je 0x1402d77ca
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x1402d77ef
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
mov r10d, edx
lea r9d, [rax + r9*2]
cmp edx, esi
jae 0x1402d78a1
cmp r9d, ebp
jae 0x1402d7878
add r8d, r8d
test r8w, r8w
je 0x1402d7817
mov eax, r8d
shr eax, 0x10
and eax, 1
jmp 0x1402d783c
movzx ecx, byte [r10 + rbx]
add edx, 2
lea eax, [rdx - 1]
movzx r8d, byte [rax + rbx]
shl r8d, 8
add r8d, ecx
lea r8d, [r8*2 + 1]
mov eax, r8d
shr eax, 0x10
test eax, eax
je 0x1402d77b3
add r9d, 2
cmp edi, 0x500
mov eax, r14d
seta al
lea ecx, [r9 + rax]
add ecx, r11d
cmp ecx, ebp
ja 0x1402d7878
cmp edi, r11d
ja 0x1402d789a
lea r11d, [rcx + 1]
cmp r11d, edx
jbe 0x1402d75c0
mov eax, 0xffffff32
jmp 0x1402d78a6
mov eax, 0xffffff36
jmp 0x1402d78a6
mov dword [r15], r11d
cmp edx, esi
je 0x1402d7895
mov eax, 0xffffff33
mov r14d, 0xffffff37
cmovb r14d, eax
mov eax, r14d
jmp 0x1402d78a9
mov eax, 0xffffff35
jmp 0x1402d78a6
mov eax, 0xffffff37
mov dword [r15], r11d
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret