588bad:	56                   	push   %esi
588bae:	57                   	push   %edi
588baf:	51                   	push   %ecx
588bb0:	8b da                	mov    %edx,%ebx
588bb2:	8b f0                	mov    %eax,%esi
588bb4:	8b d4                	mov    %esp,%edx
588bb6:	b9 01 00 00 00       	mov    $0x1,%ecx
588bbb:	8b c3                	mov    %ebx,%eax
588bbd:	8b 38                	mov    (%eax),%edi
588bbf:	ff 57 08             	call   *0x8(%edi)
588bc2:	8d 54 24 01          	lea    0x1(%esp),%edx
588bc6:	b9 01 00 00 00       	mov    $0x1,%ecx
588bcb:	8b c3                	mov    %ebx,%eax
588bcd:	8b 38                	mov    (%eax),%edi
588bcf:	ff 57 08             	call   *0x8(%edi)
588bd2:	8d 54 24 02          	lea    0x2(%esp),%edx
588bd6:	b9 01 00 00 00       	mov    $0x1,%ecx
588bdb:	8b c3                	mov    %ebx,%eax
588bdd:	8b 38                	mov    (%eax),%edi
588bdf:	ff 57 08             	call   *0x8(%edi)
588be2:	8d 54 24 03          	lea    0x3(%esp),%edx
588be6:	b9 01 00 00 00       	mov    $0x1,%ecx
588beb:	8b c3                	mov    %ebx,%eax
588bed:	8b 18                	mov    (%eax),%ebx
588bef:	ff 53 08             	call   *0x8(%ebx)
588bf2:	66 81 7e 08 49 49    	cmpw   $0x4949,0x8(%esi)
588bf8:	75 28                	jne    0x588c22
588bfa:	33 c0                	xor    %eax,%eax
588bfc:	8a 04 24             	mov    (%esp),%al
588bff:	33 d2                	xor    %edx,%edx
588c01:	8a 54 24 01          	mov    0x1(%esp),%dl
588c05:	c1 e2 08             	shl    $0x8,%edx
588c08:	03 c2                	add    %edx,%eax
588c0a:	33 d2                	xor    %edx,%edx
588c0c:	8a 54 24 02          	mov    0x2(%esp),%dl
588c10:	c1 e2 10             	shl    $0x10,%edx
588c13:	03 c2                	add    %edx,%eax
588c15:	33 d2                	xor    %edx,%edx
588c17:	8a 54 24 03          	mov    0x3(%esp),%dl
588c1b:	c1 e2 18             	shl    $0x18,%edx
588c1e:	03 c2                	add    %edx,%eax
588c20:	eb 26                	jmp    0x588c48
588c22:	33 c0                	xor    %eax,%eax
588c24:	8a 04 24             	mov    (%esp),%al
588c27:	c1 e0 18             	shl    $0x18,%eax
588c2a:	33 d2                	xor    %edx,%edx
588c2c:	8a 54 24 01          	mov    0x1(%esp),%dl
588c30:	c1 e2 10             	shl    $0x10,%edx
588c33:	03 c2                	add    %edx,%eax
588c35:	33 d2                	xor    %edx,%edx
588c37:	8a 54 24 02          	mov    0x2(%esp),%dl
588c3b:	c1 e2 08             	shl    $0x8,%edx
588c3e:	03 c2                	add    %edx,%eax
588c40:	33 d2                	xor    %edx,%edx
588c42:	8a 54 24 03          	mov    0x3(%esp),%dl
588c46:	03 c2                	add    %edx,%eax
588c48:	5a                   	pop    %edx
588c49:	5f                   	pop    %edi
588c4a:	5e                   	pop    %esi
588c4b:	5b                   	pop    %ebx
588c4c:	c3                   	ret
588c4d:	8d 40 00             	lea    0x0(%eax),%eax
588c50:	53                   	push   %ebx
588c51:	56                   	push   %esi
588c52:	57                   	push   %edi
588c53:	81 c4 8c f4 ff ff    	add    $0xfffff48c,%esp
588c59:	89 04 24             	mov    %eax,(%esp)
588c5c:	8b 04 24             	mov    (%esp),%eax
588c5f:	89 44 24 0c          	mov    %eax,0xc(%esp)
588c63:	33 c0                	xor    %eax,%eax
588c65:	89 44 24 08          	mov    %eax,0x8(%esp)
588c69:	8b 44 24 0c          	mov    0xc(%esp),%eax
588c6d:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
588c73:	d8 3d b0 8e 58 00    	fdivrs 0x588eb0
588c79:	d8 35 b4 8e 58 00    	fdivs  0x588eb4
588c7f:	8b 44 24 0c          	mov    0xc(%esp),%eax
588c83:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
588c89:	9b                   	fwait
588c8a:	8b 44 24 0c          	mov    0xc(%esp),%eax
588c8e:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
588c94:	48                   	dec    %eax
588c95:	85 c0                	test   %eax,%eax
588c97:	0f 8c d3 01 00 00    	jl     0x588e70
588c9d:	40                   	inc    %eax
588c9e:	89 44 24 10          	mov    %eax,0x10(%esp)
588ca2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
588ca9:	00
588caa:	8b 44 24 0c          	mov    0xc(%esp),%eax
588cae:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
588cb4:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
588cb9:	74 16                	je     0x588cd1
588cbb:	db 44 24 04          	fildl  0x4(%esp)
588cbf:	dc 4b 18             	fmull  0x18(%ebx)
588cc2:	e8 05 a0 e7 ff       	call   0x402ccc
588cc7:	8b c8                	mov    %eax,%ecx
588cc9:	8b 53 08             	mov    0x8(%ebx),%edx
588ccc:	8b 43 04             	mov    0x4(%ebx),%eax
588ccf:	ff 13                	call   *(%ebx)
588cd1:	8d 54 24 14          	lea    0x14(%esp),%edx
588cd5:	8b 44 24 0c          	mov    0xc(%esp),%eax
588cd9:	8b 40 04             	mov    0x4(%eax),%eax
588cdc:	b9 60 04 00 00       	mov    $0x460,%ecx
588ce1:	8b 18                	mov    (%eax),%ebx
588ce3:	ff 53 08             	call   *0x8(%ebx)
588ce6:	8d 44 24 14          	lea    0x14(%esp),%eax
588cea:	8d 94 24 74 04 00 00 	lea    0x474(%esp),%edx
588cf1:	e9 d4 00 00 00       	jmp    0x588dca
588cf6:	33 c9                	xor    %ecx,%ecx
588cf8:	8a 08                	mov    (%eax),%cl
588cfa:	c1 e1 02             	shl    $0x2,%ecx
588cfd:	33 db                	xor    %ebx,%ebx
588cff:	8a 58 01             	mov    0x1(%eax),%bl
588d02:	c1 eb 06             	shr    $0x6,%ebx
588d05:	66 03 cb             	add    %bx,%cx
588d08:	66 89 0a             	mov    %cx,(%edx)
588d0b:	33 c9                	xor    %ecx,%ecx
588d0d:	8a 48 02             	mov    0x2(%eax),%cl
588d10:	c1 e1 02             	shl    $0x2,%ecx
588d13:	33 db                	xor    %ebx,%ebx
588d15:	8a 58 01             	mov    0x1(%eax),%bl
588d18:	c1 eb 04             	shr    $0x4,%ebx
588d1b:	66 83 e3 03          	and    $0x3,%bx
588d1f:	66 03 cb             	add    %bx,%cx
588d22:	66 89 4a 02          	mov    %cx,0x2(%edx)
588d26:	33 c9                	xor    %ecx,%ecx
588d28:	8a 48 03             	mov    0x3(%eax),%cl
588d2b:	c1 e1 02             	shl    $0x2,%ecx
588d2e:	33 db                	xor    %ebx,%ebx
588d30:	8a 58 01             	mov    0x1(%eax),%bl
588d33:	c1 eb 02             	shr    $0x2,%ebx
588d36:	66 83 e3 03          	and    $0x3,%bx
588d3a:	66 03 cb             	add    %bx,%cx
588d3d:	66 89 4a 04          	mov    %cx,0x4(%edx)
588d41:	8a 48 01             	mov    0x1(%eax),%cl
588d44:	80 e1 03             	and    $0x3,%cl
588d47:	81 e1 ff 00 00 00    	and    $0xff,%ecx
588d4d:	33 db                	xor    %ebx,%ebx
588d4f:	8a 58 04             	mov    0x4(%eax),%bl
588d52:	c1 e3 02             	shl    $0x2,%ebx
588d55:	66 03 cb             	add    %bx,%cx
588d58:	66 89 4a 06          	mov    %cx,0x6(%edx)
588d5c:	8a 48 09             	mov    0x9(%eax),%cl
588d5f:	80 e1 03             	and    $0x3,%cl
588d62:	81 e1 ff 00 00 00    	and    $0xff,%ecx
588d68:	33 db                	xor    %ebx,%ebx
588d6a:	8a 58 05             	mov    0x5(%eax),%bl
588d6d:	c1 e3 02             	shl    $0x2,%ebx
588d70:	66 03 cb             	add    %bx,%cx
588d73:	66 89 4a 08          	mov    %cx,0x8(%edx)
588d77:	33 c9                	xor    %ecx,%ecx
588d79:	8a 48 06             	mov    0x6(%eax),%cl
588d7c:	c1 e1 02             	shl    $0x2,%ecx
588d7f:	33 db                	xor    %ebx,%ebx
588d81:	8a 58 09             	mov    0x9(%eax),%bl
588d84:	c1 eb 02             	shr    $0x2,%ebx
588d87:	66 83 e3 03          	and    $0x3,%bx
588d8b:	66 03 cb             	add    %bx,%cx
588d8e:	66 89 4a 0a          	mov    %cx,0xa(%edx)
588d92:	33 c9                	xor    %ecx,%ecx
588d94:	8a 48 07             	mov    0x7(%eax),%cl
588d97:	c1 e1 02             	shl    $0x2,%ecx
588d9a:	33 db                	xor    %ebx,%ebx
588d9c:	8a 58 09             	mov    0x9(%eax),%bl
588d9f:	c1 eb 04             	shr    $0x4,%ebx
588da2:	66 83 e3 03          	and    $0x3,%bx
588da6:	66 03 cb             	add    %bx,%cx
588da9:	66 89 4a 0c          	mov    %cx,0xc(%edx)
588dad:	33 c9                	xor    %ecx,%ecx
588daf:	8a 48 08             	mov    0x8(%eax),%cl
588db2:	c1 e1 02             	shl    $0x2,%ecx
588db5:	33 db                	xor    %ebx,%ebx
588db7:	8a 58 09             	mov    0x9(%eax),%bl
588dba:	c1 eb 06             	shr    $0x6,%ebx
588dbd:	66 03 cb             	add    %bx,%cx
588dc0:	66 89 4a 0e          	mov    %cx,0xe(%edx)
588dc4:	83 c0 0a             	add    $0xa,%eax
588dc7:	83 c2 10             	add    $0x10,%edx
588dca:	8d 4c 24 14          	lea    0x14(%esp),%ecx
588dce:	81 c1 60 04 00 00    	add    $0x460,%ecx
588dd4:	3b c8                	cmp    %eax,%ecx
588dd6:	0f 8f 1a ff ff ff    	jg     0x588cf6
588ddc:	8b 44 24 0c          	mov    0xc(%esp),%eax
588de0:	8b b8 fc 00 00 00    	mov    0xfc(%eax),%edi
588de6:	4f                   	dec    %edi
588de7:	85 ff                	test   %edi,%edi
588de9:	7c 28                	jl     0x588e13
588deb:	47                   	inc    %edi
588dec:	33 db                	xor    %ebx,%ebx
588dee:	8d b4 24 74 04 00 00 	lea    0x474(%esp),%esi
588df5:	8b 04 24             	mov    (%esp),%eax
588df8:	8b cb                	mov    %ebx,%ecx
588dfa:	8b 54 24 08          	mov    0x8(%esp),%edx
588dfe:	e8 f9 fb ff ff       	call   0x5889fc
588e03:	66 8b 16             	mov    (%esi),%dx
588e06:	c1 e2 04             	shl    $0x4,%edx
588e09:	66 89 10             	mov    %dx,(%eax)
588e0c:	43                   	inc    %ebx
588e0d:	83 c6 02             	add    $0x2,%esi
588e10:	4f                   	dec    %edi
588e11:	75 e2                	jne    0x588df5
588e13:	8b 44 24 0c          	mov    0xc(%esp),%eax
588e17:	8b 98 fc 00 00 00    	mov    0xfc(%eax),%ebx
588e1d:	81 fb 7f 03 00 00    	cmp    $0x37f,%ebx
588e23:	7f 20                	jg     0x588e45
588e25:	8d 84 5c 74 04 00 00 	lea    0x474(%esp,%ebx,2),%eax
588e2c:	0f b7 10             	movzwl (%eax),%edx
588e2f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
588e33:	01 91 04 01 00 00    	add    %edx,0x104(%ecx)
588e39:	43                   	inc    %ebx
588e3a:	83 c0 02             	add    $0x2,%eax
588e3d:	81 fb 80 03 00 00    	cmp    $0x380,%ebx
588e43:	75 e7                	jne    0x588e2c
588e45:	83 44 24 08 02       	addl   $0x2,0x8(%esp)
588e4a:	8b 44 24 0c          	mov    0xc(%esp),%eax
588e4e:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
588e54:	3b 44 24 08          	cmp    0x8(%esp),%eax
588e58:	7d 08                	jge    0x588e62
588e5a:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
588e61:	00
588e62:	ff 44 24 04          	incl   0x4(%esp)
588e66:	ff 4c 24 10          	decl   0x10(%esp)
588e6a:	0f 85 3a fe ff ff    	jne    0x588caa
588e70:	8b 44 24 0c          	mov    0xc(%esp),%eax
588e74:	ba 80 03 00 00       	mov    $0x380,%edx
588e79:	2b 90 fc 00 00 00    	sub    0xfc(%eax),%edx
588e7f:	8b 44 24 0c          	mov    0xc(%esp),%eax
588e83:	0f af 90 f8 00 00 00 	imul   0xf8(%eax),%edx
588e8a:	8b 44 24 0c          	mov    0xc(%esp),%eax
588e8e:	8b 80 04 01 00 00    	mov    0x104(%eax),%eax
588e94:	c1 e0 04             	shl    $0x4,%eax
588e97:	8b ca                	mov    %edx,%ecx
588e99:	99                   	cltd
588e9a:	f7 f9                	idiv   %ecx
588e9c:	8b 54 24 0c          	mov    0xc(%esp),%edx
588ea0:	89 82 04 01 00 00    	mov    %eax,0x104(%edx)
588ea6:	81 c4 74 0b 00 00    	add    $0xb74,%esp
588eac:	5f                   	pop    %edi
588ead:	5e                   	pop    %esi
588eae:	5b                   	pop    %ebx
588eaf:	c3                   	ret
588eb0:	00 00                	add    %al,(%eax)
588eb2:	c8 42 00 00          	enter  $0x42,$0x0
588eb6:	00 40 53             	add    %al,0x53(%eax)
588eb9:	56                   	push   %esi
588eba:	57                   	push   %edi
588ebb:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
588ec1:	50                   	push   %eax
588ec2:	81 c4 3c fc ff ff    	add    $0xfffffc3c,%esp
588ec8:	89 04 24             	mov    %eax,(%esp)
588ecb:	8b 04 24             	mov    (%esp),%eax
588ece:	89 44 24 08          	mov    %eax,0x8(%esp)
588ed2:	8b 44 24 08          	mov    0x8(%esp),%eax
588ed6:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
588edc:	d8 3d 14 91 58 00    	fdivrs 0x589114
588ee2:	d8 35 18 91 58 00    	fdivs  0x589118
588ee8:	8b 44 24 08          	mov    0x8(%esp),%eax
588eec:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
588ef2:	9b                   	fwait
588ef3:	8b 44 24 08          	mov    0x8(%esp),%eax
588ef7:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
588efd:	48                   	dec    %eax
588efe:	85 c0                	test   %eax,%eax
588f00:	0f 8c c5 01 00 00    	jl     0x5890cb
588f06:	40                   	inc    %eax
588f07:	89 44 24 0c          	mov    %eax,0xc(%esp)
588f0b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
588f12:	00
588f13:	8b 44 24 08          	mov    0x8(%esp),%eax
588f17:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
588f1d:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
588f22:	74 16                	je     0x588f3a
588f24:	db 44 24 04          	fildl  0x4(%esp)
588f28:	dc 4b 18             	fmull  0x18(%ebx)
588f2b:	e8 9c 9d e7 ff       	call   0x402ccc
588f30:	8b c8                	mov    %eax,%ecx
588f32:	8b 53 08             	mov    0x8(%ebx),%edx
588f35:	8b 43 04             	mov    0x4(%ebx),%eax
588f38:	ff 13                	call   *(%ebx)
588f3a:	8b 44 24 08          	mov    0x8(%esp),%eax
588f3e:	8b 88 ec 00 00 00    	mov    0xec(%eax),%ecx
588f44:	03 c9                	add    %ecx,%ecx
588f46:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
588f49:	85 c9                	test   %ecx,%ecx
588f4b:	79 03                	jns    0x588f50
588f4d:	83 c1 07             	add    $0x7,%ecx
588f50:	c1 f9 03             	sar    $0x3,%ecx
588f53:	8d 54 24 10          	lea    0x10(%esp),%edx
588f57:	8b 44 24 08          	mov    0x8(%esp),%eax
588f5b:	8b 40 04             	mov    0x4(%eax),%eax
588f5e:	8b 18                	mov    (%eax),%ebx
588f60:	ff 53 08             	call   *0x8(%ebx)
588f63:	8d 44 24 10          	lea    0x10(%esp),%eax
588f67:	8d 94 24 a4 07 00 00 	lea    0x7a4(%esp),%edx
588f6e:	e9 b5 00 00 00       	jmp    0x589028
588f73:	33 c9                	xor    %ecx,%ecx
588f75:	8a 48 01             	mov    0x1(%eax),%cl
588f78:	c1 e1 02             	shl    $0x2,%ecx
588f7b:	33 db                	xor    %ebx,%ebx
588f7d:	8a 18                	mov    (%eax),%bl
588f7f:	c1 eb 06             	shr    $0x6,%ebx
588f82:	66 03 cb             	add    %bx,%cx
588f85:	66 89 0a             	mov    %cx,(%edx)
588f88:	33 c9                	xor    %ecx,%ecx
588f8a:	8a 08                	mov    (%eax),%cl
588f8c:	c1 e1 04             	shl    $0x4,%ecx
588f8f:	33 db                	xor    %ebx,%ebx
588f91:	8a 58 03             	mov    0x3(%eax),%bl
588f94:	c1 eb 04             	shr    $0x4,%ebx
588f97:	66 03 cb             	add    %bx,%cx
588f9a:	66 89 4a 02          	mov    %cx,0x2(%edx)
588f9e:	33 c9                	xor    %ecx,%ecx
588fa0:	8a 48 03             	mov    0x3(%eax),%cl
588fa3:	c1 e1 06             	shl    $0x6,%ecx
588fa6:	33 db                	xor    %ebx,%ebx
588fa8:	8a 58 02             	mov    0x2(%eax),%bl
588fab:	c1 eb 02             	shr    $0x2,%ebx
588fae:	66 03 cb             	add    %bx,%cx
588fb1:	66 89 4a 04          	mov    %cx,0x4(%edx)
588fb5:	33 c9                	xor    %ecx,%ecx
588fb7:	8a 48 02             	mov    0x2(%eax),%cl
588fba:	c1 e1 08             	shl    $0x8,%ecx
588fbd:	33 db                	xor    %ebx,%ebx
588fbf:	8a 58 05             	mov    0x5(%eax),%bl
588fc2:	66 03 cb             	add    %bx,%cx
588fc5:	66 89 4a 06          	mov    %cx,0x6(%edx)
588fc9:	33 c9                	xor    %ecx,%ecx
588fcb:	8a 48 04             	mov    0x4(%eax),%cl
588fce:	c1 e1 02             	shl    $0x2,%ecx
588fd1:	33 db                	xor    %ebx,%ebx
588fd3:	8a 58 07             	mov    0x7(%eax),%bl
588fd6:	c1 eb 06             	shr    $0x6,%ebx
588fd9:	66 03 cb             	add    %bx,%cx
588fdc:	66 89 4a 08          	mov    %cx,0x8(%edx)
588fe0:	33 c9                	xor    %ecx,%ecx
588fe2:	8a 48 07             	mov    0x7(%eax),%cl
588fe5:	c1 e1 04             	shl    $0x4,%ecx
588fe8:	33 db                	xor    %ebx,%ebx
588fea:	8a 58 06             	mov    0x6(%eax),%bl
588fed:	c1 eb 04             	shr    $0x4,%ebx
588ff0:	66 03 cb             	add    %bx,%cx
588ff3:	66 89 4a 0a          	mov    %cx,0xa(%edx)
588ff7:	33 c9                	xor    %ecx,%ecx
588ff9:	8a 48 06             	mov    0x6(%eax),%cl
588ffc:	c1 e1 06             	shl    $0x6,%ecx
588fff:	33 db                	xor    %ebx,%ebx
589001:	8a 58 09             	mov    0x9(%eax),%bl
589004:	c1 eb 02             	shr    $0x2,%ebx
589007:	66 03 cb             	add    %bx,%cx
58900a:	66 89 4a 0c          	mov    %cx,0xc(%edx)
58900e:	33 c9                	xor    %ecx,%ecx