1 .text
2 .global __clone
3 .hidden __clone
4 .type   __clone,@function
5 __clone:
6 	push %ebp
7 	mov %esp,%ebp
8 	push %ebx
9 	push %esi
10 	push %edi
11 
12 	xor %eax,%eax
13 	push $0x51
14 	mov %gs,%ax
15 	push $0xfffff
16 	shr $3,%eax
17 	push 28(%ebp)
18 	push %eax
19 	mov $120,%al
20 
21 	mov 12(%ebp),%ecx
22 	mov 16(%ebp),%ebx
23 	and $-16,%ecx
24 	sub $16,%ecx
25 	mov 20(%ebp),%edi
26 	mov %edi,(%ecx)
27 	mov 24(%ebp),%edx
28 	mov %esp,%esi
29 	mov 32(%ebp),%edi
30 	mov 8(%ebp),%ebp
31 	int $128
32 	test %eax,%eax
33 	jnz 1f
34 
35 	mov %ebp,%eax
36 	xor %ebp,%ebp
37 	call *%eax
38 	mov %eax,%ebx
39 	xor %eax,%eax
40 	inc %eax
41 	int $128
42 	hlt
43 
44 1:	add $16,%esp
45 	pop %edi
46 	pop %esi
47 	pop %ebx
48 	pop %ebp
49 	ret
50