single-process, multi-thread code-level debugger for 32-bit programs running under Windows. It allows you to debug and patch executable files in PE (Portable Executable) format. "Code-level" here means that you work directly with low-level bits, bytes and
a complete rewrite of the NASM assembler under the "new" BSD License. Supports x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats.