Unknown lines on my functions

I saw the following lines on vmprotect, What are the purposes of these lines?

This is information about try/catch/finally blocks in the function. Here is more detailed information if you need:

When I try to virtualize functions which contain lines like above many antiviruses show my application as “Gen:Variant.Ursu.546526”.
This problem just occurred when I virtualize these functions.

Do you have any suggestion to remove these lines completely?
And I don’t use try/catch/finally blocks on my code.

When I try to virtualize functions which contain lines like above many antiviruses shows my application as “Gen:Variant.Ursu.546526”.

I don’t think so :slight_smile:)

Do you have any suggestion to remove these lines completely?

Please notice that it’s a part of your function like other commands (MOV, RET, etc.) and it can’t be removed.

And I don’t use try/catch/finally blocks on my code.

It seems you don’t know how compilers work. For example:

class MyClass
{
public:
   MyClass();
   ~MyClass()
   {
     printf("~MyClass()/n");
   }
   ...
}

void Main()
{
   MyClass my_object();
   ...
}

The function “Main” will have try/finally block (created by compiler) for calling of a destrtuctor of “my_object” something like this:

void Main()
{
   MyClass my_object();
   try {
   ...
   } finally
   {
     delete my_object;
   }
}

Thank you for the detailed answer.

If I use a code signing certificate on my software, Do the negative results decrease?