You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/include/decomp/routine.hpp

29 lines
590 B

#pragma once
#include <map>
#include <string>
#include <vector>
#include <spdlog/spdlog.h>
#include <decomp/symbol.hpp>
#define XED_ENCODER
extern "C" {
#include <xed-decode.h>
#include <xed-interface.h>
}
namespace theo::decomp {
class routine_t {
public:
explicit routine_t(coff::section_header_t* scn,
std::vector<std::uint8_t>& fn);
std::vector<decomp::symbol_t> decompose();
coff::section_header_t* scn();
std::vector<std::uint8_t> data();
private:
std::vector<std::uint8_t> m_data;
coff::section_header_t* m_scn;
};
} // namespace theo::decomp