58b42b:	8b 44 24 08          	mov    0x8(%esp),%eax
58b42f:	8d 98 a8 f4 00 00    	lea    0xf4a8(%eax),%ebx
58b435:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58b43a:	74 16                	je     0x58b452
58b43c:	db 44 24 04          	fildl  0x4(%esp)
58b440:	dc 4b 18             	fmull  0x18(%ebx)
58b443:	e8 84 78 e7 ff       	call   0x402ccc
58b448:	8b c8                	mov    %eax,%ecx
58b44a:	8b 53 08             	mov    0x8(%ebx),%edx
58b44d:	8b 43 04             	mov    0x4(%ebx),%eax
58b450:	ff 13                	call   *(%ebx)
58b452:	8d 54 24 10          	lea    0x10(%esp),%edx
58b456:	8b 44 24 08          	mov    0x8(%esp),%eax
58b45a:	8b 40 04             	mov    0x4(%eax),%eax
58b45d:	b9 a0 0c 00 00       	mov    $0xca0,%ecx
58b462:	8b 18                	mov    (%eax),%ebx
58b464:	ff 53 08             	call   *0x8(%ebx)
58b467:	8d 44 24 10          	lea    0x10(%esp),%eax
58b46b:	8d 94 24 b0 0c 00 00 	lea    0xcb0(%esp),%edx
58b472:	eb 62                	jmp    0x58b4d6
58b474:	33 c9                	xor    %ecx,%ecx
58b476:	8a 08                	mov    (%eax),%cl
58b478:	c1 e1 02             	shl    $0x2,%ecx
58b47b:	33 db                	xor    %ebx,%ebx
58b47d:	8a 58 01             	mov    0x1(%eax),%bl
58b480:	c1 eb 06             	shr    $0x6,%ebx
58b483:	66 03 cb             	add    %bx,%cx
58b486:	66 89 0a             	mov    %cx,(%edx)
58b489:	33 c9                	xor    %ecx,%ecx
58b48b:	8a 48 01             	mov    0x1(%eax),%cl
58b48e:	c1 e1 04             	shl    $0x4,%ecx
58b491:	33 db                	xor    %ebx,%ebx
58b493:	8a 58 02             	mov    0x2(%eax),%bl
58b496:	c1 eb 04             	shr    $0x4,%ebx
58b499:	66 03 cb             	add    %bx,%cx
58b49c:	66 89 4a 02          	mov    %cx,0x2(%edx)
58b4a0:	33 c9                	xor    %ecx,%ecx
58b4a2:	8a 48 02             	mov    0x2(%eax),%cl
58b4a5:	c1 e1 06             	shl    $0x6,%ecx
58b4a8:	33 db                	xor    %ebx,%ebx
58b4aa:	8a 58 03             	mov    0x3(%eax),%bl
58b4ad:	c1 eb 02             	shr    $0x2,%ebx
58b4b0:	66 03 cb             	add    %bx,%cx
58b4b3:	66 89 4a 04          	mov    %cx,0x4(%edx)
58b4b7:	33 c9                	xor    %ecx,%ecx
58b4b9:	8a 48 03             	mov    0x3(%eax),%cl
58b4bc:	c1 e1 08             	shl    $0x8,%ecx
58b4bf:	33 db                	xor    %ebx,%ebx
58b4c1:	8a 58 04             	mov    0x4(%eax),%bl
58b4c4:	66 03 cb             	add    %bx,%cx
58b4c7:	66 89 4a 06          	mov    %cx,0x6(%edx)
58b4cb:	05 00 80 02 00       	add    $0x28000,%eax
58b4d0:	81 c2 00 00 02 00    	add    $0x20000,%edx
58b4d6:	8d 4c 24 10          	lea    0x10(%esp),%ecx
58b4da:	81 c1 94 0c 00 00    	add    $0xc94,%ecx
58b4e0:	3b c8                	cmp    %eax,%ecx
58b4e2:	7f 90                	jg     0x58b474
58b4e4:	8b 44 24 08          	mov    0x8(%esp),%eax
58b4e8:	8b b0 fc 00 00 00    	mov    0xfc(%eax),%esi
58b4ee:	4e                   	dec    %esi
58b4ef:	85 f6                	test   %esi,%esi
58b4f1:	7c 2d                	jl     0x58b520
58b4f3:	46                   	inc    %esi
58b4f4:	33 ff                	xor    %edi,%edi
58b4f6:	8d 9c 24 b0 0c 00 00 	lea    0xcb0(%esp),%ebx
58b4fd:	8b 04 24             	mov    (%esp),%eax
58b500:	8b cf                	mov    %edi,%ecx
58b502:	8b 54 24 04          	mov    0x4(%esp),%edx
58b506:	e8 f1 d4 ff ff       	call   0x5889fc
58b50b:	66 8b 13             	mov    (%ebx),%dx
58b50e:	66 81 e2 ff 03       	and    $0x3ff,%dx
58b513:	c1 e2 04             	shl    $0x4,%edx
58b516:	66 89 10             	mov    %dx,(%eax)
58b519:	47                   	inc    %edi
58b51a:	83 c3 02             	add    $0x2,%ebx
58b51d:	4e                   	dec    %esi
58b51e:	75 dd                	jne    0x58b4fd
58b520:	ff 44 24 04          	incl   0x4(%esp)
58b524:	ff 4c 24 0c          	decl   0xc(%esp)
58b528:	0f 85 fd fe ff ff    	jne    0x58b42b
58b52e:	81 c4 d0 20 00 00    	add    $0x20d0,%esp
58b534:	5f                   	pop    %edi
58b535:	5e                   	pop    %esi
58b536:	5b                   	pop    %ebx
58b537:	c3                   	ret
58b538:	00 00                	add    %al,(%eax)
58b53a:	c8 42 00 00          	enter  $0x42,$0x0
58b53e:	00 40 53             	add    %al,0x53(%eax)
58b541:	56                   	push   %esi
58b542:	57                   	push   %edi
58b543:	55                   	push   %ebp
58b544:	83 c4 ec             	add    $0xffffffec,%esp
58b547:	89 04 24             	mov    %eax,(%esp)
58b54a:	8b 3c 24             	mov    (%esp),%edi
58b54d:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
58b553:	03 c0                	add    %eax,%eax
58b555:	e8 5a db e7 ff       	call   0x4090b4
58b55a:	89 44 24 04          	mov    %eax,0x4(%esp)
58b55e:	ba 7c b6 58 00       	mov    $0x58b67c,%edx
58b563:	8b 44 24 04          	mov    0x4(%esp),%eax
58b567:	e8 58 d5 ff ff       	call   0x588ac4
58b56c:	db 87 f8 00 00 00    	fildl  0xf8(%edi)
58b572:	d8 3d 90 b6 58 00    	fdivrs 0x58b690
58b578:	d8 35 94 b6 58 00    	fdivs  0x58b694
58b57e:	dd 9f c0 f4 00 00    	fstpl  0xf4c0(%edi)
58b584:	9b                   	fwait
58b585:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
58b58b:	48                   	dec    %eax
58b58c:	85 c0                	test   %eax,%eax
58b58e:	0f 8c d7 00 00 00    	jl     0x58b66b
58b594:	40                   	inc    %eax
58b595:	89 44 24 10          	mov    %eax,0x10(%esp)
58b599:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
58b5a0:	00
58b5a1:	8d 9f a8 f4 00 00    	lea    0xf4a8(%edi),%ebx
58b5a7:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58b5ac:	74 16                	je     0x58b5c4
58b5ae:	db 44 24 08          	fildl  0x8(%esp)
58b5b2:	dc 4b 18             	fmull  0x18(%ebx)
58b5b5:	e8 12 77 e7 ff       	call   0x402ccc
58b5ba:	8b c8                	mov    %eax,%ecx
58b5bc:	8b 53 08             	mov    0x8(%ebx),%edx
58b5bf:	8b 43 04             	mov    0x4(%ebx),%eax
58b5c2:	ff 13                	call   *(%ebx)
58b5c4:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
58b5ca:	03 c9                	add    %ecx,%ecx
58b5cc:	8b 54 24 04          	mov    0x4(%esp),%edx
58b5d0:	8b 47 04             	mov    0x4(%edi),%eax
58b5d3:	8b 18                	mov    (%eax),%ebx
58b5d5:	ff 53 08             	call   *0x8(%ebx)
58b5d8:	80 7f 4a 42          	cmpb   $0x42,0x4a(%edi)
58b5dc:	75 3b                	jne    0x58b619
58b5de:	81 bf fc 00 00 00 26 	cmpl   $0xa26,0xfc(%edi)
58b5e5:	0a 00 00
58b5e8:	75 2f                	jne    0x58b619
58b5ea:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
58b5f0:	8b d0                	mov    %eax,%edx
58b5f2:	4a                   	dec    %edx
58b5f3:	8b 4c 24 08          	mov    0x8(%esp),%ecx
58b5f7:	d1 f9                	sar    $1,%ecx
58b5f9:	79 03                	jns    0x58b5fe
58b5fb:	83 d1 00             	adc    $0x0,%ecx
58b5fe:	2b d1                	sub    %ecx,%edx
58b600:	d1 f8                	sar    $1,%eax
58b602:	79 03                	jns    0x58b607
58b604:	83 d0 00             	adc    $0x0,%eax
58b607:	8b 4c 24 08          	mov    0x8(%esp),%ecx
58b60b:	83 e1 01             	and    $0x1,%ecx
58b60e:	0f af c1             	imul   %ecx,%eax
58b611:	2b d0                	sub    %eax,%edx
58b613:	89 54 24 0c          	mov    %edx,0xc(%esp)
58b617:	eb 08                	jmp    0x58b621
58b619:	8b 44 24 08          	mov    0x8(%esp),%eax
58b61d:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b621:	8b 5c 24 04          	mov    0x4(%esp),%ebx
58b625:	8b b7 fc 00 00 00    	mov    0xfc(%edi),%esi
58b62b:	4e                   	dec    %esi
58b62c:	85 f6                	test   %esi,%esi
58b62e:	7c 2d                	jl     0x58b65d
58b630:	46                   	inc    %esi
58b631:	33 ed                	xor    %ebp,%ebp
58b633:	8b 04 24             	mov    (%esp),%eax
58b636:	8b cd                	mov    %ebp,%ecx
58b638:	8b 54 24 0c          	mov    0xc(%esp),%edx
58b63c:	e8 bb d3 ff ff       	call   0x5889fc
58b641:	33 d2                	xor    %edx,%edx
58b643:	8a 13                	mov    (%ebx),%dl
58b645:	c1 e2 02             	shl    $0x2,%edx
58b648:	33 c9                	xor    %ecx,%ecx
58b64a:	8a 4b 01             	mov    0x1(%ebx),%cl
58b64d:	c1 e1 0a             	shl    $0xa,%ecx
58b650:	66 03 d1             	add    %cx,%dx
58b653:	66 89 10             	mov    %dx,(%eax)
58b656:	83 c3 02             	add    $0x2,%ebx
58b659:	45                   	inc    %ebp
58b65a:	4e                   	dec    %esi
58b65b:	75 d6                	jne    0x58b633
58b65d:	ff 44 24 08          	incl   0x8(%esp)
58b661:	ff 4c 24 10          	decl   0x10(%esp)
58b665:	0f 85 36 ff ff ff    	jne    0x58b5a1
58b66b:	8b 44 24 04          	mov    0x4(%esp),%eax
58b66f:	e8 58 71 e7 ff       	call   0x4027cc
58b674:	83 c4 14             	add    $0x14,%esp
58b677:	5d                   	pop    %ebp
58b678:	5f                   	pop    %edi
58b679:	5e                   	pop    %esi
58b67a:	5b                   	pop    %ebx
58b67b:	c3                   	ret
58b67c:	6e                   	outsb  %ds:(%esi),(%dx)
58b67d:	75 63                	jne    0x58b6e2
58b67f:	6f                   	outsl  %ds:(%esi),(%dx)
58b680:	72 65                	jb     0x58b6e7
58b682:	5f                   	pop    %edi
58b683:	6c                   	insb   (%dx),%es:(%edi)
58b684:	6f                   	outsl  %ds:(%esi),(%dx)
58b685:	61                   	popa
58b686:	64 5f                	fs pop %edi
58b688:	72 61                	jb     0x58b6eb
58b68a:	77 28                	ja     0x58b6b4
58b68c:	29 00                	sub    %eax,(%eax)
58b68e:	00 00                	add    %al,(%eax)
58b690:	00 00                	add    %al,(%eax)
58b692:	c8 42 00 00          	enter  $0x42,$0x0
58b696:	00 40 53             	add    %al,0x53(%eax)
58b699:	56                   	push   %esi
58b69a:	57                   	push   %edi
58b69b:	8b f9                	mov    %ecx,%edi
58b69d:	8b d8                	mov    %eax,%ebx
58b69f:	8b b3 9c f4 00 00    	mov    0xf49c(%ebx),%esi
58b6a5:	83 83 9c f4 00 00 0c 	addl   $0xc,0xf49c(%ebx)
58b6ac:	3b 3a                	cmp    (%edx),%edi
58b6ae:	7d 2b                	jge    0x58b6db
58b6b0:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
58b6b6:	89 06                	mov    %eax,(%esi)
58b6b8:	8d 4f 01             	lea    0x1(%edi),%ecx
58b6bb:	8b c3                	mov    %ebx,%eax
58b6bd:	e8 d6 ff ff ff       	call   0x58b698
58b6c2:	8b d0                	mov    %eax,%edx
58b6c4:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
58b6ca:	89 46 04             	mov    %eax,0x4(%esi)
58b6cd:	8d 4f 01             	lea    0x1(%edi),%ecx
58b6d0:	8b c3                	mov    %ebx,%eax
58b6d2:	e8 c1 ff ff ff       	call   0x58b698
58b6d7:	8b d0                	mov    %eax,%edx
58b6d9:	eb 09                	jmp    0x58b6e4
58b6db:	8b 42 04             	mov    0x4(%edx),%eax
58b6de:	89 46 08             	mov    %eax,0x8(%esi)
58b6e1:	83 c2 08             	add    $0x8,%edx
58b6e4:	8b c2                	mov    %edx,%eax
58b6e6:	5f                   	pop    %edi
58b6e7:	5e                   	pop    %esi
58b6e8:	5b                   	pop    %ebx
58b6e9:	c3                   	ret
58b6ea:	8b c0                	mov    %eax,%eax
58b6ec:	53                   	push   %ebx
58b6ed:	56                   	push   %esi
58b6ee:	57                   	push   %edi
58b6ef:	55                   	push   %ebp
58b6f0:	8b ea                	mov    %edx,%ebp
58b6f2:	8b d8                	mov    %eax,%ebx
58b6f4:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
58b6fa:	8d 93 98 94 00 00    	lea    0x9498(%ebx),%edx
58b700:	3b c2                	cmp    %edx,%eax
58b702:	75 39                	jne    0x58b73d
58b704:	b8 e0 37 6a 00       	mov    $0x6a37e0,%eax
58b709:	89 83 44 94 00 00    	mov    %eax,0x9444(%ebx)
58b70f:	bf 12 00 00 00       	mov    $0x12,%edi
58b714:	8d b3 48 94 00 00    	lea    0x9448(%ebx),%esi
58b71a:	8b 83 9c f4 00 00    	mov    0xf49c(%ebx),%eax
58b720:	89 06                	mov    %eax,(%esi)
58b722:	8b 93 44 94 00 00    	mov    0x9444(%ebx),%edx
58b728:	8b c3                	mov    %ebx,%eax
58b72a:	33 c9                	xor    %ecx,%ecx
58b72c:	e8 67 ff ff ff       	call   0x58b698
58b731:	89 83 44 94 00 00    	mov    %eax,0x9444(%ebx)
58b737:	83 c6 04             	add    $0x4,%esi
58b73a:	4f                   	dec    %edi
58b73b:	75 dd                	jne    0x58b71a
58b73d:	83 fd 12             	cmp    $0x12,%ebp
58b740:	75 2e                	jne    0x58b770
58b742:	80 7b 4c 34          	cmpb   $0x34,0x4c(%ebx)
58b746:	75 14                	jne    0x58b75c
58b748:	8b c3                	mov    %ebx,%eax
58b74a:	ba 05 00 00 00       	mov    $0x5,%edx
58b74f:	e8 c8 d9 ff ff       	call   0x58911c
58b754:	c1 e0 03             	shl    $0x3,%eax
58b757:	83 c0 04             	add    $0x4,%eax
58b75a:	eb 4c                	jmp    0x58b7a8
58b75c:	8b c3                	mov    %ebx,%eax
58b75e:	ba 06 00 00 00       	mov    $0x6,%edx
58b763:	e8 b4 d9 ff ff       	call   0x58911c
58b768:	c1 e0 02             	shl    $0x2,%eax
58b76b:	83 c0 02             	add    $0x2,%eax
58b76e:	eb 38                	jmp    0x58b7a8
58b770:	8b 84 ab 48 94 00 00 	mov    0x9448(%ebx,%ebp,4),%eax
58b777:	89 83 90 94 00 00    	mov    %eax,0x9490(%ebx)
58b77d:	eb 15                	jmp    0x58b794
58b77f:	8b c3                	mov    %ebx,%eax
58b781:	ba 01 00 00 00       	mov    $0x1,%edx
58b786:	e8 91 d9 ff ff       	call   0x58911c
58b78b:	8b 04 86             	mov    (%esi,%eax,4),%eax
58b78e:	89 83 90 94 00 00    	mov    %eax,0x9490(%ebx)
58b794:	8b b3 90 94 00 00    	mov    0x9490(%ebx),%esi
58b79a:	83 3e 00             	cmpl   $0x0,(%esi)
58b79d:	75 e0                	jne    0x58b77f
58b79f:	8b 83 90 94 00 00    	mov    0x9490(%ebx),%eax
58b7a5:	8b 40 08             	mov    0x8(%eax),%eax
58b7a8:	5d                   	pop    %ebp
58b7a9:	5f                   	pop    %edi
58b7aa:	5e                   	pop    %esi
58b7ab:	5b                   	pop    %ebx
58b7ac:	c3                   	ret
58b7ad:	8d 40 00             	lea    0x0(%eax),%eax
58b7b0:	92                   	xchg   %eax,%edx
58b7b1:	e8 6a 72 e7 ff       	call   0x402a20
58b7b6:	c3                   	ret
58b7b7:	90                   	nop
58b7b8:	34 01                	xor    $0x1,%al
58b7ba:	83 e0 7f             	and    $0x7f,%eax
58b7bd:	c3                   	ret
58b7be:	8b c0                	mov    %eax,%eax
58b7c0:	55                   	push   %ebp
58b7c1:	8b ec                	mov    %esp,%ebp
58b7c3:	53                   	push   %ebx
58b7c4:	56                   	push   %esi
58b7c5:	57                   	push   %edi
58b7c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
58b7c9:	83 c1 fc             	add    $0xfffffffc,%ecx
58b7cc:	69 01 43 02 00 00    	imul   $0x243,(%ecx),%eax
58b7d2:	8b 5d 08             	mov    0x8(%ebp),%ebx
58b7d5:	8d 84 83 d8 e4 ff ff 	lea    -0x1b28(%ebx,%eax,4),%eax
58b7dc:	8b 5d 08             	mov    0x8(%ebp),%ebx
58b7df:	69 9b d4 e4 ff ff c1 	imul   $0xc1,-0x1b2c(%ebx),%ebx
58b7e6:	00 00 00
58b7e9:	8d 04 98             	lea    (%eax,%ebx,4),%eax
58b7ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
58b7ef:	8b 9b d0 e4 ff ff    	mov    -0x1b30(%ebx),%ebx
58b7f5:	0f bf 84 58 fc fc ff 	movswl -0x304(%eax,%ebx,2),%eax
58b7fc:	ff
58b7fd:	8b d8                	mov    %eax,%ebx
58b7ff:	69 11 43 02 00 00    	imul   $0x243,(%ecx),%edx
58b805:	8b 75 08             	mov    0x8(%ebp),%esi
58b808:	8d 94 96 d8 e4 ff ff 	lea    -0x1b28(%esi,%edx,4),%edx
58b80f:	8b 75 08             	mov    0x8(%ebp),%esi
58b812:	69 b6 d4 e4 ff ff c1 	imul   $0xc1,-0x1b2c(%esi),%esi
58b819:	00 00 00
58b81c:	8d 14 b2             	lea    (%edx,%esi,4),%edx
58b81f:	8b 75 08             	mov    0x8(%ebp),%esi
58b822:	8b b6 d0 e4 ff ff    	mov    -0x1b30(%esi),%esi
58b828:	0f bf 54 72 02       	movswl 0x2(%edx,%esi,2),%edx
58b82d:	03 da                	add    %edx,%ebx
58b82f:	d1 fb                	sar    $1,%ebx
58b831:	79 03                	jns    0x58b836
58b833:	83 d3 00             	adc    $0x0,%ebx
58b836:	53                   	push   %ebx
58b837:	69 19 43 02 00 00    	imul   $0x243,(%ecx),%ebx
58b83d:	8b 75 08             	mov    0x8(%ebp),%esi
58b840:	8d 9c 9e d8 e4 ff ff 	lea    -0x1b28(%esi,%ebx,4),%ebx
58b847:	8b 75 08             	mov    0x8(%ebp),%esi
58b84a:	69 b6 d4 e4 ff ff c1 	imul   $0xc1,-0x1b2c(%esi),%esi
58b851:	00 00 00
58b854:	8d 1c b3             	lea    (%ebx,%esi,4),%ebx
58b857:	8b 75 08             	mov    0x8(%ebp),%esi
58b85a:	8b b6 d0 e4 ff ff    	mov    -0x1b30(%esi),%esi
58b860:	0f bf 9c 73 fe fc ff 	movswl -0x302(%ebx,%esi,2),%ebx
58b867:	ff
58b868:	69 31 43 02 00 00    	imul   $0x243,(%ecx),%esi
58b86e:	8b 7d 08             	mov    0x8(%ebp),%edi
58b871:	8d b4 b7 d8 e4 ff ff 	lea    -0x1b28(%edi,%esi,4),%esi
58b878:	56                   	push   %esi