58e5c8:	9e                   	sahf
58e5c9:	0f 85 b7 01 00 00    	jne    0x58e786
58e5cf:	bf 04 00 00 00       	mov    $0x4,%edi
58e5d4:	8d 44 24 38          	lea    0x38(%esp),%eax
58e5d8:	8d 54 24 48          	lea    0x48(%esp),%edx
58e5dc:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e5e0:	8d 5c 24 68          	lea    0x68(%esp),%ebx
58e5e4:	89 5c 24 24          	mov    %ebx,0x24(%esp)
58e5e8:	c7 00 ff ff ff 7f    	movl   $0x7fffffff,(%eax)
58e5ee:	33 db                	xor    %ebx,%ebx
58e5f0:	89 1a                	mov    %ebx,(%edx)
58e5f2:	33 db                	xor    %ebx,%ebx
58e5f4:	89 19                	mov    %ebx,(%ecx)
58e5f6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58e5fa:	33 ed                	xor    %ebp,%ebp
58e5fc:	89 2b                	mov    %ebp,(%ebx)
58e5fe:	89 6b 04             	mov    %ebp,0x4(%ebx)
58e601:	83 44 24 24 08       	addl   $0x8,0x24(%esp)
58e606:	83 c1 04             	add    $0x4,%ecx
58e609:	83 c2 04             	add    $0x4,%edx
58e60c:	83 c0 04             	add    $0x4,%eax
58e60f:	4f                   	dec    %edi
58e610:	75 d6                	jne    0x58e5e8
58e612:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58e618:	48                   	dec    %eax
58e619:	85 c0                	test   %eax,%eax
58e61b:	0f 8c e9 00 00 00    	jl     0x58e70a
58e621:	40                   	inc    %eax
58e622:	89 44 24 18          	mov    %eax,0x18(%esp)
58e626:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
58e62d:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58e633:	48                   	dec    %eax
58e634:	85 c0                	test   %eax,%eax
58e636:	0f 8c c1 00 00 00    	jl     0x58e6fd
58e63c:	40                   	inc    %eax
58e63d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58e641:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58e648:	00
58e649:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e64f:	48                   	dec    %eax
58e650:	85 c0                	test   %eax,%eax
58e652:	0f 8c 97 00 00 00    	jl     0x58e6ef
58e658:	40                   	inc    %eax
58e659:	89 44 24 20          	mov    %eax,0x20(%esp)
58e65d:	33 ff                	xor    %edi,%edi
58e65f:	8d 54 24 38          	lea    0x38(%esp),%edx
58e663:	8d 44 24 48          	lea    0x48(%esp),%eax
58e667:	89 44 24 28          	mov    %eax,0x28(%esp)
58e66b:	8d 44 24 68          	lea    0x68(%esp),%eax
58e66f:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e673:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
58e677:	8b 8e fc 00 00 00    	mov    0xfc(%esi),%ecx
58e67d:	0f af 0c 24          	imul   (%esp),%ecx
58e681:	03 4c 24 04          	add    0x4(%esp),%ecx
58e685:	8b 1e                	mov    (%esi),%ebx
58e687:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
58e68a:	0f b7 1c 79          	movzwl (%ecx,%edi,2),%ebx
58e68e:	85 db                	test   %ebx,%ebx
58e690:	74 46                	je     0x58e6d8
58e692:	3b 1a                	cmp    (%edx),%ebx
58e694:	7d 02                	jge    0x58e698
58e696:	89 1a                	mov    %ebx,(%edx)
58e698:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58e69c:	3b 19                	cmp    (%ecx),%ebx
58e69e:	7e 06                	jle    0x58e6a6
58e6a0:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58e6a4:	89 19                	mov    %ebx,(%ecx)
58e6a6:	2b 9e 04 01 00 00    	sub    0x104(%esi),%ebx
58e6ac:	8b 8e 08 01 00 00    	mov    0x108(%esi),%ecx
58e6b2:	83 e9 64             	sub    $0x64,%ecx
58e6b5:	3b d9                	cmp    %ecx,%ebx
58e6b7:	7f 1f                	jg     0x58e6d8
58e6b9:	85 db                	test   %ebx,%ebx
58e6bb:	7d 02                	jge    0x58e6bf
58e6bd:	33 db                	xor    %ebx,%ebx
58e6bf:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
58e6c6:	db 84 24 88 00 00 00 	fildl  0x88(%esp)
58e6cd:	dc 00                	faddl  (%eax)
58e6cf:	dd 18                	fstpl  (%eax)
58e6d1:	9b                   	fwait
58e6d2:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58e6d6:	ff 01                	incl   (%ecx)
58e6d8:	47                   	inc    %edi
58e6d9:	83 44 24 2c 04       	addl   $0x4,0x2c(%esp)
58e6de:	83 c0 08             	add    $0x8,%eax
58e6e1:	83 44 24 28 04       	addl   $0x4,0x28(%esp)
58e6e6:	83 c2 04             	add    $0x4,%edx
58e6e9:	ff 4c 24 20          	decl   0x20(%esp)
58e6ed:	75 88                	jne    0x58e677
58e6ef:	ff 44 24 04          	incl   0x4(%esp)
58e6f3:	ff 4c 24 1c          	decl   0x1c(%esp)
58e6f7:	0f 85 4c ff ff ff    	jne    0x58e649
58e6fd:	ff 04 24             	incl   (%esp)
58e700:	ff 4c 24 18          	decl   0x18(%esp)
58e704:	0f 85 23 ff ff ff    	jne    0x58e62d
58e70a:	33 c0                	xor    %eax,%eax
58e70c:	89 44 24 10          	mov    %eax,0x10(%esp)
58e710:	89 44 24 14          	mov    %eax,0x14(%esp)
58e714:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e71a:	48                   	dec    %eax
58e71b:	85 c0                	test   %eax,%eax
58e71d:	7c 38                	jl     0x58e757
58e71f:	40                   	inc    %eax
58e720:	89 44 24 18          	mov    %eax,0x18(%esp)
58e724:	8d 54 24 68          	lea    0x68(%esp),%edx
58e728:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e72c:	db 01                	fildl  (%ecx)
58e72e:	dc 3a                	fdivrl (%edx)
58e730:	dd 1a                	fstpl  (%edx)
58e732:	9b dd 44 24 10       	fldl   0x10(%esp)
58e737:	dc 1a                	fcompl (%edx)
58e739:	df e0                	fnstsw %ax
58e73b:	9e                   	sahf
58e73c:	73 0d                	jae    0x58e74b
58e73e:	8b 02                	mov    (%edx),%eax
58e740:	89 44 24 10          	mov    %eax,0x10(%esp)
58e744:	8b 42 04             	mov    0x4(%edx),%eax
58e747:	89 44 24 14          	mov    %eax,0x14(%esp)
58e74b:	83 c1 04             	add    $0x4,%ecx
58e74e:	83 c2 08             	add    $0x8,%edx
58e751:	ff 4c 24 18          	decl   0x18(%esp)
58e755:	75 d5                	jne    0x58e72c
58e757:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e75d:	48                   	dec    %eax
58e75e:	85 c0                	test   %eax,%eax
58e760:	7c 24                	jl     0x58e786
58e762:	40                   	inc    %eax
58e763:	89 44 24 18          	mov    %eax,0x18(%esp)
58e767:	8d 44 24 68          	lea    0x68(%esp),%eax
58e76b:	8d 96 f4 01 00 00    	lea    0x1f4(%esi),%edx
58e771:	dd 44 24 10          	fldl   0x10(%esp)
58e775:	dc 30                	fdivl  (%eax)
58e777:	d9 1a                	fstps  (%edx)
58e779:	9b                   	fwait
58e77a:	83 c2 04             	add    $0x4,%edx
58e77d:	83 c0 08             	add    $0x8,%eax
58e780:	ff 4c 24 18          	decl   0x18(%esp)
58e784:	75 eb                	jne    0x58e771
58e786:	83 be e4 01 00 00 00 	cmpl   $0x0,0x1e4(%esi)
58e78d:	0f 84 c0 01 00 00    	je     0x58e953
58e793:	d9 86 ec 01 00 00    	flds   0x1ec(%esi)
58e799:	d8 1d 64 ea 58 00    	fcomps 0x58ea64
58e79f:	df e0                	fnstsw %ax
58e7a1:	9e                   	sahf
58e7a2:	0f 84 ab 01 00 00    	je     0x58e953
58e7a8:	bf 04 00 00 00       	mov    $0x4,%edi
58e7ad:	8d 44 24 68          	lea    0x68(%esp),%eax
58e7b1:	8d 54 24 58          	lea    0x58(%esp),%edx
58e7b5:	33 c9                	xor    %ecx,%ecx
58e7b7:	89 08                	mov    %ecx,(%eax)
58e7b9:	89 48 04             	mov    %ecx,0x4(%eax)
58e7bc:	33 c9                	xor    %ecx,%ecx
58e7be:	89 0a                	mov    %ecx,(%edx)
58e7c0:	83 c2 04             	add    $0x4,%edx
58e7c3:	83 c0 08             	add    $0x8,%eax
58e7c6:	4f                   	dec    %edi
58e7c7:	75 ec                	jne    0x58e7b5
58e7c9:	33 c0                	xor    %eax,%eax
58e7cb:	89 04 24             	mov    %eax,(%esp)
58e7ce:	8d 86 40 01 00 00    	lea    0x140(%esi),%eax
58e7d4:	89 44 24 30          	mov    %eax,0x30(%esp)
58e7d8:	33 c0                	xor    %eax,%eax
58e7da:	89 44 24 04          	mov    %eax,0x4(%esp)
58e7de:	8b 44 24 30          	mov    0x30(%esp),%eax
58e7e2:	89 44 24 34          	mov    %eax,0x34(%esp)
58e7e6:	8b 0c 24             	mov    (%esp),%ecx
58e7e9:	03 c9                	add    %ecx,%ecx
58e7eb:	83 e1 0e             	and    $0xe,%ecx
58e7ee:	8b 44 24 04          	mov    0x4(%esp),%eax
58e7f2:	83 e0 01             	and    $0x1,%eax
58e7f5:	03 c8                	add    %eax,%ecx
58e7f7:	03 c9                	add    %ecx,%ecx
58e7f9:	8b be 3c 01 00 00    	mov    0x13c(%esi),%edi
58e7ff:	d3 ef                	shr    %cl,%edi
58e801:	83 e7 03             	and    $0x3,%edi
58e804:	8b 44 24 34          	mov    0x34(%esp),%eax
58e808:	0f b7 18             	movzwl (%eax),%ebx
58e80b:	2b 9e 04 01 00 00    	sub    0x104(%esi),%ebx
58e811:	85 db                	test   %ebx,%ebx
58e813:	7e 17                	jle    0x58e82c
58e815:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
58e81c:	db 84 24 88 00 00 00 	fildl  0x88(%esp)
58e823:	dc 44 fc 68          	faddl  0x68(%esp,%edi,8)
58e827:	dd 5c fc 68          	fstpl  0x68(%esp,%edi,8)
58e82b:	9b                   	fwait
58e82c:	ff 44 bc 58          	incl   0x58(%esp,%edi,4)
58e830:	ff 44 24 04          	incl   0x4(%esp)
58e834:	83 44 24 34 02       	addl   $0x2,0x34(%esp)
58e839:	83 7c 24 04 08       	cmpl   $0x8,0x4(%esp)
58e83e:	75 a6                	jne    0x58e7e6
58e840:	ff 04 24             	incl   (%esp)
58e843:	83 44 24 30 10       	addl   $0x10,0x30(%esp)
58e848:	83 3c 24 08          	cmpl   $0x8,(%esp)
58e84c:	75 8a                	jne    0x58e7d8
58e84e:	c7 44 24 08 76 3b 77 	movl   $0x30773b76,0x8(%esp)
58e855:	30
58e856:	c7 44 24 0c d1 42 ee 	movl   $0x7fee42d1,0xc(%esp)
58e85d:	7f
58e85e:	33 c0                	xor    %eax,%eax
58e860:	89 44 24 10          	mov    %eax,0x10(%esp)
58e864:	89 44 24 14          	mov    %eax,0x14(%esp)
58e868:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e86e:	48                   	dec    %eax
58e86f:	85 c0                	test   %eax,%eax
58e871:	7c 50                	jl     0x58e8c3
58e873:	40                   	inc    %eax
58e874:	89 44 24 18          	mov    %eax,0x18(%esp)
58e878:	8d 54 24 68          	lea    0x68(%esp),%edx
58e87c:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e880:	db 01                	fildl  (%ecx)
58e882:	dc 3a                	fdivrl (%edx)
58e884:	dd 1a                	fstpl  (%edx)
58e886:	9b dd 44 24 08       	fldl   0x8(%esp)
58e88b:	dc 1a                	fcompl (%edx)
58e88d:	df e0                	fnstsw %ax
58e88f:	9e                   	sahf
58e890:	76 0d                	jbe    0x58e89f
58e892:	8b 02                	mov    (%edx),%eax
58e894:	89 44 24 08          	mov    %eax,0x8(%esp)
58e898:	8b 42 04             	mov    0x4(%edx),%eax
58e89b:	89 44 24 0c          	mov    %eax,0xc(%esp)
58e89f:	dd 44 24 10          	fldl   0x10(%esp)
58e8a3:	dc 1a                	fcompl (%edx)
58e8a5:	df e0                	fnstsw %ax
58e8a7:	9e                   	sahf
58e8a8:	73 0d                	jae    0x58e8b7
58e8aa:	8b 02                	mov    (%edx),%eax
58e8ac:	89 44 24 10          	mov    %eax,0x10(%esp)
58e8b0:	8b 42 04             	mov    0x4(%edx),%eax
58e8b3:	89 44 24 14          	mov    %eax,0x14(%esp)
58e8b7:	83 c1 04             	add    $0x4,%ecx
58e8ba:	83 c2 08             	add    $0x8,%edx
58e8bd:	ff 4c 24 18          	decl   0x18(%esp)
58e8c1:	75 bd                	jne    0x58e880
58e8c3:	dd 44 24 08          	fldl   0x8(%esp)
58e8c7:	d8 1d 68 ea 58 00    	fcomps 0x58ea68
58e8cd:	df e0                	fnstsw %ax
58e8cf:	9e                   	sahf
58e8d0:	76 31                	jbe    0x58e903
58e8d2:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e8d8:	48                   	dec    %eax
58e8d9:	85 c0                	test   %eax,%eax
58e8db:	7c 76                	jl     0x58e953
58e8dd:	40                   	inc    %eax
58e8de:	89 44 24 18          	mov    %eax,0x18(%esp)
58e8e2:	8d 4c 24 68          	lea    0x68(%esp),%ecx
58e8e6:	8d 96 f4 01 00 00    	lea    0x1f4(%esi),%edx
58e8ec:	dd 44 24 10          	fldl   0x10(%esp)
58e8f0:	dc 31                	fdivl  (%ecx)
58e8f2:	d9 1a                	fstps  (%edx)
58e8f4:	9b                   	fwait
58e8f5:	83 c2 04             	add    $0x4,%edx
58e8f8:	83 c1 08             	add    $0x8,%ecx
58e8fb:	ff 4c 24 18          	decl   0x18(%esp)
58e8ff:	75 eb                	jne    0x58e8ec
58e901:	eb 50                	jmp    0x58e953
58e903:	d9 86 ec 01 00 00    	flds   0x1ec(%esi)
58e909:	d8 1d 68 ea 58 00    	fcomps 0x58ea68
58e90f:	df e0                	fnstsw %ax
58e911:	9e                   	sahf
58e912:	74 3f                	je     0x58e953
58e914:	d9 86 f0 01 00 00    	flds   0x1f0(%esi)
58e91a:	d8 1d 68 ea 58 00    	fcomps 0x58ea68
58e920:	df e0                	fnstsw %ax
58e922:	9e                   	sahf
58e923:	74 2e                	je     0x58e953
58e925:	8b 86 ec 01 00 00    	mov    0x1ec(%esi),%eax
58e92b:	89 86 f4 01 00 00    	mov    %eax,0x1f4(%esi)
58e931:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
58e937:	89 86 fc 01 00 00    	mov    %eax,0x1fc(%esi)
58e93d:	c7 86 00 02 00 00 00 	movl   $0x3f800000,0x200(%esi)
58e944:	00 80 3f
58e947:	8b 86 00 02 00 00    	mov    0x200(%esi),%eax
58e94d:	89 86 f8 01 00 00    	mov    %eax,0x1f8(%esi)
58e953:	83 be 24 01 00 00 00 	cmpl   $0x0,0x124(%esi)
58e95a:	75 26                	jne    0x58e982
58e95c:	d9 86 f4 01 00 00    	flds   0x1f4(%esi)
58e962:	d8 8e cc 01 00 00    	fmuls  0x1cc(%esi)
58e968:	d9 9e f4 01 00 00    	fstps  0x1f4(%esi)
58e96e:	9b d9 86 fc 01 00 00 	flds   0x1fc(%esi)
58e975:	d8 8e d0 01 00 00    	fmuls  0x1d0(%esi)
58e97b:	d9 9e fc 01 00 00    	fstps  0x1fc(%esi)
58e981:	9b                   	fwait
58e982:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58e988:	48                   	dec    %eax
58e989:	85 c0                	test   %eax,%eax
58e98b:	0f 8c c5 00 00 00    	jl     0x58ea56
58e991:	40                   	inc    %eax
58e992:	89 44 24 18          	mov    %eax,0x18(%esp)
58e996:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
58e99d:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58e9a3:	48                   	dec    %eax
58e9a4:	85 c0                	test   %eax,%eax
58e9a6:	0f 8c 9d 00 00 00    	jl     0x58ea49
58e9ac:	40                   	inc    %eax
58e9ad:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58e9b1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58e9b8:	00
58e9b9:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e9bf:	48                   	dec    %eax
58e9c0:	85 c0                	test   %eax,%eax
58e9c2:	7c 77                	jl     0x58ea3b
58e9c4:	40                   	inc    %eax
58e9c5:	89 44 24 20          	mov    %eax,0x20(%esp)
58e9c9:	33 ff                	xor    %edi,%edi
58e9cb:	8d ae f4 01 00 00    	lea    0x1f4(%esi),%ebp
58e9d1:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58e9d7:	f7 2c 24             	imull  (%esp)
58e9da:	03 44 24 04          	add    0x4(%esp),%eax
58e9de:	8b 16                	mov    (%esi),%edx
58e9e0:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58e9e3:	0f b7 1c 78          	movzwl (%eax,%edi,2),%ebx
58e9e7:	85 db                	test   %ebx,%ebx
58e9e9:	74 46                	je     0x58ea31
58e9eb:	2b 9e 04 01 00 00    	sub    0x104(%esi),%ebx
58e9f1:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
58e9f8:	db 84 24 88 00 00 00 	fildl  0x88(%esp)
58e9ff:	d8 4d 00             	fmuls  0x0(%ebp)
58ea02:	e8 c5 42 e7 ff       	call   0x402ccc
58ea07:	8b d8                	mov    %eax,%ebx
58ea09:	85 db                	test   %ebx,%ebx
58ea0b:	7d 02                	jge    0x58ea0f
58ea0d:	33 db                	xor    %ebx,%ebx
58ea0f:	8b 86 08 01 00 00    	mov    0x108(%esi),%eax
58ea15:	3b d8                	cmp    %eax,%ebx
58ea17:	7e 02                	jle    0x58ea1b
58ea19:	8b d8                	mov    %eax,%ebx
58ea1b:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58ea21:	f7 2c 24             	imull  (%esp)
58ea24:	03 44 24 04          	add    0x4(%esp),%eax
58ea28:	8b 16                	mov    (%esi),%edx
58ea2a:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58ea2d:	66 89 1c 78          	mov    %bx,(%eax,%edi,2)
58ea31:	47                   	inc    %edi
58ea32:	83 c5 04             	add    $0x4,%ebp
58ea35:	ff 4c 24 20          	decl   0x20(%esp)
58ea39:	75 96                	jne    0x58e9d1
58ea3b:	ff 44 24 04          	incl   0x4(%esp)
58ea3f:	ff 4c 24 1c          	decl   0x1c(%esp)
58ea43:	0f 85 70 ff ff ff    	jne    0x58e9b9
58ea49:	ff 04 24             	incl   (%esp)
58ea4c:	ff 4c 24 18          	decl   0x18(%esp)
58ea50:	0f 85 47 ff ff ff    	jne    0x58e99d
58ea56:	81 c4 8c 00 00 00    	add    $0x8c,%esp
58ea5c:	5d                   	pop    %ebp
58ea5d:	5f                   	pop    %edi
58ea5e:	5e                   	pop    %esi
58ea5f:	5b                   	pop    %ebx
58ea60:	c3                   	ret
58ea61:	00 00                	add    %al,(%eax)