1 .file "vacall-i386.c" 2 .text 3 .align 2 4 .p2align 2,,3 5 .type callback_receiver,@function 6callback_receiver: 7 pushl %ebp 8 movl %esp, %ebp 9 pushl %edi 10 pushl %esi 11 leal 8(%ebp), %edx 12 subl $56, %esp 13 movl %edx, -40(%ebp) 14 leal -56(%ebp), %edx 15 movl $0, -56(%ebp) 16 movl $0, -36(%ebp) 17 movl $0, -32(%ebp) 18 movl %ebx, -24(%ebp) 19 pushl %edx 20 pushl 4(%ecx) 21 call *(%ecx) 22 movl -32(%ebp), %esi 23 addl $16, %esp 24 testl %esi, %esi 25 je .L43 26 cmpl $1, %esi 27 je .L44 28 cmpl $2, %esi 29 je .L44 30 cmpl $3, %esi 31 je .L49 32 cmpl $4, %esi 33 je .L50 34 cmpl $5, %esi 35 je .L51 36 cmpl $6, %esi 37 je .L48 38 cmpl $7, %esi 39 je .L48 40 cmpl $8, %esi 41 je .L48 42 cmpl $9, %esi 43 je .L48 44 leal -10(%esi), %edx 45 cmpl $1, %edx 46 ja .L22 47 movl -48(%ebp), %eax 48#APP 49 movl -44(%ebp),%edx 50.L33: 51 .p2align 2,,3 52#NO_APP 53.L43: 54 movl -56(%ebp), %esi 55.L3: 56 andl $512, %esi 57 je .L1 58#APP 59 movl 0(%ebp),%ecx 60#NO_APP 61 movl -40(%ebp), %esp 62#APP 63 jmp *%ecx 64#NO_APP 65.L1: 66 leal -8(%ebp), %esp 67 popl %esi 68 popl %edi 69 leave 70 ret 71.L22: 72 cmpl $12, %esi 73 je .L52 74 cmpl $13, %esi 75 je .L53 76 cmpl $14, %esi 77 je .L48 78 cmpl $15, %esi 79 jne .L43 80 movl -56(%ebp), %esi 81 testl $1024, %esi 82 movl %esi, %edi 83 je .L31 84 movl -28(%ebp), %edx 85 cmpl $1, %edx 86 je .L54 87 cmpl $2, %edx 88 je .L55 89 cmpl $4, %edx 90 je .L56 91 cmpl $8, %edx 92 je .L57 93.L31: 94 andl $16, %edi 95 movl -36(%ebp), %eax 96 jne .L3 97#APP 98 leal -8(%ebp), %esp 99 popl %esi 100 popl %edi 101 leave 102 ret $4 103#NO_APP 104 jmp .L3 105.L57: 106 movl -36(%ebp), %edx 107 movl (%edx), %eax 108#APP 109 movl 4(%edx),%edx 110#NO_APP 111 jmp .L3 112.L56: 113 movl -36(%ebp), %edx 114 movl (%edx), %eax 115 jmp .L3 116.L55: 117 movl -36(%ebp), %edx 118 movzwl (%edx), %eax 119 jmp .L3 120.L54: 121 movl -36(%ebp), %edx 122 movzbl (%edx), %eax 123 jmp .L3 124 .p2align 2,,3 125.L48: 126 movl -48(%ebp), %eax 127 jmp .L43 128.L53: 129#APP 130 fldl -48(%ebp) 131#NO_APP 132 jmp .L43 133.L52: 134#APP 135 flds -48(%ebp) 136#NO_APP 137 jmp .L43 138 .p2align 2,,3 139.L51: 140 movzwl -48(%ebp), %eax 141 jmp .L43 142.L50: 143 movswl -48(%ebp),%eax 144 jmp .L43 145.L49: 146 movzbl -48(%ebp), %eax 147 jmp .L43 148 .p2align 2,,3 149.L44: 150 movsbl -48(%ebp),%eax 151 jmp .L43 152.Lfe1: 153 .size callback_receiver,.Lfe1-callback_receiver 154 .align 2 155 .p2align 2,,3 156.globl callback_get_receiver 157 .type callback_get_receiver,@function 158callback_get_receiver: 159 pushl %ebp 160 movl %esp, %ebp 161 pushl %ebx 162 call .L59 163.L59: 164 popl %ebx 165 addl $_GLOBAL_OFFSET_TABLE_+[.-.L59], %ebx 166 leal callback_receiver@GOTOFF(%ebx), %eax 167 movl (%esp), %ebx 168 leave 169 ret 170.Lfe2: 171 .size callback_get_receiver,.Lfe2-callback_get_receiver 172 .ident "GCC: (GNU) 3.1" 173