584b53:	d8 1d 24 4c 58 00    	fcomps 0x584c24
584b59:	df e0                	fnstsw %ax
584b5b:	9e                   	sahf
584b5c:	73 19                	jae    0x584b77
584b5e:	dd 44 24 08          	fldl   0x8(%esp)
584b62:	d8 1d 24 4c 58 00    	fcomps 0x584c24
584b68:	df e0                	fnstsw %ax
584b6a:	9e                   	sahf
584b6b:	76 0a                	jbe    0x584b77
584b6d:	66 c7 07 00 00       	movw   $0x0,(%edi)
584b72:	e9 9e 00 00 00       	jmp    0x584c15
584b77:	dd 04 24             	fldl   (%esp)
584b7a:	d8 1d 24 4c 58 00    	fcomps 0x584c24
584b80:	df e0                	fnstsw %ax
584b82:	9e                   	sahf
584b83:	76 2f                	jbe    0x584bb4
584b85:	dd 44 24 08          	fldl   0x8(%esp)
584b89:	d8 1d 24 4c 58 00    	fcomps 0x584c24
584b8f:	df e0                	fnstsw %ax
584b91:	9e                   	sahf
584b92:	73 20                	jae    0x584bb4
584b94:	dd 04 24             	fldl   (%esp)
584b97:	d8 25 24 4c 58 00    	fsubs  0x584c24
584b9d:	d8 05 28 4c 58 00    	fadds  0x584c28
584ba3:	83 c4 f4             	add    $0xfffffff4,%esp
584ba6:	db 3c 24             	fstpt  (%esp)
584ba9:	9b                   	fwait
584baa:	e8 51 db 06 00       	call   0x5f2700
584baf:	66 89 07             	mov    %ax,(%edi)
584bb2:	eb 61                	jmp    0x584c15
584bb4:	dd 44 24 08          	fldl   0x8(%esp)
584bb8:	d8 1d 2c 4c 58 00    	fcomps 0x584c2c
584bbe:	df e0                	fnstsw %ax
584bc0:	9e                   	sahf
584bc1:	75 11                	jne    0x584bd4
584bc3:	8b 04 24             	mov    (%esp),%eax
584bc6:	89 44 24 10          	mov    %eax,0x10(%esp)
584bca:	8b 44 24 04          	mov    0x4(%esp),%eax
584bce:	89 44 24 14          	mov    %eax,0x14(%esp)
584bd2:	eb 0c                	jmp    0x584be0
584bd4:	dd 04 24             	fldl   (%esp)
584bd7:	dc 74 24 08          	fdivl  0x8(%esp)
584bdb:	dd 5c 24 10          	fstpl  0x10(%esp)
584bdf:	9b dd 44 24 10       	fldl   0x10(%esp)
584be4:	d8 1d 24 4c 58 00    	fcomps 0x584c24
584bea:	df e0                	fnstsw %ax
584bec:	9e                   	sahf
584bed:	76 21                	jbe    0x584c10
584bef:	dd 44 24 10          	fldl   0x10(%esp)
584bf3:	d8 25 24 4c 58 00    	fsubs  0x584c24
584bf9:	d8 05 28 4c 58 00    	fadds  0x584c28
584bff:	83 c4 f4             	add    $0xfffffff4,%esp
584c02:	db 3c 24             	fstpt  (%esp)
584c05:	9b                   	fwait
584c06:	e8 f5 da 06 00       	call   0x5f2700
584c0b:	66 89 07             	mov    %ax,(%edi)
584c0e:	eb 05                	jmp    0x584c15
584c10:	66 c7 07 00 00       	movw   $0x0,(%edi)
584c15:	b8 01 00 00 00       	mov    $0x1,%eax
584c1a:	81 c4 f8 00 00 00    	add    $0xf8,%esp
584c20:	5f                   	pop    %edi
584c21:	5e                   	pop    %esi
584c22:	5b                   	pop    %ebx
584c23:	c3                   	ret
584c24:	00 00                	add    %al,(%eax)
584c26:	a0 40 00 00 00       	mov    0x40,%al
584c2b:	3f                   	aas
584c2c:	00 00                	add    %al,(%eax)
584c2e:	00 00                	add    %al,(%eax)
584c30:	53                   	push   %ebx
584c31:	56                   	push   %esi
584c32:	57                   	push   %edi
584c33:	55                   	push   %ebp
584c34:	83 c4 f8             	add    $0xfffffff8,%esp
584c37:	8b ea                	mov    %edx,%ebp
584c39:	8b f8                	mov    %eax,%edi
584c3b:	8b c4                	mov    %esp,%eax
584c3d:	ba 08 00 00 00       	mov    $0x8,%edx
584c42:	e8 8d 32 e8 ff       	call   0x407ed4
584c47:	33 c0                	xor    %eax,%eax
584c49:	e8 fa f5 ff ff       	call   0x584248
584c4e:	8b d8                	mov    %eax,%ebx
584c50:	be 22 00 00 00       	mov    $0x22,%esi
584c55:	56                   	push   %esi
584c56:	55                   	push   %ebp
584c57:	68 00 01 00 00       	push   $0x100
584c5c:	8b cf                	mov    %edi,%ecx
584c5e:	ba 1a 00 0a 00       	mov    $0xa001a,%edx
584c63:	8b c3                	mov    %ebx,%eax
584c65:	e8 b6 39 00 00       	call   0x588620
584c6a:	89 04 24             	mov    %eax,(%esp)
584c6d:	68 1a 00 0a 00       	push   $0xa001a
584c72:	55                   	push   %ebp
584c73:	68 00 01 00 00       	push   $0x100
584c78:	8b cb                	mov    %ebx,%ecx
584c7a:	8b d6                	mov    %esi,%edx
584c7c:	8b c7                	mov    %edi,%eax
584c7e:	e8 9d 39 00 00       	call   0x588620
584c83:	89 44 24 04          	mov    %eax,0x4(%esp)
584c87:	83 3c 24 00          	cmpl   $0x0,(%esp)
584c8b:	74 37                	je     0x584cc4
584c8d:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
584c92:	74 30                	je     0x584cc4
584c94:	e8 c7 a8 ff ff       	call   0x57f560
584c99:	8b f0                	mov    %eax,%esi
584c9b:	6a 01                	push   $0x1
584c9d:	b9 03 00 00 00       	mov    $0x3,%ecx
584ca2:	ba 2a 00 00 00       	mov    $0x2a,%edx
584ca7:	8b c6                	mov    %esi,%eax
584ca9:	e8 96 ce ff ff       	call   0x581b44
584cae:	8b f0                	mov    %eax,%esi
584cb0:	6a 00                	push   $0x0
584cb2:	8d 4c 24 04          	lea    0x4(%esp),%ecx
584cb6:	ba 44 4a 58 00       	mov    $0x584a44,%edx
584cbb:	8b c6                	mov    %esi,%eax
584cbd:	e8 42 f9 ff ff       	call   0x584604
584cc2:	eb 02                	jmp    0x584cc6
584cc4:	33 f6                	xor    %esi,%esi
584cc6:	8b 04 24             	mov    (%esp),%eax
584cc9:	85 c0                	test   %eax,%eax
584ccb:	74 05                	je     0x584cd2
584ccd:	e8 e6 a6 ff ff       	call   0x57f3b8
584cd2:	8b 44 24 04          	mov    0x4(%esp),%eax
584cd6:	85 c0                	test   %eax,%eax
584cd8:	74 05                	je     0x584cdf
584cda:	e8 d9 a6 ff ff       	call   0x57f3b8
584cdf:	8b c3                	mov    %ebx,%eax
584ce1:	e8 aa f1 ff ff       	call   0x583e90
584ce6:	8b c6                	mov    %esi,%eax
584ce8:	59                   	pop    %ecx
584ce9:	5a                   	pop    %edx
584cea:	5d                   	pop    %ebp
584ceb:	5f                   	pop    %edi
584cec:	5e                   	pop    %esi
584ced:	5b                   	pop    %ebx
584cee:	c3                   	ret
584cef:	90                   	nop
584cf0:	53                   	push   %ebx
584cf1:	56                   	push   %esi
584cf2:	57                   	push   %edi
584cf3:	8b f9                	mov    %ecx,%edi
584cf5:	8b f2                	mov    %edx,%esi
584cf7:	8b d8                	mov    %eax,%ebx
584cf9:	f7 c6 00 40 00 00    	test   $0x4000,%esi
584cff:	0f 84 8f 00 00 00    	je     0x584d94
584d05:	8b 53 10             	mov    0x10(%ebx),%edx
584d08:	8b 43 24             	mov    0x24(%ebx),%eax
584d0b:	e8 f0 fa ff ff       	call   0x584800
584d10:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
584d16:	c7 83 d0 00 00 00 01 	movl   $0x1,0xd0(%ebx)
584d1d:	00 00 00
584d20:	8b 43 14             	mov    0x14(%ebx),%eax
584d23:	8b 04 85 7c 33 6a 00 	mov    0x6a337c(,%eax,4),%eax
584d2a:	89 07                	mov    %eax,(%edi)
584d2c:	83 bb b8 00 00 00 00 	cmpl   $0x0,0xb8(%ebx)
584d33:	75 5f                	jne    0x584d94
584d35:	8b 43 10             	mov    0x10(%ebx),%eax
584d38:	8b 3c 85 8c 33 6a 00 	mov    0x6a338c(,%eax,4),%edi
584d3f:	8b d7                	mov    %edi,%edx
584d41:	8b 43 24             	mov    0x24(%ebx),%eax
584d44:	e8 ab d8 ff ff       	call   0x5825f4
584d49:	85 c0                	test   %eax,%eax
584d4b:	75 16                	jne    0x584d63
584d4d:	8b 3d 8c 33 6a 00    	mov    0x6a338c,%edi
584d53:	8b d7                	mov    %edi,%edx
584d55:	8b 43 24             	mov    0x24(%ebx),%eax
584d58:	e8 97 d8 ff ff       	call   0x5825f4
584d5d:	85 c0                	test   %eax,%eax
584d5f:	75 02                	jne    0x584d63
584d61:	33 ff                	xor    %edi,%edi
584d63:	85 ff                	test   %edi,%edi
584d65:	74 20                	je     0x584d87
584d67:	8b d7                	mov    %edi,%edx
584d69:	8b 43 24             	mov    0x24(%ebx),%eax
584d6c:	e8 3f d1 ff ff       	call   0x581eb0
584d71:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
584d77:	8b 43 24             	mov    0x24(%ebx),%eax
584d7a:	e8 55 d8 ff ff       	call   0x5825d4
584d7f:	89 83 d0 00 00 00    	mov    %eax,0xd0(%ebx)
584d85:	eb 0d                	jmp    0x584d94
584d87:	33 c0                	xor    %eax,%eax
584d89:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
584d8f:	33 c0                	xor    %eax,%eax
584d91:	89 43 24             	mov    %eax,0x24(%ebx)
584d94:	f7 c6 00 10 00 00    	test   $0x1000,%esi
584d9a:	74 45                	je     0x584de1
584d9c:	8b 53 10             	mov    0x10(%ebx),%edx
584d9f:	8b 43 24             	mov    0x24(%ebx),%eax
584da2:	e8 89 fe ff ff       	call   0x584c30
584da7:	8b f0                	mov    %eax,%esi
584da9:	89 b3 b4 00 00 00    	mov    %esi,0xb4(%ebx)
584daf:	85 f6                	test   %esi,%esi
584db1:	75 2e                	jne    0x584de1
584db3:	ba 74 6d 61 67       	mov    $0x67616d74,%edx
584db8:	8b 43 24             	mov    0x24(%ebx),%eax
584dbb:	e8 34 d8 ff ff       	call   0x5825f4
584dc0:	85 c0                	test   %eax,%eax
584dc2:	74 15                	je     0x584dd9
584dc4:	ba 74 6d 61 67       	mov    $0x67616d74,%edx
584dc9:	8b 43 24             	mov    0x24(%ebx),%eax
584dcc:	e8 df d0 ff ff       	call   0x581eb0
584dd1:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
584dd7:	eb 08                	jmp    0x584de1
584dd9:	33 c0                	xor    %eax,%eax
584ddb:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
584de1:	5f                   	pop    %edi
584de2:	5e                   	pop    %esi
584de3:	5b                   	pop    %ebx
584de4:	c3                   	ret
584de5:	8d 40 00             	lea    0x0(%eax),%eax
584de8:	0f b7 12             	movzwl (%edx),%edx
584deb:	69 d2 95 00 00 00    	imul   $0x95,%edx,%edx
584df1:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
584df7:	8d 84 50 52 01 00 00 	lea    0x152(%eax,%edx,2),%eax
584dfe:	8b d0                	mov    %eax,%edx
584e00:	8b c1                	mov    %ecx,%eax
584e02:	b9 06 00 00 00       	mov    $0x6,%ecx
584e07:	e8 b4 30 e8 ff       	call   0x407ec0
584e0c:	c3                   	ret
584e0d:	8d 40 00             	lea    0x0(%eax),%eax
584e10:	53                   	push   %ebx
584e11:	56                   	push   %esi
584e12:	57                   	push   %edi
584e13:	8b fa                	mov    %edx,%edi
584e15:	0f b7 c0             	movzwl %ax,%eax
584e18:	3d ff ff 00 00       	cmp    $0xffff,%eax
584e1d:	75 0a                	jne    0x584e29
584e1f:	0f b7 41 0c          	movzwl 0xc(%ecx),%eax
584e23:	0f b7 04 47          	movzwl (%edi,%eax,2),%eax
584e27:	eb 35                	jmp    0x584e5e
584e29:	0f b7 59 0c          	movzwl 0xc(%ecx),%ebx
584e2d:	0f af d8             	imul   %eax,%ebx
584e30:	8b c3                	mov    %ebx,%eax
584e32:	e8 d9 78 ff ff       	call   0x57c710
584e37:	8b d8                	mov    %eax,%ebx
584e39:	8b c3                	mov    %ebx,%eax
584e3b:	e8 20 aa ff ff       	call   0x57f860
584e40:	0f b7 34 47          	movzwl (%edi,%eax,2),%esi
584e44:	0f b7 44 47 02       	movzwl 0x2(%edi,%eax,2),%eax
584e49:	8b f8                	mov    %eax,%edi
584e4b:	8b d3                	mov    %ebx,%edx
584e4d:	81 e2 ff ff 00 00    	and    $0xffff,%edx
584e53:	8b c7                	mov    %edi,%eax
584e55:	2b c6                	sub    %esi,%eax
584e57:	e8 88 68 ff ff       	call   0x57b6e4
584e5c:	03 c6                	add    %esi,%eax
584e5e:	5f                   	pop    %edi
584e5f:	5e                   	pop    %esi
584e60:	5b                   	pop    %ebx
584e61:	c3                   	ret
584e62:	8b c0                	mov    %eax,%eax
584e64:	85 c0                	test   %eax,%eax
584e66:	7d 03                	jge    0x584e6b
584e68:	33 c0                	xor    %eax,%eax
584e6a:	c3                   	ret
584e6b:	3d ff ff 00 00       	cmp    $0xffff,%eax
584e70:	7e 04                	jle    0x584e76
584e72:	66 b8 ff ff          	mov    $0xffff,%ax
584e76:	c3                   	ret
584e77:	90                   	nop
584e78:	53                   	push   %ebx
584e79:	56                   	push   %esi
584e7a:	57                   	push   %edi
584e7b:	83 c4 e0             	add    $0xffffffe0,%esp
584e7e:	8b f9                	mov    %ecx,%edi
584e80:	8b f2                	mov    %edx,%esi
584e82:	8b d8                	mov    %eax,%ebx
584e84:	f6 03 10             	testb  $0x10,(%ebx)
584e87:	74 43                	je     0x584ecc
584e89:	8d 4b 6a             	lea    0x6a(%ebx),%ecx
584e8c:	8b 93 a0 00 00 00    	mov    0xa0(%ebx),%edx
584e92:	66 8b 06             	mov    (%esi),%ax
584e95:	e8 76 ff ff ff       	call   0x584e10
584e9a:	89 44 24 06          	mov    %eax,0x6(%esp)
584e9e:	8d 4b 6a             	lea    0x6a(%ebx),%ecx
584ea1:	8b 93 a4 00 00 00    	mov    0xa4(%ebx),%edx
584ea7:	66 8b 46 02          	mov    0x2(%esi),%ax
584eab:	e8 60 ff ff ff       	call   0x584e10
584eb0:	89 44 24 0a          	mov    %eax,0xa(%esp)
584eb4:	8d 4b 6a             	lea    0x6a(%ebx),%ecx
584eb7:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
584ebd:	66 8b 46 04          	mov    0x4(%esi),%ax
584ec1:	e8 4a ff ff ff       	call   0x584e10
584ec6:	89 44 24 0e          	mov    %eax,0xe(%esp)
584eca:	eb 26                	jmp    0x584ef2
584ecc:	0f b7 06             	movzwl (%esi),%eax
584ecf:	e8 3c 78 ff ff       	call   0x57c710
584ed4:	89 44 24 06          	mov    %eax,0x6(%esp)
584ed8:	0f b7 46 02          	movzwl 0x2(%esi),%eax
584edc:	e8 2f 78 ff ff       	call   0x57c710
584ee1:	89 44 24 0a          	mov    %eax,0xa(%esp)
584ee5:	0f b7 46 04          	movzwl 0x4(%esi),%eax
584ee9:	e8 22 78 ff ff       	call   0x57c710
584eee:	89 44 24 0e          	mov    %eax,0xe(%esp)
584ef2:	f6 03 01             	testb  $0x1,(%ebx)
584ef5:	74 12                	je     0x584f09
584ef7:	8d 4c 24 06          	lea    0x6(%esp),%ecx
584efb:	8d 53 04             	lea    0x4(%ebx),%edx
584efe:	8d 44 24 12          	lea    0x12(%esp),%eax
584f02:	e8 2d 78 ff ff       	call   0x57c734
584f07:	eb 18                	jmp    0x584f21
584f09:	8b 44 24 06          	mov    0x6(%esp),%eax
584f0d:	89 44 24 12          	mov    %eax,0x12(%esp)
584f11:	8b 44 24 0a          	mov    0xa(%esp),%eax
584f15:	89 44 24 16          	mov    %eax,0x16(%esp)
584f19:	8b 44 24 0e          	mov    0xe(%esp),%eax
584f1d:	89 44 24 1a          	mov    %eax,0x1a(%esp)
584f21:	8b 44 24 12          	mov    0x12(%esp),%eax
584f25:	e8 fe 77 ff ff       	call   0x57c728
584f2a:	e8 35 ff ff ff       	call   0x584e64
584f2f:	66 89 04 24          	mov    %ax,(%esp)
584f33:	8b 44 24 16          	mov    0x16(%esp),%eax
584f37:	e8 ec 77 ff ff       	call   0x57c728
584f3c:	e8 23 ff ff ff       	call   0x584e64
584f41:	66 89 44 24 02       	mov    %ax,0x2(%esp)
584f46:	8b 44 24 1a          	mov    0x1a(%esp),%eax
584f4a:	e8 d9 77 ff ff       	call   0x57c728
584f4f:	e8 10 ff ff ff       	call   0x584e64
584f54:	8b f0                	mov    %eax,%esi
584f56:	66 89 74 24 04       	mov    %si,0x4(%esp)
584f5b:	f6 03 02             	testb  $0x2,(%ebx)
584f5e:	74 39                	je     0x584f99
584f60:	8d 4b 28             	lea    0x28(%ebx),%ecx
584f63:	8b 53 5e             	mov    0x5e(%ebx),%edx
584f66:	66 8b 04 24          	mov    (%esp),%ax
584f6a:	e8 11 79 ff ff       	call   0x57c880
584f6f:	66 89 07             	mov    %ax,(%edi)
584f72:	8d 4b 28             	lea    0x28(%ebx),%ecx
584f75:	8b 53 62             	mov    0x62(%ebx),%edx
584f78:	66 8b 44 24 02       	mov    0x2(%esp),%ax
584f7d:	e8 fe 78 ff ff       	call   0x57c880
584f82:	66 89 47 02          	mov    %ax,0x2(%edi)
584f86:	8d 4b 28             	lea    0x28(%ebx),%ecx
584f89:	8b 53 66             	mov    0x66(%ebx),%edx
584f8c:	8b c6                	mov    %esi,%eax
584f8e:	e8 ed 78 ff ff       	call   0x57c880
584f93:	66 89 47 04          	mov    %ax,0x4(%edi)
584f97:	eb 14                	jmp    0x584fad
584f99:	66 8b 04 24          	mov    (%esp),%ax
584f9d:	66 89 07             	mov    %ax,(%edi)
584fa0:	66 8b 44 24 02       	mov    0x2(%esp),%ax
584fa5:	66 89 47 02          	mov    %ax,0x2(%edi)
584fa9:	66 89 77 04          	mov    %si,0x4(%edi)
584fad:	83 c4 20             	add    $0x20,%esp
584fb0:	5f                   	pop    %edi
584fb1:	5e                   	pop    %esi
584fb2:	5b                   	pop    %ebx
584fb3:	c3                   	ret
584fb4:	53                   	push   %ebx
584fb5:	56                   	push   %esi