0000000000400628 : 400628: 45 30 37 xor BYTE PTR [r15],r14b 40062c: 45 00 37 add BYTE PTR [r15],r14b 400630: 45 28 37 sub BYTE PTR [r15],r14b 400634: 4d 89 65 00 mov QWORD PTR [r13+0x0],r12 print_file@plt: 0000000000400510 0x00000000004006a0 : pop r14 ; pop r15 ; ret 1: 0x000000000040069c : pop r12 ; pop r13 ; pop r14 ; pop r15 ; ret <-- to set registers 1: r12: "flae-txt" r13: 0x601be0 r14: 1 r15: 0x601be4 2: 0x0000000000400634 : mov qword ptr [r13], r12 ; ret 3: 0x000000000040062c : add [r15], r14 4: 0x00000000004006a0 : pop r14 ; pop r15 ; ret r14: 1 r15: 0x601be5 5: 0x00000000004006a3 : pop rdi ; ret rdi: 0x601be0 6: 0x0000000000400510 : print_file@plt 0x00000000004006a3 : pop rdi ; ret .init_array: 0x601be0 [safe] we cant use: 'x', 'g', 'a', '.' ['0x78', '0x67', '0x61', '0x2e']