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
58b879:	8b 75 08             	mov    0x8(%ebp),%esi
58b87c:	69 b6 d4 e4 ff ff c1 	imul   $0xc1,-0x1b2c(%esi),%esi
58b883:	00 00 00
58b886:	5f                   	pop    %edi
58b887:	8d 34 b7             	lea    (%edi,%esi,4),%esi
58b88a:	56                   	push   %esi
58b88b:	8b 75 08             	mov    0x8(%ebp),%esi
58b88e:	8b b6 d0 e4 ff ff    	mov    -0x1b30(%esi),%esi
58b894:	5f                   	pop    %edi
58b895:	03 c0                	add    %eax,%eax
58b897:	03 d8                	add    %eax,%ebx
58b899:	69 01 43 02 00 00    	imul   $0x243,(%ecx),%eax
58b89f:	8b 75 08             	mov    0x8(%ebp),%esi
58b8a2:	8d 84 86 d8 e4 ff ff 	lea    -0x1b28(%esi,%eax,4),%eax
58b8a9:	8b 75 08             	mov    0x8(%ebp),%esi
58b8ac:	69 b6 d4 e4 ff ff c1 	imul   $0xc1,-0x1b2c(%esi),%esi
58b8b3:	00 00 00
58b8b6:	8d 04 b0             	lea    (%eax,%esi,4),%eax
58b8b9:	8b 75 08             	mov    0x8(%ebp),%esi
58b8bc:	8b b6 d0 e4 ff ff    	mov    -0x1b30(%esi),%esi
58b8c2:	03 da                	add    %edx,%ebx
58b8c4:	85 db                	test   %ebx,%ebx
58b8c6:	79 03                	jns    0x58b8cb
58b8c8:	83 c3 03             	add    $0x3,%ebx
58b8cb:	c1 fb 02             	sar    $0x2,%ebx
58b8ce:	8b c3                	mov    %ebx,%eax
58b8d0:	83 39 00             	cmpl   $0x0,(%ecx)
58b8d3:	0f 95 c2             	setne  %dl
58b8d6:	8b c8                	mov    %eax,%ecx
58b8d8:	8b c2                	mov    %edx,%eax
58b8da:	5a                   	pop    %edx
58b8db:	e8 28 90 07 00       	call   0x604908
58b8e0:	5f                   	pop    %edi
58b8e1:	5e                   	pop    %esi
58b8e2:	5b                   	pop    %ebx
58b8e3:	5d                   	pop    %ebp
58b8e4:	c3                   	ret
58b8e5:	8d 40 00             	lea    0x0(%eax),%eax
58b8e8:	55                   	push   %ebp
58b8e9:	8b ec                	mov    %esp,%ebp
58b8eb:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58b8f1:	50                   	push   %eax
58b8f2:	81 c4 88 f4 ff ff    	add    $0xfffff488,%esp
58b8f8:	53                   	push   %ebx
58b8f9:	56                   	push   %esi
58b8fa:	57                   	push   %edi
58b8fb:	89 85 cc e4 ff ff    	mov    %eax,-0x1b34(%ebp)
58b901:	8b 85 cc e4 ff ff    	mov    -0x1b34(%ebp),%eax
58b907:	89 85 a4 e4 ff ff    	mov    %eax,-0x1b5c(%ebp)
58b90d:	66 c7 85 ae e4 ff ff 	movw   $0x10,-0x1b52(%ebp)
58b914:	10 00
58b916:	66 c7 85 b0 e4 ff ff 	movw   $0x10,-0x1b50(%ebp)
58b91d:	10 00
58b91f:	66 c7 85 b2 e4 ff ff 	movw   $0x10,-0x1b4e(%ebp)
58b926:	10 00
58b928:	8b 85 cc e4 ff ff    	mov    -0x1b34(%ebp),%eax
58b92e:	e8 91 d8 ff ff       	call   0x5891c4
58b933:	8b 85 cc e4 ff ff    	mov    -0x1b34(%ebp),%eax
58b939:	83 ca ff             	or     $0xffffffff,%edx
58b93c:	e8 db d7 ff ff       	call   0x58911c
58b941:	bb 92 0d 00 00       	mov    $0xd92,%ebx
58b946:	8d 85 d8 e4 ff ff    	lea    -0x1b28(%ebp),%eax
58b94c:	89 85 98 e4 ff ff    	mov    %eax,-0x1b68(%ebp)
58b952:	8b 85 98 e4 ff ff    	mov    -0x1b68(%ebp),%eax
58b958:	66 c7 00 00 08       	movw   $0x800,(%eax)
58b95d:	83 85 98 e4 ff ff 02 	addl   $0x2,-0x1b68(%ebp)
58b964:	4b                   	dec    %ebx
58b965:	75 eb                	jne    0x58b952
58b967:	8b 85 a4 e4 ff ff    	mov    -0x1b5c(%ebp),%eax
58b96d:	db 80 f8 00 00 00    	fildl  0xf8(%eax)
58b973:	d8 3d a4 c0 58 00    	fdivrs 0x58c0a4
58b979:	d8 35 a8 c0 58 00    	fdivs  0x58c0a8
58b97f:	8b 85 a4 e4 ff ff    	mov    -0x1b5c(%ebp),%eax
58b985:	dd 98 c0 f4 00 00    	fstpl  0xf4c0(%eax)
58b98b:	9b                   	fwait
58b98c:	33 c0                	xor    %eax,%eax
58b98e:	89 85 c8 e4 ff ff    	mov    %eax,-0x1b38(%ebp)
58b994:	e9 ea 06 00 00       	jmp    0x58c083
58b999:	8b 85 a4 e4 ff ff    	mov    -0x1b5c(%ebp),%eax
58b99f:	05 a8 f4 00 00       	add    $0xf4a8,%eax
58b9a4:	89 85 a0 e4 ff ff    	mov    %eax,-0x1b60(%ebp)
58b9aa:	8b 85 a0 e4 ff ff    	mov    -0x1b60(%ebp),%eax
58b9b0:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
58b9b5:	74 2a                	je     0x58b9e1
58b9b7:	db 85 c8 e4 ff ff    	fildl  -0x1b38(%ebp)
58b9bd:	8b 85 a0 e4 ff ff    	mov    -0x1b60(%ebp),%eax
58b9c3:	dc 48 18             	fmull  0x18(%eax)
58b9c6:	e8 01 73 e7 ff       	call   0x402ccc
58b9cb:	8b c8                	mov    %eax,%ecx
58b9cd:	8b 85 a0 e4 ff ff    	mov    -0x1b60(%ebp),%eax
58b9d3:	8b 50 08             	mov    0x8(%eax),%edx
58b9d6:	8b 9d a0 e4 ff ff    	mov    -0x1b60(%ebp),%ebx
58b9dc:	8b 43 04             	mov    0x4(%ebx),%eax
58b9df:	ff 13                	call   *(%ebx)
58b9e1:	bb 03 00 00 00       	mov    $0x3,%ebx
58b9e6:	8d b5 a8 e4 ff ff    	lea    -0x1b58(%ebp),%esi
58b9ec:	8b 85 cc e4 ff ff    	mov    -0x1b34(%ebp),%eax
58b9f2:	ba 06 00 00 00       	mov    $0x6,%edx
58b9f7:	e8 20 d7 ff ff       	call   0x58911c
58b9fc:	66 89 06             	mov    %ax,(%esi)
58b9ff:	83 c6 02             	add    $0x2,%esi
58ba02:	4b                   	dec    %ebx
58ba03:	75 e7                	jne    0x58b9ec
58ba05:	33 c0                	xor    %eax,%eax
58ba07:	89 45 fc             	mov    %eax,-0x4(%ebp)
58ba0a:	8d 85 ae e4 ff ff    	lea    -0x1b52(%ebp),%eax
58ba10:	89 85 94 e4 ff ff    	mov    %eax,-0x1b6c(%ebp)
58ba16:	8d 85 a8 e4 ff ff    	lea    -0x1b58(%ebp),%eax
58ba1c:	89 85 90 e4 ff ff    	mov    %eax,-0x1b70(%ebp)
58ba22:	8d 85 d8 e4 ff ff    	lea    -0x1b28(%ebp),%eax
58ba28:	89 85 8c e4 ff ff    	mov    %eax,-0x1b74(%ebp)
58ba2e:	8b 85 94 e4 ff ff    	mov    -0x1b6c(%ebp),%eax
58ba34:	0f bf 00             	movswl (%eax),%eax
58ba37:	50                   	push   %eax
58ba38:	b8 00 00 00 01       	mov    $0x1000000,%eax
58ba3d:	5a                   	pop    %edx
58ba3e:	8b ca                	mov    %edx,%ecx
58ba40:	33 d2                	xor    %edx,%edx
58ba42:	f7 f1                	div    %ecx
58ba44:	8b f8                	mov    %eax,%edi
58ba46:	81 c7 ff 07 00 00    	add    $0x7ff,%edi
58ba4c:	c1 ef 0c             	shr    $0xc,%edi
58ba4f:	8b 85 90 e4 ff ff    	mov    -0x1b70(%ebp),%eax
58ba55:	0f bf 00             	movswl (%eax),%eax
58ba58:	0f af f8             	imul   %eax,%edi
58ba5b:	81 ff 1c 00 01 00    	cmp    $0x1001c,%edi
58ba61:	0f 9f c0             	setg   %al
58ba64:	b9 0c 00 00 00       	mov    $0xc,%ecx
58ba69:	ba 0a 00 00 00       	mov    $0xa,%edx
58ba6e:	e8 95 8e 07 00       	call   0x604908
58ba73:	8b d0                	mov    %eax,%edx
58ba75:	8b ca                	mov    %edx,%ecx
58ba77:	49                   	dec    %ecx
58ba78:	83 c8 ff             	or     $0xffffffff,%eax
58ba7b:	d3 e0                	shl    %cl,%eax
58ba7d:	f7 d0                	not    %eax
58ba7f:	89 85 d0 e4 ff ff    	mov    %eax,-0x1b30(%ebp)
58ba85:	b9 0c 00 00 00       	mov    $0xc,%ecx
58ba8a:	2b ca                	sub    %edx,%ecx
58ba8c:	d3 e7                	shl    %cl,%edi
58ba8e:	bb 86 04 00 00       	mov    $0x486,%ebx
58ba93:	8b 85 8c e4 ff ff    	mov    -0x1b74(%ebp),%eax
58ba99:	8b ca                	mov    %edx,%ecx
58ba9b:	0f bf 30             	movswl (%eax),%esi
58ba9e:	0f af f7             	imul   %edi,%esi
58baa1:	03 b5 d0 e4 ff ff    	add    -0x1b30(%ebp),%esi
58baa7:	d3 ee                	shr    %cl,%esi
58baa9:	66 89 30             	mov    %si,(%eax)
58baac:	83 c0 02             	add    $0x2,%eax
58baaf:	4b                   	dec    %ebx
58bab0:	75 e7                	jne    0x58ba99
58bab2:	8b 85 90 e4 ff ff    	mov    -0x1b70(%ebp),%eax
58bab8:	66 8b 00             	mov    (%eax),%ax
58babb:	8b 95 94 e4 ff ff    	mov    -0x1b6c(%ebp),%edx
58bac1:	66 89 02             	mov    %ax,(%edx)
58bac4:	8b 45 fc             	mov    -0x4(%ebp),%eax
58bac7:	e8 ec fc ff ff       	call   0x58b7b8
58bacc:	85 c0                	test   %eax,%eax
58bace:	0f 8c 9c 04 00 00    	jl     0x58bf70
58bad4:	40                   	inc    %eax
58bad5:	89 85 9c e4 ff ff    	mov    %eax,-0x1b64(%ebp)
58badb:	c7 85 b4 e4 ff ff 00 	movl   $0x0,-0x1b4c(%ebp)
58bae2:	00 00 00
58bae5:	8b 85 a4 e4 ff ff    	mov    -0x1b5c(%ebp),%eax
58baeb:	8b 80 fc 00 00 00    	mov    0xfc(%eax),%eax
58baf1:	d1 f8                	sar    $1,%eax
58baf3:	79 03                	jns    0x58baf8
58baf5:	83 d0 00             	adc    $0x0,%eax
58baf8:	8b 95 8c e4 ff ff    	mov    -0x1b74(%ebp),%edx
58bafe:	8b 8d 90 e4 ff ff    	mov    -0x1b70(%ebp),%ecx
58bb04:	66 8b 09             	mov    (%ecx),%cx
58bb07:	c1 e1 07             	shl    $0x7,%ecx
58bb0a:	66 89 8c 42 08 06 00 	mov    %cx,0x608(%edx,%eax,2)
58bb11:	00
58bb12:	8b 85 a4 e4 ff ff    	mov    -0x1b5c(%ebp),%eax