589ae9:	8d 44 24 1c          	lea    0x1c(%esp),%eax
589aed:	89 44 24 4c          	mov    %eax,0x4c(%esp)
589af1:	8d 44 24 24          	lea    0x24(%esp),%eax
589af5:	89 44 24 50          	mov    %eax,0x50(%esp)
589af9:	8b c5                	mov    %ebp,%eax
589afb:	83 e0 01             	and    $0x1,%eax
589afe:	8b 5c 84 2c          	mov    0x2c(%esp,%eax,4),%ebx
589b02:	eb 0f                	jmp    0x589b13
589b04:	8b c7                	mov    %edi,%eax
589b06:	ba 01 00 00 00       	mov    $0x1,%edx
589b0b:	e8 0c f6 ff ff       	call   0x58911c
589b10:	8b 1c 83             	mov    (%ebx,%eax,4),%ebx
589b13:	83 3b 00             	cmpl   $0x0,(%ebx)
589b16:	75 ec                	jne    0x589b04
589b18:	8b 43 08             	mov    0x8(%ebx),%eax
589b1b:	89 04 24             	mov    %eax,(%esp)
589b1e:	8b c7                	mov    %edi,%eax
589b20:	8b 14 24             	mov    (%esp),%edx
589b23:	e8 f4 f5 ff ff       	call   0x58911c
589b28:	8b d8                	mov    %eax,%ebx
589b2a:	8b 0c 24             	mov    (%esp),%ecx
589b2d:	49                   	dec    %ecx
589b2e:	b8 01 00 00 00       	mov    $0x1,%eax
589b33:	d3 e0                	shl    %cl,%eax
589b35:	85 d8                	test   %ebx,%eax
589b37:	75 0d                	jne    0x589b46
589b39:	8b 0c 24             	mov    (%esp),%ecx
589b3c:	b8 01 00 00 00       	mov    $0x1,%eax
589b41:	d3 e0                	shl    %cl,%eax
589b43:	48                   	dec    %eax
589b44:	2b d8                	sub    %eax,%ebx
589b46:	83 fd 02             	cmp    $0x2,%ebp
589b49:	7d 14                	jge    0x589b5f
589b4b:	8b 44 24 4c          	mov    0x4c(%esp),%eax
589b4f:	01 18                	add    %ebx,(%eax)
589b51:	8b 44 24 4c          	mov    0x4c(%esp),%eax
589b55:	8b 00                	mov    (%eax),%eax
589b57:	8b 54 24 50          	mov    0x50(%esp),%edx
589b5b:	89 02                	mov    %eax,(%edx)
589b5d:	eb 09                	jmp    0x589b68
589b5f:	8b c5                	mov    %ebp,%eax
589b61:	83 e0 01             	and    $0x1,%eax
589b64:	01 5c 84 24          	add    %ebx,0x24(%esp,%eax,4)
589b68:	8b c5                	mov    %ebp,%eax
589b6a:	83 e0 01             	and    $0x1,%eax
589b6d:	8b 5c 84 24          	mov    0x24(%esp,%eax,4),%ebx
589b71:	85 db                	test   %ebx,%ebx
589b73:	7d 02                	jge    0x589b77
589b75:	33 db                	xor    %ebx,%ebx
589b77:	81 fb ff 0f 00 00    	cmp    $0xfff,%ebx
589b7d:	7e 05                	jle    0x589b84
589b7f:	bb ff 0f 00 00       	mov    $0xfff,%ebx
589b84:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
589b88:	0f af 4c 24 08       	imul   0x8(%esp),%ecx
589b8d:	03 cd                	add    %ebp,%ecx
589b8f:	81 be ec 00 00 00 f4 	cmpl   $0x13f4,0xec(%esi)
589b96:	13 00 00
589b99:	75 7d                	jne    0x589c18
589b9b:	69 44 24 04 90 06 00 	imul   $0x690,0x4(%esp),%eax
589ba2:	00
589ba3:	50                   	push   %eax
589ba4:	8b c1                	mov    %ecx,%eax
589ba6:	5a                   	pop    %edx
589ba7:	51                   	push   %ecx
589ba8:	8b ca                	mov    %edx,%ecx
589baa:	99                   	cltd
589bab:	f7 f9                	idiv   %ecx
589bad:	59                   	pop    %ecx
589bae:	89 44 24 10          	mov    %eax,0x10(%esp)
589bb2:	83 7c 24 10 02       	cmpl   $0x2,0x10(%esp)
589bb7:	7d 2f                	jge    0x589be8
589bb9:	8b c1                	mov    %ecx,%eax
589bbb:	51                   	push   %ecx
589bbc:	b9 90 06 00 00       	mov    $0x690,%ecx
589bc1:	99                   	cltd
589bc2:	f7 f9                	idiv   %ecx
589bc4:	59                   	pop    %ecx
589bc5:	99                   	cltd
589bc6:	f7 7c 24 04          	idivl  0x4(%esp)
589bca:	89 54 24 14          	mov    %edx,0x14(%esp)
589bce:	8b c1                	mov    %ecx,%eax
589bd0:	b9 90 06 00 00       	mov    $0x690,%ecx
589bd5:	99                   	cltd
589bd6:	f7 f9                	idiv   %ecx
589bd8:	69 44 24 10 90 06 00 	imul   $0x690,0x10(%esp),%eax
589bdf:	00
589be0:	03 d0                	add    %eax,%edx
589be2:	89 54 24 18          	mov    %edx,0x18(%esp)
589be6:	eb 4a                	jmp    0x589c32
589be8:	69 44 24 04 20 0d 00 	imul   $0xd20,0x4(%esp),%eax
589bef:	00
589bf0:	2b c8                	sub    %eax,%ecx
589bf2:	8b c1                	mov    %ecx,%eax
589bf4:	51                   	push   %ecx
589bf5:	b9 d4 06 00 00       	mov    $0x6d4,%ecx
589bfa:	99                   	cltd
589bfb:	f7 f9                	idiv   %ecx
589bfd:	59                   	pop    %ecx
589bfe:	89 44 24 14          	mov    %eax,0x14(%esp)
589c02:	8b c1                	mov    %ecx,%eax
589c04:	b9 d4 06 00 00       	mov    $0x6d4,%ecx
589c09:	99                   	cltd
589c0a:	f7 f9                	idiv   %ecx
589c0c:	81 c2 20 0d 00 00    	add    $0xd20,%edx
589c12:	89 54 24 18          	mov    %edx,0x18(%esp)
589c16:	eb 1a                	jmp    0x589c32
589c18:	8b c1                	mov    %ecx,%eax
589c1a:	99                   	cltd
589c1b:	f7 be ec 00 00 00    	idivl  0xec(%esi)
589c21:	89 44 24 14          	mov    %eax,0x14(%esp)
589c25:	8b c1                	mov    %ecx,%eax
589c27:	99                   	cltd
589c28:	f7 be ec 00 00 00    	idivl  0xec(%esi)
589c2e:	89 54 24 18          	mov    %edx,0x18(%esp)
589c32:	8b 44 24 14          	mov    0x14(%esp),%eax
589c36:	2b 86 f0 00 00 00    	sub    0xf0(%esi),%eax
589c3c:	3b 86 f8 00 00 00    	cmp    0xf8(%esi),%eax
589c42:	7d 7b                	jge    0x589cbf
589c44:	8b 44 24 18          	mov    0x18(%esp),%eax
589c48:	2b 86 f4 00 00 00    	sub    0xf4(%esi),%eax
589c4e:	3b 86 fc 00 00 00    	cmp    0xfc(%esi),%eax
589c54:	7d 57                	jge    0x589cad
589c56:	8b 44 24 14          	mov    0x14(%esp),%eax
589c5a:	2b 86 f0 00 00 00    	sub    0xf0(%esi),%eax
589c60:	85 c0                	test   %eax,%eax
589c62:	7c 35                	jl     0x589c99
589c64:	8b 44 24 18          	mov    0x18(%esp),%eax
589c68:	2b 86 f4 00 00 00    	sub    0xf4(%esi),%eax
589c6e:	78 29                	js     0x589c99
589c70:	8b 4c 24 18          	mov    0x18(%esp),%ecx
589c74:	2b 8e f4 00 00 00    	sub    0xf4(%esi),%ecx
589c7a:	8b 54 24 14          	mov    0x14(%esp),%edx
589c7e:	2b 96 f0 00 00 00    	sub    0xf0(%esi),%edx
589c84:	8b c7                	mov    %edi,%eax
589c86:	e8 71 ed ff ff       	call   0x5889fc
589c8b:	66 8b 94 5c 54 01 00 	mov    0x154(%esp,%ebx,2),%dx
589c92:	00
589c93:	c1 e2 02             	shl    $0x2,%edx
589c96:	66 89 10             	mov    %dx,(%eax)
589c99:	0f b7 84 5c 54 01 00 	movzwl 0x154(%esp,%ebx,2),%eax
589ca0:	00
589ca1:	3b 44 24 40          	cmp    0x40(%esp),%eax
589ca5:	7d 18                	jge    0x589cbf
589ca7:	89 44 24 40          	mov    %eax,0x40(%esp)
589cab:	eb 12                	jmp    0x589cbf
589cad:	0f b7 84 5c 54 01 00 	movzwl 0x154(%esp,%ebx,2),%eax
589cb4:	00
589cb5:	33 d2                	xor    %edx,%edx
589cb7:	01 44 24 38          	add    %eax,0x38(%esp)
589cbb:	11 54 24 3c          	adc    %edx,0x3c(%esp)
589cbf:	45                   	inc    %ebp
589cc0:	83 44 24 50 04       	addl   $0x4,0x50(%esp)
589cc5:	83 44 24 4c 04       	addl   $0x4,0x4c(%esp)
589cca:	ff 4c 24 48          	decl   0x48(%esp)
589cce:	0f 85 25 fe ff ff    	jne    0x589af9
589cd4:	ff 44 24 0c          	incl   0xc(%esp)
589cd8:	ff 4c 24 44          	decl   0x44(%esp)
589cdc:	0f 85 d0 fd ff ff    	jne    0x589ab2
589ce2:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
589ce8:	3b 86 ec 00 00 00    	cmp    0xec(%esi),%eax
589cee:	7d 2f                	jge    0x589d1f
589cf0:	8b 86 ec 00 00 00    	mov    0xec(%esi),%eax
589cf6:	2b 86 fc 00 00 00    	sub    0xfc(%esi),%eax
589cfc:	f7 ae f8 00 00 00    	imull  0xf8(%esi)
589d02:	99                   	cltd
589d03:	52                   	push   %edx
589d04:	50                   	push   %eax
589d05:	8b 44 24 40          	mov    0x40(%esp),%eax
589d09:	8b 54 24 44          	mov    0x44(%esp),%edx
589d0d:	0f a4 c2 02          	shld   $0x2,%eax,%edx
589d11:	c1 e0 02             	shl    $0x2,%eax
589d14:	e8 8f bd e7 ff       	call   0x405aa8
589d19:	89 86 04 01 00 00    	mov    %eax,0x104(%esi)
589d1f:	ba 50 9d 58 00       	mov    $0x589d50,%edx
589d24:	8d 46 0a             	lea    0xa(%esi),%eax
589d27:	e8 78 ec ff ff       	call   0x5889a4
589d2c:	85 c0                	test   %eax,%eax
589d2e:	75 0d                	jne    0x589d3d
589d30:	8b 44 24 40          	mov    0x40(%esp),%eax
589d34:	c1 e0 02             	shl    $0x2,%eax
589d37:	89 86 04 01 00 00    	mov    %eax,0x104(%esi)
589d3d:	81 c4 54 21 00 00    	add    $0x2154,%esp
589d43:	5d                   	pop    %ebp
589d44:	5f                   	pop    %edi
589d45:	5e                   	pop    %esi
589d46:	5b                   	pop    %ebx
589d47:	c3                   	ret
589d48:	00 00                	add    %al,(%eax)
589d4a:	c8 42 00 00          	enter  $0x42,$0x0
589d4e:	00 40 4b             	add    %al,0x4b(%eax)
589d51:	4f                   	dec    %edi
589d52:	44                   	inc    %esp
589d53:	41                   	inc    %ecx
589d54:	4b                   	dec    %ebx
589d55:	00 00                	add    %al,(%eax)
589d57:	00 53 56             	add    %dl,0x56(%ebx)
589d5a:	57                   	push   %edi
589d5b:	55                   	push   %ebp
589d5c:	83 c4 c8             	add    $0xffffffc8,%esp
589d5f:	8b f0                	mov    %eax,%esi
589d61:	8b de                	mov    %esi,%ebx
589d63:	8b fb                	mov    %ebx,%edi
589d65:	8b c3                	mov    %ebx,%eax
589d67:	e8 58 f4 ff ff       	call   0x5891c4
589d6c:	ba bc 37 6a 00       	mov    $0x6a37bc,%edx
589d71:	8b c3                	mov    %ebx,%eax
589d73:	33 c9                	xor    %ecx,%ecx
589d75:	e8 6e f4 ff ff       	call   0x5891e8
589d7a:	8b 87 d8 00 00 00    	mov    0xd8(%edi),%eax
589d80:	99                   	cltd
589d81:	52                   	push   %edx
589d82:	50                   	push   %eax
589d83:	8b 47 04             	mov    0x4(%edi),%eax
589d86:	e8 4d 49 e9 ff       	call   0x41e6d8
589d8b:	c7 44 24 10 04 00 00 	movl   $0x4,0x10(%esp)
589d92:	00
589d93:	8d 5c 24 28          	lea    0x28(%esp),%ebx
589d97:	8b 57 04             	mov    0x4(%edi),%edx
589d9a:	8b c6                	mov    %esi,%eax
589d9c:	e8 b3 ed ff ff       	call   0x588b54
589da1:	0f b7 c0             	movzwl %ax,%eax
589da4:	89 03                	mov    %eax,(%ebx)
589da6:	83 c3 04             	add    $0x4,%ebx
589da9:	ff 4c 24 10          	decl   0x10(%esp)
589dad:	75 e8                	jne    0x589d97
589daf:	8b 57 04             	mov    0x4(%edi),%edx
589db2:	8b c6                	mov    %esi,%eax
589db4:	e8 9b ed ff ff       	call   0x588b54
589db9:	0f b7 c0             	movzwl %ax,%eax
589dbc:	89 44 24 08          	mov    %eax,0x8(%esp)
589dc0:	8b 44 24 08          	mov    0x8(%esp),%eax
589dc4:	03 c0                	add    %eax,%eax
589dc6:	e8 e9 f2 e7 ff       	call   0x4090b4
589dcb:	89 44 24 18          	mov    %eax,0x18(%esp)
589dcf:	ba a4 9f 58 00       	mov    $0x589fa4,%edx
589dd4:	8b 44 24 18          	mov    0x18(%esp),%eax
589dd8:	e8 e7 ec ff ff       	call   0x588ac4
589ddd:	8b 44 24 08          	mov    0x8(%esp),%eax
589de1:	48                   	dec    %eax
589de2:	85 c0                	test   %eax,%eax
589de4:	7c 2d                	jl     0x589e13
589de6:	40                   	inc    %eax
589de7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
589deb:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
589df2:	00
589df3:	8b 57 04             	mov    0x4(%edi),%edx
589df6:	8b c6                	mov    %esi,%eax
589df8:	e8 57 ed ff ff       	call   0x588b54
589dfd:	8b 54 24 18          	mov    0x18(%esp),%edx
589e01:	8b 4c 24 10          	mov    0x10(%esp),%ecx
589e05:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
589e09:	ff 44 24 10          	incl   0x10(%esp)
589e0d:	ff 4c 24 1c          	decl   0x1c(%esp)
589e11:	75 e0                	jne    0x589df3
589e13:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
589e19:	99                   	cltd
589e1a:	52                   	push   %edx
589e1b:	50                   	push   %eax
589e1c:	8b 47 04             	mov    0x4(%edi),%eax
589e1f:	e8 b4 48 e9 ff       	call   0x41e6d8
589e24:	8b c6                	mov    %esi,%eax
589e26:	83 ca ff             	or     $0xffffffff,%edx
589e29:	e8 ee f2 ff ff       	call   0x58911c
589e2e:	db 87 f8 00 00 00    	fildl  0xf8(%edi)
589e34:	d8 3d c0 9f 58 00    	fdivrs 0x589fc0
589e3a:	d8 35 c4 9f 58 00    	fdivs  0x589fc4
589e40:	dd 9f c0 f4 00 00    	fstpl  0xf4c0(%edi)
589e46:	9b                   	fwait
589e47:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
589e4d:	48                   	dec    %eax
589e4e:	85 c0                	test   %eax,%eax
589e50:	0f 8c 3b 01 00 00    	jl     0x589f91
589e56:	40                   	inc    %eax
589e57:	89 44 24 1c          	mov    %eax,0x1c(%esp)
589e5b:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
589e62:	00
589e63:	8d 9f a8 f4 00 00    	lea    0xf4a8(%edi),%ebx
589e69:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
589e6e:	74 16                	je     0x589e86
589e70:	db 44 24 0c          	fildl  0xc(%esp)
589e74:	dc 4b 18             	fmull  0x18(%ebx)
589e77:	e8 50 8e e7 ff       	call   0x402ccc
589e7c:	8b c8                	mov    %eax,%ecx
589e7e:	8b 53 08             	mov    0x8(%ebx),%edx
589e81:	8b 43 04             	mov    0x4(%ebx),%eax
589e84:	ff 13                	call   *(%ebx)
589e86:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
589e8c:	48                   	dec    %eax
589e8d:	85 c0                	test   %eax,%eax
589e8f:	0f 8c ee 00 00 00    	jl     0x589f83
589e95:	40                   	inc    %eax
589e96:	89 44 24 20          	mov    %eax,0x20(%esp)
589e9a:	33 ed                	xor    %ebp,%ebp
589e9c:	8b c4                	mov    %esp,%eax
589e9e:	89 44 24 24          	mov    %eax,0x24(%esp)
589ea2:	8d 9f 98 94 00 00    	lea    0x9498(%edi),%ebx
589ea8:	eb 0f                	jmp    0x589eb9
589eaa:	8b c6                	mov    %esi,%eax
589eac:	ba 01 00 00 00       	mov    $0x1,%edx
589eb1:	e8 66 f2 ff ff       	call   0x58911c
589eb6:	8b 1c 83             	mov    (%ebx,%eax,4),%ebx
589eb9:	83 3b 00             	cmpl   $0x0,(%ebx)
589ebc:	75 ec                	jne    0x589eaa
589ebe:	8b 43 08             	mov    0x8(%ebx),%eax
589ec1:	89 44 24 14          	mov    %eax,0x14(%esp)
589ec5:	8b c6                	mov    %esi,%eax
589ec7:	8b 54 24 14          	mov    0x14(%esp),%edx
589ecb:	e8 4c f2 ff ff       	call   0x58911c
589ed0:	8b d8                	mov    %eax,%ebx
589ed2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
589ed6:	49                   	dec    %ecx
589ed7:	b8 01 00 00 00       	mov    $0x1,%eax
589edc:	d3 e0                	shl    %cl,%eax
589ede:	85 d8                	test   %ebx,%eax
589ee0:	75 0e                	jne    0x589ef0
589ee2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
589ee6:	b8 01 00 00 00       	mov    $0x1,%eax
589eeb:	d3 e0                	shl    %cl,%eax
589eed:	48                   	dec    %eax
589eee:	2b d8                	sub    %eax,%ebx
589ef0:	83 fd 02             	cmp    $0x2,%ebp
589ef3:	7d 2c                	jge    0x589f21
589ef5:	8b 44 24 0c          	mov    0xc(%esp),%eax
589ef9:	83 e0 01             	and    $0x1,%eax
589efc:	03 c0                	add    %eax,%eax
589efe:	8b d5                	mov    %ebp,%edx
589f00:	83 e2 01             	and    $0x1,%edx
589f03:	03 c2                	add    %edx,%eax
589f05:	89 44 24 10          	mov    %eax,0x10(%esp)
589f09:	8b 44 24 10          	mov    0x10(%esp),%eax
589f0d:	01 5c 84 28          	add    %ebx,0x28(%esp,%eax,4)
589f11:	8b 44 24 10          	mov    0x10(%esp),%eax
589f15:	8b 44 84 28          	mov    0x28(%esp,%eax,4),%eax
589f19:	8b 54 24 24          	mov    0x24(%esp),%edx
589f1d:	89 02                	mov    %eax,(%edx)
589f1f:	eb 08                	jmp    0x589f29
589f21:	8b c5                	mov    %ebp,%eax
589f23:	83 e0 01             	and    $0x1,%eax
589f26:	01 1c 84             	add    %ebx,(%esp,%eax,4)
589f29:	8b c5                	mov    %ebp,%eax
589f2b:	2b 87 f4 00 00 00    	sub    0xf4(%edi),%eax
589f31:	3b 87 fc 00 00 00    	cmp    0xfc(%edi),%eax
589f37:	7d 3a                	jge    0x589f73
589f39:	8b c5                	mov    %ebp,%eax
589f3b:	83 e0 01             	and    $0x1,%eax
589f3e:	8b 1c 84             	mov    (%esp,%eax,4),%ebx
589f41:	85 db                	test   %ebx,%ebx
589f43:	7d 02                	jge    0x589f47
589f45:	33 db                	xor    %ebx,%ebx
589f47:	3b 5c 24 08          	cmp    0x8(%esp),%ebx