Skip to content

Instantly share code, notes, and snippets.

@tmcdonell
Created January 3, 2018 00:57
Show Gist options
  • Save tmcdonell/21880360fed9602db70e7554e936a38b to your computer and use it in GitHub Desktop.
Save tmcdonell/21880360fed9602db70e7554e936a38b to your computer and use it in GitHub Desktop.
a.out: file format elf64-x86-64
Disassembly of section .init:
0000000000400408 <_init>:
400408: 48 83 ec 08 sub $0x8,%rsp
40040c: 48 8b 05 e5 0b 20 00 mov 0x200be5(%rip),%rax # 600ff8 <__gmon_start__>
400413: 48 85 c0 test %rax,%rax
400416: 74 02 je 40041a <_init+0x12>
400418: ff d0 callq *%rax
40041a: 48 83 c4 08 add $0x8,%rsp
40041e: c3 retq
Disassembly of section .plt:
0000000000400420 <.plt>:
400420: ff 35 e2 0b 20 00 pushq 0x200be2(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
400426: ff 25 e4 0b 20 00 jmpq *0x200be4(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
40042c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400430 <printf@plt>:
400430: ff 25 e2 0b 20 00 jmpq *0x200be2(%rip) # 601018 <printf@GLIBC_2.2.5>
400436: 68 00 00 00 00 pushq $0x0
40043b: e9 e0 ff ff ff jmpq 400420 <.plt>
0000000000400440 <tanh@plt>:
400440: ff 25 da 0b 20 00 jmpq *0x200bda(%rip) # 601020 <tanh@GLIBC_2.2.5>
400446: 68 01 00 00 00 pushq $0x1
40044b: e9 d0 ff ff ff jmpq 400420 <.plt>
Disassembly of section .text:
0000000000400450 <_start>:
400450: 31 ed xor %ebp,%ebp
400452: 49 89 d1 mov %rdx,%r9
400455: 5e pop %rsi
400456: 48 89 e2 mov %rsp,%rdx
400459: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
40045d: 50 push %rax
40045e: 54 push %rsp
40045f: 49 c7 c0 80 06 40 00 mov $0x400680,%r8
400466: 48 c7 c1 10 06 40 00 mov $0x400610,%rcx
40046d: 48 c7 c7 30 05 40 00 mov $0x400530,%rdi
400474: ff 15 76 0b 20 00 callq *0x200b76(%rip) # 600ff0 <__libc_start_main@GLIBC_2.2.5>
40047a: f4 hlt
40047b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000400480 <deregister_tm_clones>:
400480: 55 push %rbp
400481: b8 38 10 60 00 mov $0x601038,%eax
400486: 48 3d 38 10 60 00 cmp $0x601038,%rax
40048c: 48 89 e5 mov %rsp,%rbp
40048f: 74 17 je 4004a8 <deregister_tm_clones+0x28>
400491: b8 00 00 00 00 mov $0x0,%eax
400496: 48 85 c0 test %rax,%rax
400499: 74 0d je 4004a8 <deregister_tm_clones+0x28>
40049b: 5d pop %rbp
40049c: bf 38 10 60 00 mov $0x601038,%edi
4004a1: ff e0 jmpq *%rax
4004a3: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
4004a8: 5d pop %rbp
4004a9: c3 retq
4004aa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
00000000004004b0 <register_tm_clones>:
4004b0: be 38 10 60 00 mov $0x601038,%esi
4004b5: 55 push %rbp
4004b6: 48 81 ee 38 10 60 00 sub $0x601038,%rsi
4004bd: 48 89 e5 mov %rsp,%rbp
4004c0: 48 c1 fe 03 sar $0x3,%rsi
4004c4: 48 89 f0 mov %rsi,%rax
4004c7: 48 c1 e8 3f shr $0x3f,%rax
4004cb: 48 01 c6 add %rax,%rsi
4004ce: 48 d1 fe sar %rsi
4004d1: 74 15 je 4004e8 <register_tm_clones+0x38>
4004d3: b8 00 00 00 00 mov $0x0,%eax
4004d8: 48 85 c0 test %rax,%rax
4004db: 74 0b je 4004e8 <register_tm_clones+0x38>
4004dd: 5d pop %rbp
4004de: bf 38 10 60 00 mov $0x601038,%edi
4004e3: ff e0 jmpq *%rax
4004e5: 0f 1f 00 nopl (%rax)
4004e8: 5d pop %rbp
4004e9: c3 retq
4004ea: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
00000000004004f0 <__do_global_dtors_aux>:
4004f0: 80 3d 41 0b 20 00 00 cmpb $0x0,0x200b41(%rip) # 601038 <__TMC_END__>
4004f7: 75 17 jne 400510 <__do_global_dtors_aux+0x20>
4004f9: 55 push %rbp
4004fa: 48 89 e5 mov %rsp,%rbp
4004fd: e8 7e ff ff ff callq 400480 <deregister_tm_clones>
400502: c6 05 2f 0b 20 00 01 movb $0x1,0x200b2f(%rip) # 601038 <__TMC_END__>
400509: 5d pop %rbp
40050a: c3 retq
40050b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
400510: f3 c3 repz retq
400512: 0f 1f 40 00 nopl 0x0(%rax)
400516: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
40051d: 00 00 00
0000000000400520 <frame_dummy>:
400520: 55 push %rbp
400521: 48 89 e5 mov %rsp,%rbp
400524: 5d pop %rbp
400525: eb 89 jmp 4004b0 <register_tm_clones>
400527: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
40052e: 00 00
0000000000400530 <main>:
400530: 55 push %rbp
400531: 48 89 e5 mov %rsp,%rbp
400534: 48 83 ec 30 sub $0x30,%rsp
400538: 31 c0 xor %eax,%eax
40053a: 89 c1 mov %eax,%ecx
40053c: b8 01 00 00 00 mov $0x1,%eax
400541: 89 c2 mov %eax,%edx
400543: 4c 8d 45 e0 lea -0x20(%rbp),%r8
400547: 4c 8d 4d e8 lea -0x18(%rbp),%r9
40054b: f2 0f 10 05 45 01 00 movsd 0x145(%rip),%xmm0 # 400698 <_IO_stdin_used+0x8>
400552: 00
400553: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
40055a: 89 7d f8 mov %edi,-0x8(%rbp)
40055d: 48 89 75 f0 mov %rsi,-0x10(%rbp)
400561: f2 0f 11 45 e8 movsd %xmm0,-0x18(%rbp)
400566: 48 89 cf mov %rcx,%rdi
400569: 48 89 d6 mov %rdx,%rsi
40056c: 4c 89 c2 mov %r8,%rdx
40056f: 4c 89 c9 mov %r9,%rcx
400572: e8 29 00 00 00 callq 4005a0 <map_1bf1a791bb25369d>
400577: 48 bf a0 06 40 00 00 movabs $0x4006a0,%rdi
40057e: 00 00 00
400581: f2 0f 10 45 e0 movsd -0x20(%rbp),%xmm0
400586: b0 01 mov $0x1,%al
400588: e8 a3 fe ff ff callq 400430 <printf@plt>
40058d: 45 31 d2 xor %r10d,%r10d
400590: 89 45 dc mov %eax,-0x24(%rbp)
400593: 44 89 d0 mov %r10d,%eax
400596: 48 83 c4 30 add $0x30,%rsp
40059a: 5d pop %rbp
40059b: c3 retq
40059c: 0f 1f 40 00 nopl 0x0(%rax)
00000000004005a0 <map_1bf1a791bb25369d>:
4005a0: 41 57 push %r15
4005a2: 41 56 push %r14
4005a4: 53 push %rbx
4005a5: 48 83 ec 10 sub $0x10,%rsp
4005a9: 49 89 f6 mov %rsi,%r14
4005ac: 4c 39 f7 cmp %r14,%rdi
4005af: 0f 8d 49 00 00 00 jge 4005fe <map_1bf1a791bb25369d+0x5e>
4005b5: 49 29 fe sub %rdi,%r14
4005b8: 4c 8d 3c fa lea (%rdx,%rdi,8),%r15
4005bc: 48 8d 1c f9 lea (%rcx,%rdi,8),%rbx
4005c0: c5 fb 10 05 d0 00 00 vmovsd 0xd0(%rip),%xmm0 # 400698 <_IO_stdin_used+0x8>
4005c7: 00
4005c8: c5 fb 5e 03 vdivsd (%rbx),%xmm0,%xmm0
4005cc: c5 fb 11 44 24 08 vmovsd %xmm0,0x8(%rsp)
4005d2: c4 e2 f9 af 04 25 b8 vfnmsub213sd 0x4006b8,%xmm0,%xmm0
4005d9: 06 40 00
4005dc: e8 5f fe ff ff callq 400440 <tanh@plt>
4005e1: c5 fb 58 44 24 08 vaddsd 0x8(%rsp),%xmm0,%xmm0
4005e7: c4 c1 7b 11 07 vmovsd %xmm0,(%r15)
4005ec: 49 83 c7 08 add $0x8,%r15
4005f0: 48 83 c3 08 add $0x8,%rbx
4005f4: 49 83 c6 ff add $0xffffffffffffffff,%r14
4005f8: 0f 85 c2 ff ff ff jne 4005c0 <map_1bf1a791bb25369d+0x20>
4005fe: 48 83 c4 10 add $0x10,%rsp
400602: 5b pop %rbx
400603: 41 5e pop %r14
400605: 41 5f pop %r15
400607: c3 retq
400608: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
40060f: 00
0000000000400610 <__libc_csu_init>:
400610: 41 57 push %r15
400612: 41 56 push %r14
400614: 41 89 ff mov %edi,%r15d
400617: 41 55 push %r13
400619: 41 54 push %r12
40061b: 4c 8d 25 de 07 20 00 lea 0x2007de(%rip),%r12 # 600e00 <__frame_dummy_init_array_entry>
400622: 55 push %rbp
400623: 48 8d 2d de 07 20 00 lea 0x2007de(%rip),%rbp # 600e08 <__init_array_end>
40062a: 53 push %rbx
40062b: 49 89 f6 mov %rsi,%r14
40062e: 49 89 d5 mov %rdx,%r13
400631: 4c 29 e5 sub %r12,%rbp
400634: 48 83 ec 08 sub $0x8,%rsp
400638: 48 c1 fd 03 sar $0x3,%rbp
40063c: e8 c7 fd ff ff callq 400408 <_init>
400641: 48 85 ed test %rbp,%rbp
400644: 74 20 je 400666 <__libc_csu_init+0x56>
400646: 31 db xor %ebx,%ebx
400648: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
40064f: 00
400650: 4c 89 ea mov %r13,%rdx
400653: 4c 89 f6 mov %r14,%rsi
400656: 44 89 ff mov %r15d,%edi
400659: 41 ff 14 dc callq *(%r12,%rbx,8)
40065d: 48 83 c3 01 add $0x1,%rbx
400661: 48 39 dd cmp %rbx,%rbp
400664: 75 ea jne 400650 <__libc_csu_init+0x40>
400666: 48 83 c4 08 add $0x8,%rsp
40066a: 5b pop %rbx
40066b: 5d pop %rbp
40066c: 41 5c pop %r12
40066e: 41 5d pop %r13
400670: 41 5e pop %r14
400672: 41 5f pop %r15
400674: c3 retq
400675: 90 nop
400676: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
40067d: 00 00 00
0000000000400680 <__libc_csu_fini>:
400680: f3 c3 repz retq
Disassembly of section .fini:
0000000000400684 <_fini>:
400684: 48 83 ec 08 sub $0x8,%rsp
400688: 48 83 c4 08 add $0x8,%rsp
40068c: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment