#pragma once #include #include #include #include #include #include #include namespace theo::decomp { class decomp_t { public: explicit decomp_t(std::vector& lib_data, comp::symbol_table_t* syms); std::vector rtns(); std::vector lib(); std::vector objs(); comp::symbol_table_t* syms(); std::optional decompose(); private: std::vector m_lib_data; std::vector m_obj_imgs; std::vector m_rtns; comp::symbol_table_t* m_syms; }; } // namespace theo::decomp