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
47ac56:	75 0c                	jne    0x47ac64
47ac58:	8a 0a                	mov    (%edx),%cl
47ac5a:	42                   	inc    %edx
47ac5b:	89 16                	mov    %edx,(%esi)
47ac5d:	8a c1                	mov    %cl,%al
47ac5f:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ac62:	8a e1                	mov    %cl,%ah
47ac64:	88 5d fe             	mov    %bl,-0x2(%ebp)
47ac67:	3c 30                	cmp    $0x30,%al
47ac69:	75 17                	jne    0x47ac82
47ac6b:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
47ac6f:	8a 0a                	mov    (%edx),%cl
47ac71:	42                   	inc    %edx
47ac72:	89 16                	mov    %edx,(%esi)
47ac74:	8a e1                	mov    %cl,%ah
47ac76:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ac79:	80 f9 30             	cmp    $0x30,%cl
47ac7c:	74 f1                	je     0x47ac6f
47ac7e:	8a c1                	mov    %cl,%al
47ac80:	3c 30                	cmp    $0x30,%al
47ac82:	7c 0d                	jl     0x47ac91
47ac84:	80 fc 39             	cmp    $0x39,%ah
47ac87:	7f 08                	jg     0x47ac91
47ac89:	0f be c1             	movsbl %cl,%eax
47ac8c:	83 e8 30             	sub    $0x30,%eax
47ac8f:	eb 1e                	jmp    0x47acaf
47ac91:	8a c1                	mov    %cl,%al
47ac93:	2c 61                	sub    $0x61,%al
47ac95:	3c 19                	cmp    $0x19,%al
47ac97:	77 08                	ja     0x47aca1
47ac99:	0f be c1             	movsbl %cl,%eax
47ac9c:	83 e8 57             	sub    $0x57,%eax
47ac9f:	eb 0e                	jmp    0x47acaf
47aca1:	8a c1                	mov    %cl,%al
47aca3:	2c 41                	sub    $0x41,%al
47aca5:	3c 19                	cmp    $0x19,%al
47aca7:	77 2d                	ja     0x47acd6
47aca9:	0f be c1             	movsbl %cl,%eax
47acac:	83 e8 37             	sub    $0x37,%eax
47acaf:	83 f8 0a             	cmp    $0xa,%eax
47acb2:	73 22                	jae    0x47acd6
47acb4:	6b db 0a             	imul   $0xa,%ebx,%ebx
47acb7:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
47acbb:	03 d8                	add    %eax,%ebx
47acbd:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
47acc3:	7f 0c                	jg     0x47acd1
47acc5:	8a 0a                	mov    (%edx),%cl
47acc7:	42                   	inc    %edx
47acc8:	89 16                	mov    %edx,(%esi)
47acca:	8a e1                	mov    %cl,%ah
47accc:	88 4d fa             	mov    %cl,-0x6(%ebp)
47accf:	eb ad                	jmp    0x47ac7e
47acd1:	bb 51 14 00 00       	mov    $0x1451,%ebx
47acd6:	8a c1                	mov    %cl,%al
47acd8:	2c 30                	sub    $0x30,%al
47acda:	3c 09                	cmp    $0x9,%al
47acdc:	77 08                	ja     0x47ace6
47acde:	0f be c1             	movsbl %cl,%eax
47ace1:	83 e8 30             	sub    $0x30,%eax
47ace4:	eb 1e                	jmp    0x47ad04
47ace6:	8a c1                	mov    %cl,%al
47ace8:	2c 61                	sub    $0x61,%al
47acea:	3c 19                	cmp    $0x19,%al
47acec:	77 08                	ja     0x47acf6
47acee:	0f be c1             	movsbl %cl,%eax
47acf1:	83 e8 57             	sub    $0x57,%eax
47acf4:	eb 0e                	jmp    0x47ad04
47acf6:	8a c1                	mov    %cl,%al
47acf8:	2c 41                	sub    $0x41,%al
47acfa:	3c 19                	cmp    $0x19,%al
47acfc:	77 15                	ja     0x47ad13
47acfe:	0f be c1             	movsbl %cl,%eax
47ad01:	83 e8 37             	sub    $0x37,%eax
47ad04:	83 f8 0a             	cmp    $0xa,%eax
47ad07:	73 0a                	jae    0x47ad13
47ad09:	8a 0a                	mov    (%edx),%cl
47ad0b:	42                   	inc    %edx
47ad0c:	89 16                	mov    %edx,(%esi)
47ad0e:	88 4d fa             	mov    %cl,-0x6(%ebp)
47ad11:	eb c3                	jmp    0x47acd6
47ad13:	80 fd 2d             	cmp    $0x2d,%ch
47ad16:	75 02                	jne    0x47ad1a
47ad18:	f7 db                	neg    %ebx
47ad1a:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
47ad1e:	75 1a                	jne    0x47ad3a
47ad20:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47ad23:	e8 cf 13 00 00       	call   0x47c0f7
47ad28:	84 c0                	test   %al,%al
47ad2a:	0f 84 c7 fe ff ff    	je     0x47abf7
47ad30:	8b 06                	mov    (%esi),%eax
47ad32:	8a 10                	mov    (%eax),%dl
47ad34:	40                   	inc    %eax
47ad35:	89 06                	mov    %eax,(%esi)
47ad37:	88 55 fa             	mov    %dl,-0x6(%ebp)
47ad3a:	ff 75 fa             	push   -0x6(%ebp)
47ad3d:	8b ce                	mov    %esi,%ecx
47ad3f:	e8 6d e3 ff ff       	call   0x4790b1
47ad44:	8b 7d 10             	mov    0x10(%ebp),%edi
47ad47:	8b 55 f4             	mov    -0xc(%ebp),%edx
47ad4a:	8d 77 08             	lea    0x8(%edi),%esi
47ad4d:	eb 0c                	jmp    0x47ad5b
47ad4f:	8d 42 ff             	lea    -0x1(%edx),%eax
47ad52:	8b ca                	mov    %edx,%ecx
47ad54:	80 38 00             	cmpb   $0x0,(%eax)
47ad57:	8b d0                	mov    %eax,%edx
47ad59:	75 0b                	jne    0x47ad66
47ad5b:	3b d6                	cmp    %esi,%edx
47ad5d:	75 f0                	jne    0x47ad4f
47ad5f:	6a 02                	push   $0x2
47ad61:	e9 93 fe ff ff       	jmp    0x47abf9
47ad66:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
47ad6c:	7f 43                	jg     0x47adb1
47ad6e:	81 fb b0 eb ff ff    	cmp    $0xffffebb0,%ebx
47ad74:	7c 34                	jl     0x47adaa
47ad76:	8a 55 ff             	mov    -0x1(%ebp),%dl
47ad79:	33 c0                	xor    %eax,%eax
47ad7b:	84 d2                	test   %dl,%dl
47ad7d:	0f 94 c0             	sete   %al
47ad80:	48                   	dec    %eax
47ad81:	83 e0 03             	and    $0x3,%eax
47ad84:	40                   	inc    %eax
47ad85:	0f af 45 f0          	imul   -0x10(%ebp),%eax
47ad89:	03 d8                	add    %eax,%ebx
47ad8b:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
47ad91:	7f 1e                	jg     0x47adb1
47ad93:	81 fb b0 eb ff ff    	cmp    $0xffffebb0,%ebx
47ad99:	7c 0f                	jl     0x47adaa
47ad9b:	2b ce                	sub    %esi,%ecx
47ad9d:	89 1f                	mov    %ebx,(%edi)
47ad9f:	89 4f 04             	mov    %ecx,0x4(%edi)
47ada2:	0f b6 c2             	movzbl %dl,%eax
47ada5:	e9 50 fe ff ff       	jmp    0x47abfa
47adaa:	6a 08                	push   $0x8
47adac:	e9 48 fe ff ff       	jmp    0x47abf9
47adb1:	6a 09                	push   $0x9
47adb3:	e9 41 fe ff ff       	jmp    0x47abf9
47adb8:	ff 75 ec             	push   -0x14(%ebp)
47adbb:	8d 45 fa             	lea    -0x6(%ebp),%eax
47adbe:	56                   	push   %esi
47adbf:	50                   	push   %eax
47adc0:	e8 64 0d 00 00       	call   0x47bb29
47adc5:	83 c4 0c             	add    $0xc,%esp
47adc8:	e9 2d fe ff ff       	jmp    0x47abfa
47adcd:	ff 75 ec             	push   -0x14(%ebp)
47add0:	8d 45 fa             	lea    -0x6(%ebp),%eax
47add3:	56                   	push   %esi
47add4:	50                   	push   %eax
47add5:	e8 da 0b 00 00       	call   0x47b9b4
47adda:	eb e9                	jmp    0x47adc5
47addc:	8b ff                	mov    %edi,%edi
47adde:	55                   	push   %ebp
47addf:	8b ec                	mov    %esp,%ebp
47ade1:	81 ec b8 00 00 00    	sub    $0xb8,%esp
47ade7:	53                   	push   %ebx
47ade8:	56                   	push   %esi
47ade9:	57                   	push   %edi
47adea:	8b 7d 0c             	mov    0xc(%ebp),%edi
47aded:	8b cf                	mov    %edi,%ecx
47adef:	e8 77 e3 ff ff       	call   0x47916b
47adf4:	84 c0                	test   %al,%al
47adf6:	0f 84 7b 06 00 00    	je     0x47b477
47adfc:	8b 07                	mov    (%edi),%eax
47adfe:	89 45 e8             	mov    %eax,-0x18(%ebp)
47ae01:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
47ae07:	0f b7 08             	movzwl (%eax),%ecx
47ae0a:	83 c0 02             	add    $0x2,%eax
47ae0d:	89 07                	mov    %eax,(%edi)
47ae0f:	8d 45 f8             	lea    -0x8(%ebp),%eax
47ae12:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
47ae18:	8d 45 e8             	lea    -0x18(%ebp),%eax
47ae1b:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
47ae21:	eb 0a                	jmp    0x47ae2d
47ae23:	8b 07                	mov    (%edi),%eax
47ae25:	0f b7 08             	movzwl (%eax),%ecx
47ae28:	83 c0 02             	add    $0x2,%eax