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
589010:	8a 48 09             	mov    0x9(%eax),%cl
589013:	c1 e1 08             	shl    $0x8,%ecx
589016:	33 db                	xor    %ebx,%ebx
589018:	8a 58 08             	mov    0x8(%eax),%bl
58901b:	66 03 cb             	add    %bx,%cx
58901e:	66 89 4a 0e          	mov    %cx,0xe(%edx)
589022:	83 c0 0a             	add    $0xa,%eax
589025:	83 c2 10             	add    $0x10,%edx
589028:	8d 8c 24 a4 07 00 00 	lea    0x7a4(%esp),%ecx
58902f:	8b 5c 24 08          	mov    0x8(%esp),%ebx
589033:	8b 9b ec 00 00 00    	mov    0xec(%ebx),%ebx
589039:	03 db                	add    %ebx,%ebx
58903b:	03 cb                	add    %ebx,%ecx
58903d:	3b ca                	cmp    %edx,%ecx
58903f:	0f 8f 2e ff ff ff    	jg     0x588f73
589045:	8b 44 24 08          	mov    0x8(%esp),%eax
589049:	8b 98 fc 00 00 00    	mov    0xfc(%eax),%ebx
58904f:	4b                   	dec    %ebx
589050:	85 db                	test   %ebx,%ebx
589052:	7c 2d                	jl     0x589081
589054:	43                   	inc    %ebx
589055:	33 ff                	xor    %edi,%edi
589057:	8d b4 24 a4 07 00 00 	lea    0x7a4(%esp),%esi
58905e:	8b 04 24             	mov    (%esp),%eax
589061:	8b cf                	mov    %edi,%ecx
589063:	8b 54 24 04          	mov    0x4(%esp),%edx
589067:	e8 90 f9 ff ff       	call   0x5889fc
58906c:	66 8b 16             	mov    (%esi),%dx
58906f:	66 81 e2 ff 03       	and    $0x3ff,%dx
589074:	c1 e2 04             	shl    $0x4,%edx
589077:	66 89 10             	mov    %dx,(%eax)
58907a:	47                   	inc    %edi
58907b:	83 c6 02             	add    $0x2,%esi
58907e:	4b                   	dec    %ebx
58907f:	75 dd                	jne    0x58905e
589081:	8b 44 24 08          	mov    0x8(%esp),%eax
589085:	8b b8 fc 00 00 00    	mov    0xfc(%eax),%edi
58908b:	8b 44 24 08          	mov    0x8(%esp),%eax
58908f:	8b 98 ec 00 00 00    	mov    0xec(%eax),%ebx
589095:	4b                   	dec    %ebx
589096:	2b df                	sub    %edi,%ebx
589098:	7c 23                	jl     0x5890bd
58909a:	43                   	inc    %ebx
58909b:	8d 84 7c a4 07 00 00 	lea    0x7a4(%esp,%edi,2),%eax
5890a2:	66 8b 10             	mov    (%eax),%dx
5890a5:	66 81 e2 ff 03       	and    $0x3ff,%dx
5890aa:	0f b7 d2             	movzwl %dx,%edx
5890ad:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5890b1:	01 91 04 01 00 00    	add    %edx,0x104(%ecx)
5890b7:	83 c0 02             	add    $0x2,%eax
5890ba:	4b                   	dec    %ebx
5890bb:	75 e5                	jne    0x5890a2
5890bd:	ff 44 24 04          	incl   0x4(%esp)
5890c1:	ff 4c 24 0c          	decl   0xc(%esp)
5890c5:	0f 85 48 fe ff ff    	jne    0x588f13
5890cb:	8b 44 24 08          	mov    0x8(%esp),%eax
5890cf:	8b 98 fc 00 00 00    	mov    0xfc(%eax),%ebx
5890d5:	8b 44 24 08          	mov    0x8(%esp),%eax
5890d9:	8b 88 ec 00 00 00    	mov    0xec(%eax),%ecx
5890df:	3b d9                	cmp    %ecx,%ebx
5890e1:	7d 27                	jge    0x58910a
5890e3:	2b cb                	sub    %ebx,%ecx
5890e5:	8b 44 24 08          	mov    0x8(%esp),%eax
5890e9:	0f af 88 f8 00 00 00 	imul   0xf8(%eax),%ecx
5890f0:	8b 44 24 08          	mov    0x8(%esp),%eax
5890f4:	8b 80 04 01 00 00    	mov    0x104(%eax),%eax
5890fa:	c1 e0 04             	shl    $0x4,%eax
5890fd:	99                   	cltd
5890fe:	f7 f9                	idiv   %ecx
589100:	8b 54 24 08          	mov    0x8(%esp),%edx
589104:	89 82 04 01 00 00    	mov    %eax,0x104(%edx)
58910a:	81 c4 c4 13 00 00    	add    $0x13c4,%esp
589110:	5f                   	pop    %edi
589111:	5e                   	pop    %esi
589112:	5b                   	pop    %ebx
589113:	c3                   	ret
589114:	00 00                	add    %al,(%eax)
589116:	c8 42 00 00          	enter  $0x42,$0x0
58911a:	00 40 53             	add    %al,0x53(%eax)
58911d:	56                   	push   %esi
58911e:	8b d8                	mov    %eax,%ebx
589120:	85 d2                	test   %edx,%edx
589122:	75 05                	jne    0x589129
589124:	33 c0                	xor    %eax,%eax
589126:	5e                   	pop    %esi
589127:	5b                   	pop    %ebx
589128:	c3                   	ret
589129:	83 fa ff             	cmp    $0xffffffff,%edx
58912c:	75 14                	jne    0x589142
58912e:	33 c0                	xor    %eax,%eax
589130:	89 83 3c 94 00 00    	mov    %eax,0x943c(%ebx)
589136:	33 c0                	xor    %eax,%eax
589138:	89 83 38 94 00 00    	mov    %eax,0x9438(%ebx)
58913e:	33 f6                	xor    %esi,%esi
589140:	eb 61                	jmp    0x5891a3
589142:	b9 20 00 00 00       	mov    $0x20,%ecx
589147:	2b 8b 3c 94 00 00    	sub    0x943c(%ebx),%ecx
58914d:	8b b3 38 94 00 00    	mov    0x9438(%ebx),%esi
589153:	d3 e6                	shl    %cl,%esi
589155:	b9 20 00 00 00       	mov    $0x20,%ecx
58915a:	2b ca                	sub    %edx,%ecx
58915c:	d3 ee                	shr    %cl,%esi
58915e:	29 93 3c 94 00 00    	sub    %edx,0x943c(%ebx)
589164:	eb 3d                	jmp    0x5891a3
589166:	8b 43 04             	mov    0x4(%ebx),%eax
589169:	e8 5a f8 ff ff       	call   0x5889c8
58916e:	25 ff 00 00 00       	and    $0xff,%eax
589173:	8b 93 38 94 00 00    	mov    0x9438(%ebx),%edx
589179:	c1 e2 08             	shl    $0x8,%edx
58917c:	03 d0                	add    %eax,%edx
58917e:	89 93 38 94 00 00    	mov    %edx,0x9438(%ebx)
589184:	3d ff 00 00 00       	cmp    $0xff,%eax
589189:	75 11                	jne    0x58919c
58918b:	83 bb 38 01 00 00 00 	cmpl   $0x0,0x138(%ebx)
589192:	74 08                	je     0x58919c
589194:	8b 43 04             	mov    0x4(%ebx),%eax
589197:	e8 2c f8 ff ff       	call   0x5889c8
58919c:	83 83 3c 94 00 00 08 	addl   $0x8,0x943c(%ebx)
5891a3:	83 bb 3c 94 00 00 19 	cmpl   $0x19,0x943c(%ebx)
5891aa:	7c ba                	jl     0x589166
5891ac:	8b c6                	mov    %esi,%eax
5891ae:	5e                   	pop    %esi
5891af:	5b                   	pop    %ebx
5891b0:	c3                   	ret
5891b1:	8d 40 00             	lea    0x0(%eax),%eax
5891b4:	81 e2 ff 00 00 00    	and    $0xff,%edx
5891ba:	87 d1                	xchg   %edx,%ecx
5891bc:	e8 7f a0 e7 ff       	call   0x403240
5891c1:	c3                   	ret
5891c2:	8b c0                	mov    %eax,%eax
5891c4:	53                   	push   %ebx
5891c5:	8b d8                	mov    %eax,%ebx
5891c7:	8d 83 98 94 00 00    	lea    0x9498(%ebx),%eax
5891cd:	b9 00 60 00 00       	mov    $0x6000,%ecx
5891d2:	33 d2                	xor    %edx,%edx
5891d4:	e8 db ff ff ff       	call   0x5891b4
5891d9:	8d 83 98 94 00 00    	lea    0x9498(%ebx),%eax
5891df:	89 83 9c f4 00 00    	mov    %eax,0xf49c(%ebx)
5891e5:	5b                   	pop    %ebx
5891e6:	c3                   	ret
5891e7:	90                   	nop
5891e8:	53                   	push   %ebx
5891e9:	56                   	push   %esi
5891ea:	57                   	push   %edi
5891eb:	83 c4 f8             	add    $0xfffffff8,%esp
5891ee:	89 0c 24             	mov    %ecx,(%esp)
5891f1:	8b f2                	mov    %edx,%esi
5891f3:	8b d8                	mov    %eax,%ebx
5891f5:	83 3c 24 00          	cmpl   $0x0,(%esp)
5891f9:	75 08                	jne    0x589203
5891fb:	33 c0                	xor    %eax,%eax
5891fd:	89 83 40 94 00 00    	mov    %eax,0x9440(%ebx)
589203:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
589209:	89 44 24 04          	mov    %eax,0x4(%esp)
58920d:	83 83 9c f4 00 00 0c 	addl   $0xc,0xf49c(%ebx)
589214:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
58921a:	8d 93 98 94 00 00    	lea    0x9498(%ebx),%edx
589220:	81 c2 00 60 00 00    	add    $0x6000,%edx
589226:	3b c2                	cmp    %edx,%eax
589228:	7e 16                	jle    0x589240
58922a:	b9 d0 92 58 00       	mov    $0x5892d0,%ecx
58922f:	b2 01                	mov    $0x1,%dl
589231:	a1 cc 84 40 00       	mov    0x4084cc,%eax
589236:	e8 0d 3c e8 ff       	call   0x40ce48
58923b:	e8 04 b0 e7 ff       	call   0x404244
589240:	33 d2                	xor    %edx,%edx
589242:	33 c0                	xor    %eax,%eax
589244:	eb 08                	jmp    0x58924e
589246:	33 c9                	xor    %ecx,%ecx
589248:	8a 0c 06             	mov    (%esi,%eax,1),%cl
58924b:	03 d1                	add    %ecx,%edx
58924d:	40                   	inc    %eax
58924e:	3b 93 40 94 00 00    	cmp    0x9440(%ebx),%edx
589254:	7f 05                	jg     0x58925b
589256:	83 f8 10             	cmp    $0x10,%eax