fast procedure read_character begin nop mov eax 0 nop mov edi r12d nop mov esi r13d nop mov edx 1 nop syscall end procedure fast procedure write_character begin nop mov eax 1 nop mov edi r12d nop mov esi r13d nop mov edx 1 nop syscall end procedure fast procedure write_string begin nop mov eax 1 nop mov edi r12d nop mov esi r13d nop mov edx r14d nop syscall end procedure fast procedure write_space s8 space = ' ' begin nop mov eax 1 nop mov edi 1 nop mov esi space nop mov edx 1 nop syscall end procedure fast procedure write_line_feed s8 line_feed = '\n' begin nop mov eax 1 nop mov edi 1 nop mov esi line_feed nop mov edx 1 nop syscall end procedure unix program main s8 <> failure = "> nop file\n\0" s8 <> digits = "0123456789abcdef" s32 file = 0 s8 byte = 0 begin nop nop nop nop pop r11 nop cmp r11 2 nop je skip nop mov r12d 1 nop mov r13d failure nop mov r14d 12 nop fastcall write_string nop exit 1 nop skip: nop pop r11 nop pop r11 nop mov eax 2 nop mov edi r11d nop xor esi esi nop xor edx edx nop syscall nop mov [file] eax main_loop: nop mov r12d [file] nop mov r13d byte nop fastcall read_character nop nop mov r10d eax nop mov r15b [byte] nop cmp r15b 144 nop jne main_loop_skip nop fastcall write_line_feed nop main_loop_skip: nop nop mov r12d 1 nop mov r13d digits nop machine 0x04ffc141 end machine nop add r13d r15d nop fastcall write_character nop nop mov r12d 1 nop mov r13d digits nop mov r15b [byte] nop and r15d 15 nop add r13d r15d nop fastcall write_character nop nop fastcall write_space nop cmp r10d 0 nop jne main_loop nop fastcall write_line_feed nop mov eax 3 nop mov edi [file] nop syscall nop exit 0 nop nop nop end program