58e109:	83 c0 03             	add    $0x3,%eax
58e10c:	c1 f8 02             	sar    $0x2,%eax
58e10f:	f7 6c 24 14          	imull  0x14(%esp)
58e113:	03 44 24 18          	add    0x18(%esp),%eax
58e117:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e11a:	8b 54 24 10          	mov    0x10(%esp),%edx
58e11e:	8d 04 42             	lea    (%edx,%eax,2),%eax
58e121:	8b 16                	mov    (%esi),%edx
58e123:	c1 ea 04             	shr    $0x4,%edx
58e126:	66 89 14 58          	mov    %dx,(%eax,%ebx,2)
58e12a:	eb 6e                	jmp    0x58e19a
58e12c:	8b 44 24 14          	mov    0x14(%esp),%eax
58e130:	40                   	inc    %eax
58e131:	8b 14 24             	mov    (%esp),%edx
58e134:	8b 92 fc 00 00 00    	mov    0xfc(%edx),%edx
58e13a:	85 d2                	test   %edx,%edx
58e13c:	79 03                	jns    0x58e141
58e13e:	83 c2 03             	add    $0x3,%edx
58e141:	c1 fa 02             	sar    $0x2,%edx
58e144:	f7 ea                	imul   %edx
58e146:	03 44 24 18          	add    0x18(%esp),%eax
58e14a:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e14d:	8b 54 24 10          	mov    0x10(%esp),%edx
58e151:	8d 04 42             	lea    (%edx,%eax,2),%eax
58e154:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
58e158:	69 c0 30 07 00 00    	imul   $0x730,%eax,%eax
58e15e:	69 16 8d 00 00 00    	imul   $0x8d,(%esi),%edx
58e164:	03 c2                	add    %edx,%eax
58e166:	ba 0c 00 00 00       	mov    $0xc,%edx
58e16b:	e8 98 f4 ff ff       	call   0x58d608
58e170:	8b 14 24             	mov    (%esp),%edx
58e173:	8b 92 fc 00 00 00    	mov    0xfc(%edx),%edx
58e179:	85 d2                	test   %edx,%edx
58e17b:	79 03                	jns    0x58e180
58e17d:	83 c2 03             	add    $0x3,%edx
58e180:	c1 fa 02             	sar    $0x2,%edx
58e183:	0f af 54 24 14       	imul   0x14(%esp),%edx
58e188:	03 54 24 18          	add    0x18(%esp),%edx
58e18c:	8d 14 52             	lea    (%edx,%edx,2),%edx
58e18f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58e193:	8d 14 51             	lea    (%ecx,%edx,2),%edx
58e196:	66 89 04 5a          	mov    %ax,(%edx,%ebx,2)
58e19a:	43                   	inc    %ebx
58e19b:	83 c6 04             	add    $0x4,%esi
58e19e:	83 fb 03             	cmp    $0x3,%ebx
58e1a1:	0f 85 37 ff ff ff    	jne    0x58e0de
58e1a7:	ff 44 24 18          	incl   0x18(%esp)
58e1ab:	ff 4c 24 38          	decl   0x38(%esp)
58e1af:	0f 85 c6 fe ff ff    	jne    0x58e07b
58e1b5:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
58e1ba:	0f 85 8e fe ff ff    	jne    0x58e04e
58e1c0:	8b 04 24             	mov    (%esp),%eax
58e1c3:	8b 80 f8 00 00 00    	mov    0xf8(%eax),%eax
58e1c9:	83 e0 fc             	and    $0xfffffffc,%eax
58e1cc:	48                   	dec    %eax
58e1cd:	85 c0                	test   %eax,%eax
58e1cf:	0f 8c 7d 03 00 00    	jl     0x58e552
58e1d5:	40                   	inc    %eax
58e1d6:	89 44 24 38          	mov    %eax,0x38(%esp)
58e1da:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58e1e1:	00
58e1e2:	33 c0                	xor    %eax,%eax
58e1e4:	89 44 24 64          	mov    %eax,0x64(%esp)
58e1e8:	33 c0                	xor    %eax,%eax
58e1ea:	89 44 24 68          	mov    %eax,0x68(%esp)
58e1ee:	33 c0                	xor    %eax,%eax
58e1f0:	89 44 24 6c          	mov    %eax,0x6c(%esp)
58e1f4:	f6 44 24 14 03       	testb  $0x3,0x14(%esp)
58e1f9:	0f 85 aa 00 00 00    	jne    0x58e2a9
58e1ff:	8b 04 24             	mov    (%esp),%eax
58e202:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e208:	83 e0 fc             	and    $0xfffffffc,%eax
58e20b:	89 44 24 18          	mov    %eax,0x18(%esp)
58e20f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
58e214:	0f 84 8f 00 00 00    	je     0x58e2a9
58e21a:	ff 4c 24 18          	decl   0x18(%esp)
58e21e:	33 db                	xor    %ebx,%ebx
58e220:	8d 74 24 64          	lea    0x64(%esp),%esi
58e224:	8b 44 24 14          	mov    0x14(%esp),%eax
58e228:	85 c0                	test   %eax,%eax
58e22a:	79 03                	jns    0x58e22f
58e22c:	83 c0 03             	add    $0x3,%eax
58e22f:	c1 f8 02             	sar    $0x2,%eax
58e232:	8b 14 24             	mov    (%esp),%edx
58e235:	8b 92 fc 00 00 00    	mov    0xfc(%edx),%edx
58e23b:	85 d2                	test   %edx,%edx
58e23d:	79 03                	jns    0x58e242
58e23f:	83 c2 03             	add    $0x3,%edx
58e242:	c1 fa 02             	sar    $0x2,%edx
58e245:	f7 ea                	imul   %edx
58e247:	8b 54 24 18          	mov    0x18(%esp),%edx
58e24b:	85 d2                	test   %edx,%edx
58e24d:	79 03                	jns    0x58e252
58e24f:	83 c2 03             	add    $0x3,%edx
58e252:	c1 fa 02             	sar    $0x2,%edx
58e255:	03 c2                	add    %edx,%eax
58e257:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e25a:	8b 54 24 10          	mov    0x10(%esp),%edx
58e25e:	8d 04 42             	lea    (%edx,%eax,2),%eax
58e261:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
58e265:	69 c0 cd 05 00 00    	imul   $0x5cd,%eax,%eax
58e26b:	69 16 33 1a 00 00    	imul   $0x1a33,(%esi),%edx
58e271:	03 c2                	add    %edx,%eax
58e273:	ba 0d 00 00 00       	mov    $0xd,%edx
58e278:	e8 8b f3 ff ff       	call   0x58d608
58e27d:	89 06                	mov    %eax,(%esi)
58e27f:	8b 44 24 18          	mov    0x18(%esp),%eax
58e283:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e286:	8b 94 24 a4 00 00 00 	mov    0xa4(%esp),%edx
58e28d:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e290:	8b 16                	mov    (%esi),%edx
58e292:	89 14 98             	mov    %edx,(%eax,%ebx,4)
58e295:	43                   	inc    %ebx
58e296:	83 c6 04             	add    $0x4,%esi
58e299:	83 fb 03             	cmp    $0x3,%ebx
58e29c:	75 86                	jne    0x58e224
58e29e:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
58e2a3:	0f 85 71 ff ff ff    	jne    0x58e21a
58e2a9:	33 c0                	xor    %eax,%eax
58e2ab:	89 44 24 64          	mov    %eax,0x64(%esp)
58e2af:	33 c0                	xor    %eax,%eax
58e2b1:	89 44 24 68          	mov    %eax,0x68(%esp)
58e2b5:	33 c0                	xor    %eax,%eax
58e2b7:	89 44 24 6c          	mov    %eax,0x6c(%esp)
58e2bb:	8b 04 24             	mov    (%esp),%eax
58e2be:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e2c4:	83 e0 fc             	and    $0xfffffffc,%eax
58e2c7:	48                   	dec    %eax
58e2c8:	85 c0                	test   %eax,%eax
58e2ca:	7c 68                	jl     0x58e334
58e2cc:	40                   	inc    %eax
58e2cd:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58e2d1:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
58e2d8:	00
58e2d9:	33 db                	xor    %ebx,%ebx
58e2db:	8d 74 24 64          	lea    0x64(%esp),%esi
58e2df:	8b 44 24 18          	mov    0x18(%esp),%eax
58e2e3:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e2e6:	8b 94 24 a4 00 00 00 	mov    0xa4(%esp),%edx
58e2ed:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e2f0:	69 04 98 cd 05 00 00 	imul   $0x5cd,(%eax,%ebx,4),%eax
58e2f7:	69 16 33 1a 00 00    	imul   $0x1a33,(%esi),%edx
58e2fd:	03 c2                	add    %edx,%eax
58e2ff:	ba 0d 00 00 00       	mov    $0xd,%edx
58e304:	e8 ff f2 ff ff       	call   0x58d608
58e309:	89 06                	mov    %eax,(%esi)
58e30b:	8b 44 24 18          	mov    0x18(%esp),%eax
58e30f:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e312:	8b 94 24 a8 00 00 00 	mov    0xa8(%esp),%edx
58e319:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e31c:	8b 16                	mov    (%esi),%edx
58e31e:	89 14 98             	mov    %edx,(%eax,%ebx,4)
58e321:	43                   	inc    %ebx
58e322:	83 c6 04             	add    $0x4,%esi
58e325:	83 fb 03             	cmp    $0x3,%ebx
58e328:	75 b5                	jne    0x58e2df
58e32a:	ff 44 24 18          	incl   0x18(%esp)
58e32e:	ff 4c 24 3c          	decl   0x3c(%esp)
58e332:	75 a5                	jne    0x58e2d9
58e334:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
58e339:	75 27                	jne    0x58e362
58e33b:	8b 04 24             	mov    (%esp),%eax
58e33e:	8b 88 fc 00 00 00    	mov    0xfc(%eax),%ecx
58e344:	c1 e1 02             	shl    $0x2,%ecx
58e347:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
58e34a:	8b 94 24 a8 00 00 00 	mov    0xa8(%esp),%edx
58e351:	8b 84 24 ac 00 00 00 	mov    0xac(%esp),%eax
58e358:	e8 53 d4 ff ff       	call   0x58b7b0
58e35d:	e9 80 00 00 00       	jmp    0x58e3e2
58e362:	8b 04 24             	mov    (%esp),%eax
58e365:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e36b:	83 e0 fc             	and    $0xfffffffc,%eax
58e36e:	48                   	dec    %eax
58e36f:	85 c0                	test   %eax,%eax
58e371:	7c 6f                	jl     0x58e3e2
58e373:	40                   	inc    %eax
58e374:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58e378:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
58e37f:	00
58e380:	33 db                	xor    %ebx,%ebx
58e382:	8b 44 24 18          	mov    0x18(%esp),%eax
58e386:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e389:	8b 94 24 ac 00 00 00 	mov    0xac(%esp),%edx
58e390:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e393:	69 04 98 33 1a 00 00 	imul   $0x1a33,(%eax,%ebx,4),%eax
58e39a:	8b 54 24 18          	mov    0x18(%esp),%edx
58e39e:	8d 14 52             	lea    (%edx,%edx,2),%edx
58e3a1:	8b 8c 24 a8 00 00 00 	mov    0xa8(%esp),%ecx
58e3a8:	8d 14 91             	lea    (%ecx,%edx,4),%edx
58e3ab:	69 14 9a cd 05 00 00 	imul   $0x5cd,(%edx,%ebx,4),%edx
58e3b2:	03 c2                	add    %edx,%eax
58e3b4:	ba 0d 00 00 00       	mov    $0xd,%edx
58e3b9:	e8 4a f2 ff ff       	call   0x58d608
58e3be:	8b 54 24 18          	mov    0x18(%esp),%edx
58e3c2:	8d 14 52             	lea    (%edx,%edx,2),%edx
58e3c5:	8b 8c 24 ac 00 00 00 	mov    0xac(%esp),%ecx
58e3cc:	8d 14 91             	lea    (%ecx,%edx,4),%edx
58e3cf:	89 04 9a             	mov    %eax,(%edx,%ebx,4)
58e3d2:	43                   	inc    %ebx
58e3d3:	83 fb 03             	cmp    $0x3,%ebx
58e3d6:	75 aa                	jne    0x58e382
58e3d8:	ff 44 24 18          	incl   0x18(%esp)
58e3dc:	ff 4c 24 3c          	decl   0x3c(%esp)
58e3e0:	75 9e                	jne    0x58e380
58e3e2:	8b 04 24             	mov    (%esp),%eax
58e3e5:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e3eb:	83 e0 fc             	and    $0xfffffffc,%eax
58e3ee:	48                   	dec    %eax
58e3ef:	85 c0                	test   %eax,%eax
58e3f1:	0f 8c 4d 01 00 00    	jl     0x58e544
58e3f7:	40                   	inc    %eax
58e3f8:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58e3fc:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
58e403:	00
58e404:	bf 3c 00 00 00       	mov    $0x3c,%edi
58e409:	be 3c 00 00 00       	mov    $0x3c,%esi
58e40e:	33 db                	xor    %ebx,%ebx
58e410:	8b 44 24 18          	mov    0x18(%esp),%eax
58e414:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e417:	8b 94 24 ac 00 00 00 	mov    0xac(%esp),%edx
58e41e:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e421:	03 3c 98             	add    (%eax,%ebx,4),%edi
58e424:	8b 04 24             	mov    (%esp),%eax
58e427:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e42d:	f7 6c 24 14          	imull  0x14(%esp)
58e431:	03 44 24 18          	add    0x18(%esp),%eax
58e435:	8b 14 24             	mov    (%esp),%edx
58e438:	8b 12                	mov    (%edx),%edx
58e43a:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58e43d:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
58e441:	03 f0                	add    %eax,%esi
58e443:	43                   	inc    %ebx
58e444:	83 fb 03             	cmp    $0x3,%ebx
58e447:	75 c7                	jne    0x58e410
58e449:	8b c6                	mov    %esi,%eax
58e44b:	c1 e0 10             	shl    $0x10,%eax
58e44e:	99                   	cltd
58e44f:	f7 ff                	idiv   %edi
58e451:	8b f0                	mov    %eax,%esi
58e453:	33 c0                	xor    %eax,%eax
58e455:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58e459:	33 db                	xor    %ebx,%ebx
58e45b:	b8 04 42 6a 00       	mov    $0x6a4204,%eax
58e460:	89 44 24 60          	mov    %eax,0x60(%esp)
58e464:	8d 6c 24 64          	lea    0x64(%esp),%ebp
58e468:	8b 44 24 18          	mov    0x18(%esp),%eax
58e46c:	8d 04 40             	lea    (%eax,%eax,2),%eax
58e46f:	8b 94 24 ac 00 00 00 	mov    0xac(%esp),%edx
58e476:	8d 04 82             	lea    (%edx,%eax,4),%eax
58e479:	8b 04 98             	mov    (%eax,%ebx,4),%eax
58e47c:	f7 ee                	imul   %esi
58e47e:	ba 10 00 00 00       	mov    $0x10,%edx
58e483:	e8 80 f1 ff ff       	call   0x58d608
58e488:	8b f8                	mov    %eax,%edi
58e48a:	8b 04 24             	mov    (%esp),%eax
58e48d:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e493:	f7 6c 24 14          	imull  0x14(%esp)
58e497:	03 44 24 18          	add    0x18(%esp),%eax
58e49b:	8b 14 24             	mov    (%esp),%edx
58e49e:	8b 12                	mov    (%edx),%edx
58e4a0:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58e4a3:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
58e4a7:	2b f8                	sub    %eax,%edi
58e4a9:	8b 44 24 60          	mov    0x60(%esp),%eax
58e4ad:	8b 10                	mov    (%eax),%edx
58e4af:	8b c7                	mov    %edi,%eax
58e4b1:	e8 1a f1 ff ff       	call   0x58d5d0
58e4b6:	89 45 00             	mov    %eax,0x0(%ebp)
58e4b9:	8b 45 00             	mov    0x0(%ebp),%eax
58e4bc:	01 44 24 1c          	add    %eax,0x1c(%esp)
58e4c0:	43                   	inc    %ebx
58e4c1:	83 c5 04             	add    $0x4,%ebp
58e4c4:	83 44 24 60 04       	addl   $0x4,0x60(%esp)
58e4c9:	83 fb 03             	cmp    $0x3,%ebx
58e4cc:	75 9a                	jne    0x58e468
58e4ce:	ba 03 00 00 00       	mov    $0x3,%edx
58e4d3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58e4d7:	e8 2c f1 ff ff       	call   0x58d608
58e4dc:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58e4e0:	33 db                	xor    %ebx,%ebx
58e4e2:	8d 6c 24 64          	lea    0x64(%esp),%ebp
58e4e6:	8b 04 24             	mov    (%esp),%eax
58e4e9:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e4ef:	f7 6c 24 14          	imull  0x14(%esp)
58e4f3:	03 44 24 18          	add    0x18(%esp),%eax
58e4f7:	8b 14 24             	mov    (%esp),%edx
58e4fa:	8b 12                	mov    (%edx),%edx
58e4fc:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58e4ff:	0f b7 3c 58          	movzwl (%eax,%ebx,2),%edi
58e503:	03 7d 00             	add    0x0(%ebp),%edi
58e506:	2b 7c 24 1c          	sub    0x1c(%esp),%edi
58e50a:	85 ff                	test   %edi,%edi
58e50c:	7d 02                	jge    0x58e510
58e50e:	33 ff                	xor    %edi,%edi
58e510:	8b 04 24             	mov    (%esp),%eax
58e513:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58e519:	f7 6c 24 14          	imull  0x14(%esp)
58e51d:	03 44 24 18          	add    0x18(%esp),%eax
58e521:	8b 14 24             	mov    (%esp),%edx
58e524:	8b 12                	mov    (%edx),%edx
58e526:	8d 04 c2             	lea    (%edx,%eax,8),%eax
58e529:	66 89 3c 58          	mov    %di,(%eax,%ebx,2)
58e52d:	43                   	inc    %ebx
58e52e:	83 c5 04             	add    $0x4,%ebp
58e531:	83 fb 03             	cmp    $0x3,%ebx
58e534:	75 b0                	jne    0x58e4e6
58e536:	ff 44 24 18          	incl   0x18(%esp)
58e53a:	ff 4c 24 3c          	decl   0x3c(%esp)
58e53e:	0f 85 c0 fe ff ff    	jne    0x58e404
58e544:	ff 44 24 14          	incl   0x14(%esp)
58e548:	ff 4c 24 38          	decl   0x38(%esp)
58e54c:	0f 85 90 fc ff ff    	jne    0x58e1e2
58e552:	8b 44 24 10          	mov    0x10(%esp),%eax
58e556:	e8 71 42 e7 ff       	call   0x4027cc
58e55b:	8b 84 24 bc 00 00 00 	mov    0xbc(%esp),%eax
58e562:	e8 65 42 e7 ff       	call   0x4027cc
58e567:	81 c4 e0 00 00 00    	add    $0xe0,%esp
58e56d:	5d                   	pop    %ebp
58e56e:	5f                   	pop    %edi
58e56f:	5e                   	pop    %esi
58e570:	5b                   	pop    %ebx
58e571:	c3                   	ret
58e572:	00 00                	add    %al,(%eax)
58e574:	66 6f                	outsw  %ds:(%esi),(%dx)
58e576:	76 65                	jbe    0x58e5dd
58e578:	6f                   	outsl  %ds:(%esi),(%dx)
58e579:	6e                   	outsb  %ds:(%esi),(%dx)
58e57a:	5f                   	pop    %edi
58e57b:	69 6e 74 65 72 70 6f 	imul   $0x6f707265,0x74(%esi),%ebp
58e582:	6c                   	insb   (%dx),%es:(%edi)
58e583:	61                   	popa
58e584:	74 65                	je     0x58e5eb
58e586:	28 29                	sub    %ch,(%ecx)
58e588:	00 00                	add    %al,(%eax)
58e58a:	00 00                	add    %al,(%eax)
58e58c:	53                   	push   %ebx
58e58d:	56                   	push   %esi
58e58e:	57                   	push   %edi
58e58f:	55                   	push   %ebp
58e590:	81 c4 74 ff ff ff    	add    $0xffffff74,%esp
58e596:	8b f0                	mov    %eax,%esi
58e598:	8b 86 04 01 00 00    	mov    0x104(%esi),%eax
58e59e:	29 86 08 01 00 00    	sub    %eax,0x108(%esi)
58e5a4:	83 be e0 01 00 00 00 	cmpl   $0x0,0x1e0(%esi)
58e5ab:	75 22                	jne    0x58e5cf
58e5ad:	83 be e4 01 00 00 00 	cmpl   $0x0,0x1e4(%esi)
58e5b4:	0f 84 cc 01 00 00    	je     0x58e786
58e5ba:	d9 86 ec 01 00 00    	flds   0x1ec(%esi)
58e5c0:	d8 1d 64 ea 58 00    	fcomps 0x58ea64
58e5c6:	df e0                	fnstsw %ax