Skip to content

Instantly share code, notes, and snippets.

@usagi
Created December 23, 2012 05:51
Show Gist options
  • Select an option

  • Save usagi/4362203 to your computer and use it in GitHub Desktop.

Select an option

Save usagi/4362203 to your computer and use it in GitHub Desktop.
master_c.O3: file format elf64-x86-64
Disassembly of section .init:
0000000000400568 <_init>:
400568: 48 83 ec 08 sub $0x8,%rsp
40056c: e8 9f 03 00 00 callq 400910 <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 1a 20 00 pushq 0x201a6a(%rip) # 601ff0 <_GLOBAL_OFFSET_TABLE_+0x8>
400586: ff 25 6c 1a 20 00 jmpq *0x201a6c(%rip) # 601ff8 <_GLOBAL_OFFSET_TABLE_+0x10>
40058c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400590 <free@plt>:
400590: ff 25 6a 1a 20 00 jmpq *0x201a6a(%rip) # 602000 <_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 1a 20 00 jmpq *0x201a62(%rip) # 602008 <_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 1a 20 00 jmpq *0x201a5a(%rip) # 602010 <_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 1a 20 00 jmpq *0x201a52(%rip) # 602018 <_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 1a 20 00 jmpq *0x201a4a(%rip) # 602020 <_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 1a 20 00 jmpq *0x201a42(%rip) # 602028 <_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 1a 20 00 jmpq *0x201a3a(%rip) # 602030 <_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 <main>:
400600: 41 57 push %r15
400602: be 02 00 00 00 mov $0x2,%esi
400607: bf 00 a4 1f 00 mov $0x1fa400,%edi
40060c: 41 56 push %r14
40060e: 41 55 push %r13
400610: 41 54 push %r12
400612: 55 push %rbp
400613: 53 push %rbx
400614: bb e8 03 00 00 mov $0x3e8,%ebx
400619: 48 83 ec 58 sub $0x58,%rsp
40061d: e8 be ff ff ff callq 4005e0 <calloc@plt>
400622: 48 8b 3d 27 1a 20 00 mov 0x201a27(%rip),%rdi # 602050 <stdout@@GLIBC_2.2.5>
400629: ba 02 00 00 00 mov $0x2,%edx
40062e: 31 c9 xor %ecx,%ecx
400630: 31 f6 xor %esi,%esi
400632: 48 89 44 24 38 mov %rax,0x38(%rsp)
400637: e8 b4 ff ff ff callq 4005f0 <setvbuf@plt>
40063c: bf c4 0c 40 00 mov $0x400cc4,%edi
400641: e8 5a ff ff ff callq 4005a0 <puts@plt>
400646: 48 8b 44 24 38 mov 0x38(%rsp),%rax
40064b: c7 44 24 44 00 a4 1f movl $0x1fa400,0x44(%rsp)
400652: 00
400653: 48 8b 54 24 38 mov 0x38(%rsp),%rdx
400658: 66 0f ef ed pxor %xmm5,%xmm5
40065c: 66 44 0f 6f 0d ab 06 movdqa 0x6ab(%rip),%xmm9 # 400d10 <_IO_stdin_used+0x50>
400663: 00 00
400665: 83 e0 0f and $0xf,%eax
400668: 48 c7 44 24 30 00 00 movq $0x0,0x30(%rsp)
40066f: 00 00
400671: 48 d1 e8 shr %rax
400674: 66 44 0f 6f 05 a3 06 movdqa 0x6a3(%rip),%xmm8 # 400d20 <_IO_stdin_used+0x60>
40067b: 00 00
40067d: 48 f7 d8 neg %rax
400680: 83 e0 07 and $0x7,%eax
400683: 29 44 24 44 sub %eax,0x44(%rsp)
400687: 44 8b 74 24 44 mov 0x44(%rsp),%r14d
40068c: 4c 8d 3c 42 lea (%rdx,%rax,2),%r15
400690: 41 89 c4 mov %eax,%r12d
400693: 4d 89 fd mov %r15,%r13
400696: 45 89 e7 mov %r12d,%r15d
400699: 41 c1 ee 03 shr $0x3,%r14d
40069d: 42 8d 2c f5 00 00 00 lea 0x0(,%r14,8),%ebp
4006a4: 00
4006a5: 89 e8 mov %ebp,%eax
4006a7: 48 01 c0 add %rax,%rax
4006aa: 48 89 44 24 48 mov %rax,0x48(%rsp)
4006af: 90 nop
4006b0: 66 0f 7f 2c 24 movdqa %xmm5,(%rsp)
4006b5: 66 44 0f 7f 44 24 10 movdqa %xmm8,0x10(%rsp)
4006bc: 66 44 0f 7f 4c 24 20 movdqa %xmm9,0x20(%rsp)
4006c3: e8 e8 fe ff ff callq 4005b0 <clock@plt>
4006c8: 45 85 ff test %r15d,%r15d
4006cb: 49 89 c4 mov %rax,%r12
4006ce: 66 0f 6f 2c 24 movdqa (%rsp),%xmm5
4006d3: 48 8b 44 24 38 mov 0x38(%rsp),%rax
4006d8: 66 44 0f 6f 44 24 10 movdqa 0x10(%rsp),%xmm8
4006df: 66 44 0f 6f 4c 24 20 movdqa 0x20(%rsp),%xmm9
4006e6: 0f 84 ed 01 00 00 je 4008d9 <main+0x2d9>
4006ec: 31 f6 xor %esi,%esi
4006ee: 41 ba ff a3 1f 00 mov $0x1fa3ff,%r10d
4006f4: 0f 1f 40 00 nopl 0x0(%rax)
4006f8: 0f b7 08 movzwl (%rax),%ecx
4006fb: 89 cf mov %ecx,%edi
4006fd: 89 ca mov %ecx,%edx
4006ff: c1 e1 06 shl $0x6,%ecx
400702: 66 c1 ef 08 shr $0x8,%di
400706: c1 e2 05 shl $0x5,%edx
400709: 66 81 e1 c0 07 and $0x7c0,%cx
40070e: 81 e7 f8 00 00 00 and $0xf8,%edi
400714: 66 81 e2 00 f8 and $0xf800,%dx
400719: c1 ef 03 shr $0x3,%edi
40071c: 09 fa or %edi,%edx
40071e: 44 89 d7 mov %r10d,%edi
400721: 09 ca or %ecx,%edx
400723: 29 f7 sub %esi,%edi
400725: 48 83 c6 01 add $0x1,%rsi
400729: 66 89 10 mov %dx,(%rax)
40072c: 48 83 c0 02 add $0x2,%rax
400730: 41 39 f7 cmp %esi,%r15d
400733: 77 c3 ja 4006f8 <main+0xf8>
400735: 85 ed test %ebp,%ebp
400737: 0f 84 c3 00 00 00 je 400800 <main+0x200>
40073d: 66 0f 6f 3d eb 05 00 movdqa 0x5eb(%rip),%xmm7 # 400d30 <_IO_stdin_used+0x70>
400744: 00
400745: 31 d2 xor %edx,%edx
400747: 31 f6 xor %esi,%esi
400749: 66 0f 6f 25 ef 05 00 movdqa 0x5ef(%rip),%xmm4 # 400d40 <_IO_stdin_used+0x80>
400750: 00
400751: 66 0f 6f 35 f7 05 00 movdqa 0x5f7(%rip),%xmm6 # 400d50 <_IO_stdin_used+0x90>
400758: 00
400759: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
400760: 66 41 0f 6f 54 15 00 movdqa 0x0(%r13,%rdx,1),%xmm2
400767: 83 c6 01 add $0x1,%esi
40076a: 66 0f 6f c2 movdqa %xmm2,%xmm0
40076e: 66 0f 6f ca movdqa %xmm2,%xmm1
400772: 66 0f 71 d0 03 psrlw $0x3,%xmm0
400777: 66 41 0f db c1 pand %xmm9,%xmm0
40077c: 66 0f 71 d1 08 psrlw $0x8,%xmm1
400781: 66 0f db cf pand %xmm7,%xmm1
400785: 66 0f 71 f0 08 psllw $0x8,%xmm0
40078a: 66 41 0f db c0 pand %xmm8,%xmm0
40078f: 66 0f 71 d1 03 psrlw $0x3,%xmm1
400794: 66 0f eb c1 por %xmm1,%xmm0
400798: 66 0f 6f ca movdqa %xmm2,%xmm1
40079c: 66 0f 69 d5 punpckhwd %xmm5,%xmm2
4007a0: 66 0f 61 cd punpcklwd %xmm5,%xmm1
4007a4: 66 0f 72 f2 03 pslld $0x3,%xmm2
4007a9: 66 0f db d4 pand %xmm4,%xmm2
4007ad: 66 0f 72 f1 03 pslld $0x3,%xmm1
4007b2: 66 0f db cc pand %xmm4,%xmm1
4007b6: 66 0f 6f d9 movdqa %xmm1,%xmm3
4007ba: 66 0f 61 ca punpcklwd %xmm2,%xmm1
4007be: 66 0f 69 da punpckhwd %xmm2,%xmm3
4007c2: 66 0f 6f d1 movdqa %xmm1,%xmm2
4007c6: 66 0f 61 cb punpcklwd %xmm3,%xmm1
4007ca: 66 0f 69 d3 punpckhwd %xmm3,%xmm2
4007ce: 66 0f 61 ca punpcklwd %xmm2,%xmm1
4007d2: 66 0f 71 f1 03 psllw $0x3,%xmm1
4007d7: 66 0f db ce pand %xmm6,%xmm1
4007db: 66 0f eb c1 por %xmm1,%xmm0
4007df: 66 41 0f 7f 44 15 00 movdqa %xmm0,0x0(%r13,%rdx,1)
4007e6: 48 83 c2 10 add $0x10,%rdx
4007ea: 44 39 f6 cmp %r14d,%esi
4007ed: 0f 82 6d ff ff ff jb 400760 <main+0x160>
4007f3: 48 03 44 24 48 add 0x48(%rsp),%rax
4007f8: 29 ef sub %ebp,%edi
4007fa: 39 6c 24 44 cmp %ebp,0x44(%rsp)
4007fe: 74 44 je 400844 <main+0x244>
400800: 8d 57 ff lea -0x1(%rdi),%edx
400803: 4c 8d 54 50 02 lea 0x2(%rax,%rdx,2),%r10
400808: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
40080f: 00
400810: 0f b7 08 movzwl (%rax),%ecx
400813: 89 ce mov %ecx,%esi
400815: 89 ca mov %ecx,%edx
400817: c1 e1 06 shl $0x6,%ecx
40081a: 66 c1 ee 08 shr $0x8,%si
40081e: c1 e2 05 shl $0x5,%edx
400821: 66 81 e1 c0 07 and $0x7c0,%cx
400826: 81 e6 f8 00 00 00 and $0xf8,%esi
40082c: 66 81 e2 00 f8 and $0xf800,%dx
400831: c1 ee 03 shr $0x3,%esi
400834: 09 f2 or %esi,%edx
400836: 09 ca or %ecx,%edx
400838: 66 89 10 mov %dx,(%rax)
40083b: 48 83 c0 02 add $0x2,%rax
40083f: 4c 39 d0 cmp %r10,%rax
400842: 75 cc jne 400810 <main+0x210>
400844: 66 0f 7f 2c 24 movdqa %xmm5,(%rsp)
400849: 66 44 0f 7f 44 24 10 movdqa %xmm8,0x10(%rsp)
400850: 66 44 0f 7f 4c 24 20 movdqa %xmm9,0x20(%rsp)
400857: e8 54 fd ff ff callq 4005b0 <clock@plt>
40085c: 89 de mov %ebx,%esi
40085e: 4c 29 e0 sub %r12,%rax
400861: bf ca 0c 40 00 mov $0x400cca,%edi
400866: 48 01 44 24 30 add %rax,0x30(%rsp)
40086b: 31 c0 xor %eax,%eax
40086d: e8 4e fd ff ff callq 4005c0 <printf@plt>
400872: 83 eb 01 sub $0x1,%ebx
400875: 66 0f 6f 2c 24 movdqa (%rsp),%xmm5
40087a: 66 44 0f 6f 44 24 10 movdqa 0x10(%rsp),%xmm8
400881: 66 44 0f 6f 4c 24 20 movdqa 0x20(%rsp),%xmm9
400888: 0f 85 22 fe ff ff jne 4006b0 <main+0xb0>
40088e: bf d6 0c 40 00 mov $0x400cd6,%edi
400893: e8 08 fd ff ff callq 4005a0 <puts@plt>
400898: 48 8b 7c 24 38 mov 0x38(%rsp),%rdi
40089d: e8 ee fc ff ff callq 400590 <free@plt>
4008a2: f2 48 0f 2a 44 24 30 cvtsi2sdq 0x30(%rsp),%xmm0
4008a9: f2 0f 5e 05 af 04 00 divsd 0x4af(%rip),%xmm0 # 400d60 <_IO_stdin_used+0xa0>
4008b0: 00
4008b1: bf e7 0c 40 00 mov $0x400ce7,%edi
4008b6: b8 01 00 00 00 mov $0x1,%eax
4008bb: f2 0f 5e 05 a5 04 00 divsd 0x4a5(%rip),%xmm0 # 400d68 <_IO_stdin_used+0xa8>
4008c2: 00
4008c3: e8 f8 fc ff ff callq 4005c0 <printf@plt>
4008c8: 48 83 c4 58 add $0x58,%rsp
4008cc: 31 c0 xor %eax,%eax
4008ce: 5b pop %rbx
4008cf: 5d pop %rbp
4008d0: 41 5c pop %r12
4008d2: 41 5d pop %r13
4008d4: 41 5e pop %r14
4008d6: 41 5f pop %r15
4008d8: c3 retq
4008d9: bf 00 a4 1f 00 mov $0x1fa400,%edi
4008de: e9 52 fe ff ff jmpq 400735 <main+0x135>
4008e3: 90 nop
00000000004008e4 <_start>:
4008e4: 31 ed xor %ebp,%ebp
4008e6: 49 89 d1 mov %rdx,%r9
4008e9: 5e pop %rsi
4008ea: 48 89 e2 mov %rsp,%rdx
4008ed: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
4008f1: 50 push %rax
4008f2: 54 push %rsp
4008f3: 49 c7 c0 a0 0c 40 00 mov $0x400ca0,%r8
4008fa: 48 c7 c1 10 0c 40 00 mov $0x400c10,%rcx
400901: 48 c7 c7 00 06 40 00 mov $0x400600,%rdi
400908: e8 c3 fc ff ff callq 4005d0 <__libc_start_main@plt>
40090d: f4 hlt
40090e: 90 nop
40090f: 90 nop
0000000000400910 <call_gmon_start>:
400910: 48 83 ec 08 sub $0x8,%rsp
400914: 48 8b 05 c5 16 20 00 mov 0x2016c5(%rip),%rax # 601fe0 <_DYNAMIC+0x1e0>
40091b: 48 85 c0 test %rax,%rax
40091e: 74 02 je 400922 <call_gmon_start+0x12>
400920: ff d0 callq *%rax
400922: 48 83 c4 08 add $0x8,%rsp
400926: c3 retq
400927: 90 nop
400928: 90 nop
400929: 90 nop
40092a: 90 nop
40092b: 90 nop
40092c: 90 nop
40092d: 90 nop
40092e: 90 nop
40092f: 90 nop
0000000000400930 <deregister_tm_clones>:
400930: b8 4f 20 60 00 mov $0x60204f,%eax
400935: 55 push %rbp
400936: 48 2d 48 20 60 00 sub $0x602048,%rax
40093c: 48 83 f8 0e cmp $0xe,%rax
400940: 48 89 e5 mov %rsp,%rbp
400943: 77 02 ja 400947 <deregister_tm_clones+0x17>
400945: 5d pop %rbp
400946: c3 retq
400947: b8 00 00 00 00 mov $0x0,%eax
40094c: 48 85 c0 test %rax,%rax
40094f: 74 f4 je 400945 <deregister_tm_clones+0x15>
400951: 5d pop %rbp
400952: bf 48 20 60 00 mov $0x602048,%edi
400957: ff e0 jmpq *%rax
400959: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400960 <register_tm_clones>:
400960: b8 48 20 60 00 mov $0x602048,%eax
400965: 55 push %rbp
400966: 48 2d 48 20 60 00 sub $0x602048,%rax
40096c: 48 c1 f8 03 sar $0x3,%rax
400970: 48 89 e5 mov %rsp,%rbp
400973: 48 89 c2 mov %rax,%rdx
400976: 48 c1 ea 3f shr $0x3f,%rdx
40097a: 48 01 d0 add %rdx,%rax
40097d: 48 89 c6 mov %rax,%rsi
400980: 48 d1 fe sar %rsi
400983: 75 02 jne 400987 <register_tm_clones+0x27>
400985: 5d pop %rbp
400986: c3 retq
400987: ba 00 00 00 00 mov $0x0,%edx
40098c: 48 85 d2 test %rdx,%rdx
40098f: 74 f4 je 400985 <register_tm_clones+0x25>
400991: 5d pop %rbp
400992: bf 48 20 60 00 mov $0x602048,%edi
400997: ff e2 jmpq *%rdx
400999: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
00000000004009a0 <__do_global_dtors_aux>:
4009a0: 80 3d b1 16 20 00 00 cmpb $0x0,0x2016b1(%rip) # 602058 <completed.6098>
4009a7: 75 11 jne 4009ba <__do_global_dtors_aux+0x1a>
4009a9: 55 push %rbp
4009aa: 48 89 e5 mov %rsp,%rbp
4009ad: e8 7e ff ff ff callq 400930 <deregister_tm_clones>
4009b2: 5d pop %rbp
4009b3: c6 05 9e 16 20 00 01 movb $0x1,0x20169e(%rip) # 602058 <completed.6098>
4009ba: f3 c3 repz retq
4009bc: 0f 1f 40 00 nopl 0x0(%rax)
00000000004009c0 <frame_dummy>:
4009c0: 48 83 3d 30 14 20 00 cmpq $0x0,0x201430(%rip) # 601df8 <__JCR_END__>
4009c7: 00
4009c8: 74 1b je 4009e5 <frame_dummy+0x25>
4009ca: b8 00 00 00 00 mov $0x0,%eax
4009cf: 48 85 c0 test %rax,%rax
4009d2: 74 11 je 4009e5 <frame_dummy+0x25>
4009d4: 55 push %rbp
4009d5: bf f8 1d 60 00 mov $0x601df8,%edi
4009da: 48 89 e5 mov %rsp,%rbp
4009dd: ff d0 callq *%rax
4009df: 5d pop %rbp
4009e0: e9 7b ff ff ff jmpq 400960 <register_tm_clones>
4009e5: e9 76 ff ff ff jmpq 400960 <register_tm_clones>
4009ea: 90 nop
4009eb: 90 nop
4009ec: 90 nop
4009ed: 90 nop
4009ee: 90 nop
4009ef: 90 nop
00000000004009f0 <get_r>:
4009f0: 66 c1 ef 08 shr $0x8,%di
4009f4: 89 f8 mov %edi,%eax
4009f6: 25 f8 00 00 00 and $0xf8,%eax
4009fb: c3 retq
4009fc: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400a00 <get_g>:
400a00: 66 c1 ef 03 shr $0x3,%di
400a04: 89 f8 mov %edi,%eax
400a06: 25 fc 00 00 00 and $0xfc,%eax
400a0b: c3 retq
400a0c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400a10 <get_b>:
400a10: 8d 04 fd 00 00 00 00 lea 0x0(,%rdi,8),%eax
400a17: 25 f8 00 00 00 and $0xf8,%eax
400a1c: c3 retq
400a1d: 0f 1f 00 nopl (%rax)
0000000000400a20 <to_rgb>:
400a20: 8d 04 f5 00 00 00 00 lea 0x0(,%rsi,8),%eax
400a27: c1 ea 03 shr $0x3,%edx
400a2a: c1 e7 08 shl $0x8,%edi
400a2d: 66 81 e7 00 f8 and $0xf800,%di
400a32: 66 25 e0 07 and $0x7e0,%ax
400a36: 09 d0 or %edx,%eax
400a38: 09 f8 or %edi,%eax
400a3a: c3 retq
400a3b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000400a40 <test_bitmap_color_transform_pure_c>:
400a40: 49 89 fb mov %rdi,%r11
400a43: 48 89 f8 mov %rdi,%rax
400a46: 41 83 e3 0f and $0xf,%r11d
400a4a: 49 d1 eb shr %r11
400a4d: 49 f7 db neg %r11
400a50: 45 89 d9 mov %r11d,%r9d
400a53: 41 83 e1 07 and $0x7,%r9d
400a57: 0f 84 99 01 00 00 je 400bf6 <test_bitmap_color_transform_pure_c+0x1b6>
400a5d: 31 c9 xor %ecx,%ecx
400a5f: 41 ba ff a3 1f 00 mov $0x1fa3ff,%r10d
400a65: 0f 1f 00 nopl (%rax)
400a68: 0f b7 30 movzwl (%rax),%esi
400a6b: 41 89 f0 mov %esi,%r8d
400a6e: 89 f2 mov %esi,%edx
400a70: c1 e6 06 shl $0x6,%esi
400a73: 66 41 c1 e8 08 shr $0x8,%r8w
400a78: c1 e2 05 shl $0x5,%edx
400a7b: 66 81 e6 c0 07 and $0x7c0,%si
400a80: 41 81 e0 f8 00 00 00 and $0xf8,%r8d
400a87: 66 81 e2 00 f8 and $0xf800,%dx
400a8c: 41 c1 e8 03 shr $0x3,%r8d
400a90: 44 09 c2 or %r8d,%edx
400a93: 45 89 d0 mov %r10d,%r8d
400a96: 09 f2 or %esi,%edx
400a98: 41 29 c8 sub %ecx,%r8d
400a9b: 48 83 c1 01 add $0x1,%rcx
400a9f: 66 89 10 mov %dx,(%rax)
400aa2: 48 83 c0 02 add $0x2,%rax
400aa6: 41 39 c9 cmp %ecx,%r9d
400aa9: 77 bd ja 400a68 <test_bitmap_color_transform_pure_c+0x28>
400aab: 4c 89 da mov %r11,%rdx
400aae: 41 bb 00 a4 1f 00 mov $0x1fa400,%r11d
400ab4: 45 29 cb sub %r9d,%r11d
400ab7: 83 e2 07 and $0x7,%edx
400aba: 45 89 d9 mov %r11d,%r9d
400abd: 41 c1 e9 03 shr $0x3,%r9d
400ac1: 46 8d 14 cd 00 00 00 lea 0x0(,%r9,8),%r10d
400ac8: 00
400ac9: 45 85 d2 test %r10d,%r10d
400acc: 0f 84 dc 00 00 00 je 400bae <test_bitmap_color_transform_pure_c+0x16e>
400ad2: 66 0f ef e4 pxor %xmm4,%xmm4
400ad6: 48 8d 34 57 lea (%rdi,%rdx,2),%rsi
400ada: 66 44 0f 6f 0d 2d 02 movdqa 0x22d(%rip),%xmm9 # 400d10 <_IO_stdin_used+0x50>
400ae1: 00 00
400ae3: 31 d2 xor %edx,%edx
400ae5: 31 c9 xor %ecx,%ecx
400ae7: 66 44 0f 6f 05 30 02 movdqa 0x230(%rip),%xmm8 # 400d20 <_IO_stdin_used+0x60>
400aee: 00 00
400af0: 66 0f 6f 3d 38 02 00 movdqa 0x238(%rip),%xmm7 # 400d30 <_IO_stdin_used+0x70>
400af7: 00
400af8: 66 0f 6f 2d 40 02 00 movdqa 0x240(%rip),%xmm5 # 400d40 <_IO_stdin_used+0x80>
400aff: 00
400b00: 66 0f 6f 35 48 02 00 movdqa 0x248(%rip),%xmm6 # 400d50 <_IO_stdin_used+0x90>
400b07: 00
400b08: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
400b0f: 00
400b10: 66 0f 6f 14 16 movdqa (%rsi,%rdx,1),%xmm2
400b15: 83 c1 01 add $0x1,%ecx
400b18: 66 0f 6f c2 movdqa %xmm2,%xmm0
400b1c: 66 0f 6f ca movdqa %xmm2,%xmm1
400b20: 66 0f 71 d0 03 psrlw $0x3,%xmm0
400b25: 66 41 0f db c1 pand %xmm9,%xmm0
400b2a: 66 0f 71 d1 08 psrlw $0x8,%xmm1
400b2f: 66 0f db cf pand %xmm7,%xmm1
400b33: 66 0f 71 f0 08 psllw $0x8,%xmm0
400b38: 66 41 0f db c0 pand %xmm8,%xmm0
400b3d: 66 0f 71 d1 03 psrlw $0x3,%xmm1
400b42: 66 0f eb c1 por %xmm1,%xmm0
400b46: 66 0f 6f ca movdqa %xmm2,%xmm1
400b4a: 66 0f 69 d4 punpckhwd %xmm4,%xmm2
400b4e: 66 0f 61 cc punpcklwd %xmm4,%xmm1
400b52: 66 0f 72 f2 03 pslld $0x3,%xmm2
400b57: 66 0f db d5 pand %xmm5,%xmm2
400b5b: 66 0f 72 f1 03 pslld $0x3,%xmm1
400b60: 66 0f db cd pand %xmm5,%xmm1
400b64: 66 0f 6f d9 movdqa %xmm1,%xmm3
400b68: 66 0f 61 ca punpcklwd %xmm2,%xmm1
400b6c: 66 0f 69 da punpckhwd %xmm2,%xmm3
400b70: 66 0f 6f d1 movdqa %xmm1,%xmm2
400b74: 66 0f 61 cb punpcklwd %xmm3,%xmm1
400b78: 66 0f 69 d3 punpckhwd %xmm3,%xmm2
400b7c: 66 0f 61 ca punpcklwd %xmm2,%xmm1
400b80: 66 0f 71 f1 03 psllw $0x3,%xmm1
400b85: 66 0f db ce pand %xmm6,%xmm1
400b89: 66 0f eb c1 por %xmm1,%xmm0
400b8d: 66 0f 7f 04 16 movdqa %xmm0,(%rsi,%rdx,1)
400b92: 48 83 c2 10 add $0x10,%rdx
400b96: 44 39 c9 cmp %r9d,%ecx
400b99: 0f 82 71 ff ff ff jb 400b10 <test_bitmap_color_transform_pure_c+0xd0>
400b9f: 44 89 d2 mov %r10d,%edx
400ba2: 45 29 d0 sub %r10d,%r8d
400ba5: 45 39 d3 cmp %r10d,%r11d
400ba8: 48 8d 04 50 lea (%rax,%rdx,2),%rax
400bac: 74 46 je 400bf4 <test_bitmap_color_transform_pure_c+0x1b4>
400bae: 41 8d 50 ff lea -0x1(%r8),%edx
400bb2: 48 8d 7c 50 02 lea 0x2(%rax,%rdx,2),%rdi
400bb7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
400bbe: 00 00
400bc0: 0f b7 08 movzwl (%rax),%ecx
400bc3: 89 ce mov %ecx,%esi
400bc5: 89 ca mov %ecx,%edx
400bc7: c1 e1 06 shl $0x6,%ecx
400bca: 66 c1 ee 08 shr $0x8,%si
400bce: c1 e2 05 shl $0x5,%edx
400bd1: 66 81 e1 c0 07 and $0x7c0,%cx
400bd6: 81 e6 f8 00 00 00 and $0xf8,%esi
400bdc: 66 81 e2 00 f8 and $0xf800,%dx
400be1: c1 ee 03 shr $0x3,%esi
400be4: 09 f2 or %esi,%edx
400be6: 09 ca or %ecx,%edx
400be8: 66 89 10 mov %dx,(%rax)
400beb: 48 83 c0 02 add $0x2,%rax
400bef: 48 39 f8 cmp %rdi,%rax
400bf2: 75 cc jne 400bc0 <test_bitmap_color_transform_pure_c+0x180>
400bf4: f3 c3 repz retq
400bf6: 41 b8 00 a4 1f 00 mov $0x1fa400,%r8d
400bfc: e9 aa fe ff ff jmpq 400aab <test_bitmap_color_transform_pure_c+0x6b>
400c01: 90 nop
400c02: 90 nop
400c03: 90 nop
400c04: 90 nop
400c05: 90 nop
400c06: 90 nop
400c07: 90 nop
400c08: 90 nop
400c09: 90 nop
400c0a: 90 nop
400c0b: 90 nop
400c0c: 90 nop
400c0d: 90 nop
400c0e: 90 nop
400c0f: 90 nop
0000000000400c10 <__libc_csu_init>:
400c10: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp)
400c15: 4c 89 64 24 e0 mov %r12,-0x20(%rsp)
400c1a: 48 8d 2d cf 11 20 00 lea 0x2011cf(%rip),%rbp # 601df0 <__init_array_end>
400c21: 4c 8d 25 c0 11 20 00 lea 0x2011c0(%rip),%r12 # 601de8 <__frame_dummy_init_array_entry>
400c28: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp)
400c2d: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp)
400c32: 4c 89 74 24 f0 mov %r14,-0x10(%rsp)
400c37: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp)
400c3c: 48 83 ec 38 sub $0x38,%rsp
400c40: 4c 29 e5 sub %r12,%rbp
400c43: 41 89 ff mov %edi,%r15d
400c46: 49 89 f6 mov %rsi,%r14
400c49: 48 c1 fd 03 sar $0x3,%rbp
400c4d: 49 89 d5 mov %rdx,%r13
400c50: 31 db xor %ebx,%ebx
400c52: e8 11 f9 ff ff callq 400568 <_init>
400c57: 48 85 ed test %rbp,%rbp
400c5a: 74 1a je 400c76 <__libc_csu_init+0x66>
400c5c: 0f 1f 40 00 nopl 0x0(%rax)
400c60: 4c 89 ea mov %r13,%rdx
400c63: 4c 89 f6 mov %r14,%rsi
400c66: 44 89 ff mov %r15d,%edi
400c69: 41 ff 14 dc callq *(%r12,%rbx,8)
400c6d: 48 83 c3 01 add $0x1,%rbx
400c71: 48 39 eb cmp %rbp,%rbx
400c74: 75 ea jne 400c60 <__libc_csu_init+0x50>
400c76: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx
400c7b: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp
400c80: 4c 8b 64 24 18 mov 0x18(%rsp),%r12
400c85: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13
400c8a: 4c 8b 74 24 28 mov 0x28(%rsp),%r14
400c8f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15
400c94: 48 83 c4 38 add $0x38,%rsp
400c98: c3 retq
400c99: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400ca0 <__libc_csu_fini>:
400ca0: f3 c3 repz retq
400ca2: 90 nop
400ca3: 90 nop
Disassembly of section .fini:
0000000000400ca4 <_fini>:
400ca4: 55 push %rbp
400ca5: 48 83 ec 08 sub $0x8,%rsp
400ca9: e8 06 00 00 00 callq 400cb4 <_real_fini>
400cae: 48 83 c4 08 add $0x8,%rsp
400cb2: 5d pop %rbp
400cb3: c3 retq
0000000000400cb4 <_real_fini>:
400cb4: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment