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
42301c:	59                   	pop    %ecx
42301d:	59                   	pop    %ecx
42301e:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423022:	6a 67                	push   $0x67
423024:	59                   	pop    %ecx
423025:	66 3b c1             	cmp    %cx,%ax
423028:	74 08                	je     0x423032
42302a:	6a 47                	push   $0x47
42302c:	59                   	pop    %ecx
42302d:	66 3b c1             	cmp    %cx,%ax
423030:	75 28                	jne    0x42305a
423032:	8b 46 1c             	mov    0x1c(%esi),%eax
423035:	c1 e8 05             	shr    $0x5,%eax
423038:	a8 01                	test   $0x1,%al
42303a:	75 1e                	jne    0x42305a
42303c:	8b 7e 08             	mov    0x8(%esi),%edi
42303f:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
423043:	75 07                	jne    0x42304c
423045:	8b cf                	mov    %edi,%ecx
423047:	e8 34 c6 ff ff       	call   0x41f680
42304c:	8d 47 0c             	lea    0xc(%edi),%eax
42304f:	50                   	push   %eax
423050:	ff 76 30             	push   0x30(%esi)
423053:	e8 73 ea ff ff       	call   0x421acb
423058:	59                   	pop    %ecx
423059:	59                   	pop    %ecx
42305a:	8b 56 30             	mov    0x30(%esi),%edx
42305d:	8a 02                	mov    (%edx),%al
42305f:	3c 2d                	cmp    $0x2d,%al
423061:	75 0a                	jne    0x42306d
423063:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
423067:	42                   	inc    %edx
423068:	89 56 30             	mov    %edx,0x30(%esi)
42306b:	8a 02                	mov    (%edx),%al
42306d:	3c 69                	cmp    $0x69,%al
42306f:	74 0c                	je     0x42307d
423071:	3c 49                	cmp    $0x49,%al
423073:	74 08                	je     0x42307d
423075:	3c 6e                	cmp    $0x6e,%al
423077:	74 04                	je     0x42307d
423079:	3c 4e                	cmp    $0x4e,%al
42307b:	75 0b                	jne    0x423088
42307d:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
423081:	6a 73                	push   $0x73
423083:	58                   	pop    %eax
423084:	66 89 46 2e          	mov    %ax,0x2e(%esi)
423088:	8d 7a 01             	lea    0x1(%edx),%edi
42308b:	8a 0a                	mov    (%edx),%cl
42308d:	42                   	inc    %edx
42308e:	84 c9                	test   %cl,%cl
423090:	75 f9                	jne    0x42308b
423092:	2b d7                	sub    %edi,%edx
423094:	b0 01                	mov    $0x1,%al
423096:	5f                   	pop    %edi
423097:	89 56 34             	mov    %edx,0x34(%esi)
42309a:	5e                   	pop    %esi
42309b:	5b                   	pop    %ebx
42309c:	c9                   	leave
42309d:	c3                   	ret
42309e:	8b ff                	mov    %edi,%edi
4230a0:	56                   	push   %esi
4230a1:	8b f1                	mov    %ecx,%esi
4230a3:	57                   	push   %edi
4230a4:	ff 76 28             	push   0x28(%esi)
4230a7:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
4230ab:	8d 7e 3c             	lea    0x3c(%esi),%edi
4230ae:	50                   	push   %eax
4230af:	ff 76 04             	push   0x4(%esi)
4230b2:	ff 36                	push   (%esi)
4230b4:	e8 a2 d0 ff ff       	call   0x42015b
4230b9:	83 c4 10             	add    $0x10,%esp
4230bc:	84 c0                	test   %al,%al
4230be:	74 3d                	je     0x4230fd
4230c0:	8b 4e 10             	mov    0x10(%esi),%ecx
4230c3:	53                   	push   %ebx
4230c4:	8d 41 04             	lea    0x4(%ecx),%eax
4230c7:	89 46 10             	mov    %eax,0x10(%esi)
4230ca:	0f b7 19             	movzwl (%ecx),%ebx
4230cd:	8b cf                	mov    %edi,%ecx
4230cf:	e8 53 cf ff ff       	call   0x420027
4230d4:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
4230da:	85 c9                	test   %ecx,%ecx
4230dc:	75 02                	jne    0x4230e0
4230de:	8b cf                	mov    %edi,%ecx
4230e0:	ff 76 08             	push   0x8(%esi)
4230e3:	53                   	push   %ebx
4230e4:	50                   	push   %eax
4230e5:	51                   	push   %ecx
4230e6:	8d 46 34             	lea    0x34(%esi),%eax
4230e9:	50                   	push   %eax
4230ea:	e8 ac 83 00 00       	call   0x42b49b
4230ef:	83 c4 14             	add    $0x14,%esp
4230f2:	5b                   	pop    %ebx
4230f3:	85 c0                	test   %eax,%eax
4230f5:	74 26                	je     0x42311d
4230f7:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4230fb:	eb 20                	jmp    0x42311d
4230fd:	8b 97 04 04 00 00    	mov    0x404(%edi),%edx
423103:	85 d2                	test   %edx,%edx
423105:	75 02                	jne    0x423109
423107:	8b d7                	mov    %edi,%edx
423109:	8b 4e 10             	mov    0x10(%esi),%ecx
42310c:	8d 41 04             	lea    0x4(%ecx),%eax
42310f:	89 46 10             	mov    %eax,0x10(%esi)
423112:	8a 01                	mov    (%ecx),%al
423114:	88 02                	mov    %al,(%edx)
423116:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
42311d:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
423123:	85 c0                	test   %eax,%eax
423125:	74 02                	je     0x423129
423127:	8b f8                	mov    %eax,%edi
423129:	89 7e 30             	mov    %edi,0x30(%esi)
42312c:	b0 01                	mov    $0x1,%al
42312e:	5f                   	pop    %edi
42312f:	5e                   	pop    %esi
423130:	c2 04 00             	ret    $0x4
423133:	8b ff                	mov    %edi,%edi
423135:	55                   	push   %ebp
423136:	8b ec                	mov    %esp,%ebp
423138:	51                   	push   %ecx
423139:	53                   	push   %ebx
42313a:	56                   	push   %esi
42313b:	8b f1                	mov    %ecx,%esi
42313d:	57                   	push   %edi
42313e:	8b 56 10             	mov    0x10(%esi),%edx
423141:	c6 46 38 01          	movb   $0x1,0x38(%esi)
423145:	8d 42 04             	lea    0x4(%edx),%eax
423148:	89 46 10             	mov    %eax,0x10(%esi)
42314b:	ff 76 28             	push   0x28(%esi)
42314e:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
423152:	0f b7 1a             	movzwl (%edx),%ebx
423155:	50                   	push   %eax
423156:	ff 76 04             	push   0x4(%esi)
423159:	ff 36                	push   (%esi)
42315b:	e8 2c d0 ff ff       	call   0x42018c
423160:	83 c4 10             	add    $0x10,%esp
423163:	84 c0                	test   %al,%al
423165:	75 43                	jne    0x4231aa
423167:	88 5d fc             	mov    %bl,-0x4(%ebp)
42316a:	8b 5e 08             	mov    0x8(%esi),%ebx
42316d:	88 45 fd             	mov    %al,-0x3(%ebp)
423170:	38 43 14             	cmp    %al,0x14(%ebx)
423173:	75 07                	jne    0x42317c
423175:	8b cb                	mov    %ebx,%ecx
423177:	e8 04 c5 ff ff       	call   0x41f680
42317c:	8b 43 0c             	mov    0xc(%ebx),%eax
42317f:	8d 7e 3c             	lea    0x3c(%esi),%edi
423182:	8b 48 04             	mov    0x4(%eax),%ecx
423185:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
42318b:	85 c0                	test   %eax,%eax
42318d:	75 02                	jne    0x423191
42318f:	8b c7                	mov    %edi,%eax
423191:	53                   	push   %ebx
423192:	51                   	push   %ecx
423193:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423196:	51                   	push   %ecx
423197:	50                   	push   %eax
423198:	e8 68 84 00 00       	call   0x42b605
42319d:	83 c4 10             	add    $0x10,%esp
4231a0:	85 c0                	test   %eax,%eax
4231a2:	79 18                	jns    0x4231bc
4231a4:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4231a8:	eb 12                	jmp    0x4231bc
4231aa:	8d 7e 3c             	lea    0x3c(%esi),%edi
4231ad:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4231b3:	85 c0                	test   %eax,%eax
4231b5:	75 02                	jne    0x4231b9
4231b7:	8b c7                	mov    %edi,%eax
4231b9:	66 89 18             	mov    %bx,(%eax)
4231bc:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4231c2:	85 c0                	test   %eax,%eax
4231c4:	74 02                	je     0x4231c8
4231c6:	8b f8                	mov    %eax,%edi
4231c8:	89 7e 30             	mov    %edi,0x30(%esi)
4231cb:	b0 01                	mov    $0x1,%al