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
587a33:	a3 f9 3f 00 00       	mov    %eax,0x3ff9
587a38:	00 00                	add    %al,(%eax)
587a3a:	00 3f                	add    %bh,(%edi)
587a3c:	53                   	push   %ebx
587a3d:	56                   	push   %esi
587a3e:	57                   	push   %edi
587a3f:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
587a45:	89 4c 24 04          	mov    %ecx,0x4(%esp)
587a49:	89 14 24             	mov    %edx,(%esp)
587a4c:	8b f0                	mov    %eax,%esi
587a4e:	89 74 24 08          	mov    %esi,0x8(%esp)
587a52:	8b 44 24 04          	mov    0x4(%esp),%eax
587a56:	8b 58 28             	mov    0x28(%eax),%ebx
587a59:	4b                   	dec    %ebx
587a5a:	85 db                	test   %ebx,%ebx
587a5c:	72 17                	jb     0x587a75
587a5e:	43                   	inc    %ebx
587a5f:	8d 74 24 0c          	lea    0xc(%esp),%esi
587a63:	b8 00 10 00 00       	mov    $0x1000,%eax
587a68:	e8 9b 94 ff ff       	call   0x580f08
587a6d:	89 06                	mov    %eax,(%esi)
587a6f:	83 c6 04             	add    $0x4,%esi
587a72:	4b                   	dec    %ebx
587a73:	75 ee                	jne    0x587a63
587a75:	33 ff                	xor    %edi,%edi
587a77:	8b 74 24 08          	mov    0x8(%esp),%esi
587a7b:	89 bc 24 8c 00 00 00 	mov    %edi,0x8c(%esp)
587a82:	33 c0                	xor    %eax,%eax
587a84:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
587a8b:	df ac 24 8c 00 00 00 	fildll 0x8c(%esp)
587a92:	83 c4 f8             	add    $0xfffffff8,%esp
587a95:	dd 1c 24             	fstpl  (%esp)
587a98:	9b                   	fwait
587a99:	b8 00 10 00 00       	mov    $0x1000,%eax
587a9e:	e8 ed 7c ff ff       	call   0x57f790
587aa3:	0f b7 d0             	movzwl %ax,%edx
587aa6:	8b 44 24 04          	mov    0x4(%esp),%eax
587aaa:	8b 58 28             	mov    0x28(%eax),%ebx
587aad:	4b                   	dec    %ebx
587aae:	85 db                	test   %ebx,%ebx
587ab0:	72 0e                	jb     0x587ac0
587ab2:	43                   	inc    %ebx
587ab3:	8d 44 24 4c          	lea    0x4c(%esp),%eax
587ab7:	66 89 10             	mov    %dx,(%eax)
587aba:	83 c0 02             	add    $0x2,%eax
587abd:	4b                   	dec    %ebx
587abe:	75 f7                	jne    0x587ab7
587ac0:	6a 01                	push   $0x1
587ac2:	8d 4c 24 70          	lea    0x70(%esp),%ecx
587ac6:	8d 54 24 50          	lea    0x50(%esp),%edx
587aca:	8b 06                	mov    (%esi),%eax
587acc:	e8 db cc ff ff       	call   0x5847ac
587ad1:	83 c6 04             	add    $0x4,%esi
587ad4:	8b 1c 24             	mov    (%esp),%ebx
587ad7:	4b                   	dec    %ebx
587ad8:	85 db                	test   %ebx,%ebx
587ada:	7e 17                	jle    0x587af3
587adc:	6a 01                	push   $0x1
587ade:	8d 4c 24 70          	lea    0x70(%esp),%ecx
587ae2:	8d 54 24 70          	lea    0x70(%esp),%edx
587ae6:	8b 06                	mov    (%esi),%eax
587ae8:	e8 bf cc ff ff       	call   0x5847ac
587aed:	83 c6 04             	add    $0x4,%esi
587af0:	4b                   	dec    %ebx
587af1:	75 e9                	jne    0x587adc
587af3:	8b 44 24 04          	mov    0x4(%esp),%eax
587af7:	8b 58 28             	mov    0x28(%eax),%ebx
587afa:	4b                   	dec    %ebx
587afb:	85 db                	test   %ebx,%ebx
587afd:	72 1c                	jb     0x587b1b
587aff:	43                   	inc    %ebx
587b00:	8d 44 24 6c          	lea    0x6c(%esp),%eax
587b04:	8d 54 24 0c          	lea    0xc(%esp),%edx
587b08:	8b 0a                	mov    (%edx),%ecx
587b0a:	66 8b 30             	mov    (%eax),%si
587b0d:	66 89 74 79 04       	mov    %si,0x4(%ecx,%edi,2)
587b12:	83 c2 04             	add    $0x4,%edx
587b15:	83 c0 02             	add    $0x2,%eax
587b18:	4b                   	dec    %ebx
587b19:	75 ed                	jne    0x587b08
587b1b:	47                   	inc    %edi
587b1c:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
587b22:	0f 85 4f ff ff ff    	jne    0x587a77
587b28:	83 cf ff             	or     $0xffffffff,%edi
587b2b:	33 db                	xor    %ebx,%ebx
587b2d:	eb 27                	jmp    0x587b56
587b2f:	8b 44 9c 0c          	mov    0xc(%esp,%ebx,4),%eax
587b33:	83 c0 04             	add    $0x4,%eax
587b36:	ba 00 10 00 00       	mov    $0x1000,%edx
587b3b:	e8 e4 fd ff ff       	call   0x587924
587b40:	85 c0                	test   %eax,%eax
587b42:	74 02                	je     0x587b46
587b44:	33 ff                	xor    %edi,%edi
587b46:	8b 44 9c 0c          	mov    0xc(%esp,%ebx,4),%eax
587b4a:	e8 2d fe ff ff       	call   0x58797c
587b4f:	85 c0                	test   %eax,%eax
587b51:	75 02                	jne    0x587b55
587b53:	33 ff                	xor    %edi,%edi
587b55:	43                   	inc    %ebx
587b56:	85 ff                	test   %edi,%edi
587b58:	74 09                	je     0x587b63
587b5a:	8b 44 24 04          	mov    0x4(%esp),%eax
587b5e:	3b 58 28             	cmp    0x28(%eax),%ebx
587b61:	72 cc                	jb     0x587b2f
587b63:	85 ff                	test   %edi,%edi
587b65:	74 23                	je     0x587b8a
587b67:	8b 44 24 04          	mov    0x4(%esp),%eax
587b6b:	8b 58 28             	mov    0x28(%eax),%ebx
587b6e:	4b                   	dec    %ebx
587b6f:	85 db                	test   %ebx,%ebx
587b71:	72 17                	jb     0x587b8a
587b73:	43                   	inc    %ebx
587b74:	8d 74 24 0c          	lea    0xc(%esp),%esi
587b78:	8b 06                	mov    (%esi),%eax
587b7a:	8b 10                	mov    (%eax),%edx
587b7c:	83 c0 04             	add    $0x4,%eax
587b7f:	e8 24 fe ff ff       	call   0x5879a8
587b84:	83 c6 04             	add    $0x4,%esi
587b87:	4b                   	dec    %ebx
587b88:	75 ee                	jne    0x587b78
587b8a:	85 ff                	test   %edi,%edi
587b8c:	74 12                	je     0x587ba0
587b8e:	8d 54 24 0c          	lea    0xc(%esp),%edx
587b92:	b9 01 00 00 00       	mov    $0x1,%ecx
587b97:	8b 44 24 04          	mov    0x4(%esp),%eax
587b9b:	e8 80 9b ff ff       	call   0x581720
587ba0:	8b 44 24 04          	mov    0x4(%esp),%eax
587ba4:	8b 58 28             	mov    0x28(%eax),%ebx
587ba7:	4b                   	dec    %ebx
587ba8:	85 db                	test   %ebx,%ebx
587baa:	72 12                	jb     0x587bbe
587bac:	43                   	inc    %ebx
587bad:	8d 74 24 0c          	lea    0xc(%esp),%esi
587bb1:	8b 06                	mov    (%esi),%eax
587bb3:	e8 f8 94 ff ff       	call   0x5810b0
587bb8:	83 c6 04             	add    $0x4,%esi
587bbb:	4b                   	dec    %ebx
587bbc:	75 f3                	jne    0x587bb1
587bbe:	81 c4 94 00 00 00    	add    $0x94,%esp
587bc4:	5f                   	pop    %edi
587bc5:	5e                   	pop    %esi
587bc6:	5b                   	pop    %ebx
587bc7:	c3                   	ret
587bc8:	6a 01                	push   $0x1
587bca:	91                   	xchg   %eax,%ecx
587bcb:	87 ca                	xchg   %ecx,%edx
587bcd:	e8 da cb ff ff       	call   0x5847ac
587bd2:	b8 01 00 00 00       	mov    $0x1,%eax
587bd7:	c3                   	ret
587bd8:	53                   	push   %ebx
587bd9:	56                   	push   %esi
587bda:	57                   	push   %edi
587bdb:	55                   	push   %ebp
587bdc:	83 c4 ec             	add    $0xffffffec,%esp
587bdf:	8b fa                	mov    %edx,%edi
587be1:	89 04 24             	mov    %eax,(%esp)
587be4:	8b 1c 24             	mov    (%esp),%ebx
587be7:	8b 43 28             	mov    0x28(%ebx),%eax
587bea:	e8 25 fb ff ff       	call   0x587714
587bef:	8b e8                	mov    %eax,%ebp
587bf1:	8b 43 2c             	mov    0x2c(%ebx),%eax
587bf4:	e8 1b fb ff ff       	call   0x587714
587bf9:	89 44 24 0c          	mov    %eax,0xc(%esp)
587bfd:	f7 c7 00 00 ff 00    	test   $0xff0000,%edi
587c03:	74 10                	je     0x587c15
587c05:	8b c7                	mov    %edi,%eax
587c07:	c1 e8 10             	shr    $0x10,%eax
587c0a:	25 ff 00 00 00       	and    $0xff,%eax
587c0f:	89 44 24 04          	mov    %eax,0x4(%esp)
587c13:	eb 0e                	jmp    0x587c23
587c15:	8b d7                	mov    %edi,%edx
587c17:	8b 43 28             	mov    0x28(%ebx),%eax
587c1a:	e8 95 fc ff ff       	call   0x5878b4
587c1f:	89 44 24 04          	mov    %eax,0x4(%esp)
587c23:	e8 38 79 ff ff       	call   0x57f560