469756:	72 6d                	jb     0x4697c5
469758:	61                   	popa
469759:	74 74                	je     0x4697cf
46975b:	65 64 20 73 74       	gs and %dh,%fs:0x74(%ebx)
469760:	72 69                	jb     0x4697cb
469762:	6e                   	outsb  %ds:(%esi),(%dx)
469763:	67 00 00             	add    %al,(%bx,%si)
469766:	00 00                	add    %al,(%eax)
469768:	55                   	push   %ebp
469769:	8b ec                	mov    %esp,%ebp
46976b:	83 c4 f8             	add    $0xfffffff8,%esp
46976e:	53                   	push   %ebx
46976f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
469772:	89 55 fc             	mov    %edx,-0x4(%ebp)
469775:	8b d8                	mov    %eax,%ebx
469777:	8b 45 fc             	mov    -0x4(%ebp),%eax
46977a:	e8 7d b4 f9 ff       	call   0x404bfc
46977f:	8b 45 f8             	mov    -0x8(%ebp),%eax
469782:	e8 75 b4 f9 ff       	call   0x404bfc
469787:	33 c0                	xor    %eax,%eax
469789:	55                   	push   %ebp
46978a:	68 cc 97 46 00       	push   $0x4697cc
46978f:	64 ff 30             	push   %fs:(%eax)
469792:	64 89 20             	mov    %esp,%fs:(%eax)
469795:	90                   	nop
469796:	90                   	nop
469797:	90                   	nop
469798:	90                   	nop
469799:	90                   	nop
46979a:	8b 45 0c             	mov    0xc(%ebp),%eax
46979d:	50                   	push   %eax
46979e:	8b 45 08             	mov    0x8(%ebp),%eax
4697a1:	50                   	push   %eax
4697a2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4697a5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4697a8:	8b c3                	mov    %ebx,%eax
4697aa:	e8 59 06 00 00       	call   0x469e08
4697af:	8b d8                	mov    %eax,%ebx
4697b1:	33 c0                	xor    %eax,%eax
4697b3:	5a                   	pop    %edx
4697b4:	59                   	pop    %ecx
4697b5:	59                   	pop    %ecx
4697b6:	64 89 10             	mov    %edx,%fs:(%eax)
4697b9:	68 d3 97 46 00       	push   $0x4697d3
4697be:	8d 45 f8             	lea    -0x8(%ebp),%eax
4697c1:	ba 02 00 00 00       	mov    $0x2,%edx
4697c6:	e8 a1 af f9 ff       	call   0x40476c
4697cb:	c3                   	ret
4697cc:	e9 df a8 f9 ff       	jmp    0x4040b0
4697d1:	eb eb                	jmp    0x4697be
4697d3:	8b c3                	mov    %ebx,%eax
4697d5:	5b                   	pop    %ebx
4697d6:	59                   	pop    %ecx
4697d7:	59                   	pop    %ecx
4697d8:	5d                   	pop    %ebp
4697d9:	c2 08 00             	ret    $0x8
4697dc:	53                   	push   %ebx
4697dd:	56                   	push   %esi
4697de:	84 d2                	test   %dl,%dl
4697e0:	74 08                	je     0x4697ea
4697e2:	83 c4 f0             	add    $0xfffffff0,%esp
4697e5:	e8 56 a4 f9 ff       	call   0x403c40
4697ea:	8b da                	mov    %edx,%ebx
4697ec:	8b f0                	mov    %eax,%esi
4697ee:	90                   	nop
4697ef:	90                   	nop
4697f0:	90                   	nop
4697f1:	90                   	nop
4697f2:	90                   	nop
4697f3:	90                   	nop
4697f4:	90                   	nop
4697f5:	90                   	nop
4697f6:	90                   	nop
4697f7:	90                   	nop
4697f8:	90                   	nop
4697f9:	90                   	nop
4697fa:	90                   	nop
4697fb:	90                   	nop
4697fc:	90                   	nop
4697fd:	90                   	nop
4697fe:	b2 01                	mov    $0x1,%dl
469800:	a1 14 8b 46 00       	mov    0x468b14,%eax
469805:	e8 b2 0b 00 00       	call   0x46a3bc
46980a:	89 46 04             	mov    %eax,0x4(%esi)
46980d:	b2 01                	mov    $0x1,%dl
46980f:	a1 90 8c 46 00       	mov    0x468c90,%eax
469814:	e8 7f 0c 00 00       	call   0x46a498
469819:	89 46 08             	mov    %eax,0x8(%esi)
46981c:	8b c6                	mov    %esi,%eax
46981e:	84 db                	test   %bl,%bl
469820:	74 0f                	je     0x469831
469822:	e8 71 a4 f9 ff       	call   0x403c98
469827:	64 8f 05 00 00 00 00 	pop    %fs:0x0
46982e:	83 c4 0c             	add    $0xc,%esp
469831:	8b c6                	mov    %esi,%eax
469833:	5e                   	pop    %esi
469834:	5b                   	pop    %ebx
469835:	c3                   	ret
469836:	8b c0                	mov    %eax,%eax
469838:	53                   	push   %ebx
469839:	56                   	push   %esi
46983a:	e8 a9 a4 f9 ff       	call   0x403ce8
46983f:	8b da                	mov    %edx,%ebx
469841:	8b f0                	mov    %eax,%esi
469843:	90                   	nop
469844:	90                   	nop
469845:	90                   	nop
469846:	90                   	nop
469847:	90                   	nop
469848:	90                   	nop
469849:	90                   	nop
46984a:	90                   	nop
46984b:	90                   	nop
46984c:	90                   	nop
46984d:	90                   	nop
46984e:	90                   	nop
46984f:	90                   	nop
469850:	90                   	nop
469851:	8d 46 04             	lea    0x4(%esi),%eax
469854:	e8 cf 48 fa ff       	call   0x40e128
469859:	8d 46 08             	lea    0x8(%esi),%eax
46985c:	e8 c7 48 fa ff       	call   0x40e128
469861:	8b d3                	mov    %ebx,%edx
469863:	80 e2 fc             	and    $0xfc,%dl
469866:	8b c6                	mov    %esi,%eax
469868:	e8 9f a0 f9 ff       	call   0x40390c
46986d:	84 db                	test   %bl,%bl
46986f:	7e 07                	jle    0x469878
469871:	8b c6                	mov    %esi,%eax
469873:	e8 18 a4 f9 ff       	call   0x403c90
469878:	5e                   	pop    %esi
469879:	5b                   	pop    %ebx
46987a:	c3                   	ret
46987b:	90                   	nop
46987c:	55                   	push   %ebp
46987d:	8b ec                	mov    %esp,%ebp
46987f:	6a 00                	push   $0x0
469881:	6a 00                	push   $0x0
469883:	6a 00                	push   $0x0
469885:	6a 00                	push   $0x0
469887:	6a 00                	push   $0x0
469889:	6a 00                	push   $0x0
46988b:	6a 00                	push   $0x0
46988d:	6a 00                	push   $0x0
46988f:	53                   	push   %ebx
469890:	56                   	push   %esi
469891:	57                   	push   %edi
469892:	89 4d ec             	mov    %ecx,-0x14(%ebp)
469895:	89 55 fc             	mov    %edx,-0x4(%ebp)
469898:	89 45 f0             	mov    %eax,-0x10(%ebp)
46989b:	8b 45 fc             	mov    -0x4(%ebp),%eax
46989e:	e8 59 b3 f9 ff       	call   0x404bfc
4698a3:	33 c0                	xor    %eax,%eax
4698a5:	55                   	push   %ebp
4698a6:	68 4d 9a 46 00       	push   $0x469a4d
4698ab:	64 ff 30             	push   %fs:(%eax)
4698ae:	64 89 20             	mov    %esp,%fs:(%eax)
4698b1:	90                   	nop
4698b2:	90                   	nop
4698b3:	90                   	nop
4698b4:	90                   	nop
4698b5:	90                   	nop
4698b6:	90                   	nop
4698b7:	90                   	nop
4698b8:	90                   	nop
4698b9:	90                   	nop
4698ba:	90                   	nop
4698bb:	90                   	nop
4698bc:	90                   	nop
4698bd:	8b 45 ec             	mov    -0x14(%ebp),%eax
4698c0:	e8 83 ae f9 ff       	call   0x404748
4698c5:	33 ff                	xor    %edi,%edi
4698c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4698ca:	85 c0                	test   %eax,%eax
4698cc:	74 05                	je     0x4698d3
4698ce:	83 e8 04             	sub    $0x4,%eax
4698d1:	8b 00                	mov    (%eax),%eax
4698d3:	8b f0                	mov    %eax,%esi
4698d5:	85 f6                	test   %esi,%esi
4698d7:	7e 1e                	jle    0x4698f7
4698d9:	bb 01 00 00 00       	mov    $0x1,%ebx
4698de:	90                   	nop
4698df:	90                   	nop
4698e0:	90                   	nop
4698e1:	90                   	nop
4698e2:	90                   	nop
4698e3:	90                   	nop
4698e4:	90                   	nop
4698e5:	90                   	nop
4698e6:	90                   	nop
4698e7:	90                   	nop
4698e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4698eb:	80 7c 18 ff 28       	cmpb   $0x28,-0x1(%eax,%ebx,1)
4698f0:	75 01                	jne    0x4698f3
4698f2:	47                   	inc    %edi
4698f3:	43                   	inc    %ebx
4698f4:	4e                   	dec    %esi
4698f5:	75 e7                	jne    0x4698de
4698f7:	85 ff                	test   %edi,%edi
4698f9:	75 08                	jne    0x469903
4698fb:	8b 45 0c             	mov    0xc(%ebp),%eax
4698fe:	c6 00 01             	movb   $0x1,(%eax)
469901:	eb 66                	jmp    0x469969
469903:	90                   	nop
469904:	90                   	nop
469905:	90                   	nop
469906:	90                   	nop
469907:	90                   	nop
469908:	90                   	nop
469909:	90                   	nop
46990a:	90                   	nop
46990b:	33 ff                	xor    %edi,%edi
46990d:	8b 45 fc             	mov    -0x4(%ebp),%eax
469910:	85 c0                	test   %eax,%eax
469912:	74 05                	je     0x469919
469914:	83 e8 04             	sub    $0x4,%eax
469917:	8b 00                	mov    (%eax),%eax
469919:	8b f0                	mov    %eax,%esi
46991b:	85 f6                	test   %esi,%esi
46991d:	7e 4a                	jle    0x469969
46991f:	bb 01 00 00 00       	mov    $0x1,%ebx
469924:	90                   	nop
469925:	90                   	nop
469926:	90                   	nop
469927:	8b 45 fc             	mov    -0x4(%ebp),%eax
46992a:	0f b6 44 18 ff       	movzbl -0x1(%eax,%ebx,1),%eax
46992f:	3c 28                	cmp    $0x28,%al
469931:	74 32                	je     0x469965
469933:	3c 29                	cmp    $0x29,%al
469935:	75 03                	jne    0x46993a
469937:	4f                   	dec    %edi
469938:	eb 2b                	jmp    0x469965
46993a:	8d 45 e8             	lea    -0x18(%ebp),%eax
46993d:	8b 55 fc             	mov    -0x4(%ebp),%edx
469940:	0f b6 54 1a ff       	movzbl -0x1(%edx,%ebx,1),%edx
469945:	e8 e6 af f9 ff       	call   0x404930
46994a:	8b 55 e8             	mov    -0x18(%ebp),%edx
46994d:	8b 45 f0             	mov    -0x10(%ebp),%eax
469950:	8b 00                	mov    (%eax),%eax
469952:	e8 8d 01 00 00       	call   0x469ae4
469957:	84 c0                	test   %al,%al
469959:	74 0a                	je     0x469965
46995b:	85 ff                	test   %edi,%edi
46995d:	75 06                	jne    0x469965
46995f:	8b 45 0c             	mov    0xc(%ebp),%eax
469962:	c6 00 01             	movb   $0x1,(%eax)
469965:	43                   	inc    %ebx
469966:	4e                   	dec    %esi
469967:	75 bb                	jne    0x469924
469969:	8b 45 0c             	mov    0xc(%ebp),%eax
46996c:	80 38 00             	cmpb   $0x0,(%eax)
46996f:	0f 85 a5 00 00 00    	jne    0x469a1a
469975:	90                   	nop
469976:	90                   	nop
469977:	90                   	nop
469978:	90                   	nop
469979:	90                   	nop
46997a:	90                   	nop
46997b:	90                   	nop
46997c:	90                   	nop
46997d:	90                   	nop
46997e:	90                   	nop
46997f:	90                   	nop
469980:	90                   	nop
469981:	bb 01 00 00 00       	mov    $0x1,%ebx
469986:	83 ce ff             	or     $0xffffffff,%esi
469989:	eb 33                	jmp    0x4699be
46998b:	90                   	nop
46998c:	90                   	nop
46998d:	8b 45 fc             	mov    -0x4(%ebp),%eax
469990:	80 7c 18 ff 28       	cmpb   $0x28,-0x1(%eax,%ebx,1)
469995:	74 20                	je     0x4699b7
469997:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46999a:	8b 55 fc             	mov    -0x4(%ebp),%edx
46999d:	0f b6 54 1a ff       	movzbl -0x1(%edx,%ebx,1),%edx
4699a2:	e8 89 af f9 ff       	call   0x404930
4699a7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4699aa:	8b 45 ec             	mov    -0x14(%ebp),%eax
4699ad:	e8 62 b0 f9 ff       	call   0x404a14
4699b2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4699b5:	eb 07                	jmp    0x4699be
4699b7:	90                   	nop
4699b8:	90                   	nop
4699b9:	90                   	nop
4699ba:	8b f3                	mov    %ebx,%esi
4699bc:	eb 0c                	jmp    0x4699ca
4699be:	8b 45 fc             	mov    -0x4(%ebp),%eax
4699c1:	e8 42 b0 f9 ff       	call   0x404a08
4699c6:	3b d8                	cmp    %eax,%ebx
4699c8:	7e c1                	jle    0x46998b
4699ca:	8d 56 01             	lea    0x1(%esi),%edx
4699cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4699d0:	85 c0                	test   %eax,%eax
4699d2:	74 05                	je     0x4699d9
4699d4:	83 e8 04             	sub    $0x4,%eax
4699d7:	8b 00                	mov    (%eax),%eax
4699d9:	8b da                	mov    %edx,%ebx
4699db:	8b f0                	mov    %eax,%esi
4699dd:	4e                   	dec    %esi
4699de:	2b f3                	sub    %ebx,%esi
4699e0:	7c 20                	jl     0x469a02
4699e2:	46                   	inc    %esi
4699e3:	8d 45 e0             	lea    -0x20(%ebp),%eax
4699e6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4699e9:	0f b6 54 1a ff       	movzbl -0x1(%edx,%ebx,1),%edx
4699ee:	e8 3d af f9 ff       	call   0x404930
4699f3:	8b 55 e0             	mov    -0x20(%ebp),%edx
4699f6:	8d 45 f8             	lea    -0x8(%ebp),%eax
4699f9:	e8 16 b0 f9 ff       	call   0x404a14
4699fe:	43                   	inc    %ebx
4699ff:	4e                   	dec    %esi
469a00:	75 e1                	jne    0x4699e3
469a02:	8b 45 0c             	mov    0xc(%ebp),%eax
469a05:	50                   	push   %eax
469a06:	8b 45 08             	mov    0x8(%ebp),%eax
469a09:	50                   	push   %eax
469a0a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
469a0d:	8b 55 f8             	mov    -0x8(%ebp),%edx
469a10:	8b 45 f0             	mov    -0x10(%ebp),%eax
469a13:	e8 64 fe ff ff       	call   0x46987c
469a18:	eb 0b                	jmp    0x469a25
469a1a:	8b 45 08             	mov    0x8(%ebp),%eax
469a1d:	8b 55 fc             	mov    -0x4(%ebp),%edx
469a20:	e8 77 ad f9 ff       	call   0x40479c
469a25:	33 c0                	xor    %eax,%eax
469a27:	5a                   	pop    %edx
469a28:	59                   	pop    %ecx
469a29:	59                   	pop    %ecx
469a2a:	64 89 10             	mov    %edx,%fs:(%eax)
469a2d:	68 54 9a 46 00       	push   $0x469a54
469a32:	8d 45 e0             	lea    -0x20(%ebp),%eax
469a35:	ba 03 00 00 00       	mov    $0x3,%edx
469a3a:	e8 2d ad f9 ff       	call   0x40476c
469a3f:	8d 45 f4             	lea    -0xc(%ebp),%eax
469a42:	ba 03 00 00 00       	mov    $0x3,%edx
469a47:	e8 20 ad f9 ff       	call   0x40476c
469a4c:	c3                   	ret
469a4d:	e9 5e a6 f9 ff       	jmp    0x4040b0
469a52:	eb de                	jmp    0x469a32
469a54:	5f                   	pop    %edi
469a55:	5e                   	pop    %esi
469a56:	5b                   	pop    %ebx
469a57:	8b e5                	mov    %ebp,%esp
469a59:	5d                   	pop    %ebp
469a5a:	c2 08 00             	ret    $0x8
469a5d:	8d 40 00             	lea    0x0(%eax),%eax
469a60:	55                   	push   %ebp
469a61:	8b ec                	mov    %esp,%ebp
469a63:	51                   	push   %ecx
469a64:	53                   	push   %ebx