1. choice:
- Debuggee -> Open Executable -> protected.exe
- set hardware breakpoint at 10000103e (Breakpoints -> Hardware breakpoint - execute)
- Run (F9)
- code is now decrypted, you can see at 100001ce8 MessageBox api
Note that we mustn't set Software breakpoint at 10000103e because it modify code which is used
to calculate magic value for decrypt = decrypt will fail with incorrect magic value.
Note that code segment must be readable executable WRITEABLE - set in exe header,
or set by VirtualProtect API (SYS_MPROTECT under Linux...)


2.
- run protected.exe outside fdbg.exe
- Debuggee -> Attach to a Process -> double click on protected.exe
- walk through View -> Code (2nd) from address and you will see at 100001ce8 MessageBox api


Crypt routine used here is "reversible", called twice it restores original data
= after 1st pass it crypts, after 2nd it decrypts
= for crypt and decrypt the same routine is used
Howto create protected file with fdbg.exe:
- File -> Open -> protecting.exe
- set hardware breakpoint at 10000103e (Breakpoints -> Hardware breakpoint)
- Run (F9)
- Change -> Memory -> Save to binary file -> from address 100001000, size 1030
- copy protecting.exe protected.exe
- use hex editor to put memory dump into protected.exe file,
  e.g. biew.exe protected.exe -> Shift-F10 -> Restore block from -> start 200 lenght 1030
