423f52:	e8 c7 d1 ff ff       	call   0x42111e
423f57:	8b cf                	mov    %edi,%ecx
423f59:	89 45 f8             	mov    %eax,-0x8(%ebp)
423f5c:	e8 a1 db ff ff       	call   0x421b02
423f61:	8b cf                	mov    %edi,%ecx
423f63:	89 45 f4             	mov    %eax,-0xc(%ebp)
423f66:	e8 b3 d1 ff ff       	call   0x42111e
423f6b:	8b c8                	mov    %eax,%ecx
423f6d:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
423f73:	85 c0                	test   %eax,%eax
423f75:	74 02                	je     0x423f79
423f77:	8b f8                	mov    %eax,%edi
423f79:	ff 76 08             	push   0x8(%esi)
423f7c:	8d 45 ec             	lea    -0x14(%ebp),%eax
423f7f:	6a 01                	push   $0x1
423f81:	ff 76 04             	push   0x4(%esi)
423f84:	ff 36                	push   (%esi)
423f86:	53                   	push   %ebx
423f87:	ff 75 fc             	push   -0x4(%ebp)
423f8a:	ff 75 f8             	push   -0x8(%ebp)
423f8d:	ff 75 f4             	push   -0xc(%ebp)
423f90:	51                   	push   %ecx
423f91:	57                   	push   %edi
423f92:	50                   	push   %eax
423f93:	e8 fb 8f 00 00       	call   0x42cf93
423f98:	8b 46 1c             	mov    0x1c(%esi),%eax
423f9b:	83 c4 2c             	add    $0x2c,%esp
423f9e:	c1 e8 05             	shr    $0x5,%eax
423fa1:	5b                   	pop    %ebx
423fa2:	a8 01                	test   $0x1,%al
423fa4:	74 24                	je     0x423fca
423fa6:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
423faa:	75 1e                	jne    0x423fca
423fac:	8b 7e 08             	mov    0x8(%esi),%edi
423faf:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
423fb3:	75 07                	jne    0x423fbc
423fb5:	8b cf                	mov    %edi,%ecx
423fb7:	e8 e4 05 00 00       	call   0x4245a0
423fbc:	8d 47 0c             	lea    0xc(%edi),%eax
423fbf:	50                   	push   %eax
423fc0:	ff 76 30             	push   0x30(%esi)
423fc3:	e8 22 ed ff ff       	call   0x422cea
423fc8:	59                   	pop    %ecx
423fc9:	59                   	pop    %ecx
423fca:	8a 46 2d             	mov    0x2d(%esi),%al
423fcd:	3c 67                	cmp    $0x67,%al
423fcf:	74 04                	je     0x423fd5
423fd1:	3c 47                	cmp    $0x47,%al
423fd3:	75 28                	jne    0x423ffd
423fd5:	8b 46 1c             	mov    0x1c(%esi),%eax
423fd8:	c1 e8 05             	shr    $0x5,%eax
423fdb:	a8 01                	test   $0x1,%al
423fdd:	75 1e                	jne    0x423ffd
423fdf:	8b 7e 08             	mov    0x8(%esi),%edi
423fe2:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
423fe6:	75 07                	jne    0x423fef
423fe8:	8b cf                	mov    %edi,%ecx
423fea:	e8 b1 05 00 00       	call   0x4245a0
423fef:	8d 47 0c             	lea    0xc(%edi),%eax
423ff2:	50                   	push   %eax
423ff3:	ff 76 30             	push   0x30(%esi)
423ff6:	e8 16 ec ff ff       	call   0x422c11
423ffb:	59                   	pop    %ecx
423ffc:	59                   	pop    %ecx
423ffd:	8b 56 30             	mov    0x30(%esi),%edx
424000:	8a 02                	mov    (%edx),%al
424002:	3c 2d                	cmp    $0x2d,%al
424004:	75 0a                	jne    0x424010
424006:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
42400a:	42                   	inc    %edx
42400b:	89 56 30             	mov    %edx,0x30(%esi)
42400e:	8a 02                	mov    (%edx),%al
424010:	3c 69                	cmp    $0x69,%al
424012:	74 0c                	je     0x424020
424014:	3c 49                	cmp    $0x49,%al
424016:	74 08                	je     0x424020
424018:	3c 6e                	cmp    $0x6e,%al
42401a:	74 04                	je     0x424020
42401c:	3c 4e                	cmp    $0x4e,%al
42401e:	75 08                	jne    0x424028
424020:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
424024:	c6 46 2d 73          	movb   $0x73,0x2d(%esi)
424028:	8d 7a 01             	lea    0x1(%edx),%edi
42402b:	8a 0a                	mov    (%edx),%cl
42402d:	42                   	inc    %edx
42402e:	84 c9                	test   %cl,%cl
424030:	75 f9                	jne    0x42402b
424032:	2b d7                	sub    %edi,%edx
424034:	b0 01                	mov    $0x1,%al
424036:	5f                   	pop    %edi
424037:	89 56 34             	mov    %edx,0x34(%esi)
42403a:	5e                   	pop    %esi
42403b:	c9                   	leave
42403c:	c3                   	ret
42403d:	8b ff                	mov    %edi,%edi
42403f:	55                   	push   %ebp
424040:	8b ec                	mov    %esp,%ebp
424042:	83 ec 14             	sub    $0x14,%esp
424045:	33 d2                	xor    %edx,%edx
424047:	42                   	inc    %edx
424048:	53                   	push   %ebx
424049:	56                   	push   %esi
42404a:	57                   	push   %edi
42404b:	8b f1                	mov    %ecx,%esi
42404d:	6a 67                	push   $0x67
42404f:	5b                   	pop    %ebx
424050:	6a 47                	push   $0x47
424052:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
424056:	8b 46 24             	mov    0x24(%esi),%eax
424059:	5f                   	pop    %edi
42405a:	85 c0                	test   %eax,%eax
42405c:	79 1a                	jns    0x424078
42405e:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
424062:	83 f8 61             	cmp    $0x61,%eax
424065:	74 09                	je     0x424070
424067:	83 f8 41             	cmp    $0x41,%eax
42406a:	74 04                	je     0x424070
42406c:	6a 06                	push   $0x6
42406e:	eb 02                	jmp    0x424072
424070:	6a 0d                	push   $0xd
424072:	58                   	pop    %eax
424073:	89 46 24             	mov    %eax,0x24(%esi)
424076:	eb 15                	jmp    0x42408d
424078:	75 13                	jne    0x42408d
42407a:	0f b7 4e 2e          	movzwl 0x2e(%esi),%ecx
42407e:	66 3b cb             	cmp    %bx,%cx
424081:	74 05                	je     0x424088
424083:	66 3b cf             	cmp    %di,%cx
424086:	75 05                	jne    0x42408d
424088:	89 56 24             	mov    %edx,0x24(%esi)
42408b:	8b c2                	mov    %edx,%eax
42408d:	ff 76 08             	push   0x8(%esi)
424090:	05 5d 01 00 00       	add    $0x15d,%eax
424095:	8d 7e 3c             	lea    0x3c(%esi),%edi
424098:	50                   	push   %eax
424099:	8b cf                	mov    %edi,%ecx
42409b:	e8 af d0 ff ff       	call   0x42114f
4240a0:	84 c0                	test   %al,%al
4240a2:	75 12                	jne    0x4240b6
4240a4:	8b cf                	mov    %edi,%ecx
4240a6:	e8 73 d0 ff ff       	call   0x42111e
4240ab:	8d 98 a3 fe ff ff    	lea    -0x15d(%eax),%ebx
4240b1:	89 5e 24             	mov    %ebx,0x24(%esi)
4240b4:	eb 03                	jmp    0x4240b9
4240b6:	8b 5e 24             	mov    0x24(%esi),%ebx
4240b9:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4240bf:	85 c0                	test   %eax,%eax
4240c1:	75 02                	jne    0x4240c5
4240c3:	8b c7                	mov    %edi,%eax
4240c5:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4240c9:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4240cd:	89 46 30             	mov    %eax,0x30(%esi)
4240d0:	8b 4e 10             	mov    0x10(%esi),%ecx
4240d3:	8d 41 08             	lea    0x8(%ecx),%eax
4240d6:	89 46 10             	mov    %eax,0x10(%esi)
4240d9:	8b 01                	mov    (%ecx),%eax
4240db:	8b 49 04             	mov    0x4(%ecx),%ecx
4240de:	89 45 ec             	mov    %eax,-0x14(%ebp)
4240e1:	0f be 46 2e          	movsbl 0x2e(%esi),%eax
4240e5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4240e8:	8b cf                	mov    %edi,%ecx
4240ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4240ed:	e8 2c d0 ff ff       	call   0x42111e
4240f2:	8b cf                	mov    %edi,%ecx
4240f4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4240f7:	e8 06 da ff ff       	call   0x421b02
4240fc:	8b cf                	mov    %edi,%ecx
4240fe:	89 45 f4             	mov    %eax,-0xc(%ebp)
424101:	e8 18 d0 ff ff       	call   0x42111e
424106:	8b c8                	mov    %eax,%ecx
424108:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
42410e:	85 c0                	test   %eax,%eax
424110:	74 02                	je     0x424114
424112:	8b f8                	mov    %eax,%edi
424114:	ff 76 08             	push   0x8(%esi)
424117:	8d 45 ec             	lea    -0x14(%ebp),%eax
42411a:	6a 01                	push   $0x1
42411c:	ff 76 04             	push   0x4(%esi)
42411f:	ff 36                	push   (%esi)
424121:	53                   	push   %ebx
424122:	ff 75 fc             	push   -0x4(%ebp)
424125:	ff 75 f8             	push   -0x8(%ebp)
424128:	ff 75 f4             	push   -0xc(%ebp)
42412b:	51                   	push   %ecx
42412c:	57                   	push   %edi
42412d:	50                   	push   %eax
42412e:	e8 60 8e 00 00       	call   0x42cf93
424133:	8b 46 1c             	mov    0x1c(%esi),%eax
424136:	83 c4 2c             	add    $0x2c,%esp
424139:	c1 e8 05             	shr    $0x5,%eax
42413c:	a8 01                	test   $0x1,%al
42413e:	74 24                	je     0x424164
424140:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
424144:	75 1e                	jne    0x424164
424146:	8b 7e 08             	mov    0x8(%esi),%edi
424149:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
42414d:	75 07                	jne    0x424156
42414f:	8b cf                	mov    %edi,%ecx
424151:	e8 4a 04 00 00       	call   0x4245a0
424156:	8d 47 0c             	lea    0xc(%edi),%eax
424159:	50                   	push   %eax
42415a:	ff 76 30             	push   0x30(%esi)
42415d:	e8 88 eb ff ff       	call   0x422cea
424162:	59                   	pop    %ecx
424163:	59                   	pop    %ecx
424164:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
424168:	6a 67                	push   $0x67
42416a:	59                   	pop    %ecx
42416b:	66 3b c1             	cmp    %cx,%ax
42416e:	74 08                	je     0x424178
424170:	6a 47                	push   $0x47
424172:	59                   	pop    %ecx
424173:	66 3b c1             	cmp    %cx,%ax
424176:	75 28                	jne    0x4241a0
424178:	8b 46 1c             	mov    0x1c(%esi),%eax
42417b:	c1 e8 05             	shr    $0x5,%eax
42417e:	a8 01                	test   $0x1,%al
424180:	75 1e                	jne    0x4241a0
424182:	8b 7e 08             	mov    0x8(%esi),%edi
424185:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
424189:	75 07                	jne    0x424192
42418b:	8b cf                	mov    %edi,%ecx
42418d:	e8 0e 04 00 00       	call   0x4245a0
424192:	8d 47 0c             	lea    0xc(%edi),%eax
424195:	50                   	push   %eax
424196:	ff 76 30             	push   0x30(%esi)
424199:	e8 73 ea ff ff       	call   0x422c11
42419e:	59                   	pop    %ecx
42419f:	59                   	pop    %ecx
4241a0:	8b 56 30             	mov    0x30(%esi),%edx
4241a3:	8a 02                	mov    (%edx),%al
4241a5:	3c 2d                	cmp    $0x2d,%al
4241a7:	75 0a                	jne    0x4241b3
4241a9:	83 4e 1c 40          	orl    $0x40,0x1c(%esi)
4241ad:	42                   	inc    %edx
4241ae:	89 56 30             	mov    %edx,0x30(%esi)
4241b1:	8a 02                	mov    (%edx),%al
4241b3:	3c 69                	cmp    $0x69,%al
4241b5:	74 0c                	je     0x4241c3
4241b7:	3c 49                	cmp    $0x49,%al
4241b9:	74 08                	je     0x4241c3
4241bb:	3c 6e                	cmp    $0x6e,%al
4241bd:	74 04                	je     0x4241c3
4241bf:	3c 4e                	cmp    $0x4e,%al
4241c1:	75 0b                	jne    0x4241ce
4241c3:	83 66 1c f7          	andl   $0xfffffff7,0x1c(%esi)
4241c7:	6a 73                	push   $0x73
4241c9:	58                   	pop    %eax
4241ca:	66 89 46 2e          	mov    %ax,0x2e(%esi)
4241ce:	8d 7a 01             	lea    0x1(%edx),%edi
4241d1:	8a 0a                	mov    (%edx),%cl
4241d3:	42                   	inc    %edx
4241d4:	84 c9                	test   %cl,%cl
4241d6:	75 f9                	jne    0x4241d1
4241d8:	2b d7                	sub    %edi,%edx
4241da:	b0 01                	mov    $0x1,%al
4241dc:	5f                   	pop    %edi
4241dd:	89 56 34             	mov    %edx,0x34(%esi)
4241e0:	5e                   	pop    %esi
4241e1:	5b                   	pop    %ebx
4241e2:	c9                   	leave
4241e3:	c3                   	ret
4241e4:	8b ff                	mov    %edi,%edi
4241e6:	56                   	push   %esi
4241e7:	8b f1                	mov    %ecx,%esi
4241e9:	57                   	push   %edi
4241ea:	ff 76 28             	push   0x28(%esi)
4241ed:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
4241f1:	8d 7e 3c             	lea    0x3c(%esi),%edi
4241f4:	50                   	push   %eax
4241f5:	ff 76 04             	push   0x4(%esi)
4241f8:	ff 36                	push   (%esi)
4241fa:	e8 87 d0 ff ff       	call   0x421286
4241ff:	83 c4 10             	add    $0x10,%esp
424202:	84 c0                	test   %al,%al
424204:	74 3d                	je     0x424243
424206:	8b 4e 10             	mov    0x10(%esi),%ecx
424209:	53                   	push   %ebx
42420a:	8d 41 04             	lea    0x4(%ecx),%eax
42420d:	89 46 10             	mov    %eax,0x10(%esi)
424210:	0f b7 19             	movzwl (%ecx),%ebx
424213:	8b cf                	mov    %edi,%ecx
424215:	e8 04 cf ff ff       	call   0x42111e
42421a:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
424220:	85 c9                	test   %ecx,%ecx
424222:	75 02                	jne    0x424226
424224:	8b cf                	mov    %edi,%ecx
424226:	ff 76 08             	push   0x8(%esi)
424229:	53                   	push   %ebx
42422a:	50                   	push   %eax
42422b:	51                   	push   %ecx
42422c:	8d 46 34             	lea    0x34(%esi),%eax
42422f:	50                   	push   %eax
424230:	e8 df 8e 00 00       	call   0x42d114
424235:	83 c4 14             	add    $0x14,%esp
424238:	5b                   	pop    %ebx
424239:	85 c0                	test   %eax,%eax
42423b:	74 26                	je     0x424263
42423d:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
424241:	eb 20                	jmp    0x424263
424243:	8b 97 04 04 00 00    	mov    0x404(%edi),%edx
424249:	85 d2                	test   %edx,%edx
42424b:	75 02                	jne    0x42424f
42424d:	8b d7                	mov    %edi,%edx
42424f:	8b 4e 10             	mov    0x10(%esi),%ecx
424252:	8d 41 04             	lea    0x4(%ecx),%eax
424255:	89 46 10             	mov    %eax,0x10(%esi)
424258:	8a 01                	mov    (%ecx),%al
42425a:	88 02                	mov    %al,(%edx)
42425c:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
424263:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
424269:	85 c0                	test   %eax,%eax
42426b:	74 02                	je     0x42426f
42426d:	8b f8                	mov    %eax,%edi
42426f:	89 7e 30             	mov    %edi,0x30(%esi)
424272:	b0 01                	mov    $0x1,%al
424274:	5f                   	pop    %edi
424275:	5e                   	pop    %esi
424276:	c2 04 00             	ret    $0x4
424279:	8b ff                	mov    %edi,%edi
42427b:	55                   	push   %ebp
42427c:	8b ec                	mov    %esp,%ebp
42427e:	51                   	push   %ecx
42427f:	53                   	push   %ebx
424280:	56                   	push   %esi
424281:	8b f1                	mov    %ecx,%esi
424283:	57                   	push   %edi
424284:	8b 56 10             	mov    0x10(%esi),%edx
424287:	c6 46 38 01          	movb   $0x1,0x38(%esi)
42428b:	8d 42 04             	lea    0x4(%edx),%eax
42428e:	89 46 10             	mov    %eax,0x10(%esi)
424291:	ff 76 28             	push   0x28(%esi)
424294:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
424298:	0f b7 1a             	movzwl (%edx),%ebx
42429b:	50                   	push   %eax
42429c:	ff 76 04             	push   0x4(%esi)
42429f:	ff 36                	push   (%esi)
4242a1:	e8 11 d0 ff ff       	call   0x4212b7
4242a6:	83 c4 10             	add    $0x10,%esp
4242a9:	84 c0                	test   %al,%al
4242ab:	75 43                	jne    0x4242f0
4242ad:	88 5d fc             	mov    %bl,-0x4(%ebp)
4242b0:	8b 5e 08             	mov    0x8(%esi),%ebx
4242b3:	88 45 fd             	mov    %al,-0x3(%ebp)
4242b6:	38 43 14             	cmp    %al,0x14(%ebx)
4242b9:	75 07                	jne    0x4242c2
4242bb:	8b cb                	mov    %ebx,%ecx
4242bd:	e8 de 02 00 00       	call   0x4245a0
4242c2:	8b 43 0c             	mov    0xc(%ebx),%eax
4242c5:	8d 7e 3c             	lea    0x3c(%esi),%edi