Ты прав, задача очень трудная, вот самое простое решение :
$00401030: push %ebp $00401031: mov %esp,%ebp $00401033: sub $0x8,%esp $00401036: mov %ebx,0xfffffff8(%ebp) $00401039: mov %esi,0xfffffffc(%ebp) $0040103C: call $4011a0 <fpc_initializeunits> $00401041: mov $0x0,%cl $00401043: mov $0x144,%edx $00401048: mov $0x40a000,%eax $0040104D: call $401200 <SYSTEM_FILLCHAR$formal$LONGINT$BYTE> $00401052: movb $0x1,0x40a144 $00401059: decb 0x40a144 $0040105F: nop $00401060: incb 0x40a144 $00401066: movzbl 0x40a144,%eax $0040106D: imul $0x24,%eax,%eax $00401070: movzbl 0x40a144,%edx $00401077: movzbl 0x40a144,%ecx $0040107E: mov %ecx,0x409fd8(%eax,%edx,4) $00401085: cmpb $0x9,0x40a144 $0040108C: jb $401060 <main+48 at __redr.pp:9> $0040108E: movb $0x1,0x40a144 $00401095: decb 0x40a144 $0040109B: nop $0040109C: incb 0x40a144 $004010A2: call $401230 <fpc_get_output> $004010A7: mov %eax,%ebx $004010A9: call $401260 <fpc_writeln_end> $004010AE: call $401310 <fpc_iocheck> $004010B3: movb $0x1,0x40a145 $004010BA: decb 0x40a145 $004010C0: incb 0x40a145 $004010C6: call $401230 <fpc_get_output> $004010CB: mov %eax,%esi $004010CD: movzbl 0x40a144,%eax $004010D4: imul $0x24,%eax,%eax $004010D7: movzbl 0x40a145,%edx $004010DE: mov 0x409fd8(%eax,%edx,4),%ecx $004010E5: mov %esi,%edx $004010E7: mov $0x0,%eax $004010EC: call $401390 <fpc_write_text_sint> $004010F1: call $401310 <fpc_iocheck> $004010F6: mov $0x20,%cl $004010F8: mov %esi,%eax $004010FA: mov $0x0,%ebx $004010FF: mov %eax,%edx $00401101: mov %ebx,%eax $00401103: call $4013f0 <fpc_write_text_char> $00401108: call $401310 <fpc_iocheck> $0040110D: mov %esi,%eax $0040110F: call $4014c0 <fpc_write_end> $00401114: call $401310 <fpc_iocheck> $00401119: cmpb $0x9,0x40a145 $00401120: jb $4010c0 <main+144 at __redr.pp:13> $00401122: cmpb $0x9,0x40a144 $00401129: jb $40109c <main+108 at __redr.pp:11> $0040112F: call $4014e0 <fpc_get_input> $00401134: mov %eax,%ebx $00401136: call $401510 <fpc_readln_end> $0040113B: call $401310 <fpc_iocheck> $00401140: call $401690 <SYSTEM_DO_EXIT> $00401145: mov 0xfffffff8(%ebp),%ebx $00401148: mov 0xfffffffc(%ebp),%esi $0040114B: leave $0040114C: ret End of assembler dump.
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'