47a8e4:	85 c0                	test   %eax,%eax
47a8e6:	75 21                	jne    0x47a909
47a8e8:	e8 48 f6 ff ff       	call   0x479f35
47a8ed:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a8f3:	e8 29 ed ff ff       	call   0x479621
47a8f8:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a8fb:	85 c9                	test   %ecx,%ecx
47a8fd:	74 05                	je     0x47a904
47a8ff:	8b 45 0c             	mov    0xc(%ebp),%eax
47a902:	89 01                	mov    %eax,(%ecx)
47a904:	33 c0                	xor    %eax,%eax
47a906:	40                   	inc    %eax
47a907:	eb 2e                	jmp    0x47a937
47a909:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
47a90f:	51                   	push   %ecx
47a910:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a913:	51                   	push   %ecx
47a914:	50                   	push   %eax
47a915:	e8 aa 00 00 00       	call   0x47a9c4
47a91a:	56                   	push   %esi
47a91b:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
47a921:	51                   	push   %ecx
47a922:	50                   	push   %eax
47a923:	e8 ab 16 00 00       	call   0x47bfd3
47a928:	8b 55 10             	mov    0x10(%ebp),%edx
47a92b:	83 c4 18             	add    $0x18,%esp
47a92e:	85 d2                	test   %edx,%edx
47a930:	74 05                	je     0x47a937
47a932:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a935:	89 0a                	mov    %ecx,(%edx)
47a937:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a93a:	33 cd                	xor    %ebp,%ecx
47a93c:	5e                   	pop    %esi
47a93d:	e8 88 f0 fe ff       	call   0x4699ca
47a942:	c9                   	leave
47a943:	c3                   	ret
47a944:	8b ff                	mov    %edi,%edi
47a946:	55                   	push   %ebp
47a947:	8b ec                	mov    %esp,%ebp
47a949:	81 ec 10 03 00 00    	sub    $0x310,%esp
47a94f:	a1 14 40 4c 00       	mov    0x4c4014,%eax
47a954:	33 c5                	xor    %ebp,%eax
47a956:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a959:	8b 45 08             	mov    0x8(%ebp),%eax
47a95c:	56                   	push   %esi
47a95d:	8b 75 14             	mov    0x14(%ebp),%esi
47a960:	85 f6                	test   %esi,%esi
47a962:	74 04                	je     0x47a968
47a964:	85 c0                	test   %eax,%eax
47a966:	75 21                	jne    0x47a989
47a968:	e8 c8 f5 ff ff       	call   0x479f35
47a96d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a973:	e8 a9 ec ff ff       	call   0x479621
47a978:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a97b:	85 c9                	test   %ecx,%ecx
47a97d:	74 05                	je     0x47a984
47a97f:	8b 45 0c             	mov    0xc(%ebp),%eax
47a982:	89 01                	mov    %eax,(%ecx)
47a984:	33 c0                	xor    %eax,%eax
47a986:	40                   	inc    %eax
47a987:	eb 2e                	jmp    0x47a9b7
47a989:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
47a98f:	51                   	push   %ecx
47a990:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a993:	51                   	push   %ecx
47a994:	50                   	push   %eax
47a995:	e8 42 04 00 00       	call   0x47addc
47a99a:	56                   	push   %esi
47a99b:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
47a9a1:	51                   	push   %ecx
47a9a2:	50                   	push   %eax
47a9a3:	e8 2b 16 00 00       	call   0x47bfd3
47a9a8:	8b 55 10             	mov    0x10(%ebp),%edx
47a9ab:	83 c4 18             	add    $0x18,%esp
47a9ae:	85 d2                	test   %edx,%edx
47a9b0:	74 05                	je     0x47a9b7
47a9b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a9b5:	89 0a                	mov    %ecx,(%edx)
47a9b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a9ba:	33 cd                	xor    %ebp,%ecx
47a9bc:	5e                   	pop    %esi
47a9bd:	e8 08 f0 fe ff       	call   0x4699ca
47a9c2:	c9                   	leave
47a9c3:	c3                   	ret
47a9c4:	8b ff                	mov    %edi,%edi
47a9c6:	55                   	push   %ebp
47a9c7:	8b ec                	mov    %esp,%ebp
47a9c9:	83 ec 28             	sub    $0x28,%esp
47a9cc:	53                   	push   %ebx
47a9cd:	56                   	push   %esi
47a9ce:	8b 75 0c             	mov    0xc(%ebp),%esi
47a9d1:	8b ce                	mov    %esi,%ecx
47a9d3:	57                   	push   %edi
47a9d4:	e8 92 e7 ff ff       	call   0x47916b
47a9d9:	84 c0                	test   %al,%al
47a9db:	0f 84 16 02 00 00    	je     0x47abf7
47a9e1:	8b 06                	mov    (%esi),%eax
47a9e3:	8b 7d 08             	mov    0x8(%ebp),%edi
47a9e6:	89 45 ec             	mov    %eax,-0x14(%ebp)
47a9e9:	89 75 d8             	mov    %esi,-0x28(%ebp)
47a9ec:	8a 08                	mov    (%eax),%cl
47a9ee:	40                   	inc    %eax
47a9ef:	89 06                	mov    %eax,(%esi)
47a9f1:	8d 45 fa             	lea    -0x6(%ebp),%eax
47a9f4:	89 45 dc             	mov    %eax,-0x24(%ebp)
47a9f7:	8d 45 ec             	lea    -0x14(%ebp),%eax
47a9fa:	89 45 e0             	mov    %eax,-0x20(%ebp)
47a9fd:	eb 07                	jmp    0x47aa06
47a9ff:	8b 06                	mov    (%esi),%eax
47aa01:	8a 08                	mov    (%eax),%cl
47aa03:	40                   	inc    %eax
47aa04:	89 06                	mov    %eax,(%esi)
47aa06:	57                   	push   %edi
47aa07:	0f b6 c1             	movzbl %cl,%eax
47aa0a:	6a 08                	push   $0x8
47aa0c:	50                   	push   %eax
47aa0d:	88 4d fa             	mov    %cl,-0x6(%ebp)
47aa10:	e8 0d 40 00 00       	call   0x47ea22
47aa15:	83 c4 0c             	add    $0xc,%esp
47aa18:	85 c0                	test   %eax,%eax
47aa1a:	75 e3                	jne    0x47a9ff
47aa1c:	8b 55 10             	mov    0x10(%ebp),%edx
47aa1f:	8a 4d fa             	mov    -0x6(%ebp),%cl
47aa22:	81 c2 08 03 00 00    	add    $0x308,%edx
47aa28:	80 f9 2d             	cmp    $0x2d,%cl
47aa2b:	89 55 e8             	mov    %edx,-0x18(%ebp)
47aa2e:	0f 94 c0             	sete   %al
47aa31:	88 02                	mov    %al,(%edx)
47aa33:	74 05                	je     0x47aa3a
47aa35:	80 f9 2b             	cmp    $0x2b,%cl
47aa38:	75 0a                	jne    0x47aa44
47aa3a:	8b 06                	mov    (%esi),%eax
47aa3c:	8a 08                	mov    (%eax),%cl
47aa3e:	40                   	inc    %eax
47aa3f:	89 06                	mov    %eax,(%esi)
47aa41:	88 4d fa             	mov    %cl,-0x6(%ebp)
47aa44:	80 f9 49             	cmp    $0x49,%cl
47aa47:	0f 84 80 03 00 00    	je     0x47adcd
47aa4d:	80 f9 69             	cmp    $0x69,%cl
47aa50:	0f 84 77 03 00 00    	je     0x47adcd
47aa56:	80 f9 4e             	cmp    $0x4e,%cl
47aa59:	0f 84 59 03 00 00    	je     0x47adb8
47aa5f:	80 f9 6e             	cmp    $0x6e,%cl
47aa62:	0f 84 50 03 00 00    	je     0x47adb8
47aa68:	33 db                	xor    %ebx,%ebx
47aa6a:	88 5d ff             	mov    %bl,-0x1(%ebp)
47aa6d:	80 f9 30             	cmp    $0x30,%cl
47aa70:	75 34                	jne    0x47aaa6
47aa72:	8b 16                	mov    (%esi),%edx
47aa74:	8a 02                	mov    (%edx),%al
47aa76:	8d 7a 01             	lea    0x1(%edx),%edi
47aa79:	88 45 f0             	mov    %al,-0x10(%ebp)
47aa7c:	89 3e                	mov    %edi,(%esi)
47aa7e:	3c 78                	cmp    $0x78,%al
47aa80:	74 13                	je     0x47aa95
47aa82:	3c 58                	cmp    $0x58,%al
47aa84:	74 0f                	je     0x47aa95
47aa86:	ff 75 f0             	push   -0x10(%ebp)
47aa89:	8b ce                	mov    %esi,%ecx
47aa8b:	e8 21 e6 ff ff       	call   0x4790b1
47aa90:	8a 4d fa             	mov    -0x6(%ebp),%cl
47aa93:	eb 11                	jmp    0x47aaa6
47aa95:	8a 0f                	mov    (%edi),%cl
47aa97:	8d 47 01             	lea    0x1(%edi),%eax
47aa9a:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
47aa9e:	89 06                	mov    %eax,(%esi)
47aaa0:	88 4d fa             	mov    %cl,-0x6(%ebp)
47aaa3:	89 55 ec             	mov    %edx,-0x14(%ebp)
47aaa6:	8b 45 10             	mov    0x10(%ebp),%eax
47aaa9:	8a eb                	mov    %bl,%ch
47aaab:	83 c0 08             	add    $0x8,%eax
47aaae:	89 45 f4             	mov    %eax,-0xc(%ebp)
47aab1:	80 f9 30             	cmp    $0x30,%cl
47aab4:	75 11                	jne    0x47aac7
47aab6:	b5 01                	mov    $0x1,%ch
47aab8:	8b 06                	mov    (%esi),%eax
47aaba:	8a 08                	mov    (%eax),%cl
47aabc:	40                   	inc    %eax
47aabd:	89 06                	mov    %eax,(%esi)
47aabf:	88 4d fa             	mov    %cl,-0x6(%ebp)
47aac2:	80 f9 30             	cmp    $0x30,%cl
47aac5:	74 f1                	je     0x47aab8
47aac7:	8b 7d f4             	mov    -0xc(%ebp),%edi
47aaca:	33 d2                	xor    %edx,%edx
47aacc:	38 55 ff             	cmp    %dl,-0x1(%ebp)
47aacf:	0f 94 c2             	sete   %dl
47aad2:	4a                   	dec    %edx
47aad3:	83 e2 06             	and    $0x6,%edx
47aad6:	83 c2 09             	add    $0x9,%edx
47aad9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
47aadc:	8a c1                	mov    %cl,%al
47aade:	2c 30                	sub    $0x30,%al
47aae0:	3c 09                	cmp    $0x9,%al
47aae2:	77 08                	ja     0x47aaec
47aae4:	0f be c1             	movsbl %cl,%eax
47aae7:	83 e8 30             	sub    $0x30,%eax
47aaea:	eb 23                	jmp    0x47ab0f
47aaec:	8a c1                	mov    %cl,%al
47aaee:	2c 61                	sub    $0x61,%al
47aaf0:	3c 19                	cmp    $0x19,%al
47aaf2:	77 08                	ja     0x47aafc
47aaf4:	0f be c1             	movsbl %cl,%eax
47aaf7:	83 e8 57             	sub    $0x57,%eax
47aafa:	eb 13                	jmp    0x47ab0f
47aafc:	8a c1                	mov    %cl,%al
47aafe:	2c 41                	sub    $0x41,%al
47ab00:	3c 19                	cmp    $0x19,%al
47ab02:	77 08                	ja     0x47ab0c
47ab04:	0f be c1             	movsbl %cl,%eax
47ab07:	83 e8 37             	sub    $0x37,%eax
47ab0a:	eb 03                	jmp    0x47ab0f
47ab0c:	83 c8 ff             	or     $0xffffffff,%eax
47ab0f:	3b c2                	cmp    %edx,%eax
47ab11:	77 17                	ja     0x47ab2a
47ab13:	b5 01                	mov    $0x1,%ch
47ab15:	3b 7d e8             	cmp    -0x18(%ebp),%edi
47ab18:	74 03                	je     0x47ab1d
47ab1a:	88 07                	mov    %al,(%edi)
47ab1c:	47                   	inc    %edi
47ab1d:	8b 06                	mov    (%esi),%eax
47ab1f:	43                   	inc    %ebx
47ab20:	8a 08                	mov    (%eax),%cl
47ab22:	40                   	inc    %eax
47ab23:	89 06                	mov    %eax,(%esi)
47ab25:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ab28:	eb b2                	jmp    0x47aadc
47ab2a:	89 7d f4             	mov    %edi,-0xc(%ebp)
47ab2d:	8b 7d 08             	mov    0x8(%ebp),%edi
47ab30:	6a 00                	push   $0x0
47ab32:	89 5d f0             	mov    %ebx,-0x10(%ebp)
47ab35:	5b                   	pop    %ebx
47ab36:	8b 07                	mov    (%edi),%eax
47ab38:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
47ab3e:	8b 00                	mov    (%eax),%eax
47ab40:	3a 08                	cmp    (%eax),%cl
47ab42:	0f 85 95 00 00 00    	jne    0x47abdd
47ab48:	8b 06                	mov    (%esi),%eax
47ab4a:	8b 7d 10             	mov    0x10(%ebp),%edi
47ab4d:	83 c7 08             	add    $0x8,%edi
47ab50:	8d 50 01             	lea    0x1(%eax),%edx
47ab53:	8a 08                	mov    (%eax),%cl
47ab55:	8a c1                	mov    %cl,%al
47ab57:	89 16                	mov    %edx,(%esi)
47ab59:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ab5c:	39 7d f4             	cmp    %edi,-0xc(%ebp)
47ab5f:	75 1d                	jne    0x47ab7e
47ab61:	80 f9 30             	cmp    $0x30,%cl
47ab64:	75 18                	jne    0x47ab7e
47ab66:	8b 45 f0             	mov    -0x10(%ebp),%eax
47ab69:	b5 01                	mov    $0x1,%ch
47ab6b:	8a 0a                	mov    (%edx),%cl
47ab6d:	48                   	dec    %eax
47ab6e:	42                   	inc    %edx
47ab6f:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ab72:	89 16                	mov    %edx,(%esi)
47ab74:	80 f9 30             	cmp    $0x30,%cl
47ab77:	74 f2                	je     0x47ab6b
47ab79:	89 45 f0             	mov    %eax,-0x10(%ebp)
47ab7c:	8a c1                	mov    %cl,%al
47ab7e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
47ab81:	8a d0                	mov    %al,%dl
47ab83:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47ab86:	3c 30                	cmp    $0x30,%al
47ab88:	7c 0d                	jl     0x47ab97
47ab8a:	80 fa 39             	cmp    $0x39,%dl
47ab8d:	7f 08                	jg     0x47ab97
47ab8f:	0f be c1             	movsbl %cl,%eax
47ab92:	83 e8 30             	sub    $0x30,%eax
47ab95:	eb 23                	jmp    0x47abba
47ab97:	8a c1                	mov    %cl,%al
47ab99:	2c 61                	sub    $0x61,%al
47ab9b:	3c 19                	cmp    $0x19,%al
47ab9d:	77 08                	ja     0x47aba7
47ab9f:	0f be c1             	movsbl %cl,%eax
47aba2:	83 e8 57             	sub    $0x57,%eax
47aba5:	eb 13                	jmp    0x47abba
47aba7:	8a c1                	mov    %cl,%al
47aba9:	2c 41                	sub    $0x41,%al
47abab:	3c 19                	cmp    $0x19,%al
47abad:	77 08                	ja     0x47abb7
47abaf:	0f be c1             	movsbl %cl,%eax
47abb2:	83 e8 37             	sub    $0x37,%eax
47abb5:	eb 03                	jmp    0x47abba
47abb7:	83 c8 ff             	or     $0xffffffff,%eax
47abba:	3b c7                	cmp    %edi,%eax
47abbc:	77 1a                	ja     0x47abd8
47abbe:	b5 01                	mov    $0x1,%ch
47abc0:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
47abc3:	74 03                	je     0x47abc8
47abc5:	88 03                	mov    %al,(%ebx)
47abc7:	43                   	inc    %ebx
47abc8:	8b 06                	mov    (%esi),%eax
47abca:	8a 08                	mov    (%eax),%cl
47abcc:	40                   	inc    %eax
47abcd:	89 06                	mov    %eax,(%esi)
47abcf:	8a d1                	mov    %cl,%dl
47abd1:	88 4d fa             	mov    %cl,-0x6(%ebp)
47abd4:	8a c1                	mov    %cl,%al
47abd6:	eb ae                	jmp    0x47ab86
47abd8:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47abdb:	33 db                	xor    %ebx,%ebx
47abdd:	84 ed                	test   %ch,%ch
47abdf:	75 1e                	jne    0x47abff
47abe1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47abe4:	e8 0e 15 00 00       	call   0x47c0f7
47abe9:	84 c0                	test   %al,%al
47abeb:	74 0a                	je     0x47abf7
47abed:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
47abf1:	0f 85 68 01 00 00    	jne    0x47ad5f
47abf7:	6a 07                	push   $0x7
47abf9:	58                   	pop    %eax
47abfa:	5f                   	pop    %edi
47abfb:	5e                   	pop    %esi
47abfc:	5b                   	pop    %ebx
47abfd:	c9                   	leave
47abfe:	c3                   	ret
47abff:	ff 75 fa             	push   -0x6(%ebp)
47ac02:	8b ce                	mov    %esi,%ecx
47ac04:	e8 a8 e4 ff ff       	call   0x4790b1
47ac09:	8b 06                	mov    (%esi),%eax
47ac0b:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ac0e:	8a 08                	mov    (%eax),%cl
47ac10:	8d 50 01             	lea    0x1(%eax),%edx
47ac13:	89 16                	mov    %edx,(%esi)
47ac15:	8a c3                	mov    %bl,%al
47ac17:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ac1a:	80 f9 45             	cmp    $0x45,%cl
47ac1d:	74 14                	je     0x47ac33
47ac1f:	80 f9 50             	cmp    $0x50,%cl
47ac22:	74 0a                	je     0x47ac2e
47ac24:	80 f9 65             	cmp    $0x65,%cl
47ac27:	74 0a                	je     0x47ac33
47ac29:	80 f9 70             	cmp    $0x70,%cl
47ac2c:	75 0a                	jne    0x47ac38
47ac2e:	8a 45 ff             	mov    -0x1(%ebp),%al
47ac31:	eb 05                	jmp    0x47ac38
47ac33:	8a 45 ff             	mov    -0x1(%ebp),%al
47ac36:	34 01                	xor    $0x1,%al
47ac38:	84 c0                	test   %al,%al
47ac3a:	0f 84 fa 00 00 00    	je     0x47ad3a
47ac40:	8a 2a                	mov    (%edx),%ch
47ac42:	42                   	inc    %edx
47ac43:	89 16                	mov    %edx,(%esi)
47ac45:	8a cd                	mov    %ch,%cl
47ac47:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ac4a:	80 fd 2b             	cmp    $0x2b,%ch
47ac4d:	74 09                	je     0x47ac58
47ac4f:	8a c5                	mov    %ch,%al
47ac51:	8a e5                	mov    %ch,%ah
47ac53:	80 fd 2d             	cmp    $0x2d,%ch