5875fe:	8d 44 24 4c          	lea    0x4c(%esp),%eax
587602:	8b 4b 10             	mov    0x10(%ebx),%ecx
587605:	8b 53 20             	mov    0x20(%ebx),%edx
587608:	e8 f3 f1 ff ff       	call   0x586800
58760d:	dd 04 24             	fldl   (%esp)
587610:	dc 9c 24 90 00 00 00 	fcompl 0x90(%esp)
587617:	df e0                	fnstsw %ax
587619:	9e                   	sahf
58761a:	75 22                	jne    0x58763e
58761c:	dd 44 24 08          	fldl   0x8(%esp)
587620:	dc 9c 24 98 00 00 00 	fcompl 0x98(%esp)
587627:	df e0                	fnstsw %ax
587629:	9e                   	sahf
58762a:	75 12                	jne    0x58763e
58762c:	dd 44 24 10          	fldl   0x10(%esp)
587630:	dc 9c 24 a0 00 00 00 	fcompl 0xa0(%esp)
587637:	df e0                	fnstsw %ax
587639:	9e                   	sahf
58763a:	75 02                	jne    0x58763e
58763c:	33 f6                	xor    %esi,%esi
58763e:	8d 44 24 18          	lea    0x18(%esp),%eax
587642:	50                   	push   %eax
587643:	8d 44 24 34          	lea    0x34(%esp),%eax
587647:	50                   	push   %eax
587648:	8d 84 24 e0 00 00 00 	lea    0xe0(%esp),%eax
58764f:	50                   	push   %eax
587650:	8b 83 d0 00 00 00    	mov    0xd0(%ebx),%eax
587656:	50                   	push   %eax
587657:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
58765e:	50                   	push   %eax
58765f:	8d 84 24 bc 00 00 00 	lea    0xbc(%esp),%eax
587666:	50                   	push   %eax
587667:	8d 84 24 d8 00 00 00 	lea    0xd8(%esp),%eax
58766e:	50                   	push   %eax
58766f:	8d 84 24 84 01 00 00 	lea    0x184(%esp),%eax
587676:	50                   	push   %eax
587677:	56                   	push   %esi
587678:	8d 83 9c 00 00 00    	lea    0x9c(%ebx),%eax
58767e:	50                   	push   %eax
58767f:	8d 43 30             	lea    0x30(%ebx),%eax
587682:	50                   	push   %eax
587683:	8d 43 78             	lea    0x78(%ebx),%eax
587686:	50                   	push   %eax
587687:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
58768b:	0f 94 c0             	sete   %al
58768e:	83 e0 7f             	and    $0x7f,%eax
587691:	8d 4c 24 30          	lea    0x30(%esp),%ecx
587695:	8b 93 cc 00 00 00    	mov    0xcc(%ebx),%edx
58769b:	e8 60 fc ff ff       	call   0x587300
5876a0:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
5876a7:	50                   	push   %eax
5876a8:	8d 84 24 c4 00 00 00 	lea    0xc4(%esp),%eax
5876af:	50                   	push   %eax
5876b0:	8d 84 24 70 01 00 00 	lea    0x170(%esp),%eax
5876b7:	50                   	push   %eax
5876b8:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
5876be:	50                   	push   %eax
5876bf:	8d 44 24 58          	lea    0x58(%esp),%eax
5876c3:	50                   	push   %eax
5876c4:	8d 44 24 74          	lea    0x74(%esp),%eax
5876c8:	50                   	push   %eax
5876c9:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
5876d0:	50                   	push   %eax
5876d1:	8d 84 24 3c 01 00 00 	lea    0x13c(%esp),%eax
5876d8:	50                   	push   %eax
5876d9:	6a 00                	push   $0x0
5876db:	8d 83 a0 00 00 00    	lea    0xa0(%ebx),%eax
5876e1:	50                   	push   %eax
5876e2:	8d 43 54             	lea    0x54(%ebx),%eax
5876e5:	50                   	push   %eax
5876e6:	8d 83 84 00 00 00    	lea    0x84(%ebx),%eax
5876ec:	50                   	push   %eax
5876ed:	83 7b 14 03          	cmpl   $0x3,0x14(%ebx)
5876f1:	0f 94 c0             	sete   %al
5876f4:	83 e0 7f             	and    $0x7f,%eax
5876f7:	8d 8c 24 c0 00 00 00 	lea    0xc0(%esp),%ecx
5876fe:	8b 93 d0 00 00 00    	mov    0xd0(%ebx),%edx
587704:	e8 f7 fb ff ff       	call   0x587300
587709:	81 c4 b0 01 00 00    	add    $0x1b0,%esp
58770f:	5e                   	pop    %esi
587710:	5b                   	pop    %ebx
587711:	c3                   	ret
587712:	8b c0                	mov    %eax,%eax
587714:	3d 52 4c 43 45       	cmp    $0x45434c52,%eax
587719:	0f 8f ba 00 00 00    	jg     0x5877d9
58771f:	0f 84 7a 01 00 00    	je     0x58789f
587725:	3d 52 4c 43 39       	cmp    $0x39434c52,%eax
58772a:	7f 5f                	jg     0x58778b
58772c:	0f 84 4f 01 00 00    	je     0x587881
587732:	3d 52 4c 43 35       	cmp    $0x35434c52,%eax
587737:	7f 2c                	jg     0x587765
587739:	0f 84 2a 01 00 00    	je     0x587869
58773f:	2d 52 4c 43 32       	sub    $0x32434c52,%eax
587744:	0f 84 0d 01 00 00    	je     0x587857
58774a:	2d 00 00 00 01       	sub    $0x1000000,%eax
58774f:	0f 84 08 01 00 00    	je     0x58785d
587755:	2d 00 00 00 01       	sub    $0x1000000,%eax
58775a:	0f 84 03 01 00 00    	je     0x587863
587760:	e9 46 01 00 00       	jmp    0x5878ab
587765:	2d 52 4c 43 36       	sub    $0x36434c52,%eax
58776a:	0f 84 ff 00 00 00    	je     0x58786f
587770:	2d 00 00 00 01       	sub    $0x1000000,%eax
587775:	0f 84 fa 00 00 00    	je     0x587875
58777b:	2d 00 00 00 01       	sub    $0x1000000,%eax
587780:	0f 84 f5 00 00 00    	je     0x58787b
587786:	e9 20 01 00 00       	jmp    0x5878ab
58778b:	3d 20 59 4d 43       	cmp    $0x434d5920,%eax
587790:	7f 2c                	jg     0x5877be
587792:	0f 84 c5 00 00 00    	je     0x58785d
587798:	2d 52 4c 43 41       	sub    $0x41434c52,%eax
58779d:	0f 84 e4 00 00 00    	je     0x587887
5877a3:	2d 00 00 00 01       	sub    $0x1000000,%eax
5877a8:	0f 84 df 00 00 00    	je     0x58788d
5877ae:	2d 00 00 00 01       	sub    $0x1000000,%eax
5877b3:	0f 84 da 00 00 00    	je     0x587893
5877b9:	e9 ed 00 00 00       	jmp    0x5878ab
5877be:	2d 4b 59 4d 43       	sub    $0x434d594b,%eax
5877c3:	0f 84 9a 00 00 00    	je     0x587863
5877c9:	2d 07 f3 f5 00       	sub    $0xf5f307,%eax
5877ce:	0f 84 c5 00 00 00    	je     0x587899
5877d4:	e9 d2 00 00 00       	jmp    0x5878ab
5877d9:	3d 36 48 43 4d       	cmp    $0x4d434836,%eax
5877de:	7f 45                	jg     0x587825
5877e0:	0f 84 89 00 00 00    	je     0x58786f
5877e6:	3d 20 56 53 48       	cmp    $0x48535620,%eax
5877eb:	7f 20                	jg     0x58780d
5877ed:	74 6e                	je     0x58785d
5877ef:	2d 52 4c 43 46       	sub    $0x46434c52,%eax
5877f4:	0f 84 ab 00 00 00    	je     0x5878a5
5877fa:	2d 07 f5 0e 01       	sub    $0x10ef507,%eax
5877ff:	74 50                	je     0x587851
587801:	2d c7 11 fa 00       	sub    $0xfa11c7,%eax
587806:	74 55                	je     0x58785d
587808:	e9 9e 00 00 00       	jmp    0x5878ab
58780d:	2d 20 62 61 4c       	sub    $0x4c616220,%eax
587812:	74 49                	je     0x58785d
587814:	2d 00 14 14 00       	sub    $0x141400,%eax
587819:	74 42                	je     0x58785d
58781b:	83 e8 2b             	sub    $0x2b,%eax
58781e:	74 43                	je     0x587863
587820:	e9 86 00 00 00       	jmp    0x5878ab
587825:	3d 20 5a 59 58       	cmp    $0x58595a20,%eax
58782a:	7f 15                	jg     0x587841
58782c:	74 2f                	je     0x58785d
58782e:	2d 37 48 43 4d       	sub    $0x4d434837,%eax
587833:	74 40                	je     0x587875
587835:	48                   	dec    %eax
587836:	74 43                	je     0x58787b
587838:	2d e8 f9 03 05       	sub    $0x503f9e8,%eax
58783d:	74 1e                	je     0x58785d
58783f:	eb 6a                	jmp    0x5878ab
587841:	2d 72 62 43 59       	sub    $0x59436272,%eax
587846:	74 15                	je     0x58785d
587848:	2d ae 16 35 00       	sub    $0x3516ae,%eax
58784d:	74 0e                	je     0x58785d
58784f:	eb 5a                	jmp    0x5878ab
587851:	b8 01 00 00 00       	mov    $0x1,%eax
587856:	c3                   	ret
587857:	b8 02 00 00 00       	mov    $0x2,%eax
58785c:	c3                   	ret
58785d:	b8 03 00 00 00       	mov    $0x3,%eax
587862:	c3                   	ret
587863:	b8 04 00 00 00       	mov    $0x4,%eax
587868:	c3                   	ret
587869:	b8 05 00 00 00       	mov    $0x5,%eax
58786e:	c3                   	ret
58786f:	b8 06 00 00 00       	mov    $0x6,%eax
587874:	c3                   	ret
587875:	b8 07 00 00 00       	mov    $0x7,%eax
58787a:	c3                   	ret
58787b:	b8 08 00 00 00       	mov    $0x8,%eax
587880:	c3                   	ret
587881:	b8 09 00 00 00       	mov    $0x9,%eax
587886:	c3                   	ret
587887:	b8 0a 00 00 00       	mov    $0xa,%eax
58788c:	c3                   	ret
58788d:	b8 0b 00 00 00       	mov    $0xb,%eax
587892:	c3                   	ret
587893:	b8 0c 00 00 00       	mov    $0xc,%eax
587898:	c3                   	ret
587899:	b8 0d 00 00 00       	mov    $0xd,%eax
58789e:	c3                   	ret
58789f:	b8 0e 00 00 00       	mov    $0xe,%eax
5878a4:	c3                   	ret
5878a5:	b8 0f 00 00 00       	mov    $0xf,%eax
5878aa:	c3                   	ret
5878ab:	b8 03 00 00 00       	mov    $0x3,%eax
5878b0:	c3                   	ret
5878b1:	8d 40 00             	lea    0x0(%eax),%eax
5878b4:	53                   	push   %ebx
5878b5:	8b da                	mov    %edx,%ebx
5878b7:	e8 58 fe ff ff       	call   0x587714
5878bc:	f6 c7 04             	test   $0x4,%bh
5878bf:	74 1f                	je     0x5878e0
5878c1:	83 f8 04             	cmp    $0x4,%eax
5878c4:	7e 07                	jle    0x5878cd
5878c6:	b8 07 00 00 00       	mov    $0x7,%eax
5878cb:	5b                   	pop    %ebx
5878cc:	c3                   	ret
5878cd:	83 f8 04             	cmp    $0x4,%eax
5878d0:	75 07                	jne    0x5878d9
5878d2:	b8 17 00 00 00       	mov    $0x17,%eax
5878d7:	5b                   	pop    %ebx
5878d8:	c3                   	ret
5878d9:	b8 30 00 00 00       	mov    $0x30,%eax
5878de:	5b                   	pop    %ebx
5878df:	c3                   	ret
5878e0:	f6 c7 08             	test   $0x8,%bh
5878e3:	74 1d                	je     0x587902
5878e5:	83 f8 04             	cmp    $0x4,%eax
5878e8:	7e 07                	jle    0x5878f1
5878ea:	b8 06 00 00 00       	mov    $0x6,%eax
5878ef:	5b                   	pop    %ebx
5878f0:	c3                   	ret
5878f1:	48                   	dec    %eax
5878f2:	75 07                	jne    0x5878fb
5878f4:	b8 21 00 00 00       	mov    $0x21,%eax
5878f9:	5b                   	pop    %ebx
5878fa:	c3                   	ret
5878fb:	b8 11 00 00 00       	mov    $0x11,%eax
587900:	5b                   	pop    %ebx
587901:	c3                   	ret
587902:	83 f8 04             	cmp    $0x4,%eax
587905:	7e 07                	jle    0x58790e
587907:	b8 07 00 00 00       	mov    $0x7,%eax
58790c:	5b                   	pop    %ebx
58790d:	c3                   	ret
58790e:	83 f8 04             	cmp    $0x4,%eax
587911:	75 07                	jne    0x58791a
587913:	b8 11 00 00 00       	mov    $0x11,%eax
587918:	5b                   	pop    %ebx
587919:	c3                   	ret
58791a:	b8 21 00 00 00       	mov    $0x21,%eax
58791f:	5b                   	pop    %ebx
587920:	c3                   	ret
587921:	8d 40 00             	lea    0x0(%eax),%eax
587924:	53                   	push   %ebx
587925:	56                   	push   %esi
587926:	57                   	push   %edi
587927:	55                   	push   %ebp
587928:	51                   	push   %ecx
587929:	8b fa                	mov    %edx,%edi
58792b:	8b e8                	mov    %eax,%ebp
58792d:	8b f7                	mov    %edi,%esi
58792f:	4e                   	dec    %esi
587930:	83 ee 05             	sub    $0x5,%esi
587933:	7c 3a                	jl     0x58796f
587935:	46                   	inc    %esi
587936:	bb 05 00 00 00       	mov    $0x5,%ebx
58793b:	89 1c 24             	mov    %ebx,(%esp)
58793e:	db 04 24             	fildl  (%esp)
587941:	83 c4 f8             	add    $0xfffffff8,%esp
587944:	dd 1c 24             	fstpl  (%esp)
587947:	9b                   	fwait
587948:	8b c7                	mov    %edi,%eax
58794a:	e8 41 7e ff ff       	call   0x57f790
58794f:	0f b7 c0             	movzwl %ax,%eax
587952:	50                   	push   %eax
587953:	0f b7 44 5d 00       	movzwl 0x0(%ebp,%ebx,2),%eax
587958:	5a                   	pop    %edx
587959:	2b c2                	sub    %edx,%eax
58795b:	99                   	cltd
58795c:	33 c2                	xor    %edx,%eax
58795e:	2b c2                	sub    %edx,%eax
587960:	3d 00 03 00 00       	cmp    $0x300,%eax
587965:	7e 04                	jle    0x58796b
587967:	33 c0                	xor    %eax,%eax
587969:	eb 09                	jmp    0x587974
58796b:	43                   	inc    %ebx
58796c:	4e                   	dec    %esi
58796d:	75 cc                	jne    0x58793b
58796f:	b8 01 00 00 00       	mov    $0x1,%eax
587974:	5a                   	pop    %edx
587975:	5d                   	pop    %ebp
587976:	5f                   	pop    %edi
587977:	5e                   	pop    %esi
587978:	5b                   	pop    %ebx
587979:	c3                   	ret
58797a:	8b c0                	mov    %eax,%eax
58797c:	56                   	push   %esi
58797d:	8b 10                	mov    (%eax),%edx
58797f:	0f b7 4c 50 02       	movzwl 0x2(%eax,%edx,2),%ecx
587984:	83 ea 02             	sub    $0x2,%edx
587987:	83 fa 00             	cmp    $0x0,%edx
58798a:	7c 15                	jl     0x5879a1
58798c:	0f b7 74 50 04       	movzwl 0x4(%eax,%edx,2),%esi
587991:	3b ce                	cmp    %esi,%ecx
587993:	7d 04                	jge    0x587999
587995:	33 c0                	xor    %eax,%eax
587997:	5e                   	pop    %esi
587998:	c3                   	ret
587999:	8b ce                	mov    %esi,%ecx
58799b:	4a                   	dec    %edx
58799c:	83 fa ff             	cmp    $0xffffffff,%edx
58799f:	75 eb                	jne    0x58798c
5879a1:	83 c8 ff             	or     $0xffffffff,%eax
5879a4:	5e                   	pop    %esi
5879a5:	c3                   	ret
5879a6:	8b c0                	mov    %eax,%eax
5879a8:	53                   	push   %ebx
5879a9:	56                   	push   %esi
5879aa:	57                   	push   %edi
5879ab:	83 c4 ec             	add    $0xffffffec,%esp
5879ae:	8b f8                	mov    %eax,%edi
5879b0:	89 54 24 10          	mov    %edx,0x10(%esp)
5879b4:	db 44 24 10          	fildl  0x10(%esp)
5879b8:	db 2d 2c 7a 58 00    	fldt   0x587a2c
5879be:	de c9                	fmulp  %st,%st(1)
5879c0:	d8 05 38 7a 58 00    	fadds  0x587a38
5879c6:	83 c4 f4             	add    $0xfffffff4,%esp
5879c9:	db 3c 24             	fstpt  (%esp)
5879cc:	9b                   	fwait
5879cd:	e8 2e ad 06 00       	call   0x5f2700
5879d2:	0f b7 14 47          	movzwl (%edi,%eax,2),%edx
5879d6:	89 54 24 10          	mov    %edx,0x10(%esp)
5879da:	db 44 24 10          	fildl  0x10(%esp)
5879de:	dd 1c 24             	fstpl  (%esp)
5879e1:	9b                   	fwait
5879e2:	89 44 24 10          	mov    %eax,0x10(%esp)
5879e6:	db 44 24 10          	fildl  0x10(%esp)
5879ea:	dc 3c 24             	fdivrl (%esp)
5879ed:	dd 5c 24 08          	fstpl  0x8(%esp)
5879f1:	9b                   	fwait
5879f2:	8b f0                	mov    %eax,%esi
5879f4:	4e                   	dec    %esi
5879f5:	85 f6                	test   %esi,%esi
5879f7:	7c 29                	jl     0x587a22
5879f9:	46                   	inc    %esi
5879fa:	33 db                	xor    %ebx,%ebx
5879fc:	89 5c 24 10          	mov    %ebx,0x10(%esp)
587a00:	db 44 24 10          	fildl  0x10(%esp)
587a04:	dc 4c 24 08          	fmull  0x8(%esp)
587a08:	d8 05 38 7a 58 00    	fadds  0x587a38
587a0e:	83 c4 f4             	add    $0xfffffff4,%esp
587a11:	db 3c 24             	fstpt  (%esp)
587a14:	9b                   	fwait
587a15:	e8 e6 ac 06 00       	call   0x5f2700
587a1a:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
587a1e:	43                   	inc    %ebx
587a1f:	4e                   	dec    %esi
587a20:	75 da                	jne    0x5879fc
587a22:	83 c4 14             	add    $0x14,%esp
587a25:	5f                   	pop    %edi
587a26:	5e                   	pop    %esi
587a27:	5b                   	pop    %ebx
587a28:	c3                   	ret
587a29:	00 00                	add    %al,(%eax)
587a2b:	00 0a                	add    %cl,(%edx)
587a2d:	d7                   	xlat   %ds:(%ebx)
587a2e:	a3 70 3d 0a d7       	mov    %eax,0xd70a3d70