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
58e5c8:	9e                   	sahf
58e5c9:	0f 85 b7 01 00 00    	jne    0x58e786
58e5cf:	bf 04 00 00 00       	mov    $0x4,%edi
58e5d4:	8d 44 24 38          	lea    0x38(%esp),%eax
58e5d8:	8d 54 24 48          	lea    0x48(%esp),%edx
58e5dc:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e5e0:	8d 5c 24 68          	lea    0x68(%esp),%ebx
58e5e4:	89 5c 24 24          	mov    %ebx,0x24(%esp)
58e5e8:	c7 00 ff ff ff 7f    	movl   $0x7fffffff,(%eax)
58e5ee:	33 db                	xor    %ebx,%ebx
58e5f0:	89 1a                	mov    %ebx,(%edx)
58e5f2:	33 db                	xor    %ebx,%ebx
58e5f4:	89 19                	mov    %ebx,(%ecx)
58e5f6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58e5fa:	33 ed                	xor    %ebp,%ebp
58e5fc:	89 2b                	mov    %ebp,(%ebx)
58e5fe:	89 6b 04             	mov    %ebp,0x4(%ebx)
58e601:	83 44 24 24 08       	addl   $0x8,0x24(%esp)
58e606:	83 c1 04             	add    $0x4,%ecx
58e609:	83 c2 04             	add    $0x4,%edx
58e60c:	83 c0 04             	add    $0x4,%eax
58e60f:	4f                   	dec    %edi
58e610:	75 d6                	jne    0x58e5e8
58e612:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
58e618:	48                   	dec    %eax
58e619:	85 c0                	test   %eax,%eax
58e61b:	0f 8c e9 00 00 00    	jl     0x58e70a
58e621:	40                   	inc    %eax
58e622:	89 44 24 18          	mov    %eax,0x18(%esp)
58e626:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
58e62d:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
58e633:	48                   	dec    %eax
58e634:	85 c0                	test   %eax,%eax
58e636:	0f 8c c1 00 00 00    	jl     0x58e6fd
58e63c:	40                   	inc    %eax
58e63d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58e641:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58e648:	00
58e649:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e64f:	48                   	dec    %eax
58e650:	85 c0                	test   %eax,%eax
58e652:	0f 8c 97 00 00 00    	jl     0x58e6ef
58e658:	40                   	inc    %eax
58e659:	89 44 24 20          	mov    %eax,0x20(%esp)
58e65d:	33 ff                	xor    %edi,%edi
58e65f:	8d 54 24 38          	lea    0x38(%esp),%edx
58e663:	8d 44 24 48          	lea    0x48(%esp),%eax
58e667:	89 44 24 28          	mov    %eax,0x28(%esp)
58e66b:	8d 44 24 68          	lea    0x68(%esp),%eax
58e66f:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e673:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
58e677:	8b 8e fc 00 00 00    	mov    0xfc(%esi),%ecx
58e67d:	0f af 0c 24          	imul   (%esp),%ecx
58e681:	03 4c 24 04          	add    0x4(%esp),%ecx
58e685:	8b 1e                	mov    (%esi),%ebx
58e687:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
58e68a:	0f b7 1c 79          	movzwl (%ecx,%edi,2),%ebx
58e68e:	85 db                	test   %ebx,%ebx
58e690:	74 46                	je     0x58e6d8
58e692:	3b 1a                	cmp    (%edx),%ebx
58e694:	7d 02                	jge    0x58e698
58e696:	89 1a                	mov    %ebx,(%edx)
58e698:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58e69c:	3b 19                	cmp    (%ecx),%ebx
58e69e:	7e 06                	jle    0x58e6a6
58e6a0:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58e6a4:	89 19                	mov    %ebx,(%ecx)
58e6a6:	2b 9e 04 01 00 00    	sub    0x104(%esi),%ebx
58e6ac:	8b 8e 08 01 00 00    	mov    0x108(%esi),%ecx
58e6b2:	83 e9 64             	sub    $0x64,%ecx
58e6b5:	3b d9                	cmp    %ecx,%ebx
58e6b7:	7f 1f                	jg     0x58e6d8
58e6b9:	85 db                	test   %ebx,%ebx
58e6bb:	7d 02                	jge    0x58e6bf
58e6bd:	33 db                	xor    %ebx,%ebx
58e6bf:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
58e6c6:	db 84 24 88 00 00 00 	fildl  0x88(%esp)
58e6cd:	dc 00                	faddl  (%eax)
58e6cf:	dd 18                	fstpl  (%eax)
58e6d1:	9b                   	fwait
58e6d2:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58e6d6:	ff 01                	incl   (%ecx)
58e6d8:	47                   	inc    %edi
58e6d9:	83 44 24 2c 04       	addl   $0x4,0x2c(%esp)
58e6de:	83 c0 08             	add    $0x8,%eax
58e6e1:	83 44 24 28 04       	addl   $0x4,0x28(%esp)
58e6e6:	83 c2 04             	add    $0x4,%edx
58e6e9:	ff 4c 24 20          	decl   0x20(%esp)
58e6ed:	75 88                	jne    0x58e677
58e6ef:	ff 44 24 04          	incl   0x4(%esp)
58e6f3:	ff 4c 24 1c          	decl   0x1c(%esp)
58e6f7:	0f 85 4c ff ff ff    	jne    0x58e649
58e6fd:	ff 04 24             	incl   (%esp)
58e700:	ff 4c 24 18          	decl   0x18(%esp)
58e704:	0f 85 23 ff ff ff    	jne    0x58e62d
58e70a:	33 c0                	xor    %eax,%eax
58e70c:	89 44 24 10          	mov    %eax,0x10(%esp)
58e710:	89 44 24 14          	mov    %eax,0x14(%esp)
58e714:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e71a:	48                   	dec    %eax
58e71b:	85 c0                	test   %eax,%eax
58e71d:	7c 38                	jl     0x58e757
58e71f:	40                   	inc    %eax
58e720:	89 44 24 18          	mov    %eax,0x18(%esp)
58e724:	8d 54 24 68          	lea    0x68(%esp),%edx
58e728:	8d 4c 24 58          	lea    0x58(%esp),%ecx
58e72c:	db 01                	fildl  (%ecx)
58e72e:	dc 3a                	fdivrl (%edx)
58e730:	dd 1a                	fstpl  (%edx)
58e732:	9b dd 44 24 10       	fldl   0x10(%esp)
58e737:	dc 1a                	fcompl (%edx)
58e739:	df e0                	fnstsw %ax
58e73b:	9e                   	sahf
58e73c:	73 0d                	jae    0x58e74b
58e73e:	8b 02                	mov    (%edx),%eax
58e740:	89 44 24 10          	mov    %eax,0x10(%esp)
58e744:	8b 42 04             	mov    0x4(%edx),%eax
58e747:	89 44 24 14          	mov    %eax,0x14(%esp)
58e74b:	83 c1 04             	add    $0x4,%ecx
58e74e:	83 c2 08             	add    $0x8,%edx
58e751:	ff 4c 24 18          	decl   0x18(%esp)
58e755:	75 d5                	jne    0x58e72c
58e757:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
58e75d:	48                   	dec    %eax
58e75e:	85 c0                	test   %eax,%eax
58e760:	7c 24                	jl     0x58e786
58e762:	40                   	inc    %eax
58e763:	89 44 24 18          	mov    %eax,0x18(%esp)
58e767:	8d 44 24 68          	lea    0x68(%esp),%eax
58e76b:	8d 96 f4 01 00 00    	lea    0x1f4(%esi),%edx
58e771:	dd 44 24 10          	fldl   0x10(%esp)
58e775:	dc 30                	fdivl  (%eax)
58e777:	d9 1a                	fstps  (%edx)
58e779:	9b                   	fwait
58e77a:	83 c2 04             	add    $0x4,%edx
58e77d:	83 c0 08             	add    $0x8,%eax
58e780:	ff 4c 24 18          	decl   0x18(%esp)
58e784:	75 eb                	jne    0x58e771
58e786:	83 be e4 01 00 00 00 	cmpl   $0x0,0x1e4(%esi)
58e78d:	0f 84 c0 01 00 00    	je     0x58e953
58e793:	d9 86 ec 01 00 00    	flds   0x1ec(%esi)
58e799:	d8 1d 64 ea 58 00    	fcomps 0x58ea64
58e79f:	df e0                	fnstsw %ax
58e7a1:	9e                   	sahf
58e7a2:	0f 84 ab 01 00 00    	je     0x58e953
58e7a8:	bf 04 00 00 00       	mov    $0x4,%edi
58e7ad:	8d 44 24 68          	lea    0x68(%esp),%eax
58e7b1:	8d 54 24 58          	lea    0x58(%esp),%edx
58e7b5:	33 c9                	xor    %ecx,%ecx
58e7b7:	89 08                	mov    %ecx,(%eax)
58e7b9:	89 48 04             	mov    %ecx,0x4(%eax)
58e7bc:	33 c9                	xor    %ecx,%ecx
58e7be:	89 0a                	mov    %ecx,(%edx)
58e7c0:	83 c2 04             	add    $0x4,%edx
58e7c3:	83 c0 08             	add    $0x8,%eax
58e7c6:	4f                   	dec    %edi
58e7c7:	75 ec                	jne    0x58e7b5
58e7c9:	33 c0                	xor    %eax,%eax
58e7cb:	89 04 24             	mov    %eax,(%esp)
58e7ce:	8d 86 40 01 00 00    	lea    0x140(%esi),%eax
58e7d4:	89 44 24 30          	mov    %eax,0x30(%esp)
58e7d8:	33 c0                	xor    %eax,%eax
58e7da:	89 44 24 04          	mov    %eax,0x4(%esp)
58e7de:	8b 44 24 30          	mov    0x30(%esp),%eax
58e7e2:	89 44 24 34          	mov    %eax,0x34(%esp)
58e7e6:	8b 0c 24             	mov    (%esp),%ecx
58e7e9:	03 c9                	add    %ecx,%ecx
58e7eb:	83 e1 0e             	and    $0xe,%ecx
58e7ee:	8b 44 24 04          	mov    0x4(%esp),%eax
58e7f2:	83 e0 01             	and    $0x1,%eax
58e7f5:	03 c8                	add    %eax,%ecx
58e7f7:	03 c9                	add    %ecx,%ecx
58e7f9:	8b be 3c 01 00 00    	mov    0x13c(%esi),%edi
58e7ff:	d3 ef                	shr    %cl,%edi
58e801:	83 e7 03             	and    $0x3,%edi