488610:	56                   	push   %esi
488611:	8b f2                	mov    %edx,%esi
488613:	85 c0                	test   %eax,%eax
488615:	7d 0b                	jge    0x488622
488617:	25 ff 00 00 00       	and    $0xff,%eax
48861c:	50                   	push   %eax
48861d:	e8 e6 f4 f7 ff       	call   0x407b08
488622:	8b d0                	mov    %eax,%edx
488624:	81 e2 ff 00 00 00    	and    $0xff,%edx
48862a:	03 d6                	add    %esi,%edx
48862c:	8b c8                	mov    %eax,%ecx
48862e:	c1 e9 08             	shr    $0x8,%ecx
488631:	81 e1 ff 00 00 00    	and    $0xff,%ecx
488637:	03 ce                	add    %esi,%ecx
488639:	c1 e8 10             	shr    $0x10,%eax
48863c:	25 ff 00 00 00       	and    $0xff,%eax
488641:	03 f0                	add    %eax,%esi
488643:	8b c6                	mov    %esi,%eax
488645:	85 d2                	test   %edx,%edx
488647:	7d 04                	jge    0x48864d
488649:	33 d2                	xor    %edx,%edx
48864b:	eb 0d                	jmp    0x48865a
48864d:	81 fa ff 00 00 00    	cmp    $0xff,%edx
488653:	7e 05                	jle    0x48865a
488655:	ba ff 00 00 00       	mov    $0xff,%edx
48865a:	85 c9                	test   %ecx,%ecx
48865c:	7d 04                	jge    0x488662
48865e:	33 c9                	xor    %ecx,%ecx
488660:	eb 0d                	jmp    0x48866f
488662:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
488668:	7e 05                	jle    0x48866f
48866a:	b9 ff 00 00 00       	mov    $0xff,%ecx
48866f:	85 c0                	test   %eax,%eax
488671:	7d 04                	jge    0x488677
488673:	33 c0                	xor    %eax,%eax
488675:	eb 0c                	jmp    0x488683
488677:	3d ff 00 00 00       	cmp    $0xff,%eax
48867c:	7e 05                	jle    0x488683
48867e:	b8 ff 00 00 00       	mov    $0xff,%eax
488683:	c1 e1 08             	shl    $0x8,%ecx
488686:	0b d1                	or     %ecx,%edx
488688:	c1 e0 10             	shl    $0x10,%eax
48868b:	0b d0                	or     %eax,%edx
48868d:	8b c2                	mov    %edx,%eax
48868f:	5e                   	pop    %esi
488690:	c3                   	ret
488691:	8d 40 00             	lea    0x0(%eax),%eax
488694:	53                   	push   %ebx
488695:	e8 fe fe ff ff       	call   0x488598
48869a:	8b d8                	mov    %eax,%ebx
48869c:	53                   	push   %ebx
48869d:	a1 7c 8d 6a 00       	mov    0x6a8d7c,%eax
4886a2:	e8 f1 50 fa ff       	call   0x42d798
4886a7:	e8 14 06 fa ff       	call   0x428cc0
4886ac:	50                   	push   %eax
4886ad:	e8 36 ef f7 ff       	call   0x4075e8
4886b2:	8b d8                	mov    %eax,%ebx
4886b4:	8b c3                	mov    %ebx,%eax
4886b6:	5b                   	pop    %ebx
4886b7:	c3                   	ret
4886b8:	85 c0                	test   %eax,%eax
4886ba:	7d 0b                	jge    0x4886c7
4886bc:	25 ff 00 00 00       	and    $0xff,%eax
4886c1:	50                   	push   %eax
4886c2:	e8 41 f4 f7 ff       	call   0x407b08
4886c7:	8b d0                	mov    %eax,%edx
4886c9:	c1 ea 10             	shr    $0x10,%edx
4886cc:	81 e2 ff 00 00 00    	and    $0xff,%edx
4886d2:	6b d2 1e             	imul   $0x1e,%edx,%edx
4886d5:	8b c8                	mov    %eax,%ecx
4886d7:	c1 e9 08             	shr    $0x8,%ecx
4886da:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4886e0:	69 c9 96 00 00 00    	imul   $0x96,%ecx,%ecx
4886e6:	03 d1                	add    %ecx,%edx
4886e8:	25 ff 00 00 00       	and    $0xff,%eax
4886ed:	6b c0 4c             	imul   $0x4c,%eax,%eax
4886f0:	03 d0                	add    %eax,%edx
4886f2:	c1 ea 08             	shr    $0x8,%edx
4886f5:	8b c2                	mov    %edx,%eax
4886f7:	c3                   	ret
4886f8:	53                   	push   %ebx
4886f9:	8b da                	mov    %edx,%ebx
4886fb:	85 c0                	test   %eax,%eax
4886fd:	7d 0b                	jge    0x48870a
4886ff:	25 ff 00 00 00       	and    $0xff,%eax
488704:	50                   	push   %eax
488705:	e8 fe f3 f7 ff       	call   0x407b08
48870a:	c1 e3 08             	shl    $0x8,%ebx
48870d:	8b d0                	mov    %eax,%edx
48870f:	81 e2 ff 00 00 00    	and    $0xff,%edx
488715:	6b d2 4c             	imul   $0x4c,%edx,%edx
488718:	8b c8                	mov    %eax,%ecx
48871a:	c1 e9 08             	shr    $0x8,%ecx
48871d:	81 e1 ff 00 00 00    	and    $0xff,%ecx
488723:	69 c9 96 00 00 00    	imul   $0x96,%ecx,%ecx
488729:	03 d1                	add    %ecx,%edx
48872b:	c1 e8 10             	shr    $0x10,%eax
48872e:	25 ff 00 00 00       	and    $0xff,%eax
488733:	6b c0 1e             	imul   $0x1e,%eax,%eax
488736:	03 d0                	add    %eax,%edx
488738:	3b da                	cmp    %edx,%ebx
48873a:	0f 9f c0             	setg   %al
48873d:	5b                   	pop    %ebx
48873e:	c3                   	ret
48873f:	90                   	nop
488740:	53                   	push   %ebx
488741:	56                   	push   %esi
488742:	57                   	push   %edi
488743:	55                   	push   %ebp
488744:	83 c4 f0             	add    $0xfffffff0,%esp
488747:	89 0c 24             	mov    %ecx,(%esp)
48874a:	8b ea                	mov    %edx,%ebp
48874c:	8b f8                	mov    %eax,%edi
48874e:	85 ff                	test   %edi,%edi
488750:	7d 0e                	jge    0x488760
488752:	81 e7 ff 00 00 00    	and    $0xff,%edi
488758:	57                   	push   %edi
488759:	e8 aa f3 f7 ff       	call   0x407b08
48875e:	8b f8                	mov    %eax,%edi
488760:	85 ed                	test   %ebp,%ebp
488762:	7d 0e                	jge    0x488772
488764:	81 e5 ff 00 00 00    	and    $0xff,%ebp
48876a:	55                   	push   %ebp
48876b:	e8 98 f3 f7 ff       	call   0x407b08
488770:	8b e8                	mov    %eax,%ebp
488772:	83 3c 24 64          	cmpl   $0x64,(%esp)
488776:	7c 07                	jl     0x48877f
488778:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
48877d:	eb 05                	jmp    0x488784
48877f:	b9 64 00 00 00       	mov    $0x64,%ecx
488784:	8b c1                	mov    %ecx,%eax
488786:	2b 04 24             	sub    (%esp),%eax
488789:	89 44 24 08          	mov    %eax,0x8(%esp)
48878d:	8b c1                	mov    %ecx,%eax
48878f:	d1 f8                	sar    $1,%eax
488791:	79 03                	jns    0x488796
488793:	83 d0 00             	adc    $0x0,%eax
488796:	89 44 24 0c          	mov    %eax,0xc(%esp)
48879a:	8b f5                	mov    %ebp,%esi
48879c:	c1 ee 10             	shr    $0x10,%esi
48879f:	0f af 74 24 08       	imul   0x8(%esp),%esi
4887a4:	8b df                	mov    %edi,%ebx
4887a6:	c1 eb 10             	shr    $0x10,%ebx
4887a9:	0f af 1c 24          	imul   (%esp),%ebx
4887ad:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4887b0:	03 44 24 0c          	add    0xc(%esp),%eax
4887b4:	99                   	cltd
4887b5:	f7 f9                	idiv   %ecx
4887b7:	25 ff 00 00 00       	and    $0xff,%eax
4887bc:	c1 e0 10             	shl    $0x10,%eax
4887bf:	89 44 24 04          	mov    %eax,0x4(%esp)
4887c3:	8b f5                	mov    %ebp,%esi
4887c5:	c1 ee 08             	shr    $0x8,%esi
4887c8:	81 e6 ff 00 00 00    	and    $0xff,%esi
4887ce:	0f af 74 24 08       	imul   0x8(%esp),%esi
4887d3:	8b df                	mov    %edi,%ebx
4887d5:	c1 eb 08             	shr    $0x8,%ebx
4887d8:	81 e3 ff 00 00 00    	and    $0xff,%ebx
4887de:	0f af 1c 24          	imul   (%esp),%ebx
4887e2:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4887e5:	03 44 24 0c          	add    0xc(%esp),%eax
4887e9:	99                   	cltd
4887ea:	f7 f9                	idiv   %ecx
4887ec:	25 ff 00 00 00       	and    $0xff,%eax
4887f1:	c1 e0 08             	shl    $0x8,%eax
4887f4:	09 44 24 04          	or     %eax,0x4(%esp)
4887f8:	8b f5                	mov    %ebp,%esi
4887fa:	81 e6 ff 00 00 00    	and    $0xff,%esi
488800:	0f af 74 24 08       	imul   0x8(%esp),%esi
488805:	8b df                	mov    %edi,%ebx
488807:	81 e3 ff 00 00 00    	and    $0xff,%ebx
48880d:	0f af 1c 24          	imul   (%esp),%ebx
488811:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
488814:	03 44 24 0c          	add    0xc(%esp),%eax
488818:	99                   	cltd
488819:	f7 f9                	idiv   %ecx
48881b:	25 ff 00 00 00       	and    $0xff,%eax
488820:	09 44 24 04          	or     %eax,0x4(%esp)
488824:	8b 44 24 04          	mov    0x4(%esp),%eax
488828:	83 c4 10             	add    $0x10,%esp
48882b:	5d                   	pop    %ebp
48882c:	5f                   	pop    %edi
48882d:	5e                   	pop    %esi
48882e:	5b                   	pop    %ebx
48882f:	c3                   	ret
488830:	53                   	push   %ebx
488831:	56                   	push   %esi
488832:	57                   	push   %edi
488833:	83 c4 f8             	add    $0xfffffff8,%esp
488836:	8b f2                	mov    %edx,%esi
488838:	8b d8                	mov    %eax,%ebx
48883a:	8b fb                	mov    %ebx,%edi
48883c:	81 e7 ff 00 00 00    	and    $0xff,%edi
488842:	8b c6                	mov    %esi,%eax
488844:	25 ff 00 00 00       	and    $0xff,%eax
488849:	2b f8                	sub    %eax,%edi
48884b:	89 7c 24 04          	mov    %edi,0x4(%esp)
48884f:	db 44 24 04          	fildl  0x4(%esp)
488853:	d8 0d 98 b0 68 00    	fmuls  0x68b098
488859:	d8 c8                	fmul   %st(0),%st
48885b:	d9 1c 24             	fstps  (%esp)
48885e:	9b                   	fwait
48885f:	8b fb                	mov    %ebx,%edi
488861:	c1 ef 08             	shr    $0x8,%edi
488864:	81 e7 ff 00 00 00    	and    $0xff,%edi
48886a:	8b c6                	mov    %esi,%eax
48886c:	c1 e8 08             	shr    $0x8,%eax
48886f:	25 ff 00 00 00       	and    $0xff,%eax
488874:	2b f8                	sub    %eax,%edi
488876:	89 7c 24 04          	mov    %edi,0x4(%esp)
48887a:	db 44 24 04          	fildl  0x4(%esp)
48887e:	d8 0d 9c b0 68 00    	fmuls  0x68b09c
488884:	d8 c8                	fmul   %st(0),%st
488886:	d8 04 24             	fadds  (%esp)
488889:	d9 1c 24             	fstps  (%esp)
48888c:	9b                   	fwait
48888d:	c1 eb 10             	shr    $0x10,%ebx
488890:	c1 ee 10             	shr    $0x10,%esi
488893:	2b de                	sub    %esi,%ebx
488895:	89 5c 24 04          	mov    %ebx,0x4(%esp)
488899:	db 44 24 04          	fildl  0x4(%esp)
48889d:	d8 0d a0 b0 68 00    	fmuls  0x68b0a0
4888a3:	d8 c8                	fmul   %st(0),%st
4888a5:	d8 04 24             	fadds  (%esp)
4888a8:	d9 1c 24             	fstps  (%esp)
4888ab:	9b d9 04 24          	flds   (%esp)
4888af:	d9 fa                	fsqrt
4888b1:	d9 1c 24             	fstps  (%esp)
4888b4:	9b d9 04 24          	flds   (%esp)
4888b8:	59                   	pop    %ecx
4888b9:	5a                   	pop    %edx
4888ba:	5f                   	pop    %edi
4888bb:	5e                   	pop    %esi
4888bc:	5b                   	pop    %ebx
4888bd:	c3                   	ret
4888be:	8b c0                	mov    %eax,%eax
4888c0:	55                   	push   %ebp
4888c1:	8b ec                	mov    %esp,%ebp
4888c3:	51                   	push   %ecx
4888c4:	d9 45 0c             	flds   0xc(%ebp)
4888c7:	d8 1d f8 88 48 00    	fcomps 0x4888f8
4888cd:	df e0                	fnstsw %ax
4888cf:	9e                   	sahf
4888d0:	73 18                	jae    0x4888ea
4888d2:	d9 45 0c             	flds   0xc(%ebp)
4888d5:	d8 35 f8 88 48 00    	fdivs  0x4888f8
4888db:	d8 2d fc 88 48 00    	fsubrs 0x4888fc
4888e1:	d8 4d 08             	fmuls  0x8(%ebp)
4888e4:	d9 5d fc             	fstps  -0x4(%ebp)
4888e7:	9b                   	fwait
4888e8:	eb 06                	jmp    0x4888f0
4888ea:	8b 45 08             	mov    0x8(%ebp),%eax
4888ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4888f0:	d9 45 fc             	flds   -0x4(%ebp)
4888f3:	59                   	pop    %ecx
4888f4:	5d                   	pop    %ebp
4888f5:	c2 08 00             	ret    $0x8
4888f8:	00 00                	add    %al,(%eax)
4888fa:	5c                   	pop    %esp
4888fb:	43                   	inc    %ebx
4888fc:	00 00                	add    %al,(%eax)
4888fe:	00 40 55             	add    %al,0x55(%eax)
488901:	8b ec                	mov    %esp,%ebp
488903:	53                   	push   %ebx
488904:	56                   	push   %esi
488905:	8b da                	mov    %edx,%ebx
488907:	8b f0                	mov    %eax,%esi
488909:	84 c9                	test   %cl,%cl
48890b:	74 1c                	je     0x488929
48890d:	33 d2                	xor    %edx,%edx
48890f:	8b c3                	mov    %ebx,%eax
488911:	e8 1a ff ff ff       	call   0x488830
488916:	83 c4 fc             	add    $0xfffffffc,%esp
488919:	d9 1c 24             	fstps  (%esp)
48891c:	9b                   	fwait
48891d:	ff 75 08             	push   0x8(%ebp)
488920:	e8 9b ff ff ff       	call   0x4888c0
488925:	d9 5d 08             	fstps  0x8(%ebp)
488928:	9b                   	fwait
488929:	8b d6                	mov    %esi,%edx
48892b:	8b c3                	mov    %ebx,%eax
48892d:	e8 fe fe ff ff       	call   0x488830
488932:	d8 5d 08             	fcomps 0x8(%ebp)
488935:	df e0                	fnstsw %ax
488937:	9e                   	sahf
488938:	0f 97 c0             	seta   %al
48893b:	5e                   	pop    %esi
48893c:	5b                   	pop    %ebx
48893d:	5d                   	pop    %ebp
48893e:	c2 04 00             	ret    $0x4
488941:	8d 40 00             	lea    0x0(%eax),%eax
488944:	55                   	push   %ebp
488945:	8b ec                	mov    %esp,%ebp
488947:	83 c4 a8             	add    $0xffffffa8,%esp
48894a:	53                   	push   %ebx
48894b:	56                   	push   %esi
48894c:	57                   	push   %edi
48894d:	8b f2                	mov    %edx,%esi
48894f:	8b d8                	mov    %eax,%ebx
488951:	8b 03                	mov    (%ebx),%eax
488953:	33 d2                	xor    %edx,%edx
488955:	e8 d6 fe ff ff       	call   0x488830
48895a:	d9 5d e4             	fstps  -0x1c(%ebp)
48895d:	9b                   	fwait
48895e:	33 d2                	xor    %edx,%edx
488960:	8b c6                	mov    %esi,%eax
488962:	e8 c9 fe ff ff       	call   0x488830
488967:	d9 5d e0             	fstps  -0x20(%ebp)
48896a:	9b                   	fwait
48896b:	ff 75 e0             	push   -0x20(%ebp)
48896e:	ff 75 08             	push   0x8(%ebp)
488971:	e8 4a ff ff ff       	call   0x4888c0
488976:	d9 5d 08             	fstps  0x8(%ebp)
488979:	9b d9 45 e4          	flds   -0x1c(%ebp)
48897d:	d8 5d e0             	fcomps -0x20(%ebp)
488980:	df e0                	fnstsw %ax
488982:	9e                   	sahf
488983:	76 15                	jbe    0x48899a
488985:	d9 05 d4 8c 48 00    	flds   0x488cd4
48898b:	d8 65 08             	fsubs  0x8(%ebp)
48898e:	d8 5d e0             	fcomps -0x20(%ebp)
488991:	df e0                	fnstsw %ax
488993:	9e                   	sahf
488994:	0f 97 45 d3          	seta   -0x2d(%ebp)
488998:	eb 0d                	jmp    0x4889a7
48899a:	d9 45 e0             	flds   -0x20(%ebp)
48899d:	d8 5d 08             	fcomps 0x8(%ebp)
4889a0:	df e0                	fnstsw %ax
4889a2:	9e                   	sahf
4889a3:	0f 92 45 d3          	setb   -0x2d(%ebp)
4889a7:	8b c6                	mov    %esi,%eax
4889a9:	25 ff 00 00 00       	and    $0xff,%eax
4889ae:	89 45 cc             	mov    %eax,-0x34(%ebp)
4889b1:	db 45 cc             	fildl  -0x34(%ebp)
4889b4:	d8 0d 98 b0 68 00    	fmuls  0x68b098
4889ba:	d9 5d fc             	fstps  -0x4(%ebp)
4889bd:	9b                   	fwait
4889be:	8b c6                	mov    %esi,%eax
4889c0:	c1 e8 08             	shr    $0x8,%eax
4889c3:	25 ff 00 00 00       	and    $0xff,%eax
4889c8:	89 45 cc             	mov    %eax,-0x34(%ebp)
4889cb:	db 45 cc             	fildl  -0x34(%ebp)
4889ce:	d8 0d 9c b0 68 00    	fmuls  0x68b09c
4889d4:	d9 5d f8             	fstps  -0x8(%ebp)
4889d7:	9b                   	fwait
4889d8:	c1 ee 10             	shr    $0x10,%esi
4889db:	89 75 cc             	mov    %esi,-0x34(%ebp)
4889de:	db 45 cc             	fildl  -0x34(%ebp)
4889e1:	d8 0d a0 b0 68 00    	fmuls  0x68b0a0
4889e7:	d9 5d f4             	fstps  -0xc(%ebp)