1.text 2.global __set_thread_area 3.hidden __set_thread_area 4.type __set_thread_area,@function 5__set_thread_area: 6 push %ebx 7 push $0x51 8 push $0xfffff 9 push 16(%esp) 10 call 1f 111: addl $4f-1b,(%esp) 12 pop %ecx 13 mov (%ecx),%edx 14 push %edx 15 mov %esp,%ebx 16 xor %eax,%eax 17 mov $243,%al 18 int $128 19 testl %eax,%eax 20 jnz 2f 21 movl (%esp),%edx 22 movl %edx,(%ecx) 23 leal 3(,%edx,8),%edx 243: movw %dx,%gs 251: 26 addl $16,%esp 27 popl %ebx 28 ret 292: 30 mov %ebx,%ecx 31 xor %eax,%eax 32 xor %ebx,%ebx 33 xor %edx,%edx 34 mov %ebx,(%esp) 35 mov $1,%bl 36 mov $16,%dl 37 mov $123,%al 38 int $128 39 testl %eax,%eax 40 jnz 1b 41 mov $7,%dl 42 inc %al 43 jmp 3b 44 45.data 46 .align 4 474: .long -1 48