Function at 0x1800013c0
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 0x180001407
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x18000167b
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001428
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x1800014f8
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001449
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
jns 0x1800014b3
xor edx, edx
lea r11d, [rdx + 4]
nop word [rax + rax]
mov ecx, r8d
dec r8d
test ecx, ecx
jne 0x180001475
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 0x180001460
test edx, edx
je 0x1800014a4
mov ecx, edx
xor edi, edi
mov rdx, r10
sub rdx, rcx
movzx ecx, byte [rdx]
mov byte [r10], cl
inc r10
jmp 0x18000168a
xor cl, cl
xor edi, edi
mov byte [r10], cl
inc r10
jmp 0x18000168a
movzx esi, byte [r9]
inc r9
mov edx, esi
and edx, 1
add edx, 2
shr esi, 1
je 0x1800014ec
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 0x1800014d0
lea edi, [rdx + 1]
jmp 0x18000168a
mov ebp, 1
mov edi, ebp
jmp 0x18000168a
mov edx, 1
nop dword [rax]
lea ebx, [rdx + rdx]
test r8d, r8d
jne 0x18000151f
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x180001542
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 0x180001542
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x180001500
test edi, edi
jne 0x1800015cc
cmp edx, 2
jne 0x1800015cc
mov edx, 1
lea ebx, [rdx + rdx]
test r8d, r8d
jne 0x180001577
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x18000159a
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 0x18000159a
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x180001558
test edx, edx
je 0x180001674
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 0x1800015b0
lea edi, [rdx + 1]
jmp 0x18000168a
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 0x180001607
movzx edx, byte [r9]
mov r8d, 6
inc r9
lea eax, [rdx + rdx]
shr edx, 7
add edx, ebx
jmp 0x18000162a
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 0x18000162a
movzx eax, byte [r9]
lea r8d, [rcx + 7]
inc r9
mov ecx, eax
add eax, eax
test cl, cl
js 0x1800015e8
cmp esi, 0x7d00
jb 0x18000163c
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 0x180001674
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 0x180001660
mov edi, 1
jmp 0x18000168a
movzx ecx, byte [r9]
inc r9
mov byte [r10], cl
inc r10
xor edi, edi
test ebp, ebp
je 0x1800013f2
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