Вопрос по маркерам (VMProtectEnd)

Имею в приложении следующего вида код:

void func1(void){
    VMProtectBeginUltra("func1 ultra");
    // ...
    VMProtectEnd();
    VMProtectBeginMutation("func1 mutation");
    // ...
}

Предполагаю что первая половина функции должна быть мутирована и виртуализована, а вторая - только мутирована
Однако VMProtect выдаёт следующую ошибку при компиляции:
VMProtectMarker “func1 ultra”.10005646: Address is already used by function “VMProtectMarker “func1 mutation””
Маркеры в декомпилированном коде стоит на положенном месте, я как то не так понял работу маркера VMProtectEnd?

Пример пришлете?