4759f5:	66 83 7d 10 63       	cmpw   $0x63,0x10(%ebp)
4759fa:	74 07                	je     0x475a03
4759fc:	66 83 7d 10 73       	cmpw   $0x73,0x10(%ebp)
475a01:	75 02                	jne    0x475a05
475a03:	32 c0                	xor    %al,%al
475a05:	32 c1                	xor    %cl,%al
475a07:	5d                   	pop    %ebp
475a08:	c3                   	ret
475a09:	b0 01                	mov    $0x1,%al
475a0b:	5d                   	pop    %ebp
475a0c:	c3                   	ret
475a0d:	32 c0                	xor    %al,%al
475a0f:	5d                   	pop    %ebp
475a10:	c3                   	ret
475a11:	8b ff                	mov    %edi,%edi
475a13:	55                   	push   %ebp
475a14:	8b ec                	mov    %esp,%ebp
475a16:	8b 45 08             	mov    0x8(%ebp),%eax
475a19:	8b 4d 10             	mov    0x10(%ebp),%ecx
475a1c:	8b 55 0c             	mov    0xc(%ebp),%edx
475a1f:	89 10                	mov    %edx,(%eax)
475a21:	89 48 04             	mov    %ecx,0x4(%eax)
475a24:	85 c9                	test   %ecx,%ecx
475a26:	74 02                	je     0x475a2a
475a28:	89 11                	mov    %edx,(%ecx)
475a2a:	5d                   	pop    %ebp
475a2b:	c3                   	ret
475a2c:	8b ff                	mov    %edi,%edi
475a2e:	55                   	push   %ebp
475a2f:	8b ec                	mov    %esp,%ebp
475a31:	83 ec 14             	sub    $0x14,%esp
475a34:	8d 4d 0c             	lea    0xc(%ebp),%ecx
475a37:	53                   	push   %ebx
475a38:	56                   	push   %esi
475a39:	e8 2d 37 00 00       	call   0x47916b
475a3e:	84 c0                	test   %al,%al
475a40:	74 2f                	je     0x475a71
475a42:	8b 75 14             	mov    0x14(%ebp),%esi
475a45:	85 f6                	test   %esi,%esi
475a47:	74 3d                	je     0x475a86
475a49:	83 fe 02             	cmp    $0x2,%esi
475a4c:	7c 05                	jl     0x475a53
475a4e:	83 fe 24             	cmp    $0x24,%esi
475a51:	7e 33                	jle    0x475a86
475a53:	8b 45 08             	mov    0x8(%ebp),%eax
475a56:	50                   	push   %eax
475a57:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
475a5b:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
475a62:	33 c0                	xor    %eax,%eax
475a64:	50                   	push   %eax
475a65:	50                   	push   %eax
475a66:	50                   	push   %eax
475a67:	50                   	push   %eax
475a68:	50                   	push   %eax
475a69:	e8 36 3b 00 00       	call   0x4795a4
475a6e:	83 c4 18             	add    $0x18,%esp
475a71:	8b 4d 10             	mov    0x10(%ebp),%ecx
475a74:	85 c9                	test   %ecx,%ecx
475a76:	0f 84 52 01 00 00    	je     0x475bce
475a7c:	8b 45 0c             	mov    0xc(%ebp),%eax
475a7f:	89 01                	mov    %eax,(%ecx)
475a81:	e9 48 01 00 00       	jmp    0x475bce
475a86:	8b 45 0c             	mov    0xc(%ebp),%eax
475a89:	33 c9                	xor    %ecx,%ecx
475a8b:	57                   	push   %edi
475a8c:	89 45 ec             	mov    %eax,-0x14(%ebp)
475a8f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
475a92:	8a 18                	mov    (%eax),%bl
475a94:	8d 78 01             	lea    0x1(%eax),%edi
475a97:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
475a9b:	88 5d fc             	mov    %bl,-0x4(%ebp)
475a9e:	89 7d 0c             	mov    %edi,0xc(%ebp)
475aa1:	89 45 f8             	mov    %eax,-0x8(%ebp)
475aa4:	80 fb 2d             	cmp    $0x2d,%bl
475aa7:	75 08                	jne    0x475ab1
475aa9:	83 c8 02             	or     $0x2,%eax
475aac:	89 45 f8             	mov    %eax,-0x8(%ebp)
475aaf:	eb 05                	jmp    0x475ab6
475ab1:	80 fb 2b             	cmp    $0x2b,%bl
475ab4:	75 09                	jne    0x475abf
475ab6:	8a 1f                	mov    (%edi),%bl
475ab8:	47                   	inc    %edi
475ab9:	88 5d fc             	mov    %bl,-0x4(%ebp)
475abc:	89 7d 0c             	mov    %edi,0xc(%ebp)
475abf:	85 f6                	test   %esi,%esi
475ac1:	74 05                	je     0x475ac8
475ac3:	83 fe 10             	cmp    $0x10,%esi
475ac6:	75 75                	jne    0x475b3d
475ac8:	8a c3                	mov    %bl,%al
475aca:	2c 30                	sub    $0x30,%al
475acc:	3c 09                	cmp    $0x9,%al
475ace:	77 08                	ja     0x475ad8
475ad0:	0f be c3             	movsbl %bl,%eax
475ad3:	83 c0 d0             	add    $0xffffffd0,%eax
475ad6:	eb 1e                	jmp    0x475af6
475ad8:	8a c3                	mov    %bl,%al
475ada:	2c 61                	sub    $0x61,%al
475adc:	3c 19                	cmp    $0x19,%al
475ade:	77 08                	ja     0x475ae8
475ae0:	0f be c3             	movsbl %bl,%eax
475ae3:	83 c0 a9             	add    $0xffffffa9,%eax
475ae6:	eb 0e                	jmp    0x475af6
475ae8:	8a c3                	mov    %bl,%al
475aea:	2c 41                	sub    $0x41,%al
475aec:	3c 19                	cmp    $0x19,%al
475aee:	77 46                	ja     0x475b36
475af0:	0f be c3             	movsbl %bl,%eax
475af3:	83 c0 c9             	add    $0xffffffc9,%eax
475af6:	85 c0                	test   %eax,%eax
475af8:	75 3c                	jne    0x475b36
475afa:	8a 07                	mov    (%edi),%al
475afc:	47                   	inc    %edi
475afd:	88 45 f0             	mov    %al,-0x10(%ebp)
475b00:	89 7d 0c             	mov    %edi,0xc(%ebp)
475b03:	3c 78                	cmp    $0x78,%al
475b05:	74 1d                	je     0x475b24
475b07:	3c 58                	cmp    $0x58,%al
475b09:	74 19                	je     0x475b24
475b0b:	85 f6                	test   %esi,%esi
475b0d:	75 03                	jne    0x475b12
475b0f:	6a 08                	push   $0x8
475b11:	5e                   	pop    %esi
475b12:	ff 75 f0             	push   -0x10(%ebp)
475b15:	8d 4d 0c             	lea    0xc(%ebp),%ecx
475b18:	e8 94 35 00 00       	call   0x4790b1
475b1d:	8b 7d 0c             	mov    0xc(%ebp),%edi
475b20:	33 c9                	xor    %ecx,%ecx
475b22:	eb 19                	jmp    0x475b3d
475b24:	85 f6                	test   %esi,%esi
475b26:	75 03                	jne    0x475b2b
475b28:	6a 10                	push   $0x10
475b2a:	5e                   	pop    %esi
475b2b:	8a 1f                	mov    (%edi),%bl
475b2d:	47                   	inc    %edi
475b2e:	88 5d fc             	mov    %bl,-0x4(%ebp)
475b31:	89 7d 0c             	mov    %edi,0xc(%ebp)
475b34:	eb 07                	jmp    0x475b3d
475b36:	85 f6                	test   %esi,%esi
475b38:	75 03                	jne    0x475b3d
475b3a:	6a 0a                	push   $0xa
475b3c:	5e                   	pop    %esi
475b3d:	83 c8 ff             	or     $0xffffffff,%eax
475b40:	33 d2                	xor    %edx,%edx
475b42:	f7 f6                	div    %esi
475b44:	89 45 f0             	mov    %eax,-0x10(%ebp)
475b47:	8a c3                	mov    %bl,%al
475b49:	2c 30                	sub    $0x30,%al
475b4b:	3c 09                	cmp    $0x9,%al
475b4d:	77 08                	ja     0x475b57
475b4f:	0f be d3             	movsbl %bl,%edx
475b52:	83 c2 d0             	add    $0xffffffd0,%edx
475b55:	eb 23                	jmp    0x475b7a
475b57:	8a c3                	mov    %bl,%al
475b59:	2c 61                	sub    $0x61,%al
475b5b:	3c 19                	cmp    $0x19,%al
475b5d:	77 08                	ja     0x475b67
475b5f:	0f be d3             	movsbl %bl,%edx
475b62:	83 c2 a9             	add    $0xffffffa9,%edx
475b65:	eb 13                	jmp    0x475b7a
475b67:	8a c3                	mov    %bl,%al
475b69:	2c 41                	sub    $0x41,%al
475b6b:	3c 19                	cmp    $0x19,%al
475b6d:	77 08                	ja     0x475b77
475b6f:	0f be d3             	movsbl %bl,%edx
475b72:	83 c2 c9             	add    $0xffffffc9,%edx
475b75:	eb 03                	jmp    0x475b7a
475b77:	83 ca ff             	or     $0xffffffff,%edx
475b7a:	3b d6                	cmp    %esi,%edx
475b7c:	73 30                	jae    0x475bae
475b7e:	8b 45 f0             	mov    -0x10(%ebp),%eax
475b81:	0f af ce             	imul   %esi,%ecx
475b84:	8a 1f                	mov    (%edi),%bl
475b86:	88 5d fc             	mov    %bl,-0x4(%ebp)
475b89:	03 d1                	add    %ecx,%edx
475b8b:	3b d1                	cmp    %ecx,%edx
475b8d:	1b c9                	sbb    %ecx,%ecx
475b8f:	f7 d9                	neg    %ecx
475b91:	3b 45 f4             	cmp    -0xc(%ebp),%eax
475b94:	89 55 f4             	mov    %edx,-0xc(%ebp)
475b97:	1b c0                	sbb    %eax,%eax
475b99:	f7 d8                	neg    %eax
475b9b:	0b c8                	or     %eax,%ecx
475b9d:	c1 e1 02             	shl    $0x2,%ecx
475ba0:	83 c9 08             	or     $0x8,%ecx
475ba3:	09 4d f8             	or     %ecx,-0x8(%ebp)
475ba6:	47                   	inc    %edi
475ba7:	8b ca                	mov    %edx,%ecx
475ba9:	89 7d 0c             	mov    %edi,0xc(%ebp)
475bac:	eb 99                	jmp    0x475b47
475bae:	ff 75 fc             	push   -0x4(%ebp)
475bb1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
475bb4:	e8 f8 34 00 00       	call   0x4790b1
475bb9:	8b 5d f8             	mov    -0x8(%ebp),%ebx
475bbc:	5f                   	pop    %edi
475bbd:	f6 c3 08             	test   $0x8,%bl
475bc0:	75 10                	jne    0x475bd2
475bc2:	8b 45 10             	mov    0x10(%ebp),%eax
475bc5:	85 c0                	test   %eax,%eax
475bc7:	74 05                	je     0x475bce
475bc9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
475bcc:	89 08                	mov    %ecx,(%eax)
475bce:	33 c0                	xor    %eax,%eax
475bd0:	eb 65                	jmp    0x475c37
475bd2:	8b 75 f4             	mov    -0xc(%ebp),%esi
475bd5:	56                   	push   %esi
475bd6:	53                   	push   %ebx
475bd7:	e8 82 fd ff ff       	call   0x47595e
475bdc:	59                   	pop    %ecx
475bdd:	59                   	pop    %ecx
475bde:	84 c0                	test   %al,%al
475be0:	74 40                	je     0x475c22
475be2:	8b 45 08             	mov    0x8(%ebp),%eax
475be5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
475be9:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
475bf0:	f6 c3 01             	test   $0x1,%bl
475bf3:	75 05                	jne    0x475bfa
475bf5:	83 ce ff             	or     $0xffffffff,%esi
475bf8:	eb 2f                	jmp    0x475c29
475bfa:	8b 4d 10             	mov    0x10(%ebp),%ecx
475bfd:	f6 c3 02             	test   $0x2,%bl
475c00:	74 10                	je     0x475c12
475c02:	85 c9                	test   %ecx,%ecx
475c04:	74 05                	je     0x475c0b
475c06:	8b 45 0c             	mov    0xc(%ebp),%eax
475c09:	89 01                	mov    %eax,(%ecx)
475c0b:	b8 00 00 00 80       	mov    $0x80000000,%eax
475c10:	eb 25                	jmp    0x475c37
475c12:	85 c9                	test   %ecx,%ecx
475c14:	74 05                	je     0x475c1b
475c16:	8b 45 0c             	mov    0xc(%ebp),%eax
475c19:	89 01                	mov    %eax,(%ecx)
475c1b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
475c20:	eb 15                	jmp    0x475c37
475c22:	f6 c3 02             	test   $0x2,%bl
475c25:	74 02                	je     0x475c29
475c27:	f7 de                	neg    %esi
475c29:	8b 55 10             	mov    0x10(%ebp),%edx
475c2c:	85 d2                	test   %edx,%edx
475c2e:	74 05                	je     0x475c35
475c30:	8b 4d 0c             	mov    0xc(%ebp),%ecx
475c33:	89 0a                	mov    %ecx,(%edx)
475c35:	8b c6                	mov    %esi,%eax
475c37:	5e                   	pop    %esi
475c38:	5b                   	pop    %ebx
475c39:	c9                   	leave
475c3a:	c3                   	ret
475c3b:	8b ff                	mov    %edi,%edi
475c3d:	55                   	push   %ebp
475c3e:	8b ec                	mov    %esp,%ebp
475c40:	81 ec 90 00 00 00    	sub    $0x90,%esp
475c46:	8d 4d 0c             	lea    0xc(%ebp),%ecx
475c49:	53                   	push   %ebx
475c4a:	56                   	push   %esi
475c4b:	57                   	push   %edi
475c4c:	e8 1a 35 00 00       	call   0x47916b
475c51:	84 c0                	test   %al,%al
475c53:	74 2f                	je     0x475c84
475c55:	8b 7d 14             	mov    0x14(%ebp),%edi
475c58:	85 ff                	test   %edi,%edi
475c5a:	74 3d                	je     0x475c99
475c5c:	83 ff 02             	cmp    $0x2,%edi
475c5f:	7c 05                	jl     0x475c66
475c61:	83 ff 24             	cmp    $0x24,%edi
475c64:	7e 33                	jle    0x475c99
475c66:	8b 45 08             	mov    0x8(%ebp),%eax
475c69:	50                   	push   %eax
475c6a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
475c6e:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
475c75:	33 c0                	xor    %eax,%eax
475c77:	50                   	push   %eax
475c78:	50                   	push   %eax
475c79:	50                   	push   %eax
475c7a:	50                   	push   %eax
475c7b:	50                   	push   %eax
475c7c:	e8 23 39 00 00       	call   0x4795a4
475c81:	83 c4 18             	add    $0x18,%esp
475c84:	8b 4d 10             	mov    0x10(%ebp),%ecx
475c87:	85 c9                	test   %ecx,%ecx
475c89:	0f 84 11 05 00 00    	je     0x4761a0
475c8f:	8b 45 0c             	mov    0xc(%ebp),%eax
475c92:	89 01                	mov    %eax,(%ecx)
475c94:	e9 07 05 00 00       	jmp    0x4761a0
475c99:	8b 45 0c             	mov    0xc(%ebp),%eax
475c9c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
475ca0:	0f b6 5d 18          	movzbl 0x18(%ebp),%ebx
475ca4:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
475caa:	0f b7 30             	movzwl (%eax),%esi
475cad:	8d 48 02             	lea    0x2(%eax),%ecx
475cb0:	89 4d 0c             	mov    %ecx,0xc(%ebp)
475cb3:	83 fe 2d             	cmp    $0x2d,%esi
475cb6:	75 05                	jne    0x475cbd
475cb8:	83 cb 02             	or     $0x2,%ebx
475cbb:	eb 05                	jmp    0x475cc2
475cbd:	83 fe 2b             	cmp    $0x2b,%esi
475cc0:	75 09                	jne    0x475ccb
475cc2:	0f b7 31             	movzwl (%ecx),%esi
475cc5:	83 c1 02             	add    $0x2,%ecx
475cc8:	89 4d 0c             	mov    %ecx,0xc(%ebp)
475ccb:	c7 85 74 ff ff ff 3a 	movl   $0x3a,-0x8c(%ebp)
475cd2:	00 00 00
475cd5:	b8 10 ff 00 00       	mov    $0xff10,%eax
475cda:	c7 45 f8 60 06 00 00 	movl   $0x660,-0x8(%ebp)
475ce1:	c7 45 f4 6a 06 00 00 	movl   $0x66a,-0xc(%ebp)
475ce8:	c7 45 f0 f0 06 00 00 	movl   $0x6f0,-0x10(%ebp)
475cef:	c7 45 ec fa 06 00 00 	movl   $0x6fa,-0x14(%ebp)
475cf6:	c7 45 e8 66 09 00 00 	movl   $0x966,-0x18(%ebp)
475cfd:	c7 45 e4 70 09 00 00 	movl   $0x970,-0x1c(%ebp)
475d04:	c7 45 e0 e6 09 00 00 	movl   $0x9e6,-0x20(%ebp)
475d0b:	c7 45 dc f0 09 00 00 	movl   $0x9f0,-0x24(%ebp)
475d12:	c7 45 d8 66 0a 00 00 	movl   $0xa66,-0x28(%ebp)
475d19:	c7 45 d4 70 0a 00 00 	movl   $0xa70,-0x2c(%ebp)
475d20:	c7 45 d0 e6 0a 00 00 	movl   $0xae6,-0x30(%ebp)
475d27:	c7 45 cc f0 0a 00 00 	movl   $0xaf0,-0x34(%ebp)
475d2e:	c7 45 c8 66 0b 00 00 	movl   $0xb66,-0x38(%ebp)
475d35:	c7 45 c4 70 0b 00 00 	movl   $0xb70,-0x3c(%ebp)
475d3c:	c7 45 c0 66 0c 00 00 	movl   $0xc66,-0x40(%ebp)
475d43:	c7 45 bc 70 0c 00 00 	movl   $0xc70,-0x44(%ebp)
475d4a:	c7 45 b8 e6 0c 00 00 	movl   $0xce6,-0x48(%ebp)
475d51:	c7 45 b4 f0 0c 00 00 	movl   $0xcf0,-0x4c(%ebp)
475d58:	c7 45 b0 66 0d 00 00 	movl   $0xd66,-0x50(%ebp)
475d5f:	c7 45 ac 70 0d 00 00 	movl   $0xd70,-0x54(%ebp)
475d66:	c7 45 a8 50 0e 00 00 	movl   $0xe50,-0x58(%ebp)
475d6d:	c7 45 a4 5a 0e 00 00 	movl   $0xe5a,-0x5c(%ebp)
475d74:	c7 45 a0 d0 0e 00 00 	movl   $0xed0,-0x60(%ebp)
475d7b:	c7 45 9c da 0e 00 00 	movl   $0xeda,-0x64(%ebp)
475d82:	c7 45 98 20 0f 00 00 	movl   $0xf20,-0x68(%ebp)
475d89:	c7 45 94 2a 0f 00 00 	movl   $0xf2a,-0x6c(%ebp)
475d90:	c7 45 90 40 10 00 00 	movl   $0x1040,-0x70(%ebp)
475d97:	c7 45 8c 4a 10 00 00 	movl   $0x104a,-0x74(%ebp)
475d9e:	c7 45 88 e0 17 00 00 	movl   $0x17e0,-0x78(%ebp)
475da5:	c7 45 84 ea 17 00 00 	movl   $0x17ea,-0x7c(%ebp)
475dac:	c7 45 80 10 18 00 00 	movl   $0x1810,-0x80(%ebp)
475db3:	c7 85 7c ff ff ff 1a 	movl   $0x181a,-0x84(%ebp)
475dba:	18 00 00
475dbd:	c7 85 78 ff ff ff 1a 	movl   $0xff1a,-0x88(%ebp)
475dc4:	ff 00 00
475dc7:	6a 30                	push   $0x30
475dc9:	5a                   	pop    %edx
475dca:	85 ff                	test   %edi,%edi
475dcc:	74 09                	je     0x475dd7
475dce:	83 ff 10             	cmp    $0x10,%edi
475dd1:	0f 85 e2 01 00 00    	jne    0x475fb9
475dd7:	66 3b f2             	cmp    %dx,%si
475dda:	0f 82 66 01 00 00    	jb     0x475f46
475de0:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
475de7:	73 0a                	jae    0x475df3
475de9:	0f b7 c6             	movzwl %si,%eax
475dec:	2b c2                	sub    %edx,%eax
475dee:	e9 4e 01 00 00       	jmp    0x475f41
475df3:	66 3b f0             	cmp    %ax,%si