0000000000400588 : 400588: 55 push %rbp 400589: 48 89 e5 mov %rsp,%rbp 40058c: 48 83 ec 10 sub $0x10,%rsp # enter stack frame 400590: 48 89 7d f8 mov %rdi,0xfffffffffffffff8(%rbp) 400594: 48 8b 7d f8 mov 0xfffffffffffffff8(%rbp),%rdi # first argument 400598: ba ff 00 00 00 mov $0xff,%edx # buffer length 40059d: be 20 07 40 00 mov $0x400720,%esi # ???? 4005a2: e8 f1 fe ff ff callq 400498 4005a7: 85 c0 test %eax,%eax # check return val 4005a9: 75 09 jne 4005b4 # return 1 or 0 4005ab: c7 45 f4 00 00 00 00 movl $0x0,0xfffffffffffffff4(%rbp) 4005b2: eb 07 jmp 4005bb 4005b4: c7 45 f4 01 00 00 00 movl $0x1,0xfffffffffffffff4(%rbp) 4005bb: 8b 45 f4 mov 0xfffffffffffffff4(%rbp),%eax 4005be: c9 leaveq 4005bf: c3 retq 00000000004005c0 : 4005c0: 55 push %rbp 4005c1: 48 89 e5 mov %rsp,%rbp 4005c4: bf 34 07 40 00 mov $0x400734,%edi 4005c9: b8 00 00 00 00 mov $0x0,%eax 4005ce: e8 e5 fe ff ff callq 4004b8 4005d3: c9 leaveq 4005d4: c3 retq 00000000004005d5
: 4005d5: 55 push %rbp 4005d6: 48 89 e5 mov %rsp,%rbp 4005d9: 48 81 ec 00 01 00 00 sub $0x100,%rsp # enter stack frame 4005e0: 48 8d bd 00 ff ff ff lea 0xffffffffffffff00(%rbp),%rdi # buf pointer 4005e7: 48 8b 15 9a 04 10 00 mov 1049754(%rip),%rdx # stdin 4005ee: be ff 00 00 00 mov $0xff,%esi # buffer length 4005f3: e8 b0 fe ff ff callq 4004a8 4005f8: 48 8d bd 00 ff ff ff lea 0xffffffffffffff00(%rbp),%rdi # buf pointer 4005ff: e8 84 ff ff ff callq 400588 400604: 85 c0 test %eax,%eax # phase1 returnval 400606: 74 0c je 400614 400608: b8 00 00 00 00 mov $0x0,%eax 40060d: e8 ae ff ff ff callq 4005c0 400612: eb 0f jmp 400623 400614: bf 40 07 40 00 mov $0x400740,%edi 400619: b8 00 00 00 00 mov $0x0,%eax 40061e: e8 95 fe ff ff callq 4004b8 400623: b8 00 00 00 00 mov $0x0,%eax 400628: c9 leaveq 400629: c3 retq