495593:	c3                   	ret
495594:	ba e9 03 00 00       	mov    $0x3e9,%edx
495599:	eb 4f                	jmp    0x4955ea
49559b:	66 0f 12 15 40 ab 4a 	movlpd 0x4aab40,%xmm2
4955a2:	00
4955a3:	f2 0f 5e d0          	divsd  %xmm0,%xmm2
4955a7:	66 0f 12 0d 70 ab 4a 	movlpd 0x4aab70,%xmm1
4955ae:	00
4955af:	ba 08 00 00 00       	mov    $0x8,%edx
4955b4:	eb 34                	jmp    0x4955ea
4955b6:	66 0f 12 0d 60 ab 4a 	movlpd 0x4aab60,%xmm1
4955bd:	00
4955be:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
4955c2:	ba cc ff ff ff       	mov    $0xffffffcc,%edx
4955c7:	e9 17 fe ff ff       	jmp    0x4953e3
4955cc:	83 c1 01             	add    $0x1,%ecx
4955cf:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
4955d5:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
4955db:	73 3a                	jae    0x495617
4955dd:	66 0f 57 c9          	xorpd  %xmm1,%xmm1
4955e1:	f2 0f 5e c9          	divsd  %xmm1,%xmm1
4955e5:	ba 09 00 00 00       	mov    $0x9,%edx
4955ea:	83 ec 1c             	sub    $0x1c,%esp
4955ed:	66 0f 13 4c 24 10    	movlpd %xmm1,0x10(%esp)
4955f3:	89 54 24 0c          	mov    %edx,0xc(%esp)
4955f7:	8b d4                	mov    %esp,%edx
4955f9:	83 c2 10             	add    $0x10,%edx
4955fc:	89 54 24 08          	mov    %edx,0x8(%esp)
495600:	83 c2 10             	add    $0x10,%edx
495603:	89 54 24 04          	mov    %edx,0x4(%esp)
495607:	89 14 24             	mov    %edx,(%esp)
49560a:	e8 ff ee ff ff       	call   0x49450e
49560f:	dd 44 24 10          	fldl   0x10(%esp)
495613:	83 c4 1c             	add    $0x1c,%esp
495616:	c3                   	ret
495617:	66 0f 12 54 24 04    	movlpd 0x4(%esp),%xmm2
49561d:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
495623:	66 0f 7e d0          	movd   %xmm2,%eax
495627:	66 0f 73 d2 20       	psrlq  $0x20,%xmm2
49562c:	66 0f 7e d1          	movd   %xmm2,%ecx
495630:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
495636:	0b c1                	or     %ecx,%eax
495638:	83 f8 00             	cmp    $0x0,%eax
49563b:	74 a0                	je     0x4955dd
49563d:	ba e9 03 00 00       	mov    $0x3e9,%edx
495642:	eb a6                	jmp    0x4955ea
495644:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
49564b:	eb 03                	jmp    0x495650
49564d:	cc                   	int3
49564e:	cc                   	int3
49564f:	cc                   	int3
495650:	8b ff                	mov    %edi,%edi
495652:	55                   	push   %ebp
495653:	8b ec                	mov    %esp,%ebp
495655:	51                   	push   %ecx
495656:	51                   	push   %ecx
495657:	53                   	push   %ebx
495658:	56                   	push   %esi
495659:	be ff ff 00 00       	mov    $0xffff,%esi
49565e:	56                   	push   %esi
49565f:	68 3f 1b 00 00       	push   $0x1b3f
495664:	e8 c1 4d ff ff       	call   0x48a42a
495669:	dd 45 08             	fldl   0x8(%ebp)
49566c:	8b d8                	mov    %eax,%ebx
49566e:	59                   	pop    %ecx
49566f:	59                   	pop    %ecx
495670:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
495674:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
495679:	23 c8                	and    %eax,%ecx
49567b:	51                   	push   %ecx
49567c:	51                   	push   %ecx
49567d:	dd 1c 24             	fstpl  (%esp)
495680:	66 3b c8             	cmp    %ax,%cx
495683:	75 46                	jne    0x4956cb
495685:	e8 56 44 ff ff       	call   0x489ae0
49568a:	59                   	pop    %ecx
49568b:	59                   	pop    %ecx
49568c:	83 e8 01             	sub    $0x1,%eax
49568f:	74 2e                	je     0x4956bf
495691:	83 e8 01             	sub    $0x1,%eax
495694:	74 29                	je     0x4956bf
495696:	83 e8 01             	sub    $0x1,%eax
495699:	74 24                	je     0x4956bf
49569b:	dd 45 08             	fldl   0x8(%ebp)
49569e:	dd 05 68 73 4b 00    	fldl   0x4b7368
4956a4:	53                   	push   %ebx
4956a5:	83 ec 10             	sub    $0x10,%esp
4956a8:	d8 c1                	fadd   %st(1),%st
4956aa:	dd 5c 24 08          	fstpl  0x8(%esp)
4956ae:	dd 1c 24             	fstpl  (%esp)
4956b1:	6a 0c                	push   $0xc
4956b3:	6a 08                	push   $0x8
4956b5:	e8 bd 44 ff ff       	call   0x489b77
4956ba:	83 c4 1c             	add    $0x1c,%esp
4956bd:	eb 4b                	jmp    0x49570a
4956bf:	56                   	push   %esi
4956c0:	53                   	push   %ebx
4956c1:	e8 64 4d ff ff       	call   0x48a42a
4956c6:	dd 45 08             	fldl   0x8(%ebp)
4956c9:	eb 3d                	jmp    0x495708
4956cb:	e8 42 f1 ff ff       	call   0x494812
4956d0:	dd 55 f8             	fstl   -0x8(%ebp)
4956d3:	dd 45 08             	fldl   0x8(%ebp)
4956d6:	83 c4 08             	add    $0x8,%esp
4956d9:	dd e1                	fucom  %st(1)
4956db:	df e0                	fnstsw %ax
4956dd:	f6 c4 44             	test   $0x44,%ah
4956e0:	7b 18                	jnp    0x4956fa
4956e2:	f6 c3 20             	test   $0x20,%bl
4956e5:	75 13                	jne    0x4956fa
4956e7:	53                   	push   %ebx
4956e8:	83 ec 10             	sub    $0x10,%esp
4956eb:	d9 c9                	fxch   %st(1)
4956ed:	dd 5c 24 08          	fstpl  0x8(%esp)
4956f1:	dd 1c 24             	fstpl  (%esp)
4956f4:	6a 0c                	push   $0xc
4956f6:	6a 10                	push   $0x10
4956f8:	eb bb                	jmp    0x4956b5
4956fa:	56                   	push   %esi
4956fb:	dd d9                	fstp   %st(1)
4956fd:	53                   	push   %ebx
4956fe:	dd d8                	fstp   %st(0)
495700:	e8 25 4d ff ff       	call   0x48a42a
495705:	dd 45 f8             	fldl   -0x8(%ebp)
495708:	59                   	pop    %ecx
495709:	59                   	pop    %ecx
49570a:	5e                   	pop    %esi
49570b:	5b                   	pop    %ebx
49570c:	c9                   	leave
49570d:	c3                   	ret
49570e:	8b ff                	mov    %edi,%edi
495710:	55                   	push   %ebp
495711:	8b ec                	mov    %esp,%ebp
495713:	51                   	push   %ecx
495714:	51                   	push   %ecx
495715:	8b 55 0c             	mov    0xc(%ebp),%edx
495718:	56                   	push   %esi
495719:	8b 75 10             	mov    0x10(%ebp),%esi
49571c:	0f b7 ca             	movzwl %dx,%ecx
49571f:	57                   	push   %edi
495720:	85 f6                	test   %esi,%esi
495722:	75 05                	jne    0x495729
495724:	be fc 8b 4c 00       	mov    $0x4c8bfc,%esi
495729:	83 3e 00             	cmpl   $0x0,(%esi)
49572c:	8d 81 00 24 00 00    	lea    0x2400(%ecx),%eax
495732:	0f b7 c0             	movzwl %ax,%eax
495735:	75 47                	jne    0x49577e
495737:	bf ff 03 00 00       	mov    $0x3ff,%edi
49573c:	66 3b c7             	cmp    %di,%ax
49573f:	77 0d                	ja     0x49574e
495741:	ff 75 14             	push   0x14(%ebp)
495744:	56                   	push   %esi
495745:	e8 66 f7 ff ff       	call   0x494eb0
49574a:	59                   	pop    %ecx
49574b:	59                   	pop    %ecx
49574c:	eb 66                	jmp    0x4957b4
49574e:	8d 82 00 28 00 00    	lea    0x2800(%edx),%eax
495754:	66 3b c7             	cmp    %di,%ax
495757:	8b c1                	mov    %ecx,%eax
495759:	77 11                	ja     0x49576c
49575b:	25 ff 27 ff ff       	and    $0xffff27ff,%eax
495760:	83 c0 40             	add    $0x40,%eax
495763:	c1 e0 0a             	shl    $0xa,%eax
495766:	89 06                	mov    %eax,(%esi)
495768:	33 c0                	xor    %eax,%eax
49576a:	eb 48                	jmp    0x4957b4
49576c:	ff 75 14             	push   0x14(%ebp)
49576f:	56                   	push   %esi
495770:	50                   	push   %eax
495771:	ff 75 08             	push   0x8(%ebp)
495774:	e8 91 d4 ff ff       	call   0x492c0a
495779:	83 c4 10             	add    $0x10,%esp
49577c:	eb 36                	jmp    0x4957b4
49577e:	ff 75 14             	push   0x14(%ebp)
495781:	b9 ff 03 00 00       	mov    $0x3ff,%ecx
495786:	66 3b c1             	cmp    %cx,%ax
495789:	77 b9                	ja     0x495744
49578b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
49578f:	8d 45 f8             	lea    -0x8(%ebp),%eax
495792:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
495796:	50                   	push   %eax
495797:	0f b7 c2             	movzwl %dx,%eax
49579a:	25 ff 23 ff ff       	and    $0xffff23ff,%eax
49579f:	03 06                	add    (%esi),%eax
4957a1:	50                   	push   %eax
4957a2:	ff 75 08             	push   0x8(%ebp)
4957a5:	e8 60 d4 ff ff       	call   0x492c0a
4957aa:	56                   	push   %esi
4957ab:	50                   	push   %eax
4957ac:	e8 eb f6 ff ff       	call   0x494e9c
4957b1:	83 c4 18             	add    $0x18,%esp
4957b4:	5f                   	pop    %edi
4957b5:	5e                   	pop    %esi
4957b6:	c9                   	leave
4957b7:	c3                   	ret
4957b8:	8b ff                	mov    %edi,%edi
4957ba:	55                   	push   %ebp
4957bb:	8b ec                	mov    %esp,%ebp
4957bd:	56                   	push   %esi
4957be:	8b 75 14             	mov    0x14(%ebp),%esi
4957c1:	85 f6                	test   %esi,%esi
4957c3:	7e 0d                	jle    0x4957d2
4957c5:	56                   	push   %esi
4957c6:	ff 75 10             	push   0x10(%ebp)
4957c9:	e8 4d d3 fe ff       	call   0x482b1b
4957ce:	59                   	pop    %ecx
4957cf:	59                   	pop    %ecx
4957d0:	8b f0                	mov    %eax,%esi
4957d2:	8b 45 1c             	mov    0x1c(%ebp),%eax
4957d5:	85 c0                	test   %eax,%eax
4957d7:	7e 0b                	jle    0x4957e4
4957d9:	50                   	push   %eax
4957da:	ff 75 18             	push   0x18(%ebp)
4957dd:	e8 39 d3 fe ff       	call   0x482b1b
4957e2:	59                   	pop    %ecx
4957e3:	59                   	pop    %ecx
4957e4:	85 f6                	test   %esi,%esi
4957e6:	74 1e                	je     0x495806
4957e8:	85 c0                	test   %eax,%eax
4957ea:	74 1a                	je     0x495806
4957ec:	33 c9                	xor    %ecx,%ecx
4957ee:	51                   	push   %ecx
4957ef:	51                   	push   %ecx
4957f0:	51                   	push   %ecx
4957f1:	50                   	push   %eax
4957f2:	ff 75 18             	push   0x18(%ebp)
4957f5:	56                   	push   %esi
4957f6:	ff 75 10             	push   0x10(%ebp)
4957f9:	ff 75 0c             	push   0xc(%ebp)
4957fc:	ff 75 08             	push   0x8(%ebp)
4957ff:	e8 25 2f ff ff       	call   0x488729
495804:	eb 14                	jmp    0x49581a
495806:	2b f0                	sub    %eax,%esi
495808:	75 05                	jne    0x49580f
49580a:	6a 02                	push   $0x2
49580c:	5e                   	pop    %esi
49580d:	eb 09                	jmp    0x495818
49580f:	c1 fe 1f             	sar    $0x1f,%esi
495812:	83 e6 fe             	and    $0xfffffffe,%esi
495815:	83 c6 03             	add    $0x3,%esi
495818:	8b c6                	mov    %esi,%eax
49581a:	5e                   	pop    %esi
49581b:	5d                   	pop    %ebp
49581c:	c3                   	ret
49581d:	cc                   	int3
49581e:	cc                   	int3
49581f:	cc                   	int3
495820:	56                   	push   %esi
495821:	8b 35 44 8c 4c 00    	mov    0x4c8c44,%esi
495827:	8b ce                	mov    %esi,%ecx
495829:	ff 15 d4 e2 49 00    	call   *0x49e2d4
49582f:	ff d6                	call   *%esi
495831:	33 c0                	xor    %eax,%eax
495833:	40                   	inc    %eax
495834:	5e                   	pop    %esi
495835:	c3                   	ret
495836:	55                   	push   %ebp
495837:	8b ec                	mov    %esp,%ebp
495839:	51                   	push   %ecx
49583a:	56                   	push   %esi
49583b:	6a 01                	push   $0x1
49583d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
495840:	e8 82 2f fd ff       	call   0x4687c7
495845:	8b 35 44 8c 4c 00    	mov    0x4c8c44,%esi
49584b:	8b 4d 08             	mov    0x8(%ebp),%ecx
49584e:	89 0d 44 8c 4c 00    	mov    %ecx,0x4c8c44
495854:	f7 d9                	neg    %ecx
495856:	1b c9                	sbb    %ecx,%ecx
495858:	81 e1 20 58 49 00    	and    $0x495820,%ecx
49585e:	51                   	push   %ecx
49585f:	e8 7b f9 fe ff       	call   0x4851df
495864:	59                   	pop    %ecx
495865:	8d 4d fc             	lea    -0x4(%ebp),%ecx
495868:	e8 b2 2f fd ff       	call   0x46881f
49586d:	8b c6                	mov    %esi,%eax
49586f:	5e                   	pop    %esi
495870:	c9                   	leave
495871:	c3                   	ret
495872:	cc                   	int3
495873:	cc                   	int3
495874:	cc                   	int3
495875:	cc                   	int3
495876:	cc                   	int3
495877:	cc                   	int3
495878:	cc                   	int3
495879:	cc                   	int3
49587a:	cc                   	int3
49587b:	cc                   	int3
49587c:	cc                   	int3
49587d:	cc                   	int3
49587e:	cc                   	int3
49587f:	cc                   	int3
495880:	55                   	push   %ebp
495881:	8b ec                	mov    %esp,%ebp
495883:	8b 45 08             	mov    0x8(%ebp),%eax
495886:	33 d2                	xor    %edx,%edx
495888:	53                   	push   %ebx
495889:	56                   	push   %esi
49588a:	57                   	push   %edi
49588b:	8b 48 3c             	mov    0x3c(%eax),%ecx
49588e:	03 c8                	add    %eax,%ecx
495890:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
495894:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
495898:	83 c0 18             	add    $0x18,%eax
49589b:	03 c1                	add    %ecx,%eax
49589d:	85 db                	test   %ebx,%ebx
49589f:	74 1b                	je     0x4958bc
4958a1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4958a4:	8b 70 0c             	mov    0xc(%eax),%esi
4958a7:	3b fe                	cmp    %esi,%edi
4958a9:	72 09                	jb     0x4958b4
4958ab:	8b 48 08             	mov    0x8(%eax),%ecx
4958ae:	03 ce                	add    %esi,%ecx
4958b0:	3b f9                	cmp    %ecx,%edi
4958b2:	72 0a                	jb     0x4958be
4958b4:	42                   	inc    %edx
4958b5:	83 c0 28             	add    $0x28,%eax
4958b8:	3b d3                	cmp    %ebx,%edx
4958ba:	72 e8                	jb     0x4958a4
4958bc:	33 c0                	xor    %eax,%eax
4958be:	5f                   	pop    %edi
4958bf:	5e                   	pop    %esi
4958c0:	5b                   	pop    %ebx
4958c1:	5d                   	pop    %ebp
4958c2:	c3                   	ret
4958c3:	cc                   	int3
4958c4:	cc                   	int3
4958c5:	cc                   	int3
4958c6:	cc                   	int3
4958c7:	cc                   	int3
4958c8:	cc                   	int3
4958c9:	cc                   	int3
4958ca:	cc                   	int3
4958cb:	cc                   	int3
4958cc:	cc                   	int3
4958cd:	cc                   	int3
4958ce:	cc                   	int3
4958cf:	cc                   	int3
4958d0:	55                   	push   %ebp
4958d1:	8b ec                	mov    %esp,%ebp
4958d3:	6a fe                	push   $0xfffffffe
4958d5:	68 10 1c 4c 00       	push   $0x4c1c10
4958da:	68 10 b0 46 00       	push   $0x46b010
4958df:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4958e5:	50                   	push   %eax
4958e6:	83 ec 08             	sub    $0x8,%esp
4958e9:	53                   	push   %ebx
4958ea:	56                   	push   %esi
4958eb:	57                   	push   %edi
4958ec:	a1 14 40 4c 00       	mov    0x4c4014,%eax