#include namespace vm { ctx_t::ctx_t( std::uintptr_t module_base, std::uintptr_t image_base, std::uint32_t vm_entry_rva ) { vm::util::flatten( vm_entry, vm_entry_rva + module_base ); vm::util::deobfuscate( vm_entry ); vm::calc_jmp::get( vm_entry, calc_jmp ); auto vm_handler_table = vm::handler::table::get( vm_entry ); vm::handler::get_all( module_base, image_base, vm_entry, vm_handler_table, vm_handlers ); } ctx_t::ctx_t( std::vector< vm::handler::handler_t > &vm_handlers, zydis_routine_t &vm_entry, zydis_routine_t &calc_jmp, vmp2::exec_type_t exec_type ) : vm_handlers( vm_handlers ), vm_entry( vm_entry ), calc_jmp( calc_jmp ), exec_type( exec_type ) { } } // namespace vm