4747e9:	53                   	push   %ebx
4747ea:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4747ed:	e8 64 a0 ff ff       	call   0x46e856
4747f2:	56                   	push   %esi
4747f3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4747f6:	51                   	push   %ecx
4747f7:	8b c8                	mov    %eax,%ecx
4747f9:	e8 7f a3 ff ff       	call   0x46eb7d
4747fe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
474801:	89 0e                	mov    %ecx,(%esi)
474803:	8b 4d fc             	mov    -0x4(%ebp),%ecx
474806:	89 4e 04             	mov    %ecx,0x4(%esi)
474809:	8b c6                	mov    %esi,%eax
47480b:	5e                   	pop    %esi
47480c:	5b                   	pop    %ebx
47480d:	c9                   	leave
47480e:	c3                   	ret
47480f:	55                   	push   %ebp
474810:	8b ec                	mov    %esp,%ebp
474812:	83 ec 3c             	sub    $0x3c,%esp
474815:	a1 14 40 4c 00       	mov    0x4c4014,%eax
47481a:	33 c5                	xor    %ebp,%eax
47481c:	89 45 fc             	mov    %eax,-0x4(%ebp)
47481f:	53                   	push   %ebx
474820:	8b 5d 08             	mov    0x8(%ebp),%ebx
474823:	56                   	push   %esi
474824:	8b 35 8c 83 4c 00    	mov    0x4c838c,%esi
47482a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
47482d:	8a 0e                	mov    (%esi),%cl
47482f:	0f be c1             	movsbl %cl,%eax
474832:	83 c0 d0             	add    $0xffffffd0,%eax
474835:	88 4d e3             	mov    %cl,-0x1d(%ebp)
474838:	83 f8 09             	cmp    $0x9,%eax
47483b:	77 1b                	ja     0x474858
47483d:	8b 0d 84 83 4c 00    	mov    0x4c8384,%ecx
474843:	46                   	inc    %esi
474844:	50                   	push   %eax
474845:	53                   	push   %ebx
474846:	89 35 8c 83 4c 00    	mov    %esi,0x4c838c
47484c:	e8 5f a2 ff ff       	call   0x46eab0
474851:	8b c3                	mov    %ebx,%eax
474853:	e9 c7 01 00 00       	jmp    0x474a1f
474858:	57                   	push   %edi
474859:	80 f9 3f             	cmp    $0x3f,%cl
47485c:	75 50                	jne    0x4748ae
47485e:	8d 45 d8             	lea    -0x28(%ebp),%eax
474861:	6a 00                	push   $0x0
474863:	50                   	push   %eax
474864:	e8 8c f0 ff ff       	call   0x4738f5
474869:	59                   	pop    %ecx
47486a:	59                   	pop    %ecx
47486b:	8b 38                	mov    (%eax),%edi
47486d:	8b 58 04             	mov    0x4(%eax),%ebx
474870:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
474875:	89 7d e4             	mov    %edi,-0x1c(%ebp)
474878:	89 5d e8             	mov    %ebx,-0x18(%ebp)
47487b:	8a 08                	mov    (%eax),%cl
47487d:	40                   	inc    %eax
47487e:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
474883:	80 f9 40             	cmp    $0x40,%cl
474886:	0f 84 58 01 00 00    	je     0x4749e4
47488c:	48                   	dec    %eax
47488d:	33 c9                	xor    %ecx,%ecx
47488f:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
474894:	38 08                	cmp    %cl,(%eax)
474896:	0f 95 c1             	setne  %cl
474899:	41                   	inc    %ecx
47489a:	51                   	push   %ecx
47489b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47489e:	e8 db a1 ff ff       	call   0x46ea7e
4748a3:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4748a6:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4748a9:	e9 36 01 00 00       	jmp    0x4749e4
4748ae:	6a 13                	push   $0x13
4748b0:	68 1c 12 4a 00       	push   $0x4a121c
4748b5:	56                   	push   %esi
4748b6:	e8 4a 03 00 00       	call   0x474c05
4748bb:	83 c4 0c             	add    $0xc,%esp
4748be:	85 c0                	test   %eax,%eax
4748c0:	75 13                	jne    0x4748d5
4748c2:	c7 45 e4 30 12 4a 00 	movl   $0x4a1230,-0x1c(%ebp)
4748c9:	83 c6 13             	add    $0x13,%esi
4748cc:	c7 45 e8 14 00 00 00 	movl   $0x14,-0x18(%ebp)
4748d3:	eb 29                	jmp    0x4748fe
4748d5:	6a 0d                	push   $0xd
4748d7:	68 48 12 4a 00       	push   $0x4a1248
4748dc:	56                   	push   %esi
4748dd:	e8 23 03 00 00       	call   0x474c05
4748e2:	83 c4 0c             	add    $0xc,%esp
4748e5:	85 c0                	test   %eax,%eax
4748e7:	0f 85 ca 00 00 00    	jne    0x4749b7
4748ed:	c7 45 e4 58 12 4a 00 	movl   $0x4a1258,-0x1c(%ebp)
4748f4:	83 c6 0d             	add    $0xd,%esi
4748f7:	c7 45 e8 0e 00 00 00 	movl   $0xe,-0x18(%ebp)
4748fe:	8d 45 d8             	lea    -0x28(%ebp),%eax
474901:	89 35 8c 83 4c 00    	mov    %esi,0x4c838c
474907:	50                   	push   %eax
474908:	e8 09 eb ff ff       	call   0x473416
47490d:	f7 05 94 83 4c 00 00 	testl  $0x4000,0x4c8394
474914:	40 00 00
474917:	59                   	pop    %ecx
474918:	74 7d                	je     0x474997
47491a:	83 3d 9c 83 4c 00 00 	cmpl   $0x0,0x4c839c
474921:	74 74                	je     0x474997
474923:	33 c0                	xor    %eax,%eax
474925:	8d 7d ec             	lea    -0x14(%ebp),%edi
474928:	ab                   	stos   %eax,%es:(%edi)
474929:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47492c:	6a 10                	push   $0x10
47492e:	ab                   	stos   %eax,%es:(%edi)
47492f:	ab                   	stos   %eax,%es:(%edi)
474930:	ab                   	stos   %eax,%es:(%edi)
474931:	8d 45 ec             	lea    -0x14(%ebp),%eax
474934:	50                   	push   %eax
474935:	e8 5a eb ff ff       	call   0x473494
47493a:	8b 35 9c 83 4c 00    	mov    0x4c839c,%esi
474940:	8d 45 ec             	lea    -0x14(%ebp),%eax
474943:	50                   	push   %eax
474944:	e8 5d b1 00 00       	call   0x47faa6
474949:	59                   	pop    %ecx
47494a:	50                   	push   %eax
47494b:	8b ce                	mov    %esi,%ecx
47494d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
474953:	ff d6                	call   *%esi
474955:	59                   	pop    %ecx
474956:	85 c0                	test   %eax,%eax
474958:	74 12                	je     0x47496c
47495a:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
47495e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
474961:	ff 75 e8             	push   -0x18(%ebp)
474964:	50                   	push   %eax
474965:	e8 b0 9b ff ff       	call   0x46e51a
47496a:	eb 73                	jmp    0x4749df
47496c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47496f:	50                   	push   %eax
474970:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
474973:	e8 6e 9e ff ff       	call   0x46e7e6
474978:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47497b:	51                   	push   %ecx
47497c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47497f:	51                   	push   %ecx
474980:	8b c8                	mov    %eax,%ecx
474982:	e8 f6 a1 ff ff       	call   0x46eb7d
474987:	8d 45 cc             	lea    -0x34(%ebp),%eax
47498a:	6a 27                	push   $0x27
47498c:	50                   	push   %eax
47498d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
474990:	e8 0a a2 ff ff       	call   0x46eb9f
474995:	eb 48                	jmp    0x4749df
474997:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47499a:	50                   	push   %eax
47499b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
47499e:	e8 43 9e ff ff       	call   0x46e7e6
4749a3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4749a6:	51                   	push   %ecx
4749a7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4749aa:	51                   	push   %ecx
4749ab:	8b c8                	mov    %eax,%ecx
4749ad:	e8 cb a1 ff ff       	call   0x46eb7d
4749b2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4749b5:	eb d3                	jmp    0x47498a
4749b7:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4749bb:	74 13                	je     0x4749d0
4749bd:	80 7d e3 40          	cmpb   $0x40,-0x1d(%ebp)
4749c1:	75 0d                	jne    0x4749d0
4749c3:	33 ff                	xor    %edi,%edi
4749c5:	46                   	inc    %esi
4749c6:	8b df                	mov    %edi,%ebx
4749c8:	89 35 8c 83 4c 00    	mov    %esi,0x4c838c
4749ce:	eb 14                	jmp    0x4749e4
4749d0:	6a 40                	push   $0x40
4749d2:	68 8c 83 4c 00       	push   $0x4c838c
4749d7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4749da:	e8 87 9d ff ff       	call   0x46e766
4749df:	8b 58 04             	mov    0x4(%eax),%ebx
4749e2:	8b 38                	mov    (%eax),%edi
4749e4:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4749e8:	74 2c                	je     0x474a16
4749ea:	8b 35 84 83 4c 00    	mov    0x4c8384,%esi
4749f0:	83 3e 09             	cmpl   $0x9,(%esi)
4749f3:	74 21                	je     0x474a16
4749f5:	85 ff                	test   %edi,%edi
4749f7:	74 1d                	je     0x474a16
4749f9:	6a 08                	push   $0x8
4749fb:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
474a00:	e8 2e d4 ff ff       	call   0x471e33
474a05:	85 c0                	test   %eax,%eax
474a07:	74 0d                	je     0x474a16
474a09:	89 38                	mov    %edi,(%eax)
474a0b:	89 58 04             	mov    %ebx,0x4(%eax)
474a0e:	ff 06                	incl   (%esi)
474a10:	8b 0e                	mov    (%esi),%ecx
474a12:	89 44 8e 04          	mov    %eax,0x4(%esi,%ecx,4)
474a16:	8b 45 d4             	mov    -0x2c(%ebp),%eax
474a19:	89 38                	mov    %edi,(%eax)
474a1b:	89 58 04             	mov    %ebx,0x4(%eax)
474a1e:	5f                   	pop    %edi
474a1f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
474a22:	5e                   	pop    %esi
474a23:	33 cd                	xor    %ebp,%ecx
474a25:	5b                   	pop    %ebx
474a26:	e8 9f 4f ff ff       	call   0x4699ca
474a2b:	c9                   	leave
474a2c:	c3                   	ret
474a2d:	33 c0                	xor    %eax,%eax
474a2f:	39 01                	cmp    %eax,(%ecx)
474a31:	0f 94 c0             	sete   %al
474a34:	c3                   	ret
474a35:	33 c0                	xor    %eax,%eax
474a37:	80 79 04 01          	cmpb   $0x1,0x4(%ecx)
474a3b:	0f 9e c0             	setle  %al
474a3e:	c3                   	ret
474a3f:	57                   	push   %edi
474a40:	8b 39                	mov    (%ecx),%edi
474a42:	85 ff                	test   %edi,%edi
474a44:	75 04                	jne    0x474a4a
474a46:	33 c0                	xor    %eax,%eax
474a48:	5f                   	pop    %edi
474a49:	c3                   	ret
474a4a:	8b 07                	mov    (%edi),%eax
474a4c:	56                   	push   %esi
474a4d:	8b 30                	mov    (%eax),%esi
474a4f:	8b ce                	mov    %esi,%ecx
474a51:	ff 15 d4 e2 49 00    	call   *0x49e2d4
474a57:	8b cf                	mov    %edi,%ecx
474a59:	ff d6                	call   *%esi
474a5b:	5e                   	pop    %esi
474a5c:	5f                   	pop    %edi
474a5d:	c3                   	ret
474a5e:	cc                   	int3
474a5f:	cc                   	int3
474a60:	8b 41 08             	mov    0x8(%ecx),%eax
474a63:	c3                   	ret
474a64:	cc                   	int3
474a65:	cc                   	int3
474a66:	cc                   	int3
474a67:	cc                   	int3
474a68:	cc                   	int3
474a69:	cc                   	int3
474a6a:	cc                   	int3
474a6b:	cc                   	int3
474a6c:	cc                   	int3
474a6d:	cc                   	int3
474a6e:	cc                   	int3
474a6f:	cc                   	int3
474a70:	8b 49 04             	mov    0x4(%ecx),%ecx
474a73:	85 c9                	test   %ecx,%ecx
474a75:	0f 85 c4 ff ff ff    	jne    0x474a3f
474a7b:	33 c0                	xor    %eax,%eax
474a7d:	c3                   	ret
474a7e:	cc                   	int3
474a7f:	cc                   	int3
474a80:	55                   	push   %ebp
474a81:	8b ec                	mov    %esp,%ebp
474a83:	51                   	push   %ecx
474a84:	8b 41 0c             	mov    0xc(%ecx),%eax
474a87:	89 4d fc             	mov    %ecx,-0x4(%ebp)
474a8a:	85 c0                	test   %eax,%eax
474a8c:	79 39                	jns    0x474ac7
474a8e:	53                   	push   %ebx
474a8f:	56                   	push   %esi
474a90:	57                   	push   %edi
474a91:	8b 79 08             	mov    0x8(%ecx),%edi
474a94:	8b 07                	mov    (%edi),%eax
474a96:	8b 30                	mov    (%eax),%esi
474a98:	8b ce                	mov    %esi,%ecx
474a9a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
474aa0:	8b cf                	mov    %edi,%ecx
474aa2:	ff d6                	call   *%esi
474aa4:	8b d8                	mov    %eax,%ebx
474aa6:	8b 45 fc             	mov    -0x4(%ebp),%eax
474aa9:	8b 78 04             	mov    0x4(%eax),%edi
474aac:	8b 07                	mov    (%edi),%eax
474aae:	8b 30                	mov    (%eax),%esi
474ab0:	8b ce                	mov    %esi,%ecx
474ab2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
474ab8:	8b cf                	mov    %edi,%ecx
474aba:	ff d6                	call   *%esi
474abc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
474abf:	03 c3                	add    %ebx,%eax
474ac1:	5f                   	pop    %edi
474ac2:	5e                   	pop    %esi
474ac3:	5b                   	pop    %ebx
474ac4:	89 41 0c             	mov    %eax,0xc(%ecx)
474ac7:	c9                   	leave
474ac8:	c3                   	ret
474ac9:	55                   	push   %ebp
474aca:	8b ec                	mov    %esp,%ebp
474acc:	8b 45 08             	mov    0x8(%ebp),%eax
474acf:	83 f8 03             	cmp    $0x3,%eax
474ad2:	77 0a                	ja     0x474ade
474ad4:	6b c0 0c             	imul   $0xc,%eax,%eax
474ad7:	05 c0 17 4a 00       	add    $0x4a17c0,%eax
474adc:	5d                   	pop    %ebp
474add:	c3                   	ret
474ade:	b8 e4 17 4a 00       	mov    $0x4a17e4,%eax
474ae3:	5d                   	pop    %ebp
474ae4:	c3                   	ret
474ae5:	55                   	push   %ebp
474ae6:	8b ec                	mov    %esp,%ebp
474ae8:	a1 90 83 4c 00       	mov    0x4c8390,%eax
474aed:	83 ec 18             	sub    $0x18,%esp
474af0:	33 d2                	xor    %edx,%edx
474af2:	57                   	push   %edi
474af3:	8b 7d 08             	mov    0x8(%ebp),%edi
474af6:	89 17                	mov    %edx,(%edi)
474af8:	89 57 04             	mov    %edx,0x4(%edi)
474afb:	85 c0                	test   %eax,%eax
474afd:	0f 84 d7 00 00 00    	je     0x474bda
474b03:	80 38 3f             	cmpb   $0x3f,(%eax)
474b06:	0f 85 ba 00 00 00    	jne    0x474bc6
474b0c:	8a 48 01             	mov    0x1(%eax),%cl
474b0f:	80 f9 40             	cmp    $0x40,%cl
474b12:	75 48                	jne    0x474b5c
474b14:	83 05 8c 83 4c 00 02 	addl   $0x2,0x4c838c
474b1b:	8d 45 f0             	lea    -0x10(%ebp),%eax
474b1e:	56                   	push   %esi
474b1f:	50                   	push   %eax
474b20:	c7 45 f8 10 12 4a 00 	movl   $0x4a1210,-0x8(%ebp)
474b27:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
474b2e:	e8 e7 c4 ff ff       	call   0x47101a
474b33:	59                   	pop    %ecx
474b34:	8b f0                	mov    %eax,%esi
474b36:	8d 4d e8             	lea    -0x18(%ebp),%ecx
474b39:	8d 45 f8             	lea    -0x8(%ebp),%eax
474b3c:	50                   	push   %eax
474b3d:	e8 a4 9c ff ff       	call   0x46e7e6
474b42:	56                   	push   %esi
474b43:	8d 4d f8             	lea    -0x8(%ebp),%ecx
474b46:	51                   	push   %ecx
474b47:	8b c8                	mov    %eax,%ecx
474b49:	e8 2f a0 ff ff       	call   0x46eb7d
474b4e:	8b 45 f8             	mov    -0x8(%ebp),%eax
474b51:	89 07                	mov    %eax,(%edi)
474b53:	8b 45 fc             	mov    -0x4(%ebp),%eax
474b56:	89 47 04             	mov    %eax,0x4(%edi)
474b59:	5e                   	pop    %esi
474b5a:	eb 7e                	jmp    0x474bda
474b5c:	80 f9 24             	cmp    $0x24,%cl
474b5f:	75 54                	jne    0x474bb5
474b61:	52                   	push   %edx
474b62:	8d 45 e8             	lea    -0x18(%ebp),%eax
474b65:	50                   	push   %eax
474b66:	e8 8a ed ff ff       	call   0x4738f5
474b6b:	59                   	pop    %ecx
474b6c:	59                   	pop    %ecx
474b6d:	8b c8                	mov    %eax,%ecx
474b6f:	8b 01                	mov    (%ecx),%eax
474b71:	89 07                	mov    %eax,(%edi)
474b73:	8b 41 04             	mov    0x4(%ecx),%eax