diff --git a/src/core/operations/DisassembleX86.mjs b/src/core/operations/DisassembleX86.mjs
deleted file mode 100644
index bdaf348a..00000000
--- a/src/core/operations/DisassembleX86.mjs
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * @author n1474335 [n1474335@gmail.com]
- * @copyright Crown Copyright 2017
- * @license Apache-2.0
- */
-
-import Operation from "../Operation.mjs";
-import * as disassemble from "../vendor/DisassembleX86-64.mjs";
-import OperationError from "../errors/OperationError.mjs";
-
-/**
- * Disassemble x86 operation
- */
-class DisassembleX86 extends Operation {
-
- /**
- * DisassembleX86 constructor
- */
- constructor() {
- super();
-
- this.name = "Disassemble x86";
- this.module = "Shellcode";
- this.description = "Disassembly is the process of translating machine language into assembly language.
This operation supports 64-bit, 32-bit and 16-bit code written for Intel or AMD x86 processors. It is particularly useful for reverse engineering shellcode.
Input should be in hexadecimal.";
- this.infoURL = "https://wikipedia.org/wiki/X86";
- this.inputType = "string";
- this.outputType = "string";
- this.args = [
- {
- "name": "Bit mode",
- "type": "option",
- "value": ["64", "32", "16"]
- },
- {
- "name": "Compatibility",
- "type": "option",
- "value": [
- "Full x86 architecture",
- "Knights Corner",
- "Larrabee",
- "Cyrix",
- "Geode",
- "Centaur",
- "X86/486"
- ]
- },
- {
- "name": "Code Segment (CS)",
- "type": "number",
- "value": 16
- },
- {
- "name": "Offset (IP)",
- "type": "number",
- "value": 0
- },
- {
- "name": "Show instruction hex",
- "type": "boolean",
- "value": true
- },
- {
- "name": "Show instruction position",
- "type": "boolean",
- "value": true
- }
- ];
- }
-
- /**
- * @param {string} input
- * @param {Object[]} args
- * @returns {string}
- *
- * @throws {OperationError} if invalid mode value
- */
- run(input, args) {
- const [
- mode,
- compatibility,
- codeSegment,
- offset,
- showInstructionHex,
- showInstructionPos
- ] = args;
-
- switch (mode) {
- case "64":
- disassemble.setBitMode(2);
- break;
- case "32":
- disassemble.setBitMode(1);
- break;
- case "16":
- disassemble.setBitMode(0);
- break;
- default:
- throw new OperationError("Invalid mode value");
- }
-
- switch (compatibility) {
- case "Full x86 architecture":
- disassemble.CompatibilityMode(0);
- break;
- case "Knights Corner":
- disassemble.CompatibilityMode(1);
- break;
- case "Larrabee":
- disassemble.CompatibilityMode(2);
- break;
- case "Cyrix":
- disassemble.CompatibilityMode(3);
- break;
- case "Geode":
- disassemble.CompatibilityMode(4);
- break;
- case "Centaur":
- disassemble.CompatibilityMode(5);
- break;
- case "X86/486":
- disassemble.CompatibilityMode(6);
- break;
- }
-
- disassemble.SetBasePosition(codeSegment + ":" + offset);
- disassemble.setShowInstructionHex(showInstructionHex);
- disassemble.setShowInstructionPos(showInstructionPos);
- disassemble.LoadBinCode(input.replace(/\s/g, ""));
- return disassemble.LDisassemble();
- }
-
-}
-
-export default DisassembleX86;