422ca4:	8b f1                	mov    %ecx,%esi
422ca6:	57                   	push   %edi
422ca7:	8b 56 10             	mov    0x10(%esi),%edx
422caa:	8d 42 04             	lea    0x4(%edx),%eax
422cad:	89 46 10             	mov    %eax,0x10(%esi)
422cb0:	8b 3a                	mov    (%edx),%edi
422cb2:	85 ff                	test   %edi,%edi
422cb4:	74 33                	je     0x422ce9
422cb6:	8b 5f 04             	mov    0x4(%edi),%ebx
422cb9:	85 db                	test   %ebx,%ebx
422cbb:	74 2c                	je     0x422ce9
422cbd:	ff 76 28             	push   0x28(%esi)
422cc0:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
422cc4:	50                   	push   %eax
422cc5:	ff 76 04             	push   0x4(%esi)
422cc8:	ff 36                	push   (%esi)
422cca:	e8 8c d4 ff ff       	call   0x42015b
422ccf:	83 c4 10             	add    $0x10,%esp
422cd2:	89 5e 30             	mov    %ebx,0x30(%esi)
422cd5:	0f b7 0f             	movzwl (%edi),%ecx
422cd8:	84 c0                	test   %al,%al
422cda:	8b c1                	mov    %ecx,%eax
422cdc:	6a 34                	push   $0x34
422cde:	59                   	pop    %ecx
422cdf:	74 15                	je     0x422cf6
422ce1:	c6 46 38 01          	movb   $0x1,0x38(%esi)
422ce5:	d1 e8                	shr    $1,%eax
422ce7:	eb 11                	jmp    0x422cfa
422ce9:	6a 06                	push   $0x6
422ceb:	58                   	pop    %eax
422cec:	6a 34                	push   $0x34
422cee:	c7 46 30 38 04 44 00 	movl   $0x440438,0x30(%esi)
422cf5:	59                   	pop    %ecx
422cf6:	c6 46 38 00          	movb   $0x0,0x38(%esi)
422cfa:	5f                   	pop    %edi
422cfb:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
422cfe:	b0 01                	mov    $0x1,%al
422d00:	5e                   	pop    %esi
422d01:	5b                   	pop    %ebx
422d02:	c3                   	ret
422d03:	8b ff                	mov    %edi,%edi
422d05:	53                   	push   %ebx
422d06:	56                   	push   %esi
422d07:	8b f1                	mov    %ecx,%esi
422d09:	57                   	push   %edi
422d0a:	8b 56 10             	mov    0x10(%esi),%edx
422d0d:	8d 42 04             	lea    0x4(%edx),%eax
422d10:	89 46 10             	mov    %eax,0x10(%esi)
422d13:	8b 3a                	mov    (%edx),%edi
422d15:	85 ff                	test   %edi,%edi
422d17:	74 33                	je     0x422d4c
422d19:	8b 5f 04             	mov    0x4(%edi),%ebx
422d1c:	85 db                	test   %ebx,%ebx
422d1e:	74 2c                	je     0x422d4c
422d20:	ff 76 28             	push   0x28(%esi)
422d23:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
422d27:	50                   	push   %eax
422d28:	ff 76 04             	push   0x4(%esi)
422d2b:	ff 36                	push   (%esi)
422d2d:	e8 5a d4 ff ff       	call   0x42018c
422d32:	83 c4 10             	add    $0x10,%esp
422d35:	89 5e 30             	mov    %ebx,0x30(%esi)
422d38:	0f b7 0f             	movzwl (%edi),%ecx
422d3b:	84 c0                	test   %al,%al
422d3d:	8b c1                	mov    %ecx,%eax
422d3f:	6a 34                	push   $0x34
422d41:	59                   	pop    %ecx
422d42:	74 15                	je     0x422d59
422d44:	c6 46 38 01          	movb   $0x1,0x38(%esi)
422d48:	d1 e8                	shr    $1,%eax
422d4a:	eb 11                	jmp    0x422d5d
422d4c:	6a 06                	push   $0x6
422d4e:	58                   	pop    %eax
422d4f:	6a 34                	push   $0x34
422d51:	c7 46 30 38 04 44 00 	movl   $0x440438,0x30(%esi)
422d58:	59                   	pop    %ecx
422d59:	c6 46 38 00          	movb   $0x0,0x38(%esi)
422d5d:	5f                   	pop    %edi
422d5e:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
422d61:	b0 01                	mov    $0x1,%al
422d63:	5e                   	pop    %esi
422d64:	5b                   	pop    %ebx
422d65:	c3                   	ret
422d66:	8b ff                	mov    %edi,%edi
422d68:	55                   	push   %ebp
422d69:	8b ec                	mov    %esp,%ebp
422d6b:	83 ec 14             	sub    $0x14,%esp
422d6e:	33 d2                	xor    %edx,%edx
422d70:	42                   	inc    %edx
422d71:	56                   	push   %esi
422d72:	8b f1                	mov    %ecx,%esi
422d74:	57                   	push   %edi
422d75:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
422d79:	8b 46 24             	mov    0x24(%esi),%eax
422d7c:	85 c0                	test   %eax,%eax
422d7e:	79 17                	jns    0x422d97
422d80:	8a 46 2d             	mov    0x2d(%esi),%al
422d83:	3c 61                	cmp    $0x61,%al
422d85:	74 08                	je     0x422d8f
422d87:	3c 41                	cmp    $0x41,%al
422d89:	74 04                	je     0x422d8f
422d8b:	6a 06                	push   $0x6
422d8d:	eb 02                	jmp    0x422d91
422d8f:	6a 0d                	push   $0xd
422d91:	58                   	pop    %eax
422d92:	89 46 24             	mov    %eax,0x24(%esi)
422d95:	eb 14                	jmp    0x422dab
422d97:	75 12                	jne    0x422dab
422d99:	8a 4e 2d             	mov    0x2d(%esi),%cl
422d9c:	80 f9 67             	cmp    $0x67,%cl
422d9f:	74 05                	je     0x422da6
422da1:	80 f9 47             	cmp    $0x47,%cl
422da4:	75 05                	jne    0x422dab
422da6:	89 56 24             	mov    %edx,0x24(%esi)
422da9:	8b c2                	mov    %edx,%eax
422dab:	53                   	push   %ebx
422dac:	ff 76 08             	push   0x8(%esi)
422daf:	05 5d 01 00 00       	add    $0x15d,%eax
422db4:	8d 7e 3c             	lea    0x3c(%esi),%edi
422db7:	50                   	push   %eax
422db8:	8b cf                	mov    %edi,%ecx
422dba:	e8 99 d2 ff ff       	call   0x420058
422dbf:	84 c0                	test   %al,%al
422dc1:	75 12                	jne    0x422dd5
422dc3:	8b cf                	mov    %edi,%ecx
422dc5:	e8 5d d2 ff ff       	call   0x420027
422dca:	8d 98 a3 fe ff ff    	lea    -0x15d(%eax),%ebx
422dd0:	89 5e 24             	mov    %ebx,0x24(%esi)
422dd3:	eb 03                	jmp    0x422dd8
422dd5:	8b 5e 24             	mov    0x24(%esi),%ebx
422dd8:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422dde:	85 c0                	test   %eax,%eax
422de0:	75 02                	jne    0x422de4
422de2:	8b c7                	mov    %edi,%eax
422de4:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
422de8:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
422dec:	89 46 30             	mov    %eax,0x30(%esi)
422def:	8b 4e 10             	mov    0x10(%esi),%ecx
422df2:	8d 41 08             	lea    0x8(%ecx),%eax
422df5:	89 46 10             	mov    %eax,0x10(%esi)
422df8:	8b 01                	mov    (%ecx),%eax
422dfa:	8b 49 04             	mov    0x4(%ecx),%ecx
422dfd:	89 45 ec             	mov    %eax,-0x14(%ebp)
422e00:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
422e04:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422e07:	8b cf                	mov    %edi,%ecx
422e09:	89 45 fc             	mov    %eax,-0x4(%ebp)
422e0c:	e8 16 d2 ff ff       	call   0x420027
422e11:	8b cf                	mov    %edi,%ecx
422e13:	89 45 f8             	mov    %eax,-0x8(%ebp)
422e16:	e8 a1 db ff ff       	call   0x4209bc
422e1b:	8b cf                	mov    %edi,%ecx
422e1d:	89 45 f4             	mov    %eax,-0xc(%ebp)
422e20:	e8 02 d2 ff ff       	call   0x420027
422e25:	8b c8                	mov    %eax,%ecx
422e27:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422e2d:	85 c0                	test   %eax,%eax
422e2f:	74 02                	je     0x422e33
422e31:	8b f8                	mov    %eax,%edi
422e33:	ff 76 08             	push   0x8(%esi)
422e36:	8d 45 ec             	lea    -0x14(%ebp),%eax
422e39:	6a 01                	push   $0x1
422e3b:	ff 76 04             	push   0x4(%esi)
422e3e:	ff 36                	push   (%esi)
422e40:	53                   	push   %ebx
422e41:	ff 75 fc             	push   -0x4(%ebp)
422e44:	ff 75 f8             	push   -0x8(%ebp)
422e47:	ff 75 f4             	push   -0xc(%ebp)
422e4a:	51                   	push   %ecx
422e4b:	57                   	push   %edi
422e4c:	50                   	push   %eax
422e4d:	e8 c8 84 00 00       	call   0x42b31a
422e52:	8b 46 1c             	mov    0x1c(%esi),%eax
422e55:	83 c4 2c             	add    $0x2c,%esp
422e58:	c1 e8 05             	shr    $0x5,%eax
422e5b:	5b                   	pop    %ebx
422e5c:	a8 01                	test   $0x1,%al
422e5e:	74 24                	je     0x422e84
422e60:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
422e64:	75 1e                	jne    0x422e84
422e66:	8b 7e 08             	mov    0x8(%esi),%edi
422e69:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
422e6d:	75 07                	jne    0x422e76
422e6f:	8b cf                	mov    %edi,%ecx
422e71:	e8 0a c8 ff ff       	call   0x41f680
422e76:	8d 47 0c             	lea    0xc(%edi),%eax
422e79:	50                   	push   %eax
422e7a:	ff 76 30             	push   0x30(%esi)
422e7d:	e8 22 ed ff ff       	call   0x421ba4
422e82:	59                   	pop    %ecx
422e83:	59                   	pop    %ecx
422e84:	8a 46 2d             	mov    0x2d(%esi),%al
422e87:	3c 67                	cmp    $0x67,%al
422e89:	74 04                	je     0x422e8f
422e8b:	3c 47                	cmp    $0x47,%al
422e8d:	75 28                	jne    0x422eb7
422e8f:	8b 46 1c             	mov    0x1c(%esi),%eax
422e92:	c1 e8 05             	shr    $0x5,%eax
422e95:	a8 01                	test   $0x1,%al
422e97:	75 1e                	jne    0x422eb7
422e99:	8b 7e 08             	mov    0x8(%esi),%edi
422e9c:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
422ea0:	75 07                	jne    0x422ea9
422ea2:	8b cf                	mov    %edi,%ecx
422ea4:	e8 d7 c7 ff ff       	call   0x41f680
422ea9:	8d 47 0c             	lea    0xc(%edi),%eax
422eac:	50                   	push   %eax
422ead:	ff 76 30             	push   0x30(%esi)
422eb0:	e8 16 ec ff ff       	call   0x421acb
422eb5:	59                   	pop    %ecx
422eb6:	59                   	pop    %ecx
422eb7:	8b 56 30             	mov    0x30(%esi),%edx
422eba:	8a 02                	mov    (%edx),%al
422ebc:	3c 2d                	cmp    $0x2d,%al
422ebe:	75 0a                	jne    0x422eca
422ec0:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
422ec4:	42                   	inc    %edx
422ec5:	89 56 30             	mov    %edx,0x30(%esi)
422ec8:	8a 02                	mov    (%edx),%al
422eca:	3c 69                	cmp    $0x69,%al
422ecc:	74 0c                	je     0x422eda
422ece:	3c 49                	cmp    $0x49,%al
422ed0:	74 08                	je     0x422eda
422ed2:	3c 6e                	cmp    $0x6e,%al
422ed4:	74 04                	je     0x422eda
422ed6:	3c 4e                	cmp    $0x4e,%al
422ed8:	75 08                	jne    0x422ee2
422eda:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
422ede:	c6 46 2d 73          	movb   $0x73,0x2d(%esi)
422ee2:	8d 7a 01             	lea    0x1(%edx),%edi
422ee5:	8a 0a                	mov    (%edx),%cl
422ee7:	42                   	inc    %edx
422ee8:	84 c9                	test   %cl,%cl
422eea:	75 f9                	jne    0x422ee5
422eec:	2b d7                	sub    %edi,%edx
422eee:	b0 01                	mov    $0x1,%al
422ef0:	5f                   	pop    %edi
422ef1:	89 56 34             	mov    %edx,0x34(%esi)
422ef4:	5e                   	pop    %esi
422ef5:	c9                   	leave
422ef6:	c3                   	ret
422ef7:	8b ff                	mov    %edi,%edi
422ef9:	55                   	push   %ebp
422efa:	8b ec                	mov    %esp,%ebp
422efc:	83 ec 14             	sub    $0x14,%esp
422eff:	33 d2                	xor    %edx,%edx
422f01:	42                   	inc    %edx
422f02:	53                   	push   %ebx
422f03:	56                   	push   %esi
422f04:	57                   	push   %edi
422f05:	8b f1                	mov    %ecx,%esi
422f07:	6a 67                	push   $0x67
422f09:	5b                   	pop    %ebx
422f0a:	6a 47                	push   $0x47
422f0c:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
422f10:	8b 46 24             	mov    0x24(%esi),%eax
422f13:	5f                   	pop    %edi
422f14:	85 c0                	test   %eax,%eax
422f16:	79 1a                	jns    0x422f32
422f18:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
422f1c:	83 f8 61             	cmp    $0x61,%eax
422f1f:	74 09                	je     0x422f2a
422f21:	83 f8 41             	cmp    $0x41,%eax
422f24:	74 04                	je     0x422f2a
422f26:	6a 06                	push   $0x6
422f28:	eb 02                	jmp    0x422f2c
422f2a:	6a 0d                	push   $0xd
422f2c:	58                   	pop    %eax
422f2d:	89 46 24             	mov    %eax,0x24(%esi)
422f30:	eb 15                	jmp    0x422f47
422f32:	75 13                	jne    0x422f47
422f34:	0f b7 4e 2e          	movzwl 0x2e(%esi),%ecx
422f38:	66 3b cb             	cmp    %bx,%cx
422f3b:	74 05                	je     0x422f42
422f3d:	66 3b cf             	cmp    %di,%cx
422f40:	75 05                	jne    0x422f47
422f42:	89 56 24             	mov    %edx,0x24(%esi)
422f45:	8b c2                	mov    %edx,%eax
422f47:	ff 76 08             	push   0x8(%esi)
422f4a:	05 5d 01 00 00       	add    $0x15d,%eax
422f4f:	8d 7e 3c             	lea    0x3c(%esi),%edi
422f52:	50                   	push   %eax
422f53:	8b cf                	mov    %edi,%ecx
422f55:	e8 fe d0 ff ff       	call   0x420058
422f5a:	84 c0                	test   %al,%al
422f5c:	75 12                	jne    0x422f70
422f5e:	8b cf                	mov    %edi,%ecx
422f60:	e8 c2 d0 ff ff       	call   0x420027
422f65:	8d 98 a3 fe ff ff    	lea    -0x15d(%eax),%ebx
422f6b:	89 5e 24             	mov    %ebx,0x24(%esi)
422f6e:	eb 03                	jmp    0x422f73
422f70:	8b 5e 24             	mov    0x24(%esi),%ebx
422f73:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422f79:	85 c0                	test   %eax,%eax
422f7b:	75 02                	jne    0x422f7f
422f7d:	8b c7                	mov    %edi,%eax
422f7f:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
422f83:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
422f87:	89 46 30             	mov    %eax,0x30(%esi)
422f8a:	8b 4e 10             	mov    0x10(%esi),%ecx
422f8d:	8d 41 08             	lea    0x8(%ecx),%eax
422f90:	89 46 10             	mov    %eax,0x10(%esi)
422f93:	8b 01                	mov    (%ecx),%eax
422f95:	8b 49 04             	mov    0x4(%ecx),%ecx
422f98:	89 45 ec             	mov    %eax,-0x14(%ebp)
422f9b:	0f be 46 2e          	movsbl 0x2e(%esi),%eax
422f9f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422fa2:	8b cf                	mov    %edi,%ecx
422fa4:	89 45 fc             	mov    %eax,-0x4(%ebp)
422fa7:	e8 7b d0 ff ff       	call   0x420027
422fac:	8b cf                	mov    %edi,%ecx
422fae:	89 45 f8             	mov    %eax,-0x8(%ebp)
422fb1:	e8 06 da ff ff       	call   0x4209bc
422fb6:	8b cf                	mov    %edi,%ecx
422fb8:	89 45 f4             	mov    %eax,-0xc(%ebp)
422fbb:	e8 67 d0 ff ff       	call   0x420027
422fc0:	8b c8                	mov    %eax,%ecx
422fc2:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422fc8:	85 c0                	test   %eax,%eax
422fca:	74 02                	je     0x422fce
422fcc:	8b f8                	mov    %eax,%edi
422fce:	ff 76 08             	push   0x8(%esi)
422fd1:	8d 45 ec             	lea    -0x14(%ebp),%eax
422fd4:	6a 01                	push   $0x1
422fd6:	ff 76 04             	push   0x4(%esi)
422fd9:	ff 36                	push   (%esi)
422fdb:	53                   	push   %ebx
422fdc:	ff 75 fc             	push   -0x4(%ebp)
422fdf:	ff 75 f8             	push   -0x8(%ebp)
422fe2:	ff 75 f4             	push   -0xc(%ebp)
422fe5:	51                   	push   %ecx
422fe6:	57                   	push   %edi
422fe7:	50                   	push   %eax
422fe8:	e8 2d 83 00 00       	call   0x42b31a
422fed:	8b 46 1c             	mov    0x1c(%esi),%eax
422ff0:	83 c4 2c             	add    $0x2c,%esp
422ff3:	c1 e8 05             	shr    $0x5,%eax
422ff6:	a8 01                	test   $0x1,%al
422ff8:	74 24                	je     0x42301e
422ffa:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
422ffe:	75 1e                	jne    0x42301e
423000:	8b 7e 08             	mov    0x8(%esi),%edi
423003:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
423007:	75 07                	jne    0x423010
423009:	8b cf                	mov    %edi,%ecx
42300b:	e8 70 c6 ff ff       	call   0x41f680
423010:	8d 47 0c             	lea    0xc(%edi),%eax
423013:	50                   	push   %eax
423014:	ff 76 30             	push   0x30(%esi)
423017:	e8 88 eb ff ff       	call   0x421ba4