58c55d:	48                   	dec    %eax
58c55e:	85 c0                	test   %eax,%eax
58c560:	0f 82 d7 00 00 00    	jb     0x58c63d
58c566:	40                   	inc    %eax
58c567:	89 44 24 0c          	mov    %eax,0xc(%esp)
58c56b:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
58c572:	00
58c573:	8d b3 a8 f4 00 00    	lea    0xf4a8(%ebx),%esi
58c579:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
58c57e:	74 2d                	je     0x58c5ad
58c580:	8b 44 24 08          	mov    0x8(%esp),%eax
58c584:	89 84 24 10 20 00 00 	mov    %eax,0x2010(%esp)
58c58b:	33 c0                	xor    %eax,%eax
58c58d:	89 84 24 14 20 00 00 	mov    %eax,0x2014(%esp)
58c594:	df ac 24 10 20 00 00 	fildll 0x2010(%esp)
58c59b:	dc 4e 18             	fmull  0x18(%esi)
58c59e:	e8 29 67 e7 ff       	call   0x402ccc
58c5a3:	8b c8                	mov    %eax,%ecx
58c5a5:	8b 56 08             	mov    0x8(%esi),%edx
58c5a8:	8b 46 04             	mov    0x4(%esi),%eax
58c5ab:	ff 16                	call   *(%esi)
58c5ad:	8b 54 24 04          	mov    0x4(%esp),%edx
58c5b1:	8b 8b ec 00 00 00    	mov    0xec(%ebx),%ecx
58c5b7:	8b 43 04             	mov    0x4(%ebx),%eax
58c5ba:	8b 30                	mov    (%eax),%esi
58c5bc:	ff 56 08             	call   *0x8(%esi)
58c5bf:	8b ab ec 00 00 00    	mov    0xec(%ebx),%ebp
58c5c5:	4d                   	dec    %ebp
58c5c6:	85 ed                	test   %ebp,%ebp
58c5c8:	72 65                	jb     0x58c62f
58c5ca:	45                   	inc    %ebp
58c5cb:	33 f6                	xor    %esi,%esi
58c5cd:	8b fe                	mov    %esi,%edi
58c5cf:	2b bb f4 00 00 00    	sub    0xf4(%ebx),%edi
58c5d5:	8b c7                	mov    %edi,%eax
58c5d7:	33 d2                	xor    %edx,%edx
58c5d9:	52                   	push   %edx
58c5da:	50                   	push   %eax
58c5db:	8b 83 fc 00 00 00    	mov    0xfc(%ebx),%eax
58c5e1:	99                   	cltd
58c5e2:	3b 54 24 04          	cmp    0x4(%esp),%edx
58c5e6:	75 09                	jne    0x58c5f1
58c5e8:	3b 04 24             	cmp    (%esp),%eax
58c5eb:	5a                   	pop    %edx
58c5ec:	58                   	pop    %eax
58c5ed:	76 29                	jbe    0x58c618
58c5ef:	eb 04                	jmp    0x58c5f5
58c5f1:	5a                   	pop    %edx
58c5f2:	58                   	pop    %eax
58c5f3:	7e 23                	jle    0x58c618
58c5f5:	8b 04 24             	mov    (%esp),%eax
58c5f8:	8b cf                	mov    %edi,%ecx
58c5fa:	8b 54 24 08          	mov    0x8(%esp),%edx
58c5fe:	e8 f9 c3 ff ff       	call   0x5889fc
58c603:	8b 54 24 04          	mov    0x4(%esp),%edx
58c607:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
58c60b:	66 8b 54 54 10       	mov    0x10(%esp,%edx,2),%dx
58c610:	c1 e2 02             	shl    $0x2,%edx
58c613:	66 89 10             	mov    %dx,(%eax)
58c616:	eb 13                	jmp    0x58c62b
58c618:	8b 44 24 04          	mov    0x4(%esp),%eax
58c61c:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
58c620:	0f b7 44 44 10       	movzwl 0x10(%esp,%eax,2),%eax
58c625:	01 83 04 01 00 00    	add    %eax,0x104(%ebx)
58c62b:	46                   	inc    %esi
58c62c:	4d                   	dec    %ebp
58c62d:	75 9e                	jne    0x58c5cd
58c62f:	ff 44 24 08          	incl   0x8(%esp)
58c633:	ff 4c 24 0c          	decl   0xc(%esp)
58c637:	0f 85 36 ff ff ff    	jne    0x58c573
58c63d:	8b b3 fc 00 00 00    	mov    0xfc(%ebx),%esi
58c643:	8b 8b ec 00 00 00    	mov    0xec(%ebx),%ecx
58c649:	3b f1                	cmp    %ecx,%esi
58c64b:	7d 1b                	jge    0x58c668
58c64d:	8b 83 04 01 00 00    	mov    0x104(%ebx),%eax
58c653:	c1 e0 02             	shl    $0x2,%eax
58c656:	2b ce                	sub    %esi,%ecx
58c658:	0f af 8b f8 00 00 00 	imul   0xf8(%ebx),%ecx
58c65f:	99                   	cltd
58c660:	f7 f9                	idiv   %ecx
58c662:	89 83 04 01 00 00    	mov    %eax,0x104(%ebx)
58c668:	ba bc c6 58 00       	mov    $0x58c6bc,%edx
58c66d:	8d 43 4a             	lea    0x4a(%ebx),%eax
58c670:	b9 03 00 00 00       	mov    $0x3,%ecx
58c675:	e8 3a c3 ff ff       	call   0x5889b4
58c67a:	85 c0                	test   %eax,%eax
58c67c:	75 08                	jne    0x58c686
58c67e:	33 c0                	xor    %eax,%eax
58c680:	89 83 04 01 00 00    	mov    %eax,0x104(%ebx)
58c686:	8b 44 24 04          	mov    0x4(%esp),%eax
58c68a:	e8 3d 61 e7 ff       	call   0x4027cc
58c68f:	81 c4 18 20 00 00    	add    $0x2018,%esp
58c695:	5d                   	pop    %ebp
58c696:	5f                   	pop    %edi
58c697:	5e                   	pop    %esi
58c698:	5b                   	pop    %ebx
58c699:	c3                   	ret
58c69a:	00 00                	add    %al,(%eax)
58c69c:	6b 6f 64 61          	imul   $0x61,0x64(%edi),%ebp
58c6a0:	6b 5f 65 61          	imul   $0x61,0x65(%edi),%ebx
58c6a4:	73 79                	jae    0x58c71f
58c6a6:	5f                   	pop    %edi
58c6a7:	6c                   	insb   (%dx),%es:(%edi)
58c6a8:	6f                   	outsl  %ds:(%esi),(%dx)
58c6a9:	61                   	popa
58c6aa:	64 5f                	fs pop %edi
58c6ac:	72 61                	jb     0x58c70f
58c6ae:	77 28                	ja     0x58c6d8
58c6b0:	29 00                	sub    %eax,(%eax)
58c6b2:	00 00                	add    %al,(%eax)
58c6b4:	00 00                	add    %al,(%eax)
58c6b6:	c8 42 00 00          	enter  $0x42,$0x0
58c6ba:	00 40 44             	add    %al,0x44(%eax)
58c6bd:	43                   	inc    %ebx
58c6be:	32 00                	xor    (%eax),%al
58c6c0:	53                   	push   %ebx
58c6c1:	56                   	push   %esi
58c6c2:	57                   	push   %edi
58c6c3:	50                   	push   %eax
58c6c4:	b8 02 00 00 00       	mov    $0x2,%eax
58c6c9:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
58c6cf:	50                   	push   %eax
58c6d0:	48                   	dec    %eax
58c6d1:	75 f6                	jne    0x58c6c9
58c6d3:	8b 84 24 00 20 00 00 	mov    0x2000(%esp),%eax
58c6da:	81 c4 c0 fe ff ff    	add    $0xfffffec0,%esp
58c6e0:	89 04 24             	mov    %eax,(%esp)
58c6e3:	8b 04 24             	mov    (%esp),%eax
58c6e6:	8b f8                	mov    %eax,%edi
58c6e8:	33 d2                	xor    %edx,%edx
58c6ea:	89 54 24 10          	mov    %edx,0x10(%esp)
58c6ee:	33 d2                	xor    %edx,%edx
58c6f0:	89 54 24 14          	mov    %edx,0x14(%esp)
58c6f4:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
58c6fb:	00
58c6fc:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
58c703:	00
58c704:	8d 94 24 3c 01 00 00 	lea    0x13c(%esp),%edx
58c70b:	e8 ec d0 ff ff       	call   0x5897fc
58c710:	db 87 f8 00 00 00    	fildl  0xf8(%edi)
58c716:	d8 3d 38 ca 58 00    	fdivrs 0x58ca38
58c71c:	d8 35 3c ca 58 00    	fdivs  0x58ca3c
58c722:	dd 9f c0 f4 00 00    	fstpl  0xf4c0(%edi)
58c728:	9b                   	fwait
58c729:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
58c72f:	48                   	dec    %eax
58c730:	85 c0                	test   %eax,%eax
58c732:	0f 82 f4 02 00 00    	jb     0x58ca2c
58c738:	40                   	inc    %eax
58c739:	89 44 24 28          	mov    %eax,0x28(%esp)
58c73d:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58c744:	00
58c745:	8d 9f a8 f4 00 00    	lea    0xf4a8(%edi),%ebx
58c74b:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
58c750:	74 2d                	je     0x58c77f
58c752:	8b 44 24 04          	mov    0x4(%esp),%eax
58c756:	89 84 24 3c 21 00 00 	mov    %eax,0x213c(%esp)
58c75d:	33 c0                	xor    %eax,%eax
58c75f:	89 84 24 40 21 00 00 	mov    %eax,0x2140(%esp)
58c766:	df ac 24 3c 21 00 00 	fildll 0x213c(%esp)
58c76d:	dc 4b 18             	fmull  0x18(%ebx)
58c770:	e8 57 65 e7 ff       	call   0x402ccc
58c775:	8b c8                	mov    %eax,%ecx
58c777:	8b 53 08             	mov    0x8(%ebx),%edx
58c77a:	8b 43 04             	mov    0x4(%ebx),%eax
58c77d:	ff 13                	call   *(%ebx)
58c77f:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
58c785:	48                   	dec    %eax
58c786:	85 c0                	test   %eax,%eax
58c788:	0f 82 90 02 00 00    	jb     0x58ca1e
58c78e:	40                   	inc    %eax
58c78f:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58c793:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
58c79a:	00
58c79b:	f6 44 24 08 ff       	testb  $0xff,0x8(%esp)
58c7a0:	0f 85 e8 00 00 00    	jne    0x58c88e
58c7a6:	8b b7 fc 00 00 00    	mov    0xfc(%edi),%esi
58c7ac:	2b 74 24 08          	sub    0x8(%esp),%esi
58c7b0:	81 fe 00 01 00 00    	cmp    $0x100,%esi
58c7b6:	76 05                	jbe    0x58c7bd
58c7b8:	be 00 01 00 00       	mov    $0x100,%esi
58c7bd:	8b 47 04             	mov    0x4(%edi),%eax
58c7c0:	e8 f7 c1 ff ff       	call   0x5889bc
58c7c5:	89 44 24 0c          	mov    %eax,0xc(%esp)
58c7c9:	33 db                	xor    %ebx,%ebx
58c7cb:	33 c0                	xor    %eax,%eax
58c7cd:	89 44 24 10          	mov    %eax,0x10(%esp)
58c7d1:	3b f3                	cmp    %ebx,%esi
58c7d3:	76 3f                	jbe    0x58c814
58c7d5:	8b 47 04             	mov    0x4(%edi),%eax
58c7d8:	e8 eb c1 ff ff       	call   0x5889c8
58c7dd:	8b d0                	mov    %eax,%edx
58c7df:	80 e2 0f             	and    $0xf,%dl
58c7e2:	88 54 1c 30          	mov    %dl,0x30(%esp,%ebx,1)
58c7e6:	80 fa 0c             	cmp    $0xc,%dl
58c7e9:	76 0a                	jbe    0x58c7f5
58c7eb:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
58c7f2:	00
58c7f3:	eb 18                	jmp    0x58c80d
58c7f5:	33 d2                	xor    %edx,%edx
58c7f7:	8a d0                	mov    %al,%dl
58c7f9:	c1 ea 04             	shr    $0x4,%edx
58c7fc:	88 54 1c 31          	mov    %dl,0x31(%esp,%ebx,1)
58c800:	80 fa 0c             	cmp    $0xc,%dl
58c803:	76 08                	jbe    0x58c80d
58c805:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
58c80c:	00
58c80d:	83 c3 02             	add    $0x2,%ebx
58c810:	3b f3                	cmp    %ebx,%esi
58c812:	77 c1                	ja     0x58c7d5
58c814:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
58c81b:	00
58c81c:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
58c823:	00
58c824:	33 c0                	xor    %eax,%eax
58c826:	89 44 24 14          	mov    %eax,0x14(%esp)
58c82a:	33 c0                	xor    %eax,%eax
58c82c:	89 44 24 18          	mov    %eax,0x18(%esp)
58c830:	33 c0                	xor    %eax,%eax
58c832:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58c836:	83 e6 07             	and    $0x7,%esi
58c839:	83 fe 04             	cmp    $0x4,%esi
58c83c:	75 39                	jne    0x58c877
58c83e:	8b 47 04             	mov    0x4(%edi),%eax
58c841:	e8 82 c1 ff ff       	call   0x5889c8
58c846:	25 ff 00 00 00       	and    $0xff,%eax
58c84b:	c1 e0 08             	shl    $0x8,%eax
58c84e:	33 d2                	xor    %edx,%edx
58c850:	89 44 24 20          	mov    %eax,0x20(%esp)
58c854:	89 54 24 24          	mov    %edx,0x24(%esp)
58c858:	8b 47 04             	mov    0x4(%edi),%eax
58c85b:	e8 68 c1 ff ff       	call   0x5889c8
58c860:	25 ff 00 00 00       	and    $0xff,%eax
58c865:	33 d2                	xor    %edx,%edx
58c867:	01 44 24 20          	add    %eax,0x20(%esp)
58c86b:	11 54 24 24          	adc    %edx,0x24(%esp)
58c86f:	c7 44 24 14 10 00 00 	movl   $0x10,0x14(%esp)
58c876:	00
58c877:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
58c87c:	74 10                	je     0x58c88e
58c87e:	8b 44 24 0c          	mov    0xc(%esp),%eax
58c882:	33 d2                	xor    %edx,%edx
58c884:	52                   	push   %edx
58c885:	50                   	push   %eax
58c886:	8b 47 04             	mov    0x4(%edi),%eax
58c889:	e8 4a 1e e9 ff       	call   0x41e6d8
58c88e:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
58c893:	0f 84 bb 00 00 00    	je     0x58c954
58c899:	8b 44 24 08          	mov    0x8(%esp),%eax
58c89d:	83 e0 07             	and    $0x7,%eax
58c8a0:	8b d0                	mov    %eax,%edx
58c8a2:	83 ea 01             	sub    $0x1,%edx
58c8a5:	72 07                	jb     0x58c8ae
58c8a7:	74 66                	je     0x58c90f
58c8a9:	e9 91 00 00 00       	jmp    0x58c93f
58c8ae:	8d 94 24 30 01 00 00 	lea    0x130(%esp),%edx
58c8b5:	8b 47 04             	mov    0x4(%edi),%eax
58c8b8:	b9 0c 00 00 00       	mov    $0xc,%ecx
58c8bd:	8b 18                	mov    (%eax),%ebx
58c8bf:	ff 53 08             	call   *0x8(%ebx)
58c8c2:	bb 06 00 00 00       	mov    $0x6,%ebx
58c8c7:	8d b4 24 30 01 00 00 	lea    0x130(%esp),%esi
58c8ce:	66 8b 06             	mov    (%esi),%ax
58c8d1:	e8 ba dd ff ff       	call   0x58a690
58c8d6:	66 89 06             	mov    %ax,(%esi)
58c8d9:	83 c6 02             	add    $0x2,%esi
58c8dc:	4b                   	dec    %ebx
58c8dd:	75 ef                	jne    0x58c8ce
58c8df:	0f b7 9c 24 30 01 00 	movzwl 0x130(%esp),%ebx
58c8e6:	00
58c8e7:	c1 eb 0c             	shr    $0xc,%ebx
58c8ea:	c1 e3 08             	shl    $0x8,%ebx
58c8ed:	0f b7 84 24 34 01 00 	movzwl 0x134(%esp),%eax
58c8f4:	00
58c8f5:	c1 e8 0c             	shr    $0xc,%eax
58c8f8:	c1 e0 04             	shl    $0x4,%eax
58c8fb:	0b d8                	or     %eax,%ebx
58c8fd:	0f b7 84 24 38 01 00 	movzwl 0x138(%esp),%eax
58c904:	00
58c905:	c1 e8 0c             	shr    $0xc,%eax
58c908:	0b d8                	or     %eax,%ebx
58c90a:	e9 e3 00 00 00       	jmp    0x58c9f2
58c90f:	0f b7 9c 24 32 01 00 	movzwl 0x132(%esp),%ebx
58c916:	00
58c917:	c1 eb 0c             	shr    $0xc,%ebx
58c91a:	c1 e3 08             	shl    $0x8,%ebx
58c91d:	0f b7 84 24 36 01 00 	movzwl 0x136(%esp),%eax
58c924:	00
58c925:	c1 e8 0c             	shr    $0xc,%eax
58c928:	c1 e0 04             	shl    $0x4,%eax
58c92b:	0b d8                	or     %eax,%ebx
58c92d:	0f b7 84 24 3a 01 00 	movzwl 0x13a(%esp),%eax
58c934:	00
58c935:	c1 e8 0c             	shr    $0xc,%eax
58c938:	0b d8                	or     %eax,%ebx
58c93a:	e9 b3 00 00 00       	jmp    0x58c9f2
58c93f:	66 8b 9c 44 2c 01 00 	mov    0x12c(%esp,%eax,2),%bx
58c946:	00
58c947:	66 81 e3 ff 0f       	and    $0xfff,%bx
58c94c:	0f b7 db             	movzwl %bx,%ebx
58c94f:	e9 9e 00 00 00       	jmp    0x58c9f2
58c954:	8b 44 24 08          	mov    0x8(%esp),%eax
58c958:	25 ff 00 00 00       	and    $0xff,%eax
58c95d:	0f b6 74 04 30       	movzbl 0x30(%esp,%eax,1),%esi
58c962:	3b 74 24 14          	cmp    0x14(%esp),%esi
58c966:	76 34                	jbe    0x58c99c
58c968:	33 db                	xor    %ebx,%ebx
58c96a:	8b 47 04             	mov    0x4(%edi),%eax
58c96d:	e8 56 c0 ff ff       	call   0x5889c8
58c972:	25 ff 00 00 00       	and    $0xff,%eax
58c977:	33 d2                	xor    %edx,%edx
58c979:	8b cb                	mov    %ebx,%ecx
58c97b:	83 f1 08             	xor    $0x8,%ecx
58c97e:	03 4c 24 14          	add    0x14(%esp),%ecx
58c982:	e8 b5 92 e7 ff       	call   0x405c3c
58c987:	01 44 24 20          	add    %eax,0x20(%esp)
58c98b:	11 54 24 24          	adc    %edx,0x24(%esp)
58c98f:	83 c3 08             	add    $0x8,%ebx
58c992:	83 fb 20             	cmp    $0x20,%ebx
58c995:	72 d3                	jb     0x58c96a
58c997:	83 44 24 14 20       	addl   $0x20,0x14(%esp)
58c99c:	b9 10 00 00 00       	mov    $0x10,%ecx
58c9a1:	2b ce                	sub    %esi,%ecx
58c9a3:	bb ff ff 00 00       	mov    $0xffff,%ebx
58c9a8:	d3 eb                	shr    %cl,%ebx
58c9aa:	23 5c 24 20          	and    0x20(%esp),%ebx
58c9ae:	8b 44 24 20          	mov    0x20(%esp),%eax
58c9b2:	8b 54 24 24          	mov    0x24(%esp),%edx
58c9b6:	8b ce                	mov    %esi,%ecx
58c9b8:	e8 9f 92 e7 ff       	call   0x405c5c
58c9bd:	89 44 24 20          	mov    %eax,0x20(%esp)
58c9c1:	89 54 24 24          	mov    %edx,0x24(%esp)
58c9c5:	29 74 24 14          	sub    %esi,0x14(%esp)
58c9c9:	8b ce                	mov    %esi,%ecx
58c9cb:	49                   	dec    %ecx
58c9cc:	b8 01 00 00 00       	mov    $0x1,%eax
58c9d1:	d3 e0                	shl    %cl,%eax
58c9d3:	85 d8                	test   %ebx,%eax
58c9d5:	75 0c                	jne    0x58c9e3
58c9d7:	8b ce                	mov    %esi,%ecx
58c9d9:	b8 01 00 00 00       	mov    $0x1,%eax
58c9de:	d3 e0                	shl    %cl,%eax
58c9e0:	48                   	dec    %eax
58c9e1:	2b d8                	sub    %eax,%ebx
58c9e3:	8b 44 24 08          	mov    0x8(%esp),%eax
58c9e7:	83 e0 01             	and    $0x1,%eax
58c9ea:	01 5c 84 18          	add    %ebx,0x18(%esp,%eax,4)
58c9ee:	8b 5c 84 18          	mov    0x18(%esp,%eax,4),%ebx
58c9f2:	8b 04 24             	mov    (%esp),%eax
58c9f5:	8b 4c 24 08          	mov    0x8(%esp),%ecx