6046a1:	66 8b 45 08          	mov    0x8(%ebp),%ax
6046a5:	b9 ff ff 00 00       	mov    $0xffff,%ecx
6046aa:	56                   	push   %esi
6046ab:	66 8b 75 0c          	mov    0xc(%ebp),%si
6046af:	0f b7 d6             	movzwl %si,%edx
6046b2:	66 3b c1             	cmp    %cx,%ax
6046b5:	74 47                	je     0x6046fe
6046b7:	b9 00 01 00 00       	mov    $0x100,%ecx
6046bc:	66 3b c1             	cmp    %cx,%ax
6046bf:	73 10                	jae    0x6046d1
6046c1:	0f b7 c8             	movzwl %ax,%ecx
6046c4:	a1 64 8b 72 00       	mov    0x728b64,%eax
6046c9:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
6046cd:	23 c2                	and    %edx,%eax
6046cf:	eb 2f                	jmp    0x604700
6046d1:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
6046d5:	33 c0                	xor    %eax,%eax
6046d7:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
6046db:	8d 45 fc             	lea    -0x4(%ebp),%eax
6046de:	50                   	push   %eax
6046df:	6a 01                	push   $0x1
6046e1:	8d 45 f8             	lea    -0x8(%ebp),%eax
6046e4:	50                   	push   %eax
6046e5:	6a 01                	push   $0x1
6046e7:	e8 88 be 00 00       	call   0x610574
6046ec:	83 c4 10             	add    $0x10,%esp
6046ef:	85 c0                	test   %eax,%eax
6046f1:	74 0b                	je     0x6046fe
6046f3:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
6046f7:	0f b7 ce             	movzwl %si,%ecx
6046fa:	23 c1                	and    %ecx,%eax
6046fc:	eb 02                	jmp    0x604700
6046fe:	33 c0                	xor    %eax,%eax
604700:	5e                   	pop    %esi
604701:	c9                   	leave
604702:	c3                   	ret
604703:	8b ff                	mov    %edi,%edi
604705:	55                   	push   %ebp
604706:	8b ec                	mov    %esp,%ebp
604708:	83 ec 20             	sub    $0x20,%esp
60470b:	a1 d4 89 72 00       	mov    0x7289d4,%eax
604710:	33 c5                	xor    %ebp,%eax
604712:	89 45 fc             	mov    %eax,-0x4(%ebp)
604715:	ff 75 10             	push   0x10(%ebp)
604718:	8d 4d e0             	lea    -0x20(%ebp),%ecx
60471b:	e8 6d 94 fe ff       	call   0x5edb8d
604720:	8b 55 08             	mov    0x8(%ebp),%edx
604723:	83 fa ff             	cmp    $0xffffffff,%edx
604726:	7c 13                	jl     0x60473b
604728:	81 fa ff 00 00 00    	cmp    $0xff,%edx
60472e:	7f 0b                	jg     0x60473b
604730:	8b 45 e4             	mov    -0x1c(%ebp),%eax
604733:	8b 00                	mov    (%eax),%eax
604735:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
604739:	eb 74                	jmp    0x6047af
60473b:	53                   	push   %ebx
60473c:	56                   	push   %esi
60473d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
604740:	8b da                	mov    %edx,%ebx
604742:	c1 fb 08             	sar    $0x8,%ebx
604745:	0f b6 cb             	movzbl %bl,%ecx
604748:	57                   	push   %edi
604749:	8b 06                	mov    (%esi),%eax
60474b:	33 ff                	xor    %edi,%edi
60474d:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
604751:	7d 10                	jge    0x604763
604753:	33 c9                	xor    %ecx,%ecx
604755:	88 5d f0             	mov    %bl,-0x10(%ebp)
604758:	6a 02                	push   $0x2
60475a:	88 55 f1             	mov    %dl,-0xf(%ebp)
60475d:	88 4d f2             	mov    %cl,-0xe(%ebp)
604760:	58                   	pop    %eax
604761:	eb 0b                	jmp    0x60476e
604763:	33 c9                	xor    %ecx,%ecx
604765:	88 55 f0             	mov    %dl,-0x10(%ebp)
604768:	33 c0                	xor    %eax,%eax
60476a:	88 4d f1             	mov    %cl,-0xf(%ebp)
60476d:	40                   	inc    %eax
60476e:	6a 01                	push   $0x1
604770:	89 4d f4             	mov    %ecx,-0xc(%ebp)
604773:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
604777:	8d 4d f4             	lea    -0xc(%ebp),%ecx
60477a:	ff 76 08             	push   0x8(%esi)
60477d:	51                   	push   %ecx
60477e:	50                   	push   %eax
60477f:	8d 45 f0             	lea    -0x10(%ebp),%eax
604782:	50                   	push   %eax
604783:	8d 45 e4             	lea    -0x1c(%ebp),%eax
604786:	6a 01                	push   $0x1
604788:	50                   	push   %eax
604789:	e8 31 71 00 00       	call   0x60b8bf
60478e:	83 c4 1c             	add    $0x1c,%esp
604791:	5f                   	pop    %edi
604792:	5e                   	pop    %esi
604793:	5b                   	pop    %ebx
604794:	85 c0                	test   %eax,%eax
604796:	75 13                	jne    0x6047ab
604798:	38 45 ec             	cmp    %al,-0x14(%ebp)
60479b:	74 0a                	je     0x6047a7
60479d:	8b 45 e0             	mov    -0x20(%ebp),%eax
6047a0:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
6047a7:	33 c0                	xor    %eax,%eax
6047a9:	eb 17                	jmp    0x6047c2
6047ab:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
6047af:	23 45 0c             	and    0xc(%ebp),%eax
6047b2:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
6047b6:	74 0a                	je     0x6047c2
6047b8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
6047bb:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
6047c2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
6047c5:	33 cd                	xor    %ebp,%ecx
6047c7:	e8 0e cd fd ff       	call   0x5e14da
6047cc:	c9                   	leave
6047cd:	c3                   	ret
6047ce:	8b ff                	mov    %edi,%edi
6047d0:	55                   	push   %ebp
6047d1:	8b ec                	mov    %esp,%ebp
6047d3:	56                   	push   %esi
6047d4:	8b 75 0c             	mov    0xc(%ebp),%esi
6047d7:	8b 06                	mov    (%esi),%eax
6047d9:	3b 05 b4 10 73 00    	cmp    0x7310b4,%eax
6047df:	74 17                	je     0x6047f8
6047e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
6047e4:	a1 38 8e 72 00       	mov    0x728e38,%eax
6047e9:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
6047ef:	75 07                	jne    0x6047f8
6047f1:	e8 17 a5 00 00       	call   0x60ed0d
6047f6:	89 06                	mov    %eax,(%esi)
6047f8:	5e                   	pop    %esi
6047f9:	5d                   	pop    %ebp
6047fa:	c3                   	ret
6047fb:	8b ff                	mov    %edi,%edi
6047fd:	55                   	push   %ebp
6047fe:	8b ec                	mov    %esp,%ebp
604800:	56                   	push   %esi
604801:	8b 75 0c             	mov    0xc(%ebp),%esi
604804:	8b 06                	mov    (%esi),%eax
604806:	3b 05 98 14 73 00    	cmp    0x731498,%eax
60480c:	74 17                	je     0x604825
60480e:	8b 4d 08             	mov    0x8(%ebp),%ecx
604811:	a1 38 8e 72 00       	mov    0x728e38,%eax
604816:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
60481c:	75 07                	jne    0x604825
60481e:	e8 45 8f 00 00       	call   0x60d768
604823:	89 06                	mov    %eax,(%esi)
604825:	5e                   	pop    %esi
604826:	5d                   	pop    %ebp
604827:	c3                   	ret
604828:	8b ff                	mov    %edi,%edi
60482a:	55                   	push   %ebp
60482b:	8b ec                	mov    %esp,%ebp
60482d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
604831:	74 2d                	je     0x604860
604833:	ff 75 08             	push   0x8(%ebp)
604836:	6a 00                	push   $0x0
604838:	ff 35 88 14 73 00    	push   0x731488
60483e:	ff 15 88 21 68 00    	call   *0x682188
604844:	85 c0                	test   %eax,%eax
604846:	75 18                	jne    0x604860
604848:	56                   	push   %esi
604849:	e8 ab 87 fe ff       	call   0x5ecff9
60484e:	8b f0                	mov    %eax,%esi
604850:	ff 15 e0 21 68 00    	call   *0x6821e0
604856:	50                   	push   %eax
604857:	e8 24 87 fe ff       	call   0x5ecf80
60485c:	59                   	pop    %ecx
60485d:	89 06                	mov    %eax,(%esi)
60485f:	5e                   	pop    %esi
604860:	5d                   	pop    %ebp
604861:	c3                   	ret
604862:	6a 0c                	push   $0xc
604864:	68 d0 1f 70 00       	push   $0x701fd0
604869:	e8 a2 dc fd ff       	call   0x5e2510
60486e:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
604872:	8b 45 08             	mov    0x8(%ebp),%eax
604875:	ff 30                	push   (%eax)
604877:	e8 7d 4a 00 00       	call   0x6092f9
60487c:	59                   	pop    %ecx
60487d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
604881:	8b 45 0c             	mov    0xc(%ebp),%eax
604884:	8b 00                	mov    (%eax),%eax
604886:	8b 30                	mov    (%eax),%esi
604888:	8b d6                	mov    %esi,%edx
60488a:	c1 fa 06             	sar    $0x6,%edx
60488d:	8b c6                	mov    %esi,%eax
60488f:	83 e0 3f             	and    $0x3f,%eax
604892:	6b c8 38             	imul   $0x38,%eax,%ecx
604895:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
60489c:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
6048a1:	74 0b                	je     0x6048ae
6048a3:	56                   	push   %esi
6048a4:	e8 d2 00 00 00       	call   0x60497b
6048a9:	59                   	pop    %ecx
6048aa:	8b f0                	mov    %eax,%esi
6048ac:	eb 0e                	jmp    0x6048bc
6048ae:	e8 46 87 fe ff       	call   0x5ecff9
6048b3:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6048b9:	83 ce ff             	or     $0xffffffff,%esi
6048bc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
6048bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
6048c6:	e8 17 00 00 00       	call   0x6048e2
6048cb:	8b c6                	mov    %esi,%eax
6048cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6048d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6048d7:	59                   	pop    %ecx
6048d8:	5f                   	pop    %edi
6048d9:	5e                   	pop    %esi
6048da:	5b                   	pop    %ebx
6048db:	c9                   	leave
6048dc:	c2 0c 00             	ret    $0xc
6048df:	8b 75 e4             	mov    -0x1c(%ebp),%esi
6048e2:	8b 45 10             	mov    0x10(%ebp),%eax
6048e5:	ff 30                	push   (%eax)
6048e7:	e8 c2 4a 00 00       	call   0x6093ae
6048ec:	59                   	pop    %ecx
6048ed:	c3                   	ret
6048ee:	8b ff                	mov    %edi,%edi
6048f0:	55                   	push   %ebp
6048f1:	8b ec                	mov    %esp,%ebp
6048f3:	83 ec 10             	sub    $0x10,%esp
6048f6:	56                   	push   %esi
6048f7:	8b 75 08             	mov    0x8(%ebp),%esi
6048fa:	83 fe fe             	cmp    $0xfffffffe,%esi
6048fd:	75 15                	jne    0x604914
6048ff:	e8 e2 86 fe ff       	call   0x5ecfe6
604904:	83 20 00             	andl   $0x0,(%eax)
604907:	e8 ed 86 fe ff       	call   0x5ecff9
60490c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
604912:	eb 61                	jmp    0x604975
604914:	85 f6                	test   %esi,%esi
604916:	78 45                	js     0x60495d
604918:	3b 35 b8 12 73 00    	cmp    0x7312b8,%esi
60491e:	73 3d                	jae    0x60495d
604920:	8b c6                	mov    %esi,%eax
604922:	8b d6                	mov    %esi,%edx
604924:	83 e0 3f             	and    $0x3f,%eax
604927:	c1 fa 06             	sar    $0x6,%edx
60492a:	6b c8 38             	imul   $0x38,%eax,%ecx
60492d:	8b 04 95 b8 10 73 00 	mov    0x7310b8(,%edx,4),%eax
604934:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
604939:	74 22                	je     0x60495d
60493b:	8d 45 08             	lea    0x8(%ebp),%eax
60493e:	89 75 f8             	mov    %esi,-0x8(%ebp)
604941:	89 45 f4             	mov    %eax,-0xc(%ebp)
604944:	8d 4d ff             	lea    -0x1(%ebp),%ecx
604947:	8d 45 f8             	lea    -0x8(%ebp),%eax
60494a:	89 75 f0             	mov    %esi,-0x10(%ebp)
60494d:	50                   	push   %eax
60494e:	8d 45 f4             	lea    -0xc(%ebp),%eax
604951:	50                   	push   %eax
604952:	8d 45 f0             	lea    -0x10(%ebp),%eax
604955:	50                   	push   %eax
604956:	e8 07 ff ff ff       	call   0x604862
60495b:	eb 1b                	jmp    0x604978
60495d:	e8 84 86 fe ff       	call   0x5ecfe6
604962:	83 20 00             	andl   $0x0,(%eax)
604965:	e8 8f 86 fe ff       	call   0x5ecff9
60496a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
604970:	e8 aa 85 fe ff       	call   0x5ecf1f
604975:	83 c8 ff             	or     $0xffffffff,%eax
604978:	5e                   	pop    %esi
604979:	c9                   	leave
60497a:	c3                   	ret
60497b:	8b ff                	mov    %edi,%edi
60497d:	55                   	push   %ebp
60497e:	8b ec                	mov    %esp,%ebp
604980:	56                   	push   %esi
604981:	57                   	push   %edi
604982:	8b 7d 08             	mov    0x8(%ebp),%edi
604985:	57                   	push   %edi
604986:	e8 ea 4b 00 00       	call   0x609575
60498b:	59                   	pop    %ecx
60498c:	83 f8 ff             	cmp    $0xffffffff,%eax
60498f:	75 04                	jne    0x604995
604991:	33 f6                	xor    %esi,%esi
604993:	eb 4e                	jmp    0x6049e3
604995:	a1 b8 10 73 00       	mov    0x7310b8,%eax
60499a:	83 ff 01             	cmp    $0x1,%edi
60499d:	75 09                	jne    0x6049a8
60499f:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
6049a6:	75 0b                	jne    0x6049b3
6049a8:	83 ff 02             	cmp    $0x2,%edi
6049ab:	75 1c                	jne    0x6049c9
6049ad:	f6 40 60 01          	testb  $0x1,0x60(%eax)
6049b1:	74 16                	je     0x6049c9
6049b3:	6a 02                	push   $0x2
6049b5:	e8 bb 4b 00 00       	call   0x609575
6049ba:	6a 01                	push   $0x1
6049bc:	8b f0                	mov    %eax,%esi
6049be:	e8 b2 4b 00 00       	call   0x609575
6049c3:	59                   	pop    %ecx
6049c4:	59                   	pop    %ecx
6049c5:	3b c6                	cmp    %esi,%eax
6049c7:	74 c8                	je     0x604991
6049c9:	57                   	push   %edi
6049ca:	e8 a6 4b 00 00       	call   0x609575
6049cf:	59                   	pop    %ecx
6049d0:	50                   	push   %eax
6049d1:	ff 15 e4 21 68 00    	call   *0x6821e4
6049d7:	85 c0                	test   %eax,%eax
6049d9:	75 b6                	jne    0x604991
6049db:	ff 15 e0 21 68 00    	call   *0x6821e0
6049e1:	8b f0                	mov    %eax,%esi
6049e3:	57                   	push   %edi
6049e4:	e8 fb 4a 00 00       	call   0x6094e4
6049e9:	59                   	pop    %ecx
6049ea:	8b cf                	mov    %edi,%ecx
6049ec:	83 e7 3f             	and    $0x3f,%edi
6049ef:	c1 f9 06             	sar    $0x6,%ecx
6049f2:	6b d7 38             	imul   $0x38,%edi,%edx
6049f5:	8b 0c 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%ecx
6049fc:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
604a01:	85 f6                	test   %esi,%esi
604a03:	74 0c                	je     0x604a11
604a05:	56                   	push   %esi
604a06:	e8 b8 85 fe ff       	call   0x5ecfc3
604a0b:	59                   	pop    %ecx
604a0c:	83 c8 ff             	or     $0xffffffff,%eax
604a0f:	eb 02                	jmp    0x604a13
604a11:	33 c0                	xor    %eax,%eax
604a13:	5f                   	pop    %edi
604a14:	5e                   	pop    %esi
604a15:	5d                   	pop    %ebp
604a16:	c3                   	ret
604a17:	6a 0c                	push   $0xc
604a19:	68 f0 1f 70 00       	push   $0x701ff0
604a1e:	e8 ed da fd ff       	call   0x5e2510
604a23:	33 ff                	xor    %edi,%edi
604a25:	8b 75 08             	mov    0x8(%ebp),%esi
604a28:	89 3e                	mov    %edi,(%esi)
604a2a:	6a 08                	push   $0x8
604a2c:	e8 50 bc ff ff       	call   0x600681
604a31:	59                   	pop    %ecx
604a32:	89 7d fc             	mov    %edi,-0x4(%ebp)
604a35:	8d 45 e4             	lea    -0x1c(%ebp),%eax
604a38:	50                   	push   %eax
604a39:	e8 7d 00 00 00       	call   0x604abb
604a3e:	59                   	pop    %ecx
604a3f:	8b 00                	mov    (%eax),%eax
604a41:	89 06                	mov    %eax,(%esi)
604a43:	85 c0                	test   %eax,%eax
604a45:	74 0f                	je     0x604a56
604a47:	89 78 08             	mov    %edi,0x8(%eax)
604a4a:	89 78 1c             	mov    %edi,0x1c(%eax)
604a4d:	89 38                	mov    %edi,(%eax)
604a4f:	89 78 04             	mov    %edi,0x4(%eax)
604a52:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
604a56:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
604a5d:	e8 15 00 00 00       	call   0x604a77
604a62:	8b c6                	mov    %esi,%eax