Function at 0x18000e770
Capabilities:
Decompress data using aplib

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx r8d, byte [rcx]
lea r10, [rdx + 1]
xor eax, eax
mov byte [rdx], r8b
mov r8d, dword [rsp + 0x10]
lea r9, [rcx + 1]
xor r11d, r11d
xor edi, edi
mov rsi, rdx
xor ebx, ebx
nop
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e7b2
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
je 0x18000ea09
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e7d6
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
je 0x18000e896
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e7fa
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
je 0x18000e854
xor edx, edx
lea r11d, [rdx + 4]
nop
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e822
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
lea edx, [rcx + rdx*2]
sub r11d, 1
jne 0x18000e810
test edx, edx
je 0x18000e84b
mov ecx, edx
mov rdx, r10
sub rdx, rcx
movzx ecx, byte [rdx]
jmp 0x18000ea10
mov byte [r10], 0
jmp 0x18000ea13
movzx ebx, byte [r9]
inc r9
mov edx, ebx
and edx, 1
add edx, 2
shr ebx, 1
je 0x18000e889
mov r11d, ebx
neg r11
nop dword [rax]
movzx ecx, byte [r11 + r10]
mov byte [r10], cl
inc r10
add edx, 0xffffffff
jne 0x18000e870
lea r11d, [rdx + 1]
jmp 0x18000ea19
mov edi, 1
mov r11d, edi
jmp 0x18000ea19
mov edx, 1
nop dword [rax + rax]
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e8b2
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
lea edx, [rcx + rdx*2]
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e8d3
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
jne 0x18000e8a0
test r11d, r11d
jne 0x18000e95e
cmp edx, 2
jne 0x18000e959
lea edx, [rcx + 1]
nop
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e902
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
lea edx, [rcx + rdx*2]
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e923
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
jne 0x18000e8f0
test edx, edx
je 0x18000ea01
mov r11d, ebx
neg r11
nop
movzx ecx, byte [r11 + r10]
mov byte [r10], cl
inc r10
add edx, 0xffffffff
jne 0x18000e940
lea r11d, [rdx + 1]
jmp 0x18000ea19
lea ebx, [rdx - 3]
jmp 0x18000e961
lea ebx, [rdx - 2]
movzx ecx, byte [r9]
mov edx, 1
shl ebx, 8
add ebx, ecx
inc r9
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e984
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
lea edx, [rcx + rdx*2]
mov ecx, eax
dec eax
test ecx, ecx
jne 0x18000e9a5
movzx r8d, byte [r9]
lea eax, [rcx + 7]
inc r9
mov ecx, r8d
add r8d, r8d
shr ecx, 7
and ecx, 1
jne 0x18000e972
cmp ebx, 0x7d00
lea ecx, [rdx + 1]
cmovb ecx, edx
cmp ebx, 0x500
lea edx, [rcx + 1]
cmovb edx, ecx
cmp ebx, 0x80
lea r11d, [rdx + 2]
cmovae r11d, edx
test r11d, r11d
je 0x18000ea01
mov edx, ebx
neg rdx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx + r10]
mov byte [r10], cl
inc r10
add r11d, 0xffffffff
jne 0x18000e9f0
mov r11d, 1
jmp 0x18000ea19
movzx ecx, byte [r9]
inc r9
mov byte [r10], cl
inc r10
xor r11d, r11d
test edi, edi
je 0x18000e7a0
mov rbx, qword [rsp + 0x30]
sub r10, rsi
mov rsi, qword [rsp + 0x38]
mov eax, r10d
add rsp, 0x20
pop rdi
ret