Created
December 23, 2012 05:47
-
-
Save usagi/4362192 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
master_c.O0: file format elf64-x86-64 | |
Disassembly of section .init: | |
0000000000400568 <_init>: | |
400568: 48 83 ec 08 sub $0x8,%rsp | |
40056c: e8 bb 00 00 00 callq 40062c <call_gmon_start> | |
400571: 48 83 c4 08 add $0x8,%rsp | |
400575: c3 retq | |
Disassembly of section .plt: | |
0000000000400580 <free@plt-0x10>: | |
400580: ff 35 6a 0a 20 00 pushq 0x200a6a(%rip) # 600ff0 <_GLOBAL_OFFSET_TABLE_+0x8> | |
400586: ff 25 6c 0a 20 00 jmpq *0x200a6c(%rip) # 600ff8 <_GLOBAL_OFFSET_TABLE_+0x10> | |
40058c: 0f 1f 40 00 nopl 0x0(%rax) | |
0000000000400590 <free@plt>: | |
400590: ff 25 6a 0a 20 00 jmpq *0x200a6a(%rip) # 601000 <_GLOBAL_OFFSET_TABLE_+0x18> | |
400596: 68 00 00 00 00 pushq $0x0 | |
40059b: e9 e0 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005a0 <puts@plt>: | |
4005a0: ff 25 62 0a 20 00 jmpq *0x200a62(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x20> | |
4005a6: 68 01 00 00 00 pushq $0x1 | |
4005ab: e9 d0 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005b0 <clock@plt>: | |
4005b0: ff 25 5a 0a 20 00 jmpq *0x200a5a(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x28> | |
4005b6: 68 02 00 00 00 pushq $0x2 | |
4005bb: e9 c0 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005c0 <printf@plt>: | |
4005c0: ff 25 52 0a 20 00 jmpq *0x200a52(%rip) # 601018 <_GLOBAL_OFFSET_TABLE_+0x30> | |
4005c6: 68 03 00 00 00 pushq $0x3 | |
4005cb: e9 b0 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005d0 <__libc_start_main@plt>: | |
4005d0: ff 25 4a 0a 20 00 jmpq *0x200a4a(%rip) # 601020 <_GLOBAL_OFFSET_TABLE_+0x38> | |
4005d6: 68 04 00 00 00 pushq $0x4 | |
4005db: e9 a0 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005e0 <calloc@plt>: | |
4005e0: ff 25 42 0a 20 00 jmpq *0x200a42(%rip) # 601028 <_GLOBAL_OFFSET_TABLE_+0x40> | |
4005e6: 68 05 00 00 00 pushq $0x5 | |
4005eb: e9 90 ff ff ff jmpq 400580 <_init+0x18> | |
00000000004005f0 <setvbuf@plt>: | |
4005f0: ff 25 3a 0a 20 00 jmpq *0x200a3a(%rip) # 601030 <_GLOBAL_OFFSET_TABLE_+0x48> | |
4005f6: 68 06 00 00 00 pushq $0x6 | |
4005fb: e9 80 ff ff ff jmpq 400580 <_init+0x18> | |
Disassembly of section .text: | |
0000000000400600 <_start>: | |
400600: 31 ed xor %ebp,%ebp | |
400602: 49 89 d1 mov %rdx,%r9 | |
400605: 5e pop %rsi | |
400606: 48 89 e2 mov %rsp,%rdx | |
400609: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp | |
40060d: 50 push %rax | |
40060e: 54 push %rsp | |
40060f: 49 c7 c0 80 09 40 00 mov $0x400980,%r8 | |
400616: 48 c7 c1 f0 08 40 00 mov $0x4008f0,%rcx | |
40061d: 48 c7 c7 12 08 40 00 mov $0x400812,%rdi | |
400624: e8 a7 ff ff ff callq 4005d0 <__libc_start_main@plt> | |
400629: f4 hlt | |
40062a: 90 nop | |
40062b: 90 nop | |
000000000040062c <call_gmon_start>: | |
40062c: 48 83 ec 08 sub $0x8,%rsp | |
400630: 48 8b 05 a9 09 20 00 mov 0x2009a9(%rip),%rax # 600fe0 <_DYNAMIC+0x1e0> | |
400637: 48 85 c0 test %rax,%rax | |
40063a: 74 02 je 40063e <call_gmon_start+0x12> | |
40063c: ff d0 callq *%rax | |
40063e: 48 83 c4 08 add $0x8,%rsp | |
400642: c3 retq | |
400643: 90 nop | |
400644: 90 nop | |
400645: 90 nop | |
400646: 90 nop | |
400647: 90 nop | |
400648: 90 nop | |
400649: 90 nop | |
40064a: 90 nop | |
40064b: 90 nop | |
40064c: 90 nop | |
40064d: 90 nop | |
40064e: 90 nop | |
40064f: 90 nop | |
0000000000400650 <deregister_tm_clones>: | |
400650: b8 4f 10 60 00 mov $0x60104f,%eax | |
400655: 55 push %rbp | |
400656: 48 2d 48 10 60 00 sub $0x601048,%rax | |
40065c: 48 83 f8 0e cmp $0xe,%rax | |
400660: 48 89 e5 mov %rsp,%rbp | |
400663: 77 02 ja 400667 <deregister_tm_clones+0x17> | |
400665: 5d pop %rbp | |
400666: c3 retq | |
400667: b8 00 00 00 00 mov $0x0,%eax | |
40066c: 48 85 c0 test %rax,%rax | |
40066f: 74 f4 je 400665 <deregister_tm_clones+0x15> | |
400671: 5d pop %rbp | |
400672: bf 48 10 60 00 mov $0x601048,%edi | |
400677: ff e0 jmpq *%rax | |
400679: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
0000000000400680 <register_tm_clones>: | |
400680: b8 48 10 60 00 mov $0x601048,%eax | |
400685: 55 push %rbp | |
400686: 48 2d 48 10 60 00 sub $0x601048,%rax | |
40068c: 48 c1 f8 03 sar $0x3,%rax | |
400690: 48 89 e5 mov %rsp,%rbp | |
400693: 48 89 c2 mov %rax,%rdx | |
400696: 48 c1 ea 3f shr $0x3f,%rdx | |
40069a: 48 01 d0 add %rdx,%rax | |
40069d: 48 89 c6 mov %rax,%rsi | |
4006a0: 48 d1 fe sar %rsi | |
4006a3: 75 02 jne 4006a7 <register_tm_clones+0x27> | |
4006a5: 5d pop %rbp | |
4006a6: c3 retq | |
4006a7: ba 00 00 00 00 mov $0x0,%edx | |
4006ac: 48 85 d2 test %rdx,%rdx | |
4006af: 74 f4 je 4006a5 <register_tm_clones+0x25> | |
4006b1: 5d pop %rbp | |
4006b2: bf 48 10 60 00 mov $0x601048,%edi | |
4006b7: ff e2 jmpq *%rdx | |
4006b9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
00000000004006c0 <__do_global_dtors_aux>: | |
4006c0: 80 3d 91 09 20 00 00 cmpb $0x0,0x200991(%rip) # 601058 <completed.6098> | |
4006c7: 75 11 jne 4006da <__do_global_dtors_aux+0x1a> | |
4006c9: 55 push %rbp | |
4006ca: 48 89 e5 mov %rsp,%rbp | |
4006cd: e8 7e ff ff ff callq 400650 <deregister_tm_clones> | |
4006d2: 5d pop %rbp | |
4006d3: c6 05 7e 09 20 00 01 movb $0x1,0x20097e(%rip) # 601058 <completed.6098> | |
4006da: f3 c3 repz retq | |
4006dc: 0f 1f 40 00 nopl 0x0(%rax) | |
00000000004006e0 <frame_dummy>: | |
4006e0: 48 83 3d 10 07 20 00 cmpq $0x0,0x200710(%rip) # 600df8 <__JCR_END__> | |
4006e7: 00 | |
4006e8: 74 1b je 400705 <frame_dummy+0x25> | |
4006ea: b8 00 00 00 00 mov $0x0,%eax | |
4006ef: 48 85 c0 test %rax,%rax | |
4006f2: 74 11 je 400705 <frame_dummy+0x25> | |
4006f4: 55 push %rbp | |
4006f5: bf f8 0d 60 00 mov $0x600df8,%edi | |
4006fa: 48 89 e5 mov %rsp,%rbp | |
4006fd: ff d0 callq *%rax | |
4006ff: 5d pop %rbp | |
400700: e9 7b ff ff ff jmpq 400680 <register_tm_clones> | |
400705: e9 76 ff ff ff jmpq 400680 <register_tm_clones> | |
40070a: 90 nop | |
40070b: 90 nop | |
000000000040070c <get_r>: | |
40070c: 55 push %rbp | |
40070d: 48 89 e5 mov %rsp,%rbp | |
400710: 89 f8 mov %edi,%eax | |
400712: 66 89 45 fc mov %ax,-0x4(%rbp) | |
400716: 0f b7 45 fc movzwl -0x4(%rbp),%eax | |
40071a: 66 c1 e8 08 shr $0x8,%ax | |
40071e: 0f b7 c0 movzwl %ax,%eax | |
400721: 25 f8 00 00 00 and $0xf8,%eax | |
400726: 5d pop %rbp | |
400727: c3 retq | |
0000000000400728 <get_g>: | |
400728: 55 push %rbp | |
400729: 48 89 e5 mov %rsp,%rbp | |
40072c: 89 f8 mov %edi,%eax | |
40072e: 66 89 45 fc mov %ax,-0x4(%rbp) | |
400732: 0f b7 45 fc movzwl -0x4(%rbp),%eax | |
400736: 66 c1 e8 03 shr $0x3,%ax | |
40073a: 0f b7 c0 movzwl %ax,%eax | |
40073d: 25 fc 00 00 00 and $0xfc,%eax | |
400742: 5d pop %rbp | |
400743: c3 retq | |
0000000000400744 <get_b>: | |
400744: 55 push %rbp | |
400745: 48 89 e5 mov %rsp,%rbp | |
400748: 89 f8 mov %edi,%eax | |
40074a: 66 89 45 fc mov %ax,-0x4(%rbp) | |
40074e: 0f b7 45 fc movzwl -0x4(%rbp),%eax | |
400752: c1 e0 03 shl $0x3,%eax | |
400755: 25 ff 00 00 00 and $0xff,%eax | |
40075a: 5d pop %rbp | |
40075b: c3 retq | |
000000000040075c <to_rgb>: | |
40075c: 55 push %rbp | |
40075d: 48 89 e5 mov %rsp,%rbp | |
400760: 89 7d fc mov %edi,-0x4(%rbp) | |
400763: 89 75 f8 mov %esi,-0x8(%rbp) | |
400766: 89 55 f4 mov %edx,-0xc(%rbp) | |
400769: 8b 45 fc mov -0x4(%rbp),%eax | |
40076c: c1 e0 08 shl $0x8,%eax | |
40076f: 89 c2 mov %eax,%edx | |
400771: 66 81 e2 00 f8 and $0xf800,%dx | |
400776: 8b 45 f8 mov -0x8(%rbp),%eax | |
400779: c1 e0 03 shl $0x3,%eax | |
40077c: 66 25 e0 07 and $0x7e0,%ax | |
400780: 09 c2 or %eax,%edx | |
400782: 8b 45 f4 mov -0xc(%rbp),%eax | |
400785: c1 e8 03 shr $0x3,%eax | |
400788: 09 d0 or %edx,%eax | |
40078a: 5d pop %rbp | |
40078b: c3 retq | |
000000000040078c <test_bitmap_color_transform_pure_c>: | |
40078c: 55 push %rbp | |
40078d: 48 89 e5 mov %rsp,%rbp | |
400790: 48 83 ec 28 sub $0x28,%rsp | |
400794: 48 89 7d d8 mov %rdi,-0x28(%rbp) | |
400798: 48 8b 45 d8 mov -0x28(%rbp),%rax | |
40079c: 48 89 45 f8 mov %rax,-0x8(%rbp) | |
4007a0: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp) | |
4007a7: eb 5e jmp 400807 <test_bitmap_color_transform_pure_c+0x7b> | |
4007a9: 48 8b 45 f8 mov -0x8(%rbp),%rax | |
4007ad: 0f b7 00 movzwl (%rax),%eax | |
4007b0: 0f b7 c0 movzwl %ax,%eax | |
4007b3: 89 c7 mov %eax,%edi | |
4007b5: e8 52 ff ff ff callq 40070c <get_r> | |
4007ba: 89 45 f0 mov %eax,-0x10(%rbp) | |
4007bd: 48 8b 45 f8 mov -0x8(%rbp),%rax | |
4007c1: 0f b7 00 movzwl (%rax),%eax | |
4007c4: 0f b7 c0 movzwl %ax,%eax | |
4007c7: 89 c7 mov %eax,%edi | |
4007c9: e8 5a ff ff ff callq 400728 <get_g> | |
4007ce: 89 45 ec mov %eax,-0x14(%rbp) | |
4007d1: 48 8b 45 f8 mov -0x8(%rbp),%rax | |
4007d5: 0f b7 00 movzwl (%rax),%eax | |
4007d8: 0f b7 c0 movzwl %ax,%eax | |
4007db: 89 c7 mov %eax,%edi | |
4007dd: e8 62 ff ff ff callq 400744 <get_b> | |
4007e2: 89 45 e8 mov %eax,-0x18(%rbp) | |
4007e5: 8b 55 f0 mov -0x10(%rbp),%edx | |
4007e8: 8b 4d e8 mov -0x18(%rbp),%ecx | |
4007eb: 8b 45 ec mov -0x14(%rbp),%eax | |
4007ee: 89 ce mov %ecx,%esi | |
4007f0: 89 c7 mov %eax,%edi | |
4007f2: e8 65 ff ff ff callq 40075c <to_rgb> | |
4007f7: 48 8b 55 f8 mov -0x8(%rbp),%rdx | |
4007fb: 66 89 02 mov %ax,(%rdx) | |
4007fe: 83 45 f4 01 addl $0x1,-0xc(%rbp) | |
400802: 48 83 45 f8 02 addq $0x2,-0x8(%rbp) | |
400807: 81 7d f4 ff a3 1f 00 cmpl $0x1fa3ff,-0xc(%rbp) | |
40080e: 76 99 jbe 4007a9 <test_bitmap_color_transform_pure_c+0x1d> | |
400810: c9 leaveq | |
400811: c3 retq | |
0000000000400812 <main>: | |
400812: 55 push %rbp | |
400813: 48 89 e5 mov %rsp,%rbp | |
400816: 48 83 ec 20 sub $0x20,%rsp | |
40081a: be 02 00 00 00 mov $0x2,%esi | |
40081f: bf 00 a4 1f 00 mov $0x1fa400,%edi | |
400824: e8 b7 fd ff ff callq 4005e0 <calloc@plt> | |
400829: 48 89 45 e8 mov %rax,-0x18(%rbp) | |
40082d: 48 8b 05 1c 08 20 00 mov 0x20081c(%rip),%rax # 601050 <stdout@@GLIBC_2.2.5> | |
400834: b9 00 00 00 00 mov $0x0,%ecx | |
400839: ba 02 00 00 00 mov $0x2,%edx | |
40083e: be 00 00 00 00 mov $0x0,%esi | |
400843: 48 89 c7 mov %rax,%rdi | |
400846: e8 a5 fd ff ff callq 4005f0 <setvbuf@plt> | |
40084b: bf a0 09 40 00 mov $0x4009a0,%edi | |
400850: e8 4b fd ff ff callq 4005a0 <puts@plt> | |
400855: c7 45 fc e8 03 00 00 movl $0x3e8,-0x4(%rbp) | |
40085c: 48 c7 45 f0 00 00 00 movq $0x0,-0x10(%rbp) | |
400863: 00 | |
400864: eb 3a jmp 4008a0 <main+0x8e> | |
400866: e8 45 fd ff ff callq 4005b0 <clock@plt> | |
40086b: 48 89 45 e0 mov %rax,-0x20(%rbp) | |
40086f: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
400873: 48 89 c7 mov %rax,%rdi | |
400876: e8 11 ff ff ff callq 40078c <test_bitmap_color_transform_pure_c> | |
40087b: e8 30 fd ff ff callq 4005b0 <clock@plt> | |
400880: 48 2b 45 e0 sub -0x20(%rbp),%rax | |
400884: 48 01 45 f0 add %rax,-0x10(%rbp) | |
400888: 8b 45 fc mov -0x4(%rbp),%eax | |
40088b: 89 c6 mov %eax,%esi | |
40088d: bf a6 09 40 00 mov $0x4009a6,%edi | |
400892: b8 00 00 00 00 mov $0x0,%eax | |
400897: e8 24 fd ff ff callq 4005c0 <printf@plt> | |
40089c: 83 6d fc 01 subl $0x1,-0x4(%rbp) | |
4008a0: 83 7d fc 00 cmpl $0x0,-0x4(%rbp) | |
4008a4: 75 c0 jne 400866 <main+0x54> | |
4008a6: bf b2 09 40 00 mov $0x4009b2,%edi | |
4008ab: e8 f0 fc ff ff callq 4005a0 <puts@plt> | |
4008b0: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
4008b4: 48 89 c7 mov %rax,%rdi | |
4008b7: e8 d4 fc ff ff callq 400590 <free@plt> | |
4008bc: f2 48 0f 2a 45 f0 cvtsi2sdq -0x10(%rbp),%xmm0 | |
4008c2: f2 0f 10 0d 16 01 00 movsd 0x116(%rip),%xmm1 # 4009e0 <_IO_stdin_used+0x48> | |
4008c9: 00 | |
4008ca: f2 0f 5e c1 divsd %xmm1,%xmm0 | |
4008ce: f2 0f 10 0d 12 01 00 movsd 0x112(%rip),%xmm1 # 4009e8 <_IO_stdin_used+0x50> | |
4008d5: 00 | |
4008d6: f2 0f 5e c1 divsd %xmm1,%xmm0 | |
4008da: bf c3 09 40 00 mov $0x4009c3,%edi | |
4008df: b8 01 00 00 00 mov $0x1,%eax | |
4008e4: e8 d7 fc ff ff callq 4005c0 <printf@plt> | |
4008e9: b8 00 00 00 00 mov $0x0,%eax | |
4008ee: c9 leaveq | |
4008ef: c3 retq | |
00000000004008f0 <__libc_csu_init>: | |
4008f0: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp) | |
4008f5: 4c 89 64 24 e0 mov %r12,-0x20(%rsp) | |
4008fa: 48 8d 2d ef 04 20 00 lea 0x2004ef(%rip),%rbp # 600df0 <__init_array_end> | |
400901: 4c 8d 25 e0 04 20 00 lea 0x2004e0(%rip),%r12 # 600de8 <__frame_dummy_init_array_entry> | |
400908: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp) | |
40090d: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp) | |
400912: 4c 89 74 24 f0 mov %r14,-0x10(%rsp) | |
400917: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp) | |
40091c: 48 83 ec 38 sub $0x38,%rsp | |
400920: 4c 29 e5 sub %r12,%rbp | |
400923: 41 89 ff mov %edi,%r15d | |
400926: 49 89 f6 mov %rsi,%r14 | |
400929: 48 c1 fd 03 sar $0x3,%rbp | |
40092d: 49 89 d5 mov %rdx,%r13 | |
400930: 31 db xor %ebx,%ebx | |
400932: e8 31 fc ff ff callq 400568 <_init> | |
400937: 48 85 ed test %rbp,%rbp | |
40093a: 74 1a je 400956 <__libc_csu_init+0x66> | |
40093c: 0f 1f 40 00 nopl 0x0(%rax) | |
400940: 4c 89 ea mov %r13,%rdx | |
400943: 4c 89 f6 mov %r14,%rsi | |
400946: 44 89 ff mov %r15d,%edi | |
400949: 41 ff 14 dc callq *(%r12,%rbx,8) | |
40094d: 48 83 c3 01 add $0x1,%rbx | |
400951: 48 39 eb cmp %rbp,%rbx | |
400954: 75 ea jne 400940 <__libc_csu_init+0x50> | |
400956: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx | |
40095b: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp | |
400960: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 | |
400965: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 | |
40096a: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 | |
40096f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 | |
400974: 48 83 c4 38 add $0x38,%rsp | |
400978: c3 retq | |
400979: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
0000000000400980 <__libc_csu_fini>: | |
400980: f3 c3 repz retq | |
400982: 90 nop | |
400983: 90 nop | |
Disassembly of section .fini: | |
0000000000400984 <_fini>: | |
400984: 55 push %rbp | |
400985: 48 83 ec 08 sub $0x8,%rsp | |
400989: e8 06 00 00 00 callq 400994 <_real_fini> | |
40098e: 48 83 c4 08 add $0x8,%rsp | |
400992: 5d pop %rbp | |
400993: c3 retq | |
0000000000400994 <_real_fini>: | |
400994: c3 retq |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment