414f9d:	f6 c1 01             	test   $0x1,%cl
414fa0:	74 27                	je     0x414fc9
414fa2:	8b 45 0c             	mov    0xc(%ebp),%eax
414fa5:	8b d1                	mov    %ecx,%edx
414fa7:	8d 04 41             	lea    (%ecx,%eax,2),%eax
414faa:	3b c8                	cmp    %eax,%ecx
414fac:	0f 84 b8 00 00 00    	je     0x41506a
414fb2:	33 ff                	xor    %edi,%edi
414fb4:	66 39 3a             	cmp    %di,(%edx)
414fb7:	0f 84 ad 00 00 00    	je     0x41506a
414fbd:	83 c2 02             	add    $0x2,%edx
414fc0:	3b d0                	cmp    %eax,%edx
414fc2:	75 f0                	jne    0x414fb4
414fc4:	e9 a1 00 00 00       	jmp    0x41506a
414fc9:	8b f1                	mov    %ecx,%esi
414fcb:	83 e6 0f             	and    $0xf,%esi
414fce:	6a 10                	push   $0x10
414fd0:	58                   	pop    %eax
414fd1:	2b c6                	sub    %esi,%eax
414fd3:	f7 de                	neg    %esi
414fd5:	1b f6                	sbb    %esi,%esi
414fd7:	23 f0                	and    %eax,%esi
414fd9:	8b 45 0c             	mov    0xc(%ebp),%eax
414fdc:	d1 ee                	shr    $1,%esi
414fde:	3b c6                	cmp    %esi,%eax
414fe0:	73 02                	jae    0x414fe4
414fe2:	8b f0                	mov    %eax,%esi
414fe4:	8d 14 71             	lea    (%ecx,%esi,2),%edx
414fe7:	33 ff                	xor    %edi,%edi
414fe9:	89 55 fc             	mov    %edx,-0x4(%ebp)
414fec:	8b d1                	mov    %ecx,%edx
414fee:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
414ff1:	74 0d                	je     0x415000
414ff3:	66 39 3a             	cmp    %di,(%edx)
414ff6:	74 08                	je     0x415000
414ff8:	83 c2 02             	add    $0x2,%edx
414ffb:	3b 55 fc             	cmp    -0x4(%ebp),%edx
414ffe:	75 f3                	jne    0x414ff3
415000:	2b d1                	sub    %ecx,%edx
415002:	d1 fa                	sar    $1,%edx
415004:	3b d6                	cmp    %esi,%edx
415006:	75 66                	jne    0x41506e
415008:	8d 14 51             	lea    (%ecx,%edx,2),%edx
41500b:	66 0f ef c9          	pxor   %xmm1,%xmm1
41500f:	8b c8                	mov    %eax,%ecx
415011:	2b ce                	sub    %esi,%ecx
415013:	8b c1                	mov    %ecx,%eax
415015:	83 e0 0f             	and    $0xf,%eax
415018:	2b c8                	sub    %eax,%ecx
41501a:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
41501d:	eb 12                	jmp    0x415031
41501f:	0f 28 02             	movaps (%edx),%xmm0
415022:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
415026:	66 0f d7 c0          	pmovmskb %xmm0,%eax
41502a:	85 c0                	test   %eax,%eax
41502c:	75 07                	jne    0x415035
41502e:	83 c2 10             	add    $0x10,%edx
415031:	3b d1                	cmp    %ecx,%edx
415033:	75 ea                	jne    0x41501f
415035:	8b 45 08             	mov    0x8(%ebp),%eax
415038:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41503b:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
41503e:	eb 08                	jmp    0x415048
415040:	66 39 3a             	cmp    %di,(%edx)
415043:	74 07                	je     0x41504c
415045:	83 c2 02             	add    $0x2,%edx
415048:	3b d1                	cmp    %ecx,%edx
41504a:	75 f4                	jne    0x415040
41504c:	2b d0                	sub    %eax,%edx
41504e:	eb 1c                	jmp    0x41506c
415050:	8b 45 0c             	mov    0xc(%ebp),%eax
415053:	8b d1                	mov    %ecx,%edx
415055:	8d 04 41             	lea    (%ecx,%eax,2),%eax
415058:	3b c8                	cmp    %eax,%ecx
41505a:	74 0e                	je     0x41506a
41505c:	33 ff                	xor    %edi,%edi
41505e:	66 39 3a             	cmp    %di,(%edx)
415061:	74 07                	je     0x41506a
415063:	83 c2 02             	add    $0x2,%edx
415066:	3b d0                	cmp    %eax,%edx
415068:	75 f4                	jne    0x41505e
41506a:	2b d1                	sub    %ecx,%edx
41506c:	d1 fa                	sar    $1,%edx
41506e:	5f                   	pop    %edi
41506f:	8b c2                	mov    %edx,%eax
415071:	5e                   	pop    %esi
415072:	8b e5                	mov    %ebp,%esp
415074:	5d                   	pop    %ebp
415075:	c3                   	ret
415076:	e8 42 7b 00 00       	call   0x41cbbd
41507b:	85 c0                	test   %eax,%eax
41507d:	74 08                	je     0x415087
41507f:	6a 16                	push   $0x16
415081:	e8 92 7b 00 00       	call   0x41cc18
415086:	59                   	pop    %ecx
415087:	f6 05 30 bb 43 00 02 	testb  $0x2,0x43bb30
41508e:	74 21                	je     0x4150b1
415090:	6a 17                	push   $0x17
415092:	e8 3b 11 01 00       	call   0x4261d2
415097:	85 c0                	test   %eax,%eax
415099:	74 05                	je     0x4150a0
41509b:	6a 07                	push   $0x7
41509d:	59                   	pop    %ecx
41509e:	cd 29                	int    $0x29
4150a0:	6a 01                	push   $0x1
4150a2:	68 15 00 00 40       	push   $0x40000015
4150a7:	6a 03                	push   $0x3
4150a9:	e8 6a 6a ff ff       	call   0x40bb18
4150ae:	83 c4 0c             	add    $0xc,%esp
4150b1:	6a 03                	push   $0x3
4150b3:	e8 db 0a 00 00       	call   0x415b93
4150b8:	cc                   	int3
4150b9:	8b ff                	mov    %edi,%edi
4150bb:	55                   	push   %ebp
4150bc:	8b ec                	mov    %esp,%ebp
4150be:	57                   	push   %edi
4150bf:	8b 7d 08             	mov    0x8(%ebp),%edi
4150c2:	85 ff                	test   %edi,%edi
4150c4:	75 0b                	jne    0x4150d1
4150c6:	ff 75 0c             	push   0xc(%ebp)
4150c9:	e8 7c fc ff ff       	call   0x414d4a
4150ce:	59                   	pop    %ecx
4150cf:	eb 24                	jmp    0x4150f5
4150d1:	56                   	push   %esi
4150d2:	8b 75 0c             	mov    0xc(%ebp),%esi
4150d5:	85 f6                	test   %esi,%esi
4150d7:	75 09                	jne    0x4150e2
4150d9:	57                   	push   %edi
4150da:	e8 31 fc ff ff       	call   0x414d10
4150df:	59                   	pop    %ecx
4150e0:	eb 10                	jmp    0x4150f2
4150e2:	83 fe e0             	cmp    $0xffffffe0,%esi
4150e5:	76 25                	jbe    0x41510c
4150e7:	e8 7f f9 ff ff       	call   0x414a6b
4150ec:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4150f2:	33 c0                	xor    %eax,%eax
4150f4:	5e                   	pop    %esi
4150f5:	5f                   	pop    %edi
4150f6:	5d                   	pop    %ebp
4150f7:	c3                   	ret
4150f8:	e8 92 29 00 00       	call   0x417a8f
4150fd:	85 c0                	test   %eax,%eax
4150ff:	74 e6                	je     0x4150e7
415101:	56                   	push   %esi
415102:	e8 1c 06 00 00       	call   0x415723
415107:	59                   	pop    %ecx
415108:	85 c0                	test   %eax,%eax
41510a:	74 db                	je     0x4150e7
41510c:	56                   	push   %esi
41510d:	57                   	push   %edi
41510e:	6a 00                	push   $0x0
415110:	ff 35 dc 9f 83 02    	push   0x2839fdc
415116:	ff 15 d4 71 42 00    	call   *0x4271d4
41511c:	85 c0                	test   %eax,%eax
41511e:	74 d8                	je     0x4150f8
415120:	eb d2                	jmp    0x4150f4
415122:	8b ff                	mov    %edi,%edi
415124:	55                   	push   %ebp
415125:	8b ec                	mov    %esp,%ebp
415127:	8b 45 08             	mov    0x8(%ebp),%eax
41512a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41512d:	8b 55 0c             	mov    0xc(%ebp),%edx
415130:	89 10                	mov    %edx,(%eax)
415132:	89 48 04             	mov    %ecx,0x4(%eax)
415135:	85 c9                	test   %ecx,%ecx
415137:	74 02                	je     0x41513b
415139:	89 11                	mov    %edx,(%ecx)
41513b:	5d                   	pop    %ebp
41513c:	c3                   	ret
41513d:	8b ff                	mov    %edi,%edi
41513f:	55                   	push   %ebp
415140:	8b ec                	mov    %esp,%ebp
415142:	8b 45 08             	mov    0x8(%ebp),%eax
415145:	8b 4d 10             	mov    0x10(%ebp),%ecx
415148:	8b 55 0c             	mov    0xc(%ebp),%edx
41514b:	89 10                	mov    %edx,(%eax)
41514d:	89 48 04             	mov    %ecx,0x4(%eax)
415150:	85 c9                	test   %ecx,%ecx
415152:	74 02                	je     0x415156
415154:	89 11                	mov    %edx,(%ecx)
415156:	5d                   	pop    %ebp
415157:	c3                   	ret
415158:	8b ff                	mov    %edi,%edi
41515a:	55                   	push   %ebp
41515b:	8b ec                	mov    %esp,%ebp
41515d:	ff 09                	decl   (%ecx)
41515f:	8a 45 08             	mov    0x8(%ebp),%al
415162:	8b 09                	mov    (%ecx),%ecx
415164:	84 c0                	test   %al,%al
415166:	74 14                	je     0x41517c
415168:	38 01                	cmp    %al,(%ecx)
41516a:	74 10                	je     0x41517c
41516c:	e8 fa f8 ff ff       	call   0x414a6b
415171:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415177:	e8 66 6b ff ff       	call   0x40bce2
41517c:	5d                   	pop    %ebp
41517d:	c2 04 00             	ret    $0x4
415180:	8b ff                	mov    %edi,%edi
415182:	55                   	push   %ebp
415183:	8b ec                	mov    %esp,%ebp
415185:	83 01 fe             	addl   $0xfffffffe,(%ecx)
415188:	66 8b 45 08          	mov    0x8(%ebp),%ax
41518c:	8b 09                	mov    (%ecx),%ecx
41518e:	66 85 c0             	test   %ax,%ax
415191:	74 15                	je     0x4151a8
415193:	66 39 01             	cmp    %ax,(%ecx)
415196:	74 10                	je     0x4151a8
415198:	e8 ce f8 ff ff       	call   0x414a6b
41519d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4151a3:	e8 3a 6b ff ff       	call   0x40bce2
4151a8:	5d                   	pop    %ebp
4151a9:	c2 04 00             	ret    $0x4
4151ac:	83 39 00             	cmpl   $0x0,(%ecx)
4151af:	75 13                	jne    0x4151c4
4151b1:	e8 b5 f8 ff ff       	call   0x414a6b
4151b6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4151bc:	e8 21 6b ff ff       	call   0x40bce2
4151c1:	32 c0                	xor    %al,%al
4151c3:	c3                   	ret
4151c4:	b0 01                	mov    $0x1,%al
4151c6:	c3                   	ret
4151c7:	83 39 00             	cmpl   $0x0,(%ecx)
4151ca:	75 13                	jne    0x4151df
4151cc:	e8 9a f8 ff ff       	call   0x414a6b
4151d1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4151d7:	e8 06 6b ff ff       	call   0x40bce2
4151dc:	32 c0                	xor    %al,%al
4151de:	c3                   	ret
4151df:	b0 01                	mov    $0x1,%al
4151e1:	c3                   	ret
4151e2:	cc                   	int3
4151e3:	cc                   	int3
4151e4:	cc                   	int3
4151e5:	cc                   	int3
4151e6:	cc                   	int3
4151e7:	cc                   	int3
4151e8:	cc                   	int3
4151e9:	cc                   	int3
4151ea:	cc                   	int3
4151eb:	cc                   	int3
4151ec:	cc                   	int3
4151ed:	cc                   	int3
4151ee:	cc                   	int3
4151ef:	cc                   	int3
4151f0:	55                   	push   %ebp
4151f1:	8b ec                	mov    %esp,%ebp
4151f3:	56                   	push   %esi
4151f4:	33 c0                	xor    %eax,%eax
4151f6:	50                   	push   %eax
4151f7:	50                   	push   %eax
4151f8:	50                   	push   %eax
4151f9:	50                   	push   %eax
4151fa:	50                   	push   %eax
4151fb:	50                   	push   %eax
4151fc:	50                   	push   %eax
4151fd:	50                   	push   %eax
4151fe:	8b 55 0c             	mov    0xc(%ebp),%edx
415201:	8d 49 00             	lea    0x0(%ecx),%ecx
415204:	8a 02                	mov    (%edx),%al
415206:	0a c0                	or     %al,%al
415208:	74 09                	je     0x415213
41520a:	83 c2 01             	add    $0x1,%edx
41520d:	0f ab 04 24          	bts    %eax,(%esp)
415211:	eb f1                	jmp    0x415204
415213:	8b 75 08             	mov    0x8(%ebp),%esi
415216:	83 c9 ff             	or     $0xffffffff,%ecx
415219:	8d 49 00             	lea    0x0(%ecx),%ecx
41521c:	83 c1 01             	add    $0x1,%ecx
41521f:	8a 06                	mov    (%esi),%al
415221:	0a c0                	or     %al,%al
415223:	74 09                	je     0x41522e
415225:	83 c6 01             	add    $0x1,%esi
415228:	0f a3 04 24          	bt     %eax,(%esp)
41522c:	73 ee                	jae    0x41521c
41522e:	8b c1                	mov    %ecx,%eax
415230:	83 c4 20             	add    $0x20,%esp
415233:	5e                   	pop    %esi
415234:	c9                   	leave
415235:	c3                   	ret
415236:	cc                   	int3
415237:	cc                   	int3
415238:	cc                   	int3
415239:	cc                   	int3
41523a:	cc                   	int3
41523b:	cc                   	int3
41523c:	cc                   	int3
41523d:	cc                   	int3
41523e:	cc                   	int3
41523f:	cc                   	int3
415240:	83 3d 00 a1 83 02 00 	cmpl   $0x0,0x283a100
415247:	0f 84 87 00 00 00    	je     0x4152d4
41524d:	83 ec 08             	sub    $0x8,%esp
415250:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415255:	8b 44 24 04          	mov    0x4(%esp),%eax
415259:	25 80 7f 00 00       	and    $0x7f80,%eax
41525e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415263:	75 0f                	jne    0x415274
415265:	d9 3c 24             	fnstcw (%esp)
415268:	66 8b 04 24          	mov    (%esp),%ax
41526c:	66 83 e0 7f          	and    $0x7f,%ax
415270:	66 83 f8 7f          	cmp    $0x7f,%ax
415274:	8d 64 24 08          	lea    0x8(%esp),%esp
415278:	75 5a                	jne    0x4152d4
41527a:	e9 aa 85 00 00       	jmp    0x41d829
41527f:	90                   	nop
415280:	83 3d 00 a1 83 02 00 	cmpl   $0x0,0x283a100
415287:	74 32                	je     0x4152bb
415289:	83 ec 08             	sub    $0x8,%esp
41528c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415291:	8b 44 24 04          	mov    0x4(%esp),%eax
415295:	25 80 7f 00 00       	and    $0x7f80,%eax
41529a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
41529f:	75 0f                	jne    0x4152b0
4152a1:	d9 3c 24             	fnstcw (%esp)
4152a4:	66 8b 04 24          	mov    (%esp),%ax
4152a8:	66 83 e0 7f          	and    $0x7f,%ax
4152ac:	66 83 f8 7f          	cmp    $0x7f,%ax
4152b0:	8d 64 24 08          	lea    0x8(%esp),%esp
4152b4:	75 05                	jne    0x4152bb
4152b6:	e9 55 85 00 00       	jmp    0x41d810
4152bb:	83 ec 14             	sub    $0x14,%esp
4152be:	d9 c9                	fxch   %st(1)
4152c0:	dd 1c 24             	fstpl  (%esp)
4152c3:	dd 54 24 08          	fstl   0x8(%esp)
4152c7:	8b 44 24 0c          	mov    0xc(%esp),%eax
4152cb:	e8 0d 00 00 00       	call   0x4152dd
4152d0:	83 c4 14             	add    $0x14,%esp
4152d3:	c3                   	ret
4152d4:	8d 54 24 0c          	lea    0xc(%esp),%edx
4152d8:	e8 48 5f 00 00       	call   0x41b225
4152dd:	8b c8                	mov    %eax,%ecx
4152df:	50                   	push   %eax
4152e0:	9b d9 3c 24          	fstcw  (%esp)
4152e4:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
4152ea:	74 05                	je     0x4152f1
4152ec:	e8 04 5f 00 00       	call   0x41b1f5
4152f1:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
4152f7:	8d 54 24 08          	lea    0x8(%esp),%edx
4152fb:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
415301:	0f 84 9c 00 00 00    	je     0x4153a3
415307:	e8 19 5f 00 00       	call   0x41b225
41530c:	0f 84 8d 00 00 00    	je     0x41539f
415312:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
415317:	0f 84 f5 00 00 00    	je     0x415412
41531d:	8a 4c 24 0f          	mov    0xf(%esp),%cl
415321:	80 e1 80             	and    $0x80,%cl
415324:	0f 85 52 01 00 00    	jne    0x41547c
41532a:	d9 f1                	fyl2x
41532c:	e8 af 5e 00 00       	call   0x41b1e0
415331:	80 f9 01             	cmp    $0x1,%cl