#pragma once #include #include #include #include #include #include #include namespace hex::plugin::disasm { class ViewDisassembler : public View::Window { public: explicit ViewDisassembler(); ~ViewDisassembler() override; void drawContent() override; private: TaskHolder m_disassemblerTask; u64 m_imageLoadAddress = 0; u64 m_imageBaseAddress = 0; ui::RegionType m_range = ui::RegionType::EntireData; Region m_regionToDisassemble = { }; std::unique_ptr m_currArchitecture = nullptr; std::vector m_disassembly; void disassemble(); void exportToFile(); }; }