asm-intro: file format elf64-x86-64 Disassembly of section .init: 00000000004003f8 <_init>: 4003f8: 48 83 ec 08 sub $0x8,%rsp 4003fc: e8 7b 00 00 00 callq 40047c 400401: e8 da 00 00 00 callq 4004e0 400406: e8 a5 03 00 00 callq 4007b0 <__do_global_ctors_aux> 40040b: 48 83 c4 08 add $0x8,%rsp 40040f: c3 retq Disassembly of section .plt: 0000000000400410 <__libc_start_main@plt-0x10>: 400410: ff 35 a2 08 10 00 pushq 1050786(%rip) # 500cb8 <_GLOBAL_OFFSET_TABLE_+0x8> 400416: ff 25 a4 08 10 00 jmpq *1050788(%rip) # 500cc0 <_GLOBAL_OFFSET_TABLE_+0x10> 40041c: 90 nop 40041d: 90 nop 40041e: 90 nop 40041f: 90 nop 0000000000400420 <__libc_start_main@plt>: 400420: ff 25 a2 08 10 00 jmpq *1050786(%rip) # 500cc8 <_GLOBAL_OFFSET_TABLE_+0x18> 400426: 68 00 00 00 00 pushq $0x0 40042b: e9 e0 ff ff ff jmpq 400410 <_init+0x18> 0000000000400430 <__strtoul_internal@plt>: 400430: ff 25 9a 08 10 00 jmpq *1050778(%rip) # 500cd0 <_GLOBAL_OFFSET_TABLE_+0x20> 400436: 68 01 00 00 00 pushq $0x1 40043b: e9 d0 ff ff ff jmpq 400410 <_init+0x18> 0000000000400440 : 400440: ff 25 92 08 10 00 jmpq *1050770(%rip) # 500cd8 <_GLOBAL_OFFSET_TABLE_+0x28> 400446: 68 02 00 00 00 pushq $0x2 40044b: e9 c0 ff ff ff jmpq 400410 <_init+0x18> Disassembly of section .text: 0000000000400450 <_start>: 400450: 48 31 ed xor %rbp,%rbp 400453: 49 89 d1 mov %rdx,%r9 400456: 5e pop %rsi 400457: 48 89 e2 mov %rsp,%rdx 40045a: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 40045e: 50 push %rax 40045f: 54 push %rsp 400460: 49 c7 c0 70 07 40 00 mov $0x400770,%r8 400467: 48 c7 c1 10 07 40 00 mov $0x400710,%rcx 40046e: 48 c7 c7 40 06 40 00 mov $0x400640,%rdi 400475: e8 a6 ff ff ff callq 400420 <__libc_start_main@plt> 40047a: f4 hlt 40047b: 90 nop 000000000040047c : 40047c: 48 83 ec 08 sub $0x8,%rsp 400480: 48 8b 05 21 08 10 00 mov 1050657(%rip),%rax # 500ca8 <_DYNAMIC+0x190> 400487: 48 85 c0 test %rax,%rax 40048a: 74 02 je 40048e 40048c: ff d0 callq *%eax 40048e: 48 83 c4 08 add $0x8,%rsp 400492: c3 retq 400493: 90 nop 400494: 90 nop 400495: 90 nop 400496: 90 nop 400497: 90 nop 400498: 90 nop 400499: 90 nop 40049a: 90 nop 40049b: 90 nop 40049c: 90 nop 40049d: 90 nop 40049e: 90 nop 40049f: 90 nop 00000000004004a0 <__do_global_dtors_aux>: 4004a0: 80 3d 51 08 10 00 00 cmpb $0x0,1050705(%rip) # 500cf8 <__bss_start> 4004a7: 55 push %rbp 4004a8: 48 89 e5 mov %rsp,%rbp 4004ab: 74 10 je 4004bd <__do_global_dtors_aux+0x1d> 4004ad: eb 24 jmp 4004d3 <__do_global_dtors_aux+0x33> 4004af: 90 nop 4004b0: 48 83 c0 08 add $0x8,%rax 4004b4: 48 89 05 35 08 10 00 mov %rax,1050677(%rip) # 500cf0 4004bb: ff d2 callq *%edx 4004bd: 48 8b 05 2c 08 10 00 mov 1050668(%rip),%rax # 500cf0 4004c4: 48 8b 10 mov (%rax),%rdx 4004c7: 48 85 d2 test %rdx,%rdx 4004ca: 75 e4 jne 4004b0 <__do_global_dtors_aux+0x10> 4004cc: c6 05 25 08 10 00 01 movb $0x1,1050661(%rip) # 500cf8 <__bss_start> 4004d3: c9 leaveq 4004d4: c3 retq 4004d5: 66 data16 4004d6: 66 data16 4004d7: 66 data16 4004d8: 90 nop 4004d9: 66 data16 4004da: 66 data16 4004db: 66 data16 4004dc: 90 nop 4004dd: 66 data16 4004de: 66 data16 4004df: 90 nop 00000000004004e0 : 4004e0: 55 push %rbp 4004e1: 48 83 3d 27 06 10 00 cmpq $0x0,1050151(%rip) # 500b10 <__JCR_END__> 4004e8: 00 4004e9: 48 89 e5 mov %rsp,%rbp 4004ec: 74 16 je 400504 4004ee: b8 00 00 00 00 mov $0x0,%eax 4004f3: 48 85 c0 test %rax,%rax 4004f6: 74 0c je 400504 4004f8: bf 10 0b 50 00 mov $0x500b10,%edi 4004fd: 49 89 c3 mov %rax,%r11 400500: c9 leaveq 400501: 41 ff e3 jmpq *%r11d 400504: c9 leaveq 400505: c3 retq 400506: 90 nop 400507: 90 nop 400508: 90 nop 400509: 90 nop 40050a: 90 nop 40050b: 90 nop 40050c: 90 nop 40050d: 90 nop 40050e: 90 nop 40050f: 90 nop 0000000000400510 : 400510: 48 0f af fe imul %rsi,%rdi 400514: 48 29 d7 sub %rdx,%rdi 400517: 48 89 f8 mov %rdi,%rax 40051a: c3 retq 40051b: 66 data16 40051c: 66 data16 40051d: 90 nop 40051e: 66 data16 40051f: 90 nop 0000000000400520 : 400520: 48 8b 06 mov (%rsi),%rax 400523: 48 89 3e mov %rdi,(%rsi) 400526: c3 retq 400527: 66 data16 400528: 66 data16 400529: 90 nop 40052a: 66 data16 40052b: 66 data16 40052c: 90 nop 40052d: 66 data16 40052e: 66 data16 40052f: 90 nop 0000000000400530 : 400530: 8b 06 mov (%rsi),%eax 400532: 89 3e mov %edi,(%rsi) 400534: c3 retq 400535: 66 data16 400536: 66 data16 400537: 66 data16 400538: 90 nop 400539: 66 data16 40053a: 66 data16 40053b: 66 data16 40053c: 90 nop 40053d: 66 data16 40053e: 66 data16 40053f: 90 nop 0000000000400540 : 400540: 48 8b 06 mov (%rsi),%rax 400543: 48 63 ff movslq %edi,%rdi 400546: 48 89 3e mov %rdi,(%rsi) 400549: c3 retq 40054a: 66 data16 40054b: 66 data16 40054c: 90 nop 40054d: 66 data16 40054e: 66 data16 40054f: 90 nop 0000000000400550 : 400550: 8b 06 mov (%rsi),%eax 400552: 89 3e mov %edi,(%rsi) 400554: c3 retq 400555: 66 data16 400556: 66 data16 400557: 66 data16 400558: 90 nop 400559: 66 data16 40055a: 66 data16 40055b: 66 data16 40055c: 90 nop 40055d: 66 data16 40055e: 66 data16 40055f: 90 nop 0000000000400560 : 400560: c7 07 00 00 00 80 movl $0x80000000,(%rdi) 400566: c3 retq 400567: 66 data16 400568: 66 data16 400569: 90 nop 40056a: 66 data16 40056b: 66 data16 40056c: 90 nop 40056d: 66 data16 40056e: 66 data16 40056f: 90 nop 0000000000400570 : 400570: 48 c7 07 b8 ff ff ff movq $0xffffffffffffffb8,(%rdi) 400577: c3 retq 400578: 66 data16 400579: 66 data16 40057a: 66 data16 40057b: 90 nop 40057c: 66 data16 40057d: 66 data16 40057e: 66 data16 40057f: 90 nop 0000000000400580 : 400580: 48 b8 00 00 00 00 00 mov $0x8000000000000000,%rax 400587: 00 00 80 40058a: 48 89 07 mov %rax,(%rdi) 40058d: c3 retq 40058e: 66 data16 40058f: 90 nop 0000000000400590 : 400590: 48 8b 07 mov (%rdi),%rax 400593: 48 8b 16 mov (%rsi),%rdx 400596: 48 89 06 mov %rax,(%rsi) 400599: 48 89 17 mov %rdx,(%rdi) 40059c: c3 retq 40059d: 66 data16 40059e: 66 data16 40059f: 90 nop 00000000004005a0 : 4005a0: 83 e7 01 and $0x1,%edi 4005a3: 48 c7 44 24 e8 fd ff movq $0xfffffffffffffffd,0xffffffffffffffe8(%rsp) 4005aa: ff ff 4005ac: 48 c7 44 24 f0 05 00 movq $0x5,0xfffffffffffffff0(%rsp) 4005b3: 00 00 4005b5: 48 63 ff movslq %edi,%rdi 4005b8: 48 8b 44 fc e8 mov 0xffffffffffffffe8(%rsp,%rdi,8),%rax 4005bd: c3 retq 4005be: 66 data16 4005bf: 90 nop 00000000004005c0 : 4005c0: 48 89 f8 mov %rdi,%rax 4005c3: 48 29 f0 sub %rsi,%rax 4005c6: 48 8d 34 76 lea (%rsi,%rsi,2),%rsi 4005ca: 48 8d 04 02 lea (%rdx,%rax,1),%rax 4005ce: 48 c1 e6 04 shl $0x4,%rsi 4005d2: 48 8d 7c 37 04 lea 0x4(%rdi,%rsi,1),%rdi 4005d7: 48 0f af c7 imul %rdi,%rax 4005db: c3 retq 4005dc: 66 data16 4005dd: 66 data16 4005de: 66 data16 4005df: 90 nop 00000000004005e0 : 4005e0: 48 31 f7 xor %rsi,%rdi 4005e3: 48 c1 ff 11 sar $0x11,%rdi 4005e7: 48 81 e7 07 00 fe ff and $0xfffffffffffe0007,%rdi 4005ee: 48 89 f8 mov %rdi,%rax 4005f1: c3 retq 4005f2: 66 data16 4005f3: 66 data16 4005f4: 66 data16 4005f5: 90 nop 4005f6: 66 data16 4005f7: 66 data16 4005f8: 66 data16 4005f9: 90 nop 4005fa: 66 data16 4005fb: 66 data16 4005fc: 90 nop 4005fd: 66 data16 4005fe: 66 data16 4005ff: 90 nop 0000000000400600 : 400600: 48 31 f7 xor %rsi,%rdi 400603: 48 c1 ff 11 sar $0x11,%rdi 400607: 81 e7 f9 1f 00 00 and $0x1ff9,%edi 40060d: 48 89 f8 mov %rdi,%rax 400610: c3 retq 400611: 66 data16 400612: 66 data16 400613: 66 data16 400614: 90 nop 400615: 66 data16 400616: 66 data16 400617: 66 data16 400618: 90 nop 400619: 66 data16 40061a: 66 data16 40061b: 66 data16 40061c: 90 nop 40061d: 66 data16 40061e: 66 data16 40061f: 90 nop 0000000000400620 : 400620: 48 0f af fa imul %rdx,%rdi 400624: 48 8d 34 b6 lea (%rsi,%rsi,4),%rsi 400628: 48 21 f7 and %rsi,%rdi 40062b: 48 f7 d7 not %rdi 40062e: 48 89 f8 mov %rdi,%rax 400631: c3 retq 400632: 66 data16 400633: 66 data16 400634: 66 data16 400635: 90 nop 400636: 66 data16 400637: 66 data16 400638: 66 data16 400639: 90 nop 40063a: 66 data16 40063b: 66 data16 40063c: 90 nop 40063d: 66 data16 40063e: 66 data16 40063f: 90 nop 0000000000400640
: 400640: 41 55 push %r13 400642: 41 54 push %r12 400644: 53 push %rbx 400645: 48 89 f3 mov %rsi,%rbx 400648: 48 83 ec 10 sub $0x10,%rsp 40064c: 83 ff 04 cmp $0x4,%edi 40064f: 74 0f je 400660 400651: 48 8b 36 mov (%rsi),%rsi 400654: bf fc 07 40 00 mov $0x4007fc,%edi 400659: 31 c0 xor %eax,%eax 40065b: e8 e0 fd ff ff callq 400440 400660: 48 8b 7b 08 mov 0x8(%rbx),%rdi 400664: 31 c9 xor %ecx,%ecx 400666: 31 d2 xor %edx,%edx 400668: 31 f6 xor %esi,%esi 40066a: e8 c1 fd ff ff callq 400430 <__strtoul_internal@plt> 40066f: 48 8b 7b 10 mov 0x10(%rbx),%rdi 400673: 31 c9 xor %ecx,%ecx 400675: 31 d2 xor %edx,%edx 400677: 31 f6 xor %esi,%esi 400679: 49 89 c5 mov %rax,%r13 40067c: e8 af fd ff ff callq 400430 <__strtoul_internal@plt> 400681: 48 8b 7b 18 mov 0x18(%rbx),%rdi 400685: 31 c9 xor %ecx,%ecx 400687: 31 d2 xor %edx,%edx 400689: 31 f6 xor %esi,%esi 40068b: 48 89 44 24 08 mov %rax,0x8(%rsp) 400690: e8 9b fd ff ff callq 400430 <__strtoul_internal@plt> 400695: 4c 8b 64 24 08 mov 0x8(%rsp),%r12 40069a: 48 89 c3 mov %rax,%rbx 40069d: 4c 89 ef mov %r13,%rdi 4006a0: 48 89 c2 mov %rax,%rdx 4006a3: 4c 89 e6 mov %r12,%rsi 4006a6: e8 65 fe ff ff callq 400510 4006ab: 48 89 d9 mov %rbx,%rcx 4006ae: 49 89 c0 mov %rax,%r8 4006b1: 4c 89 e2 mov %r12,%rdx 4006b4: 4c 89 ee mov %r13,%rsi 4006b7: bf 0d 08 40 00 mov $0x40080d,%edi 4006bc: 31 c0 xor %eax,%eax 4006be: e8 7d fd ff ff callq 400440 4006c3: 48 8b 74 24 08 mov 0x8(%rsp),%rsi 4006c8: bf 27 08 40 00 mov $0x400827,%edi 4006cd: 31 c0 xor %eax,%eax 4006cf: e8 6c fd ff ff callq 400440 4006d4: 48 8d 74 24 08 lea 0x8(%rsp),%rsi 4006d9: 4c 89 ef mov %r13,%rdi 4006dc: e8 3f fe ff ff callq 400520 4006e1: 48 8b 4c 24 08 mov 0x8(%rsp),%rcx 4006e6: 48 89 c2 mov %rax,%rdx 4006e9: 4c 89 ee mov %r13,%rsi 4006ec: bf 38 08 40 00 mov $0x400838,%edi 4006f1: 31 c0 xor %eax,%eax 4006f3: e8 48 fd ff ff callq 400440 4006f8: 48 83 c4 10 add $0x10,%rsp 4006fc: 31 c0 xor %eax,%eax 4006fe: 5b pop %rbx 4006ff: 41 5c pop %r12 400701: 41 5d pop %r13 400703: c3 retq 400704: 90 nop 400705: 90 nop 400706: 90 nop 400707: 90 nop 400708: 90 nop 400709: 90 nop 40070a: 90 nop 40070b: 90 nop 40070c: 90 nop 40070d: 90 nop 40070e: 90 nop 40070f: 90 nop 0000000000400710 <__libc_csu_init>: 400710: 48 89 5c 24 e8 mov %rbx,0xffffffffffffffe8(%rsp) 400715: 4c 89 64 24 f8 mov %r12,0xfffffffffffffff8(%rsp) 40071a: 4c 8d 25 cf 03 10 00 lea 1049551(%rip),%r12 # 500af0 <__fini_array_end> 400721: 48 89 6c 24 f0 mov %rbp,0xfffffffffffffff0(%rsp) 400726: 48 83 ec 18 sub $0x18,%rsp 40072a: 31 db xor %ebx,%ebx 40072c: e8 c7 fc ff ff callq 4003f8 <_init> 400731: 48 8d 05 b8 03 10 00 lea 1049528(%rip),%rax # 500af0 <__fini_array_end> 400738: 4c 29 e0 sub %r12,%rax 40073b: 48 c1 f8 03 sar $0x3,%rax 40073f: 48 39 c3 cmp %rax,%rbx 400742: 73 0f jae 400753 <__libc_csu_init+0x43> 400744: 48 89 c5 mov %rax,%rbp 400747: 41 ff 14 dc callq *(%r12,%rbx,8) 40074b: 48 ff c3 inc %rbx 40074e: 48 39 eb cmp %rbp,%rbx 400751: 72 f4 jb 400747 <__libc_csu_init+0x37> 400753: 48 8b 1c 24 mov (%rsp),%rbx 400757: 48 8b 6c 24 08 mov 0x8(%rsp),%rbp 40075c: 4c 8b 64 24 10 mov 0x10(%rsp),%r12 400761: 48 83 c4 18 add $0x18,%rsp 400765: c3 retq 400766: 66 data16 400767: 66 data16 400768: 66 data16 400769: 90 nop 40076a: 66 data16 40076b: 66 data16 40076c: 90 nop 40076d: 66 data16 40076e: 66 data16 40076f: 90 nop 0000000000400770 <__libc_csu_fini>: 400770: 55 push %rbp 400771: 48 8d 05 78 03 10 00 lea 1049464(%rip),%rax # 500af0 <__fini_array_end> 400778: 48 8d 2d 71 03 10 00 lea 1049457(%rip),%rbp # 500af0 <__fini_array_end> 40077f: 48 29 e8 sub %rbp,%rax 400782: 53 push %rbx 400783: 48 c1 f8 03 sar $0x3,%rax 400787: 48 8d 58 ff lea 0xffffffffffffffff(%rax),%rbx 40078b: 48 83 ec 08 sub $0x8,%rsp 40078f: eb 07 jmp 400798 <__libc_csu_fini+0x28> 400791: ff 54 dd 00 callq *0x0(%rbp,%rbx,8) 400795: 48 ff cb dec %rbx 400798: 48 83 fb ff cmp $0xffffffffffffffff,%rbx 40079c: 75 f3 jne 400791 <__libc_csu_fini+0x21> 40079e: 48 83 c4 08 add $0x8,%rsp 4007a2: 5b pop %rbx 4007a3: 5d pop %rbp 4007a4: e9 3f 00 00 00 jmpq 4007e8 <_fini> 4007a9: 90 nop 4007aa: 90 nop 4007ab: 90 nop 4007ac: 90 nop 4007ad: 90 nop 4007ae: 90 nop 4007af: 90 nop 00000000004007b0 <__do_global_ctors_aux>: 4007b0: 55 push %rbp 4007b1: 48 89 e5 mov %rsp,%rbp 4007b4: 53 push %rbx 4007b5: 48 c7 c3 f0 0a 50 00 mov $0x500af0,%rbx 4007bc: 48 83 ec 08 sub $0x8,%rsp 4007c0: 48 8b 05 29 03 10 00 mov 1049385(%rip),%rax # 500af0 <__fini_array_end> 4007c7: eb 10 jmp 4007d9 <__do_global_ctors_aux+0x29> 4007c9: 66 data16 4007ca: 66 data16 4007cb: 66 data16 4007cc: 90 nop 4007cd: 66 data16 4007ce: 66 data16 4007cf: 90 nop 4007d0: 48 83 eb 08 sub $0x8,%rbx 4007d4: ff d0 callq *%eax 4007d6: 48 8b 03 mov (%rbx),%rax 4007d9: 48 83 f8 ff cmp $0xffffffffffffffff,%rax 4007dd: 75 f1 jne 4007d0 <__do_global_ctors_aux+0x20> 4007df: 48 83 c4 08 add $0x8,%rsp 4007e3: 5b pop %rbx 4007e4: c9 leaveq 4007e5: c3 retq 4007e6: 90 nop 4007e7: 90 nop Disassembly of section .fini: 00000000004007e8 <_fini>: 4007e8: 48 83 ec 08 sub $0x8,%rsp 4007ec: e8 af fc ff ff callq 4004a0 <__do_global_dtors_aux> 4007f1: 48 83 c4 08 add $0x8,%rsp 4007f5: c3 retq