| 1 | .section .rodata.str1.1,"aMS",@progbits,1 |
| 2 | .LC0: |
| 3 | .string "PASS" |
| 4 | .section .text.startup,"ax",@progbits |
| 5 | .p2align 4,,15 |
| 6 | .globl main |
| 7 | .type main, @function |
| 8 | main: |
| 9 | leal 4(%esp), %ecx |
| 10 | andl $-16, %esp |
| 11 | pushl -4(%ecx) |
| 12 | pushl %ebp |
| 13 | movl %esp, %ebp |
| 14 | pushl %esi |
| 15 | pushl %ebx |
| 16 | pushl %ecx |
| 17 | call __x86.get_pc_thunk.bx |
| 18 | addl $_GLOBAL_OFFSET_TABLE_, %ebx |
| 19 | subl $12, %esp |
| 20 | call get_protected@PLT |
| 21 | movl protected@GOT(%ebx), %esi |
| 22 | cmpl (%esi), %eax |
| 23 | je .L7 |
| 24 | .L3: |
| 25 | leal -12(%ebp), %esp |
| 26 | xorl %eax, %eax |
| 27 | popl %ecx |
| 28 | popl %ebx |
| 29 | popl %esi |
| 30 | popl %ebp |
| 31 | leal -4(%ecx), %esp |
| 32 | ret |
| 33 | .L7: |
| 34 | call get_protected_p@PLT |
| 35 | cmpl %esi, %eax |
| 36 | jne .L3 |
| 37 | leal .LC0@GOTOFF(%ebx), %eax |
| 38 | subl $12, %esp |
| 39 | pushl %eax |
| 40 | call puts@PLT |
| 41 | addl $16, %esp |
| 42 | jmp .L3 |
| 43 | .size main, .-main |
| 44 | .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat |
| 45 | .globl __x86.get_pc_thunk.bx |
| 46 | .hidden __x86.get_pc_thunk.bx |
| 47 | .type __x86.get_pc_thunk.bx, @function |
| 48 | __x86.get_pc_thunk.bx: |
| 49 | movl (%esp), %ebx |
| 50 | ret |
| 51 | .section .note.GNU-stack,"",@progbits |