#pragma once #include #define ObfuscateRoutine __declspec(code_seg(".theo"), noinline) #define MutatedRoutine __declspec(code_seg(".theo1"), noinline) #define EncryptedRoutine __declspec(code_seg(".theo2"), noinline) extern "C" unsigned long DbgPrint(const char* format, ...); extern "C" unsigned long long IoGetCurrentProcess(); namespace cppdemo { unsigned long long get_dirbase(); } typedef union { struct { unsigned long long reserved1 : 3; unsigned long long page_level_write_through : 1; unsigned long long page_level_cache_disable : 1; unsigned long long reserved2 : 7; unsigned long long address_of_page_directory : 36; unsigned long long reserved3 : 16; }; unsigned long long flags; } cr3;