Function at 0x18000a9c0
Capabilities:
Decompress data using aplib

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
movzx eax, byte [rcx]
mov ebx, dword [rsp + 0x30]
mov rsi, rdx
xor r9d, r9d
xor r11d, r11d
lea r10, [rdx + 1]
mov byte [rdx], al
mov edx, dword [rsp + 0x10]
lea r8, [rcx + 1]
xor edi, edi
nop
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000aa07
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
je 0x18000ac9e
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000aa2e
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
je 0x18000ab0f
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000aa55
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
je 0x18000aaba
xor ecx, ecx
lea r11d, [rcx + 4]
nop
nop
nop
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000aa87
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
sub r11d, 1
lea ecx, [rax + rcx*2]
jne 0x18000aa70
test ecx, ecx
je 0x18000aab1
mov eax, ecx
mov rcx, r10
sub rcx, rax
movzx eax, byte [rcx]
mov byte [r10], al
jmp 0x18000aca9
mov byte [r10], 0
jmp 0x18000aca9
movzx ebx, byte [r8]
add r8, 1
mov ecx, ebx
and ecx, 1
add ecx, 2
shr ebx, 1
je 0x18000aaff
test ecx, ecx
mov r11d, ebx
je 0x18000ab04
nop
nop
nop
mov rax, r10
add r10, 1
sub rax, r11
add ecx, 0xffffffff
movzx eax, byte [rax]
mov byte [r10 - 1], al
jne 0x18000aae0
lea r11d, [rcx + 1]
jmp 0x18000acb0
mov edi, 1
mov r11d, 1
jmp 0x18000acb0
mov ecx, 1
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000ab2b
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
lea ecx, [rax + rcx*2]
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000ab4f
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
jne 0x18000ab14
test r11d, r11d
jne 0x18000abf4
cmp ecx, 2
jne 0x18000abef
lea ecx, [rax + 1]
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000ab87
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
lea ecx, [rax + rcx*2]
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000abab
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
jne 0x18000ab70
test ecx, ecx
movsxd r11, ebx
je 0x18000ac96
nop
nop
nop
nop
mov rax, r10
add r10, 1
sub rax, r11
add ecx, 0xffffffff
movzx eax, byte [rax]
mov byte [r10 - 1], al
jne 0x18000abd0
lea r11d, [rcx + 1]
jmp 0x18000acb0
lea ebx, [rcx - 3]
jmp 0x18000abf7
lea ebx, [rcx - 2]
movzx eax, byte [r8]
shl ebx, 8
mov ecx, 1
add ebx, eax
add r8, 1
nop
nop
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000ac27
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
lea ecx, [rax + rcx*2]
mov eax, r9d
add r9d, 0xffffffff
test eax, eax
jne 0x18000ac4b
movzx edx, byte [r8]
add r8, 1
lea r9d, [rax + 7]
mov eax, edx
add edx, edx
shr eax, 7
and eax, 1
jne 0x18000ac10
cmp ebx, 0x7d00
jb 0x18000ac62
add ecx, 1
cmp ebx, 0x500
jb 0x18000ac6d
add ecx, 1
cmp ebx, 0x80
jae 0x18000ac78
add ecx, 2
test ecx, ecx
movsxd r11, ebx
je 0x18000ac96
nop
mov rax, r10
add r10, 1
sub rax, r11
add ecx, 0xffffffff
movzx eax, byte [rax]
mov byte [r10 - 1], al
jne 0x18000ac80
mov r11d, 1
jmp 0x18000acb0
movzx ecx, byte [r8]
add r8, 1
mov byte [r10], cl
add r10, 1
xor r11d, r11d
test edi, edi
je 0x18000a9f0
mov rbx, qword [rsp + 0x38]
sub r10, rsi
mov rsi, qword [rsp + 0x40]
mov eax, r10d
add rsp, 0x20
pop rdi
ret