60250c:	83 48 0c 02          	orl    $0x2,0xc(%eax)
602510:	f6 c2 20             	test   $0x20,%dl
602513:	74 06                	je     0x60251b
602515:	8b 45 08             	mov    0x8(%ebp),%eax
602518:	09 58 0c             	or     %ebx,0xc(%eax)
60251b:	8b 06                	mov    (%esi),%eax
60251d:	b9 00 0c 00 00       	mov    $0xc00,%ecx
602522:	23 c1                	and    %ecx,%eax
602524:	74 35                	je     0x60255b
602526:	3d 00 04 00 00       	cmp    $0x400,%eax
60252b:	74 22                	je     0x60254f
60252d:	3d 00 08 00 00       	cmp    $0x800,%eax
602532:	74 0c                	je     0x602540
602534:	3b c1                	cmp    %ecx,%eax
602536:	75 29                	jne    0x602561
602538:	8b 45 08             	mov    0x8(%ebp),%eax
60253b:	83 08 03             	orl    $0x3,(%eax)
60253e:	eb 21                	jmp    0x602561
602540:	8b 4d 08             	mov    0x8(%ebp),%ecx
602543:	8b 01                	mov    (%ecx),%eax
602545:	83 e0 fe             	and    $0xfffffffe,%eax
602548:	83 c8 02             	or     $0x2,%eax
60254b:	89 01                	mov    %eax,(%ecx)
60254d:	eb 12                	jmp    0x602561
60254f:	8b 4d 08             	mov    0x8(%ebp),%ecx
602552:	8b 01                	mov    (%ecx),%eax
602554:	83 e0 fd             	and    $0xfffffffd,%eax
602557:	0b c3                	or     %ebx,%eax
602559:	eb f0                	jmp    0x60254b
60255b:	8b 45 08             	mov    0x8(%ebp),%eax
60255e:	83 20 fc             	andl   $0xfffffffc,(%eax)
602561:	8b 06                	mov    (%esi),%eax
602563:	b9 00 03 00 00       	mov    $0x300,%ecx
602568:	23 c1                	and    %ecx,%eax
60256a:	74 20                	je     0x60258c
60256c:	3d 00 02 00 00       	cmp    $0x200,%eax
602571:	74 0c                	je     0x60257f
602573:	3b c1                	cmp    %ecx,%eax
602575:	75 22                	jne    0x602599
602577:	8b 45 08             	mov    0x8(%ebp),%eax
60257a:	83 20 e3             	andl   $0xffffffe3,(%eax)
60257d:	eb 1a                	jmp    0x602599
60257f:	8b 4d 08             	mov    0x8(%ebp),%ecx
602582:	8b 01                	mov    (%ecx),%eax
602584:	83 e0 e7             	and    $0xffffffe7,%eax
602587:	83 c8 04             	or     $0x4,%eax
60258a:	eb 0b                	jmp    0x602597
60258c:	8b 4d 08             	mov    0x8(%ebp),%ecx
60258f:	8b 01                	mov    (%ecx),%eax
602591:	83 e0 eb             	and    $0xffffffeb,%eax
602594:	83 c8 08             	or     $0x8,%eax
602597:	89 01                	mov    %eax,(%ecx)
602599:	8b 45 08             	mov    0x8(%ebp),%eax
60259c:	8b 4d 14             	mov    0x14(%ebp),%ecx
60259f:	c1 e1 05             	shl    $0x5,%ecx
6025a2:	33 08                	xor    (%eax),%ecx
6025a4:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
6025aa:	31 08                	xor    %ecx,(%eax)
6025ac:	8b 45 08             	mov    0x8(%ebp),%eax
6025af:	09 58 20             	or     %ebx,0x20(%eax)
6025b2:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
6025b6:	74 2c                	je     0x6025e4
6025b8:	8b 45 08             	mov    0x8(%ebp),%eax
6025bb:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
6025bf:	8b 45 18             	mov    0x18(%ebp),%eax
6025c2:	d9 00                	flds   (%eax)
6025c4:	8b 45 08             	mov    0x8(%ebp),%eax
6025c7:	d9 58 10             	fstps  0x10(%eax)
6025ca:	8b 45 08             	mov    0x8(%ebp),%eax
6025cd:	09 58 60             	or     %ebx,0x60(%eax)
6025d0:	8b 45 08             	mov    0x8(%ebp),%eax
6025d3:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
6025d6:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
6025da:	8b 45 08             	mov    0x8(%ebp),%eax
6025dd:	d9 03                	flds   (%ebx)
6025df:	d9 58 50             	fstps  0x50(%eax)
6025e2:	eb 3a                	jmp    0x60261e
6025e4:	8b 4d 08             	mov    0x8(%ebp),%ecx
6025e7:	8b 41 20             	mov    0x20(%ecx),%eax
6025ea:	83 e0 e3             	and    $0xffffffe3,%eax
6025ed:	83 c8 02             	or     $0x2,%eax
6025f0:	89 41 20             	mov    %eax,0x20(%ecx)
6025f3:	8b 45 18             	mov    0x18(%ebp),%eax
6025f6:	dd 00                	fldl   (%eax)
6025f8:	8b 45 08             	mov    0x8(%ebp),%eax
6025fb:	dd 58 10             	fstpl  0x10(%eax)
6025fe:	8b 45 08             	mov    0x8(%ebp),%eax
602601:	09 58 60             	or     %ebx,0x60(%eax)
602604:	8b 4d 08             	mov    0x8(%ebp),%ecx
602607:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
60260a:	8b 41 60             	mov    0x60(%ecx),%eax
60260d:	83 e0 e3             	and    $0xffffffe3,%eax
602610:	83 c8 02             	or     $0x2,%eax
602613:	89 41 60             	mov    %eax,0x60(%ecx)
602616:	8b 45 08             	mov    0x8(%ebp),%eax
602619:	dd 03                	fldl   (%ebx)
60261b:	dd 58 50             	fstpl  0x50(%eax)
60261e:	e8 66 47 00 00       	call   0x606d89
602623:	8d 45 08             	lea    0x8(%ebp),%eax
602626:	50                   	push   %eax
602627:	6a 01                	push   $0x1
602629:	6a 00                	push   $0x0
60262b:	57                   	push   %edi
60262c:	ff 15 98 21 68 00    	call   *0x682198
602632:	8b 4d 08             	mov    0x8(%ebp),%ecx
602635:	8b 41 08             	mov    0x8(%ecx),%eax
602638:	a8 10                	test   $0x10,%al
60263a:	74 06                	je     0x602642
60263c:	83 26 fe             	andl   $0xfffffffe,(%esi)
60263f:	8b 41 08             	mov    0x8(%ecx),%eax
602642:	a8 08                	test   $0x8,%al
602644:	74 06                	je     0x60264c
602646:	83 26 fb             	andl   $0xfffffffb,(%esi)
602649:	8b 41 08             	mov    0x8(%ecx),%eax
60264c:	a8 04                	test   $0x4,%al
60264e:	74 06                	je     0x602656
602650:	83 26 f7             	andl   $0xfffffff7,(%esi)
602653:	8b 41 08             	mov    0x8(%ecx),%eax
602656:	a8 02                	test   $0x2,%al
602658:	74 06                	je     0x602660
60265a:	83 26 ef             	andl   $0xffffffef,(%esi)
60265d:	8b 41 08             	mov    0x8(%ecx),%eax
602660:	a8 01                	test   $0x1,%al
602662:	74 03                	je     0x602667
602664:	83 26 df             	andl   $0xffffffdf,(%esi)
602667:	8b 01                	mov    (%ecx),%eax
602669:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
60266e:	83 e0 03             	and    $0x3,%eax
602671:	83 e8 00             	sub    $0x0,%eax
602674:	74 35                	je     0x6026ab
602676:	83 e8 01             	sub    $0x1,%eax
602679:	74 22                	je     0x60269d
60267b:	83 e8 01             	sub    $0x1,%eax
60267e:	74 0d                	je     0x60268d
602680:	83 e8 01             	sub    $0x1,%eax
602683:	75 28                	jne    0x6026ad
602685:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
60268b:	eb 20                	jmp    0x6026ad
60268d:	8b 06                	mov    (%esi),%eax
60268f:	25 ff fb ff ff       	and    $0xfffffbff,%eax
602694:	0d 00 08 00 00       	or     $0x800,%eax
602699:	89 06                	mov    %eax,(%esi)
60269b:	eb 10                	jmp    0x6026ad
60269d:	8b 06                	mov    (%esi),%eax
60269f:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
6026a4:	0d 00 04 00 00       	or     $0x400,%eax
6026a9:	eb ee                	jmp    0x602699
6026ab:	21 16                	and    %edx,(%esi)
6026ad:	8b 01                	mov    (%ecx),%eax
6026af:	c1 e8 02             	shr    $0x2,%eax
6026b2:	83 e0 07             	and    $0x7,%eax
6026b5:	83 e8 00             	sub    $0x0,%eax
6026b8:	74 19                	je     0x6026d3
6026ba:	83 e8 01             	sub    $0x1,%eax
6026bd:	74 09                	je     0x6026c8
6026bf:	83 e8 01             	sub    $0x1,%eax
6026c2:	75 1a                	jne    0x6026de
6026c4:	21 16                	and    %edx,(%esi)
6026c6:	eb 16                	jmp    0x6026de
6026c8:	8b 06                	mov    (%esi),%eax
6026ca:	23 c2                	and    %edx,%eax
6026cc:	0d 00 02 00 00       	or     $0x200,%eax
6026d1:	eb 09                	jmp    0x6026dc
6026d3:	8b 06                	mov    (%esi),%eax
6026d5:	23 c2                	and    %edx,%eax
6026d7:	0d 00 03 00 00       	or     $0x300,%eax
6026dc:	89 06                	mov    %eax,(%esi)
6026de:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
6026e2:	5e                   	pop    %esi
6026e3:	74 07                	je     0x6026ec
6026e5:	d9 41 50             	flds   0x50(%ecx)
6026e8:	d9 1b                	fstps  (%ebx)
6026ea:	eb 05                	jmp    0x6026f1
6026ec:	dd 41 50             	fldl   0x50(%ecx)
6026ef:	dd 1b                	fstpl  (%ebx)
6026f1:	5f                   	pop    %edi
6026f2:	5b                   	pop    %ebx
6026f3:	5d                   	pop    %ebp
6026f4:	c3                   	ret
6026f5:	8b ff                	mov    %edi,%edi
6026f7:	55                   	push   %ebp
6026f8:	8b ec                	mov    %esp,%ebp
6026fa:	8b 45 08             	mov    0x8(%ebp),%eax
6026fd:	83 f8 01             	cmp    $0x1,%eax
602700:	74 15                	je     0x602717
602702:	83 c0 fe             	add    $0xfffffffe,%eax
602705:	83 f8 01             	cmp    $0x1,%eax
602708:	77 18                	ja     0x602722
60270a:	e8 ea a8 fe ff       	call   0x5ecff9
60270f:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
602715:	5d                   	pop    %ebp
602716:	c3                   	ret
602717:	e8 dd a8 fe ff       	call   0x5ecff9
60271c:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
602722:	5d                   	pop    %ebp
602723:	c3                   	ret
602724:	8b ff                	mov    %edi,%edi
602726:	55                   	push   %ebp
602727:	8b ec                	mov    %esp,%ebp
602729:	8b 55 0c             	mov    0xc(%ebp),%edx
60272c:	83 ec 20             	sub    $0x20,%esp
60272f:	33 c9                	xor    %ecx,%ecx
602731:	8b c1                	mov    %ecx,%eax
602733:	39 14 c5 c0 42 6d 00 	cmp    %edx,0x6d42c0(,%eax,8)
60273a:	74 08                	je     0x602744
60273c:	40                   	inc    %eax
60273d:	83 f8 1d             	cmp    $0x1d,%eax
602740:	7c f1                	jl     0x602733
602742:	eb 07                	jmp    0x60274b
602744:	8b 0c c5 c4 42 6d 00 	mov    0x6d42c4(,%eax,8),%ecx
60274b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
60274e:	85 c9                	test   %ecx,%ecx
602750:	74 55                	je     0x6027a7
602752:	8b 45 10             	mov    0x10(%ebp),%eax
602755:	89 45 e8             	mov    %eax,-0x18(%ebp)
602758:	8b 45 14             	mov    0x14(%ebp),%eax
60275b:	89 45 ec             	mov    %eax,-0x14(%ebp)
60275e:	8b 45 18             	mov    0x18(%ebp),%eax
602761:	89 45 f0             	mov    %eax,-0x10(%ebp)
602764:	8b 45 1c             	mov    0x1c(%ebp),%eax
602767:	56                   	push   %esi
602768:	8b 75 08             	mov    0x8(%ebp),%esi
60276b:	89 45 f4             	mov    %eax,-0xc(%ebp)
60276e:	8b 45 20             	mov    0x20(%ebp),%eax
602771:	68 ff ff 00 00       	push   $0xffff
602776:	ff 75 28             	push   0x28(%ebp)
602779:	89 45 f8             	mov    %eax,-0x8(%ebp)
60277c:	8b 45 24             	mov    0x24(%ebp),%eax
60277f:	89 75 e0             	mov    %esi,-0x20(%ebp)
602782:	89 45 fc             	mov    %eax,-0x4(%ebp)
602785:	e8 10 46 00 00       	call   0x606d9a
60278a:	8d 45 e0             	lea    -0x20(%ebp),%eax
60278d:	50                   	push   %eax
60278e:	e8 6d 00 00 00       	call   0x602800
602793:	83 c4 0c             	add    $0xc,%esp
602796:	85 c0                	test   %eax,%eax
602798:	75 07                	jne    0x6027a1
60279a:	56                   	push   %esi
60279b:	e8 55 ff ff ff       	call   0x6026f5
6027a0:	59                   	pop    %ecx
6027a1:	dd 45 f8             	fldl   -0x8(%ebp)
6027a4:	5e                   	pop    %esi
6027a5:	c9                   	leave
6027a6:	c3                   	ret
6027a7:	68 ff ff 00 00       	push   $0xffff
6027ac:	ff 75 28             	push   0x28(%ebp)
6027af:	e8 e6 45 00 00       	call   0x606d9a
6027b4:	ff 75 08             	push   0x8(%ebp)
6027b7:	e8 39 ff ff ff       	call   0x6026f5
6027bc:	dd 45 20             	fldl   0x20(%ebp)
6027bf:	83 c4 0c             	add    $0xc,%esp
6027c2:	c9                   	leave
6027c3:	c3                   	ret
6027c4:	a1 9c 10 73 00       	mov    0x73109c,%eax
6027c9:	c3                   	ret
6027ca:	8b ff                	mov    %edi,%edi
6027cc:	55                   	push   %ebp
6027cd:	8b ec                	mov    %esp,%ebp
6027cf:	8b 45 08             	mov    0x8(%ebp),%eax
6027d2:	a3 9c 10 73 00       	mov    %eax,0x73109c
6027d7:	5d                   	pop    %ebp
6027d8:	c3                   	ret
6027d9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6027de:	8b c8                	mov    %eax,%ecx
6027e0:	33 05 a0 10 73 00    	xor    0x7310a0,%eax
6027e6:	83 e1 1f             	and    $0x1f,%ecx
6027e9:	d3 c8                	ror    %cl,%eax
6027eb:	85 c0                	test   %eax,%eax
6027ed:	0f 95 c0             	setne  %al
6027f0:	c3                   	ret
6027f1:	8b ff                	mov    %edi,%edi
6027f3:	55                   	push   %ebp
6027f4:	8b ec                	mov    %esp,%ebp
6027f6:	8b 45 08             	mov    0x8(%ebp),%eax
6027f9:	a3 a0 10 73 00       	mov    %eax,0x7310a0
6027fe:	5d                   	pop    %ebp
6027ff:	c3                   	ret
602800:	8b ff                	mov    %edi,%edi
602802:	55                   	push   %ebp
602803:	8b ec                	mov    %esp,%ebp
602805:	56                   	push   %esi
602806:	8b 35 d4 89 72 00    	mov    0x7289d4,%esi
60280c:	8b ce                	mov    %esi,%ecx
60280e:	33 35 a0 10 73 00    	xor    0x7310a0,%esi
602814:	83 e1 1f             	and    $0x1f,%ecx
602817:	d3 ce                	ror    %cl,%esi
602819:	85 f6                	test   %esi,%esi
60281b:	75 04                	jne    0x602821
60281d:	33 c0                	xor    %eax,%eax
60281f:	eb 0e                	jmp    0x60282f
602821:	ff 75 08             	push   0x8(%ebp)
602824:	8b ce                	mov    %esi,%ecx
602826:	ff 15 e0 24 68 00    	call   *0x6824e0
60282c:	ff d6                	call   *%esi
60282e:	59                   	pop    %ecx
60282f:	5e                   	pop    %esi
602830:	5d                   	pop    %ebp
602831:	c3                   	ret
602832:	8b ff                	mov    %edi,%edi
602834:	55                   	push   %ebp
602835:	8b ec                	mov    %esp,%ebp
602837:	ff 75 08             	push   0x8(%ebp)
60283a:	e8 4d 9a ff ff       	call   0x5fc28c
60283f:	59                   	pop    %ecx
602840:	a3 a0 10 73 00       	mov    %eax,0x7310a0
602845:	5d                   	pop    %ebp
602846:	c3                   	ret
602847:	a1 b8 14 73 00       	mov    0x7314b8,%eax
60284c:	85 c0                	test   %eax,%eax
60284e:	75 05                	jne    0x602855
602850:	b8 a4 10 73 00       	mov    $0x7310a4,%eax
602855:	56                   	push   %esi
602856:	6a 20                	push   $0x20
602858:	32 d2                	xor    %dl,%dl
60285a:	5e                   	pop    %esi
60285b:	0f b7 08             	movzwl (%eax),%ecx
60285e:	66 3b ce             	cmp    %si,%cx
602861:	77 09                	ja     0x60286c
602863:	66 85 c9             	test   %cx,%cx
602866:	74 27                	je     0x60288f
602868:	84 d2                	test   %dl,%dl
60286a:	74 0f                	je     0x60287b
60286c:	83 f9 22             	cmp    $0x22,%ecx
60286f:	75 05                	jne    0x602876
602871:	84 d2                	test   %dl,%dl
602873:	0f 94 c2             	sete   %dl
602876:	83 c0 02             	add    $0x2,%eax
602879:	eb e0                	jmp    0x60285b
60287b:	8b d1                	mov    %ecx,%edx
60287d:	66 3b d6             	cmp    %si,%dx
602880:	77 0d                	ja     0x60288f
602882:	83 c0 02             	add    $0x2,%eax
602885:	0f b7 08             	movzwl (%eax),%ecx
602888:	8b d1                	mov    %ecx,%edx
60288a:	66 85 c9             	test   %cx,%cx
60288d:	75 ee                	jne    0x60287d
60288f:	5e                   	pop    %esi
602890:	c3                   	ret
602891:	8b ff                	mov    %edi,%edi
602893:	55                   	push   %ebp
602894:	8b ec                	mov    %esp,%ebp
602896:	51                   	push   %ecx
602897:	8b 45 0c             	mov    0xc(%ebp),%eax
60289a:	53                   	push   %ebx
60289b:	56                   	push   %esi
60289c:	8b 75 08             	mov    0x8(%ebp),%esi
60289f:	2b c6                	sub    %esi,%eax
6028a1:	83 c0 03             	add    $0x3,%eax
6028a4:	57                   	push   %edi
6028a5:	33 ff                	xor    %edi,%edi