471706:	50                   	push   %eax
471707:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47170a:	e8 6e d4 ff ff       	call   0x46eb7d
47170f:	8b 30                	mov    (%eax),%esi
471711:	8b 78 04             	mov    0x4(%eax),%edi
471714:	6a 3e                	push   $0x3e
471716:	8d 4d f0             	lea    -0x10(%ebp),%ecx
471719:	89 75 f0             	mov    %esi,-0x10(%ebp)
47171c:	89 7d f4             	mov    %edi,-0xc(%ebp)
47171f:	e8 6e d5 ff ff       	call   0x46ec92
471724:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471729:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47172c:	8b 55 f4             	mov    -0xc(%ebp),%edx
47172f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471732:	80 38 24             	cmpb   $0x24,(%eax)
471735:	89 55 fc             	mov    %edx,-0x4(%ebp)
471738:	75 08                	jne    0x471742
47173a:	40                   	inc    %eax
47173b:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471740:	eb 21                	jmp    0x471763
471742:	89 4d f0             	mov    %ecx,-0x10(%ebp)
471745:	8d 4d f0             	lea    -0x10(%ebp),%ecx
471748:	6a 5e                	push   $0x5e
47174a:	89 55 f4             	mov    %edx,-0xc(%ebp)
47174d:	e8 40 d5 ff ff       	call   0x46ec92
471752:	8b 4d f0             	mov    -0x10(%ebp),%ecx
471755:	8b 55 f4             	mov    -0xc(%ebp),%edx
471758:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
47175d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471760:	89 55 fc             	mov    %edx,-0x4(%ebp)
471763:	80 38 00             	cmpb   $0x0,(%eax)
471766:	74 08                	je     0x471770
471768:	40                   	inc    %eax
471769:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
47176e:	eb 22                	jmp    0x471792
471770:	80 fa 01             	cmp    $0x1,%dl
471773:	7f 1d                	jg     0x471792
471775:	85 c9                	test   %ecx,%ecx
471777:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47177a:	74 0c                	je     0x471788
47177c:	68 cc 17 4a 00       	push   $0x4a17cc
471781:	e8 07 ce ff ff       	call   0x46e58d
471786:	eb 07                	jmp    0x47178f
471788:	6a 01                	push   $0x1
47178a:	e8 ef d2 ff ff       	call   0x46ea7e
47178f:	8b 55 fc             	mov    -0x4(%ebp),%edx
471792:	8b 45 08             	mov    0x8(%ebp),%eax
471795:	81 ca 00 40 00 00    	or     $0x4000,%edx
47179b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47179e:	89 08                	mov    %ecx,(%eax)
4717a0:	89 50 04             	mov    %edx,0x4(%eax)
4717a3:	eb 76                	jmp    0x47181b
4717a5:	6a 01                	push   $0x1
4717a7:	eb 12                	jmp    0x4717bb
4717a9:	8b 45 0c             	mov    0xc(%ebp),%eax
4717ac:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
4717b2:	eb 24                	jmp    0x4717d8
4717b4:	39 75 14             	cmp    %esi,0x14(%ebp)
4717b7:	74 0f                	je     0x4717c8
4717b9:	6a 02                	push   $0x2
4717bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4717be:	e8 93 d0 ff ff       	call   0x46e856
4717c3:	8b 45 08             	mov    0x8(%ebp),%eax
4717c6:	eb 53                	jmp    0x47181b
4717c8:	8b 45 10             	mov    0x10(%ebp),%eax
4717cb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4717ce:	6a 3e                	push   $0x3e
4717d0:	c6 00 01             	movb   $0x1,(%eax)
4717d3:	e8 ff e2 ff ff       	call   0x46fad7
4717d8:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
4717dd:	40                   	inc    %eax
4717de:	eb 2e                	jmp    0x47180e
4717e0:	39 75 14             	cmp    %esi,0x14(%ebp)
4717e3:	75 26                	jne    0x47180b
4717e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4717e8:	83 38 02             	cmpl   $0x2,(%eax)
4717eb:	74 12                	je     0x4717ff
4717ed:	83 38 03             	cmpl   $0x3,(%eax)
4717f0:	74 0d                	je     0x4717ff
4717f2:	83 38 01             	cmpl   $0x1,(%eax)
4717f5:	75 14                	jne    0x47180b
4717f7:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
4717fd:	eb 06                	jmp    0x471805
4717ff:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
471805:	8b 15 8c 83 4c 00    	mov    0x4c838c,%edx
47180b:	8d 42 01             	lea    0x1(%edx),%eax
47180e:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471813:	8b 45 08             	mov    0x8(%ebp),%eax
471816:	89 30                	mov    %esi,(%eax)
471818:	89 70 04             	mov    %esi,0x4(%eax)
47181b:	5f                   	pop    %edi
47181c:	5e                   	pop    %esi
47181d:	5b                   	pop    %ebx
47181e:	c9                   	leave
47181f:	c3                   	ret
471820:	55                   	push   %ebp
471821:	8b ec                	mov    %esp,%ebp
471823:	83 ec 18             	sub    $0x18,%esp
471826:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
47182b:	56                   	push   %esi
47182c:	6a 08                	push   $0x8
47182e:	e8 00 06 00 00       	call   0x471e33
471833:	8b f0                	mov    %eax,%esi
471835:	85 f6                	test   %esi,%esi
471837:	74 09                	je     0x471842
471839:	83 26 00             	andl   $0x0,(%esi)
47183c:	83 66 04 00          	andl   $0x0,0x4(%esi)
471840:	eb 02                	jmp    0x471844
471842:	33 f6                	xor    %esi,%esi
471844:	56                   	push   %esi
471845:	ff 75 08             	push   0x8(%ebp)
471848:	e8 f6 f6 ff ff       	call   0x470f43
47184d:	8d 45 f8             	lea    -0x8(%ebp),%eax
471850:	50                   	push   %eax
471851:	e8 bf f6 ff ff       	call   0x470f15
471856:	83 c4 0c             	add    $0xc,%esp
471859:	8d 45 f0             	lea    -0x10(%ebp),%eax
47185c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47185f:	6a 20                	push   $0x20
471861:	50                   	push   %eax
471862:	e8 38 d3 ff ff       	call   0x46eb9f
471867:	ff 75 0c             	push   0xc(%ebp)
47186a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47186d:	51                   	push   %ecx
47186e:	8b c8                	mov    %eax,%ecx
471870:	e8 08 d3 ff ff       	call   0x46eb7d
471875:	8b 08                	mov    (%eax),%ecx
471877:	89 0e                	mov    %ecx,(%esi)
471879:	8b 48 04             	mov    0x4(%eax),%ecx
47187c:	8b 45 08             	mov    0x8(%ebp),%eax
47187f:	89 4e 04             	mov    %ecx,0x4(%esi)
471882:	5e                   	pop    %esi
471883:	c9                   	leave
471884:	c3                   	ret
471885:	55                   	push   %ebp
471886:	8b ec                	mov    %esp,%ebp
471888:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
47188e:	83 ec 10             	sub    $0x10,%esp
471891:	8a 01                	mov    (%ecx),%al
471893:	84 c0                	test   %al,%al
471895:	75 0f                	jne    0x4718a6
471897:	8b 4d 08             	mov    0x8(%ebp),%ecx
47189a:	6a 01                	push   $0x1
47189c:	e8 b5 cf ff ff       	call   0x46e856
4718a1:	8b 45 08             	mov    0x8(%ebp),%eax
4718a4:	c9                   	leave
4718a5:	c3                   	ret
4718a6:	3c 30                	cmp    $0x30,%al
4718a8:	7c 1e                	jl     0x4718c8
4718aa:	3c 39                	cmp    $0x39,%al
4718ac:	7f 1a                	jg     0x4718c8
4718ae:	0f be c0             	movsbl %al,%eax
4718b1:	41                   	inc    %ecx
4718b2:	83 e8 2f             	sub    $0x2f,%eax
4718b5:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
4718bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4718be:	99                   	cltd
4718bf:	52                   	push   %edx
4718c0:	50                   	push   %eax
4718c1:	e8 63 d0 ff ff       	call   0x46e929
4718c6:	eb d9                	jmp    0x4718a1
4718c8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4718cb:	50                   	push   %eax
4718cc:	e8 07 2c 00 00       	call   0x4744d8
4718d1:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4718d5:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
4718da:	59                   	pop    %ecx
4718db:	74 35                	je     0x471912
4718dd:	40                   	inc    %eax
4718de:	83 7d 0c 42          	cmpl   $0x42,0xc(%ebp)
4718e2:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
4718e7:	75 13                	jne    0x4718fc
4718e9:	ff 75 f4             	push   -0xc(%ebp)
4718ec:	ff 75 f0             	push   -0x10(%ebp)
4718ef:	ff 75 08             	push   0x8(%ebp)
4718f2:	e8 13 ce ff ff       	call   0x46e70a
4718f7:	83 c4 0c             	add    $0xc,%esp
4718fa:	eb a5                	jmp    0x4718a1
4718fc:	83 7d 0c 41          	cmpl   $0x41,0xc(%ebp)
471900:	75 10                	jne    0x471912
471902:	ff 75 f4             	push   -0xc(%ebp)
471905:	ff 75 f0             	push   -0x10(%ebp)
471908:	ff 75 08             	push   0x8(%ebp)
47190b:	e8 9a cd ff ff       	call   0x46e6aa
471910:	eb e5                	jmp    0x4718f7
471912:	80 38 00             	cmpb   $0x0,(%eax)
471915:	75 10                	jne    0x471927
471917:	6a 01                	push   $0x1
471919:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47191c:	e8 35 cf ff ff       	call   0x46e856
471921:	8b d0                	mov    %eax,%edx
471923:	8b 0a                	mov    (%edx),%ecx
471925:	eb 0f                	jmp    0x471936
471927:	33 c9                	xor    %ecx,%ecx
471929:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
471930:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471933:	8d 55 f8             	lea    -0x8(%ebp),%edx
471936:	8b 45 08             	mov    0x8(%ebp),%eax
471939:	89 08                	mov    %ecx,(%eax)
47193b:	8b 4a 04             	mov    0x4(%edx),%ecx
47193e:	89 48 04             	mov    %ecx,0x4(%eax)
471941:	c9                   	leave
471942:	c3                   	ret
471943:	55                   	push   %ebp
471944:	8b ec                	mov    %esp,%ebp
471946:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
47194c:	83 ec 30             	sub    $0x30,%esp
47194f:	8a 01                	mov    (%ecx),%al
471951:	53                   	push   %ebx
471952:	56                   	push   %esi
471953:	57                   	push   %edi
471954:	84 c0                	test   %al,%al
471956:	0f 84 79 03 00 00    	je     0x471cd5
47195c:	3c 36                	cmp    $0x36,%al
47195e:	7c 04                	jl     0x471964
471960:	3c 39                	cmp    $0x39,%al
471962:	7e 08                	jle    0x47196c
471964:	3c 5f                	cmp    $0x5f,%al
471966:	0f 85 65 03 00 00    	jne    0x471cd1
47196c:	0f be d8             	movsbl %al,%ebx
47196f:	83 eb 36             	sub    $0x36,%ebx
471972:	41                   	inc    %ecx
471973:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471979:	83 fb 29             	cmp    $0x29,%ebx
47197c:	75 26                	jne    0x4719a4
47197e:	8a 01                	mov    (%ecx),%al
471980:	84 c0                	test   %al,%al
471982:	0f 84 4d 03 00 00    	je     0x471cd5
471988:	0f be d8             	movsbl %al,%ebx
47198b:	83 eb 3d             	sub    $0x3d,%ebx
47198e:	41                   	inc    %ecx
47198f:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471995:	83 fb 04             	cmp    $0x4,%ebx
471998:	7c 05                	jl     0x47199f
47199a:	83 fb 07             	cmp    $0x7,%ebx
47199d:	7e 16                	jle    0x4719b5
47199f:	83 cb ff             	or     $0xffffffff,%ebx
4719a2:	eb 11                	jmp    0x4719b5
4719a4:	85 db                	test   %ebx,%ebx
4719a6:	0f 88 25 03 00 00    	js     0x471cd1
4719ac:	83 fb 03             	cmp    $0x3,%ebx
4719af:	0f 8f 1c 03 00 00    	jg     0x471cd1
4719b5:	83 fb ff             	cmp    $0xffffffff,%ebx
4719b8:	0f 84 13 03 00 00    	je     0x471cd1
4719be:	8b 75 0c             	mov    0xc(%ebp),%esi
4719c1:	8b fb                	mov    %ebx,%edi
4719c3:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4719c7:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4719cb:	8b 06                	mov    (%esi),%eax
4719cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4719d0:	8b 46 04             	mov    0x4(%esi),%eax
4719d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4719d6:	83 e7 02             	and    $0x2,%edi
4719d9:	0f 84 e7 00 00 00    	je     0x471ac6
4719df:	80 39 40             	cmpb   $0x40,(%ecx)
4719e2:	0f 84 9d 00 00 00    	je     0x471a85
4719e8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4719eb:	c7 45 e8 18 12 4a 00 	movl   $0x4a1218,-0x18(%ebp)
4719f2:	50                   	push   %eax
4719f3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4719f6:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
4719fd:	e8 e4 cd ff ff       	call   0x46e7e6
471a02:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a05:	51                   	push   %ecx
471a06:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471a09:	51                   	push   %ecx
471a0a:	8b c8                	mov    %eax,%ecx
471a0c:	e8 6c d1 ff ff       	call   0x46eb7d
471a11:	8b 45 e8             	mov    -0x18(%ebp),%eax
471a14:	89 45 f8             	mov    %eax,-0x8(%ebp)
471a17:	8b 45 ec             	mov    -0x14(%ebp),%eax
471a1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
471a1d:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471a22:	80 38 00             	cmpb   $0x0,(%eax)
471a25:	74 31                	je     0x471a58
471a27:	8d 45 d8             	lea    -0x28(%ebp),%eax
471a2a:	50                   	push   %eax
471a2b:	e8 35 15 00 00       	call   0x472f65
471a30:	50                   	push   %eax
471a31:	8d 45 e8             	lea    -0x18(%ebp),%eax
471a34:	6a 20                	push   $0x20
471a36:	50                   	push   %eax
471a37:	e8 d2 d0 ff ff       	call   0x46eb0e
471a3c:	83 c4 10             	add    $0x10,%esp
471a3f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a42:	51                   	push   %ecx
471a43:	8d 4d d0             	lea    -0x30(%ebp),%ecx
471a46:	51                   	push   %ecx
471a47:	8b c8                	mov    %eax,%ecx
471a49:	e8 2f d1 ff ff       	call   0x46eb7d
471a4e:	8b 08                	mov    (%eax),%ecx
471a50:	8b 40 04             	mov    0x4(%eax),%eax
471a53:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471a56:	eb 22                	jmp    0x471a7a
471a58:	6a 01                	push   $0x1
471a5a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
471a5d:	e8 f4 cd ff ff       	call   0x46e856
471a62:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a65:	51                   	push   %ecx
471a66:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471a69:	51                   	push   %ecx
471a6a:	8b c8                	mov    %eax,%ecx
471a6c:	e8 0c d1 ff ff       	call   0x46eb7d
471a71:	8b 45 e8             	mov    -0x18(%ebp),%eax
471a74:	89 45 f8             	mov    %eax,-0x8(%ebp)
471a77:	8b 45 ec             	mov    -0x14(%ebp),%eax
471a7a:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
471a80:	89 45 fc             	mov    %eax,-0x4(%ebp)
471a83:	eb 07                	jmp    0x471a8c
471a85:	41                   	inc    %ecx
471a86:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471a8c:	8a 01                	mov    (%ecx),%al
471a8e:	84 c0                	test   %al,%al
471a90:	0f 84 87 00 00 00    	je     0x471b1d
471a96:	3c 40                	cmp    $0x40,%al
471a98:	0f 85 33 02 00 00    	jne    0x471cd1
471a9e:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471aa3:	41                   	inc    %ecx
471aa4:	83 e0 60             	and    $0x60,%eax
471aa7:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471aad:	3c 60                	cmp    $0x60,%al
471aaf:	8d 45 d0             	lea    -0x30(%ebp),%eax
471ab2:	50                   	push   %eax
471ab3:	74 57                	je     0x471b0c
471ab5:	e8 84 24 00 00       	call   0x473f3e
471aba:	59                   	pop    %ecx
471abb:	8b 08                	mov    (%eax),%ecx
471abd:	8b 40 04             	mov    0x4(%eax),%eax
471ac0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
471ac3:	89 45 f4             	mov    %eax,-0xc(%ebp)
471ac6:	f6 c3 04             	test   $0x4,%bl
471ac9:	74 7e                	je     0x471b49
471acb:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471ad0:	d1 e8                	shr    $1,%eax
471ad2:	f7 d0                	not    %eax
471ad4:	a8 01                	test   $0x1,%al
471ad6:	8d 45 d0             	lea    -0x30(%ebp),%eax
471ad9:	50                   	push   %eax
471ada:	74 5e                	je     0x471b3a
471adc:	e8 a4 e5 ff ff       	call   0x470085
471ae1:	50                   	push   %eax
471ae2:	8d 45 d8             	lea    -0x28(%ebp),%eax
471ae5:	6a 20                	push   $0x20
471ae7:	50                   	push   %eax
471ae8:	e8 21 d0 ff ff       	call   0x46eb0e
471aed:	83 c4 10             	add    $0x10,%esp
471af0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471af3:	51                   	push   %ecx
471af4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471af7:	51                   	push   %ecx