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
415334:	75 02                	jne    0x415338
415336:	d9 e0                	fchs
415338:	83 3d d4 9f 83 02 00 	cmpl   $0x0,0x2839fd4
41533f:	0f 85 39 5f 00 00    	jne    0x41b27e
415345:	8d 0d f0 c4 42 00    	lea    0x42c4f0,%ecx
41534b:	ba 1d 00 00 00       	mov    $0x1d,%edx
415350:	e9 74 5f 00 00       	jmp    0x41b2c9
415355:	83 3d d4 9f 83 02 00 	cmpl   $0x0,0x2839fd4
41535c:	0f 85 1c 5f 00 00    	jne    0x41b27e
415362:	8d 0d f0 c4 42 00    	lea    0x42c4f0,%ecx
415368:	ba 1d 00 00 00       	mov    $0x1d,%edx
41536d:	e8 0e 5e 00 00       	call   0x41b180
415372:	5a                   	pop    %edx
415373:	c3                   	ret
415374:	8d 54 24 08          	lea    0x8(%esp),%edx
415378:	e8 a8 5e 00 00       	call   0x41b225
41537d:	d9 e8                	fld1
41537f:	df e9                	fucomip %st(1),%st
415381:	7a 05                	jp     0x415388
415383:	74 0e                	je     0x415393
415385:	41                   	inc    %ecx
415386:	eb 31                	jmp    0x4153b9
415388:	d9 c9                	fxch   %st(1)
41538a:	d9 e5                	fxam
41538c:	9b df e0             	fstsw  %ax
41538f:	9b                   	fwait
415390:	9e                   	sahf
415391:	75 08                	jne    0x41539b
415393:	dd d8                	fstp   %st(0)
415395:	dd d8                	fstp   %st(0)
415397:	d9 e8                	fld1
415399:	5a                   	pop    %edx
41539a:	c3                   	ret
41539b:	de c1                	faddp  %st,%st(1)
41539d:	5a                   	pop    %edx
41539e:	c3                   	ret
41539f:	33 c9                	xor    %ecx,%ecx
4153a1:	eb 16                	jmp    0x4153b9
4153a3:	33 c9                	xor    %ecx,%ecx
4153a5:	25 ff ff 0f 00       	and    $0xfffff,%eax
4153aa:	0b 44 24 10          	or     0x10(%esp),%eax
4153ae:	75 c4                	jne    0x415374
4153b0:	8d 54 24 08          	lea    0x8(%esp),%edx
4153b4:	e8 6c 5e 00 00       	call   0x41b225
4153b9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4153bd:	8b d0                	mov    %eax,%edx
4153bf:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4153c4:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4153ca:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4153cf:	75 06                	jne    0x4153d7
4153d1:	0b 54 24 08          	or     0x8(%esp),%edx
4153d5:	75 b1                	jne    0x415388
4153d7:	85 c9                	test   %ecx,%ecx
4153d9:	75 c0                	jne    0x41539b
4153db:	83 ec 74             	sub    $0x74,%esp
4153de:	8b cc                	mov    %esp,%ecx
4153e0:	51                   	push   %ecx
4153e1:	83 ec 10             	sub    $0x10,%esp
4153e4:	dd 1c 24             	fstpl  (%esp)
4153e7:	dd 5c 24 08          	fstpl  0x8(%esp)
4153eb:	9b dd 71 08          	fsave  0x8(%ecx)
4153ef:	e8 9d 91 00 00       	call   0x41e591
4153f4:	83 c4 10             	add    $0x10,%esp
4153f7:	59                   	pop    %ecx
4153f8:	dd 61 08             	frstor 0x8(%ecx)
4153fb:	dd 01                	fldl   (%ecx)
4153fd:	83 c4 74             	add    $0x74,%esp
415400:	85 c0                	test   %eax,%eax
415402:	0f 84 76 5e 00 00    	je     0x41b27e
415408:	b8 01 00 00 00       	mov    $0x1,%eax
41540d:	e9 43 ff ff ff       	jmp    0x415355
415412:	8b 44 24 0c          	mov    0xc(%esp),%eax
415416:	25 ff ff 0f 00       	and    $0xfffff,%eax
41541b:	0b 44 24 08          	or     0x8(%esp),%eax
41541f:	0f 85 f8 fe ff ff    	jne    0x41531d
415425:	dd d8                	fstp   %st(0)
415427:	8b 44 24 14          	mov    0x14(%esp),%eax
41542b:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
415430:	0b 44 24 10          	or     0x10(%esp),%eax
415434:	74 3d                	je     0x415473
415436:	e8 66 00 00 00       	call   0x4154a1
41543b:	8a 6c 24 0f          	mov    0xf(%esp),%ch
41543f:	c0 ed 07             	shr    $0x7,%ch
415442:	f7 44 24 17 80 00 00 	testl  $0x80,0x17(%esp)
415449:	00
41544a:	74 16                	je     0x415462
41544c:	db 2d b0 d8 42 00    	fldt   0x42d8b0
415452:	84 cd                	test   %cl,%ch
415454:	74 02                	je     0x415458
415456:	d9 e0                	fchs
415458:	b8 02 00 00 00       	mov    $0x2,%eax
41545d:	e9 f3 fe ff ff       	jmp    0x415355
415462:	d9 ee                	fldz
415464:	84 cd                	test   %cl,%ch
415466:	0f 84 12 5e 00 00    	je     0x41b27e
41546c:	d9 e0                	fchs
41546e:	e9 0b 5e 00 00       	jmp    0x41b27e
415473:	dd d8                	fstp   %st(0)
415475:	d9 e8                	fld1
415477:	e9 02 5e 00 00       	jmp    0x41b27e
41547c:	d9 c1                	fld    %st(1)
41547e:	e8 1e 00 00 00       	call   0x4154a1
415483:	d9 e0                	fchs
415485:	84 c9                	test   %cl,%cl
415487:	0f 85 9d fe ff ff    	jne    0x41532a
41548d:	dd d8                	fstp   %st(0)
41548f:	dd d8                	fstp   %st(0)
415491:	db 2d 50 d3 42 00    	fldt   0x42d350
415497:	b8 01 00 00 00       	mov    $0x1,%eax
41549c:	e9 b4 fe ff ff       	jmp    0x415355
4154a1:	d9 c0                	fld    %st(0)
4154a3:	d9 fc                	frndint
4154a5:	d8 d9                	fcomp  %st(1)
4154a7:	b1 00                	mov    $0x0,%cl
4154a9:	9b df e0             	fstsw  %ax
4154ac:	9e                   	sahf
4154ad:	75 17                	jne    0x4154c6
4154af:	dc 0d f4 c4 42 00    	fmull  0x42c4f4
4154b5:	fe c1                	inc    %cl
4154b7:	d9 c0                	fld    %st(0)
4154b9:	d9 fc                	frndint
4154bb:	de d9                	fcompp
4154bd:	9b df e0             	fstsw  %ax
4154c0:	9e                   	sahf
4154c1:	75 02                	jne    0x4154c5
4154c3:	fe c1                	inc    %cl
4154c5:	c3                   	ret
4154c6:	dd d8                	fstp   %st(0)
4154c8:	c3                   	ret
4154c9:	8b ff                	mov    %edi,%edi
4154cb:	55                   	push   %ebp
4154cc:	8b ec                	mov    %esp,%ebp
4154ce:	8b 55 08             	mov    0x8(%ebp),%edx
4154d1:	56                   	push   %esi
4154d2:	85 d2                	test   %edx,%edx
4154d4:	74 13                	je     0x4154e9
4154d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4154d9:	85 c9                	test   %ecx,%ecx
4154db:	74 0c                	je     0x4154e9
4154dd:	8b 75 10             	mov    0x10(%ebp),%esi
4154e0:	85 f6                	test   %esi,%esi
4154e2:	75 19                	jne    0x4154fd
4154e4:	33 c0                	xor    %eax,%eax
4154e6:	66 89 02             	mov    %ax,(%edx)
4154e9:	e8 7d f5 ff ff       	call   0x414a6b
4154ee:	6a 16                	push   $0x16
4154f0:	5e                   	pop    %esi
4154f1:	89 30                	mov    %esi,(%eax)
4154f3:	e8 ea 67 ff ff       	call   0x40bce2
4154f8:	8b c6                	mov    %esi,%eax
4154fa:	5e                   	pop    %esi
4154fb:	5d                   	pop    %ebp
4154fc:	c3                   	ret
4154fd:	57                   	push   %edi
4154fe:	8b fa                	mov    %edx,%edi
415500:	2b f2                	sub    %edx,%esi
415502:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
415506:	66 89 07             	mov    %ax,(%edi)
415509:	8d 7f 02             	lea    0x2(%edi),%edi
41550c:	66 85 c0             	test   %ax,%ax
41550f:	74 05                	je     0x415516
415511:	83 e9 01             	sub    $0x1,%ecx
415514:	75 ec                	jne    0x415502
415516:	5f                   	pop    %edi
415517:	85 c9                	test   %ecx,%ecx
415519:	75 0e                	jne    0x415529
41551b:	33 c0                	xor    %eax,%eax
41551d:	66 89 02             	mov    %ax,(%edx)
415520:	e8 46 f5 ff ff       	call   0x414a6b
415525:	6a 22                	push   $0x22
415527:	eb c7                	jmp    0x4154f0
415529:	33 f6                	xor    %esi,%esi
41552b:	eb cb                	jmp    0x4154f8
41552d:	8b ff                	mov    %edi,%edi
41552f:	55                   	push   %ebp