Function at 0x1800013e0
Capabilities:
Decompress data using aplib

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
movzx eax, byte [rcx]
lea r9, [rcx + 1]
xor r8d, r8d
mov byte [rdx], al
mov eax, dword [rsp + 0x18]
lea r10, [rdx + 1]
xor edi, edi
mov r14, rdx
mov esi, 0xffffffff
xor ebp, ebp
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001427
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x18000169b
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001448
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x180001518
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001469
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x1800014d3
xor edx, edx
lea r11d, [rdx + 4]
nop word [rax + rax]
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001495
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
shr ecx, 7
and ecx, 1
lea edx, [rcx + rdx*2]
sub r11d, 1
jne 0x180001480
test edx, edx
je 0x1800014c4
mov ecx, edx
xor edi, edi
mov rdx, r10
sub rdx, rcx
movzx ecx, byte [rdx]
mov byte [r10], cl
inc r10
jmp 0x1800016aa
xor cl, cl
xor edi, edi
mov byte [r10], cl
inc r10
jmp 0x1800016aa
movzx esi, byte [r9]
inc r9
mov edx, esi
and edx, 1
add edx, 2
shr esi, 1
je 0x18000150c
mov r11d, esi
nop dword [rax]
mov rcx, r10
sub rcx, r11
movzx ecx, byte [rcx]
mov byte [r10], cl
inc r10
add edx, 0xffffffff
jne 0x1800014f0
lea edi, [rdx + 1]
jmp 0x1800016aa
mov ebp, 1
mov edi, ebp
jmp 0x1800016aa
mov edx, 1
nop dword [rax]
lea ebx, [rdx + rdx]
test r8d, r8d
jne 0x18000153f
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x180001562
mov edx, eax
lea ecx, [r8 - 1]
shr edx, 7
add eax, eax
and edx, 1
add edx, ebx
sub r8d, 2
test ecx, ecx
jne 0x180001562
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x180001520
test edi, edi
jne 0x1800015ec
cmp edx, 2
jne 0x1800015ec
mov edx, 1
lea ebx, [rdx + rdx]
test r8d, r8d
jne 0x180001597
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x1800015ba
mov edx, eax
lea ecx, [r8 - 1]
shr edx, 7
add eax, eax
and edx, 1
add edx, ebx
sub r8d, 2
test ecx, ecx
jne 0x1800015ba
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x180001578
test edx, edx
je 0x180001694
mov r11d, esi
nop dword [rax]
mov rcx, r10
sub rcx, r11
movzx ecx, byte [rcx]
mov byte [r10], cl
inc r10
add edx, 0xffffffff
jne 0x1800015d0
lea edi, [rdx + 1]
jmp 0x1800016aa
movzx esi, byte [r9]
xor edi, 1
sub edx, edi
inc r9
shl edx, 8
add edx, 0xfffffe00
add esi, edx
mov edx, 1
lea ebx, [rdx + rdx]
test r8d, r8d
jne 0x180001627
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x18000164a
mov edx, eax
lea ecx, [r8 - 1]
shr edx, 7
add eax, eax
and edx, 1
add edx, ebx
sub r8d, 2
test ecx, ecx
jne 0x18000164a
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x180001608
cmp esi, 0x7d00
jb 0x18000165c
inc edx
cmp esi, 0x500
lea ecx, [rdx + 1]
cmovb ecx, edx
cmp esi, 0x80
lea edx, [rcx + 2]
cmovae edx, ecx
test edx, edx
je 0x180001694
mov r11d, esi
nop dword [rax + rax]
mov rcx, r10
sub rcx, r11
movzx ecx, byte [rcx]
mov byte [r10], cl
inc r10
add edx, 0xffffffff
jne 0x180001680
mov edi, 1
jmp 0x1800016aa
movzx ecx, byte [r9]
inc r9
mov byte [r10], cl
inc r10
xor edi, edi
test ebp, ebp
je 0x180001412
mov rbx, qword [rsp + 0x20]
sub r10d, r14d
mov rbp, qword [rsp + 0x28]
mov eax, r10d
mov rsi, qword [rsp + 0x30]
pop r14
pop rdi
ret