40d24b:	75 18                	jne    0x40d265
40d24d:	8b 45 0c             	mov    0xc(%ebp),%eax
40d250:	83 60 20 00          	andl   $0x0,0x20(%eax)
40d254:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40d258:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40d25c:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40d263:	eb 74                	jmp    0x40d2d9
40d265:	85 f6                	test   %esi,%esi
40d267:	78 4b                	js     0x40d2b4
40d269:	3b 35 78 72 41 00    	cmp    0x417278,%esi
40d26f:	73 43                	jae    0x40d2b4
40d271:	8b c6                	mov    %esi,%eax
40d273:	8b d6                	mov    %esi,%edx
40d275:	83 e0 3f             	and    $0x3f,%eax
40d278:	c1 fa 06             	sar    $0x6,%edx
40d27b:	6b c8 38             	imul   $0x38,%eax,%ecx
40d27e:	8b 04 95 78 70 41 00 	mov    0x417078(,%edx,4),%eax
40d285:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
40d28a:	74 28                	je     0x40d2b4
40d28c:	8d 45 08             	lea    0x8(%ebp),%eax
40d28f:	89 75 f8             	mov    %esi,-0x8(%ebp)
40d292:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d295:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40d298:	8b 45 0c             	mov    0xc(%ebp),%eax
40d29b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d29e:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d2a1:	50                   	push   %eax
40d2a2:	8d 45 ec             	lea    -0x14(%ebp),%eax
40d2a5:	89 75 f4             	mov    %esi,-0xc(%ebp)
40d2a8:	50                   	push   %eax
40d2a9:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d2ac:	50                   	push   %eax
40d2ad:	e8 f9 fe ff ff       	call   0x40d1ab
40d2b2:	eb 28                	jmp    0x40d2dc
40d2b4:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2b7:	33 c9                	xor    %ecx,%ecx
40d2b9:	50                   	push   %eax
40d2ba:	51                   	push   %ecx
40d2bb:	51                   	push   %ecx
40d2bc:	51                   	push   %ecx
40d2bd:	c6 40 24 01          	movb   $0x1,0x24(%eax)
40d2c1:	51                   	push   %ecx
40d2c2:	89 48 20             	mov    %ecx,0x20(%eax)
40d2c5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40d2c9:	51                   	push   %ecx
40d2ca:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
40d2d1:	e8 c9 89 ff ff       	call   0x405c9f
40d2d6:	83 c4 18             	add    $0x18,%esp
40d2d9:	83 c8 ff             	or     $0xffffffff,%eax
40d2dc:	5e                   	pop    %esi
40d2dd:	c9                   	leave
40d2de:	c3                   	ret
40d2df:	8b ff                	mov    %edi,%edi
40d2e1:	55                   	push   %ebp
40d2e2:	8b ec                	mov    %esp,%ebp
40d2e4:	56                   	push   %esi
40d2e5:	57                   	push   %edi
40d2e6:	8b 7d 08             	mov    0x8(%ebp),%edi
40d2e9:	57                   	push   %edi
40d2ea:	e8 03 bf ff ff       	call   0x4091f2
40d2ef:	59                   	pop    %ecx
40d2f0:	83 f8 ff             	cmp    $0xffffffff,%eax
40d2f3:	75 04                	jne    0x40d2f9
40d2f5:	33 f6                	xor    %esi,%esi
40d2f7:	eb 4e                	jmp    0x40d347
40d2f9:	a1 78 70 41 00       	mov    0x417078,%eax
40d2fe:	83 ff 01             	cmp    $0x1,%edi
40d301:	75 09                	jne    0x40d30c
40d303:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
40d30a:	75 0b                	jne    0x40d317
40d30c:	83 ff 02             	cmp    $0x2,%edi
40d30f:	75 1c                	jne    0x40d32d
40d311:	f6 40 60 01          	testb  $0x1,0x60(%eax)
40d315:	74 16                	je     0x40d32d
40d317:	6a 02                	push   $0x2
40d319:	e8 d4 be ff ff       	call   0x4091f2
40d31e:	6a 01                	push   $0x1
40d320:	8b f0                	mov    %eax,%esi
40d322:	e8 cb be ff ff       	call   0x4091f2
40d327:	59                   	pop    %ecx
40d328:	59                   	pop    %ecx
40d329:	3b c6                	cmp    %esi,%eax
40d32b:	74 c8                	je     0x40d2f5
40d32d:	57                   	push   %edi
40d32e:	e8 bf be ff ff       	call   0x4091f2
40d333:	59                   	pop    %ecx
40d334:	50                   	push   %eax
40d335:	ff 15 14 f0 40 00    	call   *0x40f014
40d33b:	85 c0                	test   %eax,%eax
40d33d:	75 b6                	jne    0x40d2f5
40d33f:	ff 15 58 f0 40 00    	call   *0x40f058
40d345:	8b f0                	mov    %eax,%esi
40d347:	57                   	push   %edi
40d348:	e8 14 be ff ff       	call   0x409161
40d34d:	59                   	pop    %ecx
40d34e:	8b cf                	mov    %edi,%ecx
40d350:	83 e7 3f             	and    $0x3f,%edi
40d353:	c1 f9 06             	sar    $0x6,%ecx
40d356:	6b d7 38             	imul   $0x38,%edi,%edx
40d359:	8b 0c 8d 78 70 41 00 	mov    0x417078(,%ecx,4),%ecx
40d360:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
40d365:	85 f6                	test   %esi,%esi
40d367:	74 10                	je     0x40d379
40d369:	ff 75 0c             	push   0xc(%ebp)
40d36c:	56                   	push   %esi
40d36d:	e8 a7 a5 ff ff       	call   0x407919
40d372:	59                   	pop    %ecx
40d373:	59                   	pop    %ecx
40d374:	83 c8 ff             	or     $0xffffffff,%eax
40d377:	eb 02                	jmp    0x40d37b
40d379:	33 c0                	xor    %eax,%eax
40d37b:	5f                   	pop    %edi
40d37c:	5e                   	pop    %esi
40d37d:	5d                   	pop    %ebp
40d37e:	c3                   	ret
40d37f:	8b ff                	mov    %edi,%edi
40d381:	55                   	push   %ebp
40d382:	8b ec                	mov    %esp,%ebp
40d384:	8b 45 08             	mov    0x8(%ebp),%eax
40d387:	33 c9                	xor    %ecx,%ecx
40d389:	89 08                	mov    %ecx,(%eax)
40d38b:	8b 45 08             	mov    0x8(%ebp),%eax
40d38e:	89 48 04             	mov    %ecx,0x4(%eax)
40d391:	8b 45 08             	mov    0x8(%ebp),%eax
40d394:	89 48 08             	mov    %ecx,0x8(%eax)
40d397:	8b 45 08             	mov    0x8(%ebp),%eax
40d39a:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40d39e:	8b 45 08             	mov    0x8(%ebp),%eax
40d3a1:	89 48 14             	mov    %ecx,0x14(%eax)
40d3a4:	8b 45 08             	mov    0x8(%ebp),%eax
40d3a7:	89 48 18             	mov    %ecx,0x18(%eax)
40d3aa:	8b 45 08             	mov    0x8(%ebp),%eax
40d3ad:	89 48 1c             	mov    %ecx,0x1c(%eax)
40d3b0:	8b 45 08             	mov    0x8(%ebp),%eax
40d3b3:	83 c0 0c             	add    $0xc,%eax
40d3b6:	87 08                	xchg   %ecx,(%eax)
40d3b8:	5d                   	pop    %ebp
40d3b9:	c3                   	ret
40d3ba:	6a 0a                	push   $0xa
40d3bc:	ff 15 40 f0 40 00    	call   *0x40f040
40d3c2:	a3 bc 73 41 00       	mov    %eax,0x4173bc
40d3c7:	33 c0                	xor    %eax,%eax
40d3c9:	c3                   	ret
40d3ca:	cc                   	int3
40d3cb:	cc                   	int3
40d3cc:	cc                   	int3
40d3cd:	cc                   	int3
40d3ce:	cc                   	int3
40d3cf:	cc                   	int3
40d3d0:	55                   	push   %ebp
40d3d1:	8b ec                	mov    %esp,%ebp
40d3d3:	83 ec 08             	sub    $0x8,%esp
40d3d6:	83 e4 f0             	and    $0xfffffff0,%esp
40d3d9:	dd 1c 24             	fstpl  (%esp)
40d3dc:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
40d3e1:	e8 08 00 00 00       	call   0x40d3ee
40d3e6:	c9                   	leave
40d3e7:	c3                   	ret
40d3e8:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
40d3ee:	ba 00 00 00 00       	mov    $0x0,%edx
40d3f3:	66 0f 28 e8          	movapd %xmm0,%xmm5
40d3f7:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
40d3fb:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
40d400:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
40d405:	66 0f 28 0d 20 31 41 	movapd 0x413120,%xmm1
40d40c:	00
40d40d:	66 0f 28 15 30 31 41 	movapd 0x413130,%xmm2
40d414:	00
40d415:	66 0f 28 1d 90 31 41 	movapd 0x413190,%xmm3
40d41c:	00
40d41d:	66 0f 28 25 40 31 41 	movapd 0x413140,%xmm4
40d424:	00
40d425:	66 0f 28 35 50 31 41 	movapd 0x413150,%xmm6
40d42c:	00
40d42d:	66 0f 54 c1          	andpd  %xmm1,%xmm0
40d431:	66 0f 56 c3          	orpd   %xmm3,%xmm0
40d435:	66 0f 58 e0          	addpd  %xmm0,%xmm4
40d439:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
40d43e:	25 f0 07 00 00       	and    $0x7f0,%eax
40d443:	66 0f 28 a0 50 37 41 	movapd 0x413750(%eax),%xmm4
40d44a:	00
40d44b:	66 0f 28 b8 40 33 41 	movapd 0x413340(%eax),%xmm7
40d452:	00
40d453:	66 0f 54 f0          	andpd  %xmm0,%xmm6
40d457:	66 0f 5c c6          	subpd  %xmm6,%xmm0
40d45b:	66 0f 59 f4          	mulpd  %xmm4,%xmm6
40d45f:	66 0f 5c f2          	subpd  %xmm2,%xmm6
40d463:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
40d467:	66 0f 59 c4          	mulpd  %xmm4,%xmm0
40d46b:	66 0f 28 e0          	movapd %xmm0,%xmm4
40d46f:	66 0f 58 c6          	addpd  %xmm6,%xmm0
40d473:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
40d479:	83 e9 01             	sub    $0x1,%ecx
40d47c:	81 f9 fd 07 00 00    	cmp    $0x7fd,%ecx
40d482:	0f 87 be 00 00 00    	ja     0x40d546
40d488:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
40d48e:	03 ca                	add    %edx,%ecx
40d490:	f2 0f 2a f1          	cvtsi2sd %ecx,%xmm6
40d494:	66 0f 14 f6          	unpcklpd %xmm6,%xmm6
40d498:	c1 e1 0a             	shl    $0xa,%ecx
40d49b:	03 c1                	add    %ecx,%eax
40d49d:	b9 10 00 00 00       	mov    $0x10,%ecx
40d4a2:	ba 00 00 00 00       	mov    $0x0,%edx
40d4a7:	83 f8 00             	cmp    $0x0,%eax
40d4aa:	0f 44 d1             	cmove  %ecx,%edx
40d4ad:	66 0f 28 0d e0 31 41 	movapd 0x4131e0,%xmm1
40d4b4:	00
40d4b5:	66 0f 28 d8          	movapd %xmm0,%xmm3
40d4b9:	66 0f 28 15 f0 31 41 	movapd 0x4131f0,%xmm2
40d4c0:	00
40d4c1:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
40d4c5:	66 0f 59 db          	mulpd  %xmm3,%xmm3
40d4c9:	66 0f 58 ca          	addpd  %xmm2,%xmm1
40d4cd:	66 0f 28 15 00 32 41 	movapd 0x413200,%xmm2
40d4d4:	00
40d4d5:	f2 0f 59 db          	mulsd  %xmm3,%xmm3
40d4d9:	66 0f 28 2d 60 31 41 	movapd 0x413160,%xmm5
40d4e0:	00
40d4e1:	66 0f 59 f5          	mulpd  %xmm5,%xmm6
40d4e5:	66 0f 28 aa 70 31 41 	movapd 0x413170(%edx),%xmm5
40d4ec:	00
40d4ed:	66 0f 54 e5          	andpd  %xmm5,%xmm4
40d4f1:	66 0f 58 fe          	addpd  %xmm6,%xmm7
40d4f5:	66 0f 58 fc          	addpd  %xmm4,%xmm7
40d4f9:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
40d4fd:	f2 0f 59 d8          	mulsd  %xmm0,%xmm3
40d501:	66 0f 58 ca          	addpd  %xmm2,%xmm1
40d505:	66 0f 28 15 10 32 41 	movapd 0x413210,%xmm2
40d50c:	00
40d50d:	66 0f 59 d0          	mulpd  %xmm0,%xmm2
40d511:	66 0f 28 f7          	movapd %xmm7,%xmm6
40d515:	66 0f 15 f6          	unpckhpd %xmm6,%xmm6
40d519:	66 0f 59 cb          	mulpd  %xmm3,%xmm1
40d51d:	83 ec 10             	sub    $0x10,%esp
40d520:	66 0f 28 c1          	movapd %xmm1,%xmm0
40d524:	66 0f 58 ca          	addpd  %xmm2,%xmm1
40d528:	66 0f 15 c0          	unpckhpd %xmm0,%xmm0
40d52c:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
40d530:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
40d534:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
40d538:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
40d53e:	dd 44 24 04          	fldl   0x4(%esp)
40d542:	83 c4 10             	add    $0x10,%esp
40d545:	c3                   	ret
40d546:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
40d54c:	66 0f 28 0d a0 31 41 	movapd 0x4131a0,%xmm1
40d553:	00
40d554:	f2 0f c2 c8 00       	cmpeqsd %xmm0,%xmm1
40d559:	66 0f c5 c1 00       	pextrw $0x0,%xmm1,%eax
40d55e:	83 f8 00             	cmp    $0x0,%eax
40d561:	77 48                	ja     0x40d5ab
40d563:	83 f9 ff             	cmp    $0xffffffff,%ecx
40d566:	74 5e                	je     0x40d5c6
40d568:	81 f9 fe 07 00 00    	cmp    $0x7fe,%ecx
40d56e:	77 6c                	ja     0x40d5dc
40d570:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
40d576:	66 0f 28 0d 20 31 41 	movapd 0x413120,%xmm1
40d57d:	00
40d57e:	66 0f 28 15 90 31 41 	movapd 0x413190,%xmm2
40d585:	00
40d586:	66 0f 54 c1          	andpd  %xmm1,%xmm0
40d58a:	66 0f 56 c2          	orpd   %xmm2,%xmm0
40d58e:	f2 0f c2 d0 00       	cmpeqsd %xmm0,%xmm2
40d593:	66 0f c5 c2 00       	pextrw $0x0,%xmm2,%eax
40d598:	83 f8 00             	cmp    $0x0,%eax
40d59b:	74 07                	je     0x40d5a4
40d59d:	dd 05 c8 31 41 00    	fldl   0x4131c8
40d5a3:	c3                   	ret
40d5a4:	ba e9 03 00 00       	mov    $0x3e9,%edx
40d5a9:	eb 4f                	jmp    0x40d5fa
40d5ab:	66 0f 12 15 90 31 41 	movlpd 0x413190,%xmm2
40d5b2:	00
40d5b3:	f2 0f 5e d0          	divsd  %xmm0,%xmm2
40d5b7:	66 0f 12 0d c0 31 41 	movlpd 0x4131c0,%xmm1
40d5be:	00
40d5bf:	ba 08 00 00 00       	mov    $0x8,%edx
40d5c4:	eb 34                	jmp    0x40d5fa
40d5c6:	66 0f 12 0d b0 31 41 	movlpd 0x4131b0,%xmm1
40d5cd:	00
40d5ce:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
40d5d2:	ba cc ff ff ff       	mov    $0xffffffcc,%edx
40d5d7:	e9 17 fe ff ff       	jmp    0x40d3f3
40d5dc:	83 c1 01             	add    $0x1,%ecx
40d5df:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
40d5e5:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
40d5eb:	73 3a                	jae    0x40d627
40d5ed:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
40d5f1:	f2 0f 5e c9          	divsd  %xmm1,%xmm1
40d5f5:	ba 09 00 00 00       	mov    $0x9,%edx
40d5fa:	83 ec 1c             	sub    $0x1c,%esp
40d5fd:	66 0f 13 4c 24 10    	movlpd %xmm1,0x10(%esp)
40d603:	89 54 24 0c          	mov    %edx,0xc(%esp)
40d607:	8b d4                	mov    %esp,%edx
40d609:	83 c2 10             	add    $0x10,%edx
40d60c:	89 54 24 08          	mov    %edx,0x8(%esp)
40d610:	83 c2 10             	add    $0x10,%edx
40d613:	89 54 24 04          	mov    %edx,0x4(%esp)
40d617:	89 14 24             	mov    %edx,(%esp)
40d61a:	e8 94 06 00 00       	call   0x40dcb3
40d61f:	dd 44 24 10          	fldl   0x10(%esp)
40d623:	83 c4 1c             	add    $0x1c,%esp
40d626:	c3                   	ret
40d627:	66 0f 12 54 24 04    	movlpd 0x4(%esp),%xmm2
40d62d:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
40d633:	66 0f 7e d0          	movd   %xmm2,%eax
40d637:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
40d63c:	66 0f 7e d1          	movd   %xmm2,%ecx
40d640:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
40d646:	0b c1                	or     %ecx,%eax
40d648:	83 f8 00             	cmp    $0x0,%eax
40d64b:	74 a0                	je     0x40d5ed
40d64d:	ba e9 03 00 00       	mov    $0x3e9,%edx
40d652:	eb a6                	jmp    0x40d5fa
40d654:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d65b:	eb 03                	jmp    0x40d660
40d65d:	cc                   	int3
40d65e:	cc                   	int3
40d65f:	cc                   	int3
40d660:	c6 85 70 ff ff ff fe 	movb   $0xfe,-0x90(%ebp)
40d667:	0a ed                	or     %ch,%ch
40d669:	75 4a                	jne    0x40d6b5
40d66b:	d9 c9                	fxch   %st(1)
40d66d:	d9 f1                	fyl2x
40d66f:	eb 1c                	jmp    0x40d68d
40d671:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d678:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d67f:	90                   	nop
40d680:	c6 85 70 ff ff ff fe 	movb   $0xfe,-0x90(%ebp)
40d687:	32 ed                	xor    %ch,%ch
40d689:	d9 ea                	fldl2e
40d68b:	de c9                	fmulp  %st,%st(1)
40d68d:	e8 2b 01 00 00       	call   0x40d7bd
40d692:	d9 e8                	fld1
40d694:	de c1                	faddp  %st,%st(1)
40d696:	f6 85 61 ff ff ff 01 	testb  $0x1,-0x9f(%ebp)
40d69d:	74 04                	je     0x40d6a3
40d69f:	d9 e8                	fld1
40d6a1:	de f1                	fdivp  %st,%st(1)
40d6a3:	f6 c2 40             	test   $0x40,%dl
40d6a6:	75 02                	jne    0x40d6aa
40d6a8:	d9 fd                	fscale
40d6aa:	0a ed                	or     %ch,%ch
40d6ac:	74 02                	je     0x40d6b0
40d6ae:	d9 e0                	fchs
40d6b0:	e9 cf 02 00 00       	jmp    0x40d984
40d6b5:	e8 46 01 00 00       	call   0x40d800
40d6ba:	0b c0                	or     %eax,%eax
40d6bc:	74 14                	je     0x40d6d2
40d6be:	32 ed                	xor    %ch,%ch
40d6c0:	83 f8 02             	cmp    $0x2,%eax