552beb:	77 12                	ja     0x552bff
552bed:	0f b6 c8             	movzbl %al,%ecx
552bf0:	8b 46 04             	mov    0x4(%esi),%eax
552bf3:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552bf7:	a8 10                	test   $0x10,%al
552bf9:	74 04                	je     0x552bff
552bfb:	a8 08                	test   $0x8,%al
552bfd:	74 e6                	je     0x552be5
552bff:	8b f7                	mov    %edi,%esi
552c01:	56                   	push   %esi
552c02:	ff 74 24 14          	push   0x14(%esp)
552c06:	e8 f5 07 00 00       	call   0x553400
552c0b:	8b e8                	mov    %eax,%ebp
552c0d:	83 c4 08             	add    $0x8,%esp
552c10:	89 6c 24 3c          	mov    %ebp,0x3c(%esp)
552c14:	8b d5                	mov    %ebp,%edx
552c16:	8b 6c 24 10          	mov    0x10(%esp),%ebp
552c1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
552c20:	8a 1a                	mov    (%edx),%bl
552c22:	80 fb 7f             	cmp    $0x7f,%bl
552c25:	77 15                	ja     0x552c3c
552c27:	8b 45 04             	mov    0x4(%ebp),%eax
552c2a:	0f b6 cb             	movzbl %bl,%ecx
552c2d:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552c31:	a8 10                	test   $0x10,%al
552c33:	74 07                	je     0x552c3c
552c35:	a8 08                	test   $0x8,%al
552c37:	75 03                	jne    0x552c3c
552c39:	42                   	inc    %edx
552c3a:	eb e4                	jmp    0x552c20
552c3c:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
552c40:	80 fb 5d             	cmp    $0x5d,%bl
552c43:	74 14                	je     0x552c59
552c45:	84 db                	test   %bl,%bl
552c47:	0f 84 f1 03 00 00    	je     0x55303e
552c4d:	3b f2                	cmp    %edx,%esi
552c4f:	0f 84 e9 03 00 00    	je     0x55303e
552c55:	8b f2                	mov    %edx,%esi
552c57:	eb a8                	jmp    0x552c01
552c59:	8b 74 24 10          	mov    0x10(%esp),%esi
552c5d:	8d 44 24 48          	lea    0x48(%esp),%eax
552c61:	57                   	push   %edi
552c62:	50                   	push   %eax
552c63:	6a 00                	push   $0x0
552c65:	56                   	push   %esi
552c66:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
552c6a:	e8 31 09 00 00       	call   0x5535a0
552c6f:	83 c4 10             	add    $0x10,%esp
552c72:	85 c0                	test   %eax,%eax
552c74:	0f 84 15 05 00 00    	je     0x55318f
552c7a:	8b 5c 24 48          	mov    0x48(%esp),%ebx
552c7e:	53                   	push   %ebx
552c7f:	56                   	push   %esi
552c80:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
552c84:	e8 c7 0e 00 00       	call   0x553b50
552c89:	8b e8                	mov    %eax,%ebp
552c8b:	83 c4 08             	add    $0x8,%esp
552c8e:	89 6c 24 44          	mov    %ebp,0x44(%esp)
552c92:	85 ed                	test   %ebp,%ebp
552c94:	0f 85 31 03 00 00    	jne    0x552fcb
552c9a:	53                   	push   %ebx
552c9b:	56                   	push   %esi
552c9c:	e8 4f 10 00 00       	call   0x553cf0
552ca1:	8b e8                	mov    %eax,%ebp
552ca3:	83 c4 08             	add    $0x8,%esp
552ca6:	89 6c 24 44          	mov    %ebp,0x44(%esp)
552caa:	85 ed                	test   %ebp,%ebp
552cac:	0f 85 19 03 00 00    	jne    0x552fcb
552cb2:	68 4e 01 00 00       	push   $0x14e
552cb7:	68 f0 e8 64 00       	push   $0x64e8f0
552cbc:	6a 67                	push   $0x67
552cbe:	6a 79                	push   $0x79
552cc0:	6a 0e                	push   $0xe
552cc2:	e8 b9 62 f8 ff       	call   0x4d8f80
552cc7:	8b de                	mov    %esi,%ebx
552cc9:	e9 89 03 00 00       	jmp    0x553057
552cce:	57                   	push   %edi
552ccf:	56                   	push   %esi
552cd0:	e8 2b 07 00 00       	call   0x553400
552cd5:	8b d8                	mov    %eax,%ebx
552cd7:	83 c4 08             	add    $0x8,%esp
552cda:	80 3b 3a             	cmpb   $0x3a,(%ebx)
552cdd:	75 20                	jne    0x552cff
552cdf:	80 7b 01 3a          	cmpb   $0x3a,0x1(%ebx)
552ce3:	75 1a                	jne    0x552cff
552ce5:	c6 03 00             	movb   $0x0,(%ebx)
552ce8:	83 c3 02             	add    $0x2,%ebx
552ceb:	53                   	push   %ebx
552cec:	89 7c 24 44          	mov    %edi,0x44(%esp)
552cf0:	8b fb                	mov    %ebx,%edi
552cf2:	56                   	push   %esi
552cf3:	e8 08 07 00 00       	call   0x553400
552cf8:	83 c4 08             	add    $0x8,%esp
552cfb:	8b d8                	mov    %eax,%ebx
552cfd:	eb 08                	jmp    0x552d07
552cff:	8b 6c 24 24          	mov    0x24(%esp),%ebp
552d03:	89 6c 24 40          	mov    %ebp,0x40(%esp)
552d07:	8b 6c 24 10          	mov    0x10(%esp),%ebp
552d0b:	8b f3                	mov    %ebx,%esi
552d0d:	0f 1f 00             	nopl   (%eax)
552d10:	8a 06                	mov    (%esi),%al
552d12:	3c 7f                	cmp    $0x7f,%al
552d14:	77 15                	ja     0x552d2b
552d16:	0f b6 c8             	movzbl %al,%ecx
552d19:	8b 45 04             	mov    0x4(%ebp),%eax
552d1c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552d20:	a8 10                	test   $0x10,%al
552d22:	74 07                	je     0x552d2b
552d24:	a8 08                	test   $0x8,%al
552d26:	75 03                	jne    0x552d2b
552d28:	46                   	inc    %esi
552d29:	eb e5                	jmp    0x552d10
552d2b:	6a 08                	push   $0x8
552d2d:	68 10 e9 64 00       	push   $0x64e910
552d32:	57                   	push   %edi
552d33:	e8 58 2a 09 00       	call   0x5e5790
552d38:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
552d3c:	83 c4 0c             	add    $0xc,%esp
552d3f:	85 c0                	test   %eax,%eax
552d41:	0f 85 66 01 00 00    	jne    0x552ead
552d47:	8d 47 08             	lea    0x8(%edi),%eax
552d4a:	3b f0                	cmp    %eax,%esi
552d4c:	75 09                	jne    0x552d57
552d4e:	80 3e 3d             	cmpb   $0x3d,(%esi)
552d51:	0f 85 c8 04 00 00    	jne    0x55321f
552d57:	80 3e 3d             	cmpb   $0x3d,(%esi)
552d5a:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
552d61:	00
552d62:	75 22                	jne    0x552d86
552d64:	8b 6c 24 10          	mov    0x10(%esp),%ebp
552d68:	8a 46 01             	mov    0x1(%esi),%al
552d6b:	46                   	inc    %esi
552d6c:	3c 7f                	cmp    $0x7f,%al
552d6e:	77 12                	ja     0x552d82
552d70:	0f b6 c8             	movzbl %al,%ecx
552d73:	8b 45 04             	mov    0x4(%ebp),%eax
552d76:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552d7a:	a8 10                	test   $0x10,%al
552d7c:	74 04                	je     0x552d82
552d7e:	a8 08                	test   $0x8,%al
552d80:	74 e6                	je     0x552d68
552d82:	8b 6c 24 40          	mov    0x40(%esp),%ebp
552d86:	8b 5c 24 10          	mov    0x10(%esp),%ebx
552d8a:	56                   	push   %esi
552d8b:	53                   	push   %ebx
552d8c:	e8 9f 0c 00 00       	call   0x553a30
552d91:	56                   	push   %esi
552d92:	8d 44 24 48          	lea    0x48(%esp),%eax
552d96:	50                   	push   %eax
552d97:	55                   	push   %ebp
552d98:	53                   	push   %ebx
552d99:	e8 02 08 00 00       	call   0x5535a0
552d9e:	83 c4 18             	add    $0x18,%esp
552da1:	85 c0                	test   %eax,%eax
552da3:	0f 84 b1 02 00 00    	je     0x55305a
552da9:	6a 30                	push   $0x30
552dab:	8d 44 24 58          	lea    0x58(%esp),%eax
552daf:	6a 00                	push   $0x0
552db1:	50                   	push   %eax
552db2:	e8 b9 fe 07 00       	call   0x5d2c70
552db7:	8b 74 24 48          	mov    0x48(%esp),%esi
552dbb:	8d 44 24 60          	lea    0x60(%esp),%eax
552dbf:	50                   	push   %eax
552dc0:	56                   	push   %esi
552dc1:	e8 3b 02 09 00       	call   0x5e3001
552dc6:	83 c4 14             	add    $0x14,%esp
552dc9:	85 c0                	test   %eax,%eax
552dcb:	79 29                	jns    0x552df6
552dcd:	e8 b6 7e 08 00       	call   0x5dac88
552dd2:	68 a6 02 00 00       	push   $0x2a6
552dd7:	68 f0 e8 64 00       	push   $0x64e8f0
552ddc:	ff 30                	push   (%eax)
552dde:	6a 16                	push   $0x16
552de0:	6a 02                	push   $0x2
552de2:	e8 99 61 f8 ff       	call   0x4d8f80
552de7:	56                   	push   %esi
552de8:	6a 01                	push   $0x1
552dea:	e8 81 58 f8 ff       	call   0x4d8670
552def:	83 c4 1c             	add    $0x1c,%esp
552df2:	33 ff                	xor    %edi,%edi
552df4:	eb 58                	jmp    0x552e4e
552df6:	8b 44 24 5a          	mov    0x5a(%esp),%eax
552dfa:	25 00 f0 00 00       	and    $0xf000,%eax
552dff:	3d 00 40 00 00       	cmp    $0x4000,%eax
552e04:	75 38                	jne    0x552e3e
552e06:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
552e0b:	74 12                	je     0x552e1f
552e0d:	68 af 02 00 00       	push   $0x2af
552e12:	68 f0 e8 64 00       	push   $0x64e8f0
552e17:	6a 6f                	push   $0x6f
552e19:	6a 74                	push   $0x74
552e1b:	6a 0e                	push   $0xe
552e1d:	eb c3                	jmp    0x552de2
552e1f:	8d 44 24 30          	lea    0x30(%esp),%eax
552e23:	50                   	push   %eax
552e24:	56                   	push   %esi
552e25:	e8 36 06 00 00       	call   0x553460
552e2a:	8b f8                	mov    %eax,%edi
552e2c:	83 c4 08             	add    $0x8,%esp
552e2f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
552e33:	85 ff                	test   %edi,%edi
552e35:	0f 45 c6             	cmovne %esi,%eax
552e38:	89 44 24 1c          	mov    %eax,0x1c(%esp)
552e3c:	eb 14                	jmp    0x552e52
552e3e:	68 54 23 61 00       	push   $0x612354
552e43:	56                   	push   %esi
552e44:	e8 d7 4e fc ff       	call   0x517d20
552e49:	83 c4 08             	add    $0x8,%esp
552e4c:	8b f8                	mov    %eax,%edi
552e4e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
552e52:	3b f0                	cmp    %eax,%esi
552e54:	74 13                	je     0x552e69
552e56:	68 70 01 00 00       	push   $0x170
552e5b:	68 f0 e8 64 00       	push   $0x64e8f0
552e60:	56                   	push   %esi
552e61:	e8 1a d9 f8 ff       	call   0x4e0780
552e66:	83 c4 0c             	add    $0xc,%esp
552e69:	85 ff                	test   %edi,%edi
552e6b:	0f 84 58 01 00 00    	je     0x552fc9
552e71:	8b 44 24 2c          	mov    0x2c(%esp),%eax
552e75:	85 c0                	test   %eax,%eax
552e77:	75 11                	jne    0x552e8a
552e79:	e8 a2 21 f9 ff       	call   0x4e5020
552e7e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
552e82:	85 c0                	test   %eax,%eax
552e84:	0f 84 14 03 00 00    	je     0x55319e
552e8a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
552e8e:	55                   	push   %ebp
552e8f:	50                   	push   %eax
552e90:	e8 bb 22 f9 ff       	call   0x4e5150
552e95:	83 c4 08             	add    $0x8,%esp
552e98:	85 c0                	test   %eax,%eax
552e9a:	0f 84 21 03 00 00    	je     0x5531c1
552ea0:	8b ef                	mov    %edi,%ebp
552ea2:	8b f3                	mov    %ebx,%esi
552ea4:	89 6c 24 14          	mov    %ebp,0x14(%esp)
552ea8:	e9 22 01 00 00       	jmp    0x552fcf
552ead:	80 3e 3d             	cmpb   $0x3d,(%esi)
552eb0:	0f 85 69 03 00 00    	jne    0x55321f
552eb6:	c6 03 00             	movb   $0x0,(%ebx)
552eb9:	8b 5c 24 10          	mov    0x10(%esp),%ebx
552ebd:	8a 46 01             	mov    0x1(%esi),%al
552ec0:	46                   	inc    %esi
552ec1:	3c 7f                	cmp    $0x7f,%al
552ec3:	77 12                	ja     0x552ed7
552ec5:	0f b6 c8             	movzbl %al,%ecx
552ec8:	8b 43 04             	mov    0x4(%ebx),%eax
552ecb:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552ecf:	a8 10                	test   $0x10,%al
552ed1:	74 04                	je     0x552ed7
552ed3:	a8 08                	test   $0x8,%al
552ed5:	74 e6                	je     0x552ebd
552ed7:	56                   	push   %esi
552ed8:	53                   	push   %ebx
552ed9:	e8 52 0b 00 00       	call   0x553a30
552ede:	68 91 01 00 00       	push   $0x191
552ee3:	68 f0 e8 64 00       	push   $0x64e8f0
552ee8:	6a 0c                	push   $0xc
552eea:	e8 61 d8 f8 ff       	call   0x4e0750
552eef:	83 c4 14             	add    $0x14,%esp
552ef2:	89 44 24 18          	mov    %eax,0x18(%esp)
552ef6:	85 c0                	test   %eax,%eax
552ef8:	0f 84 07 03 00 00    	je     0x553205
552efe:	68 95 01 00 00       	push   $0x195
552f03:	68 f0 e8 64 00       	push   $0x64e8f0
552f08:	57                   	push   %edi
552f09:	e8 c2 f1 f8 ff       	call   0x4e20d0
552f0e:	8b 7c 24 24          	mov    0x24(%esp),%edi
552f12:	83 c4 0c             	add    $0xc,%esp
552f15:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
552f1c:	8d 4f 08             	lea    0x8(%edi),%ecx
552f1f:	89 47 04             	mov    %eax,0x4(%edi)
552f22:	85 c0                	test   %eax,%eax
552f24:	0f 84 ba 02 00 00    	je     0x5531e4
552f2a:	56                   	push   %esi
552f2b:	51                   	push   %ecx
552f2c:	55                   	push   %ebp
552f2d:	8b f3                	mov    %ebx,%esi
552f2f:	56                   	push   %esi
552f30:	e8 6b 06 00 00       	call   0x5535a0
552f35:	83 c4 10             	add    $0x10,%esp
552f38:	85 c0                	test   %eax,%eax
552f3a:	0f 84 bc 02 00 00    	je     0x5531fc
552f40:	8b 4c 24 24          	mov    0x24(%esp),%ecx
552f44:	8b c5                	mov    %ebp,%eax
552f46:	8a 10                	mov    (%eax),%dl
552f48:	3a 11                	cmp    (%ecx),%dl
552f4a:	75 1a                	jne    0x552f66
552f4c:	84 d2                	test   %dl,%dl
552f4e:	74 12                	je     0x552f62
552f50:	8a 50 01             	mov    0x1(%eax),%dl
552f53:	3a 51 01             	cmp    0x1(%ecx),%dl
552f56:	75 0e                	jne    0x552f66
552f58:	83 c0 02             	add    $0x2,%eax
552f5b:	83 c1 02             	add    $0x2,%ecx
552f5e:	84 d2                	test   %dl,%dl
552f60:	75 e4                	jne    0x552f46
552f62:	33 c0                	xor    %eax,%eax
552f64:	eb 05                	jmp    0x552f6b
552f66:	1b c0                	sbb    %eax,%eax
552f68:	83 c8 01             	or     $0x1,%eax
552f6b:	85 c0                	test   %eax,%eax
552f6d:	74 3d                	je     0x552fac
552f6f:	55                   	push   %ebp
552f70:	56                   	push   %esi
552f71:	e8 da 0b 00 00       	call   0x553b50
552f76:	83 c4 08             	add    $0x8,%esp
552f79:	85 c0                	test   %eax,%eax
552f7b:	75 33                	jne    0x552fb0
552f7d:	55                   	push   %ebp
552f7e:	56                   	push   %esi
552f7f:	e8 6c 0d 00 00       	call   0x553cf0
552f84:	83 c4 08             	add    $0x8,%esp
552f87:	85 c0                	test   %eax,%eax
552f89:	75 25                	jne    0x552fb0
552f8b:	68 a4 01 00 00       	push   $0x1a4
552f90:	68 f0 e8 64 00       	push   $0x64e8f0
552f95:	6a 67                	push   $0x67
552f97:	6a 79                	push   $0x79
552f99:	6a 0e                	push   $0xe
552f9b:	e8 e0 5f f8 ff       	call   0x4d8f80
552fa0:	8b 6c 24 28          	mov    0x28(%esp),%ebp
552fa4:	83 c4 14             	add    $0x14,%esp
552fa7:	e9 b6 00 00 00       	jmp    0x553062
552fac:	8b 44 24 44          	mov    0x44(%esp),%eax
552fb0:	57                   	push   %edi
552fb1:	50                   	push   %eax
552fb2:	56                   	push   %esi
552fb3:	e8 c8 0a 00 00       	call   0x553a80
552fb8:	83 c4 0c             	add    $0xc,%esp
552fbb:	85 c0                	test   %eax,%eax
552fbd:	75 0c                	jne    0x552fcb
552fbf:	68 aa 01 00 00       	push   $0x1aa
552fc4:	e9 20 02 00 00       	jmp    0x5531e9
552fc9:	8b f3                	mov    %ebx,%esi
552fcb:	8b 6c 24 14          	mov    0x14(%esp),%ebp
552fcf:	8b 7c 24 28          	mov    0x28(%esp),%edi
552fd3:	8b 5c 24 20          	mov    0x20(%esp),%ebx
552fd7:	8d 87 00 02 00 00    	lea    0x200(%edi),%eax
552fdd:	50                   	push   %eax
552fde:	53                   	push   %ebx
552fdf:	e8 fc 85 fb ff       	call   0x50b5e0
552fe4:	83 c4 08             	add    $0x8,%esp
552fe7:	85 c0                	test   %eax,%eax
552fe9:	0f 85 21 fa ff ff    	jne    0x552a10
552fef:	68 e3 00 00 00       	push   $0xe3
552ff4:	68 f0 e8 64 00       	push   $0x64e8f0
552ff9:	6a 07                	push   $0x7
552ffb:	6a 79                	push   $0x79
552ffd:	6a 0e                	push   $0xe