#pragma once #include #include #include #include #include #define XED_ENCODER extern "C" { #include #include } #define INSTR_SPLIT_SECTION_NAME ".obf" namespace theo::decomp { class routine_t { public: explicit routine_t(coff::symbol_t* sym, coff::image_t* img, coff::section_header_t* scn, std::vector& fn, decomp_type_t dcmp_type); std::vector decompose(); coff::section_header_t* scn(); std::vector data(); private: coff::symbol_t* m_sym; std::vector m_data; coff::image_t* m_img; coff::section_header_t* m_scn; decomp_type_t m_dcmp_type; }; } // namespace theo::decomp