we have protect our exe using vmprotect software with following settings . The protected exe are refer to some DLL and API files . If debugger options are set to ("user mode or user mode+kernel mode ) means the protected exe some functions are not working based on DLL . If debugger options are set to "No" means all function working properly . so what our side mistake for that 
Vmprotect settings configurations
Memory Protection	Yes
Import Protection	Yes
Resource Protection	No
Pack the Output File	Yes
Debugger	User-mode