40deff:	d1 e8                	shr    $1,%eax
40df01:	89 46 38             	mov    %eax,0x38(%esi)
40df04:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
40df08:	eb 17                	jmp    0x40df21
40df0a:	89 46 38             	mov    %eax,0x38(%esi)
40df0d:	eb 0e                	jmp    0x40df1d
40df0f:	c7 46 34 14 af 42 00 	movl   $0x42af14,0x34(%esi)
40df16:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
40df1d:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40df21:	5f                   	pop    %edi
40df22:	5e                   	pop    %esi
40df23:	b0 01                	mov    $0x1,%al
40df25:	5b                   	pop    %ebx
40df26:	c3                   	ret
40df27:	8b ff                	mov    %edi,%edi
40df29:	53                   	push   %ebx
40df2a:	56                   	push   %esi
40df2b:	8b f1                	mov    %ecx,%esi
40df2d:	57                   	push   %edi
40df2e:	83 46 14 04          	addl   $0x4,0x14(%esi)
40df32:	8b 46 14             	mov    0x14(%esi),%eax
40df35:	8b 78 fc             	mov    -0x4(%eax),%edi
40df38:	85 ff                	test   %edi,%edi
40df3a:	74 36                	je     0x40df72
40df3c:	8b 5f 04             	mov    0x4(%edi),%ebx
40df3f:	85 db                	test   %ebx,%ebx
40df41:	74 2f                	je     0x40df72
40df43:	ff 76 2c             	push   0x2c(%esi)
40df46:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40df4a:	50                   	push   %eax
40df4b:	ff 76 04             	push   0x4(%esi)
40df4e:	ff 36                	push   (%esi)
40df50:	e8 a0 e2 ff ff       	call   0x40c1f5
40df55:	83 c4 10             	add    $0x10,%esp
40df58:	89 5e 34             	mov    %ebx,0x34(%esi)
40df5b:	84 c0                	test   %al,%al
40df5d:	0f b7 07             	movzwl (%edi),%eax
40df60:	74 0b                	je     0x40df6d
40df62:	d1 e8                	shr    $1,%eax
40df64:	89 46 38             	mov    %eax,0x38(%esi)
40df67:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
40df6b:	eb 17                	jmp    0x40df84
40df6d:	89 46 38             	mov    %eax,0x38(%esi)
40df70:	eb 0e                	jmp    0x40df80
40df72:	c7 46 34 14 af 42 00 	movl   $0x42af14,0x34(%esi)
40df79:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
40df80:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40df84:	5f                   	pop    %edi
40df85:	5e                   	pop    %esi
40df86:	b0 01                	mov    $0x1,%al
40df88:	5b                   	pop    %ebx
40df89:	c3                   	ret
40df8a:	8b ff                	mov    %edi,%edi
40df8c:	55                   	push   %ebp
40df8d:	8b ec                	mov    %esp,%ebp
40df8f:	51                   	push   %ecx
40df90:	51                   	push   %ecx
40df91:	56                   	push   %esi
40df92:	8b f1                	mov    %ecx,%esi
40df94:	57                   	push   %edi
40df95:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40df99:	8b 46 28             	mov    0x28(%esi),%eax
40df9c:	85 c0                	test   %eax,%eax
40df9e:	79 1d                	jns    0x40dfbd
40dfa0:	8a 46 31             	mov    0x31(%esi),%al
40dfa3:	3c 61                	cmp    $0x61,%al
40dfa5:	74 0d                	je     0x40dfb4
40dfa7:	3c 41                	cmp    $0x41,%al
40dfa9:	74 09                	je     0x40dfb4
40dfab:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
40dfb2:	eb 1d                	jmp    0x40dfd1
40dfb4:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
40dfbb:	eb 14                	jmp    0x40dfd1
40dfbd:	75 12                	jne    0x40dfd1
40dfbf:	8a 46 31             	mov    0x31(%esi),%al
40dfc2:	3c 67                	cmp    $0x67,%al
40dfc4:	74 04                	je     0x40dfca
40dfc6:	3c 47                	cmp    $0x47,%al
40dfc8:	75 07                	jne    0x40dfd1
40dfca:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
40dfd1:	8b 46 28             	mov    0x28(%esi),%eax
40dfd4:	8d 7e 40             	lea    0x40(%esi),%edi
40dfd7:	53                   	push   %ebx
40dfd8:	bb 5d 01 00 00       	mov    $0x15d,%ebx
40dfdd:	8b cf                	mov    %edi,%ecx
40dfdf:	03 c3                	add    %ebx,%eax
40dfe1:	50                   	push   %eax
40dfe2:	e8 48 e1 ff ff       	call   0x40c12f
40dfe7:	84 c0                	test   %al,%al
40dfe9:	75 0c                	jne    0x40dff7
40dfeb:	8b cf                	mov    %edi,%ecx
40dfed:	e8 25 e1 ff ff       	call   0x40c117
40dff2:	2b c3                	sub    %ebx,%eax
40dff4:	89 46 28             	mov    %eax,0x28(%esi)
40dff7:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
40dffd:	85 c0                	test   %eax,%eax
40dfff:	75 02                	jne    0x40e003
40e001:	8b c7                	mov    %edi,%eax
40e003:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40e007:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e00b:	89 46 34             	mov    %eax,0x34(%esi)
40e00e:	83 46 14 08          	addl   $0x8,0x14(%esi)
40e012:	8b 4e 14             	mov    0x14(%esi),%ecx
40e015:	8b 41 f8             	mov    -0x8(%ecx),%eax
40e018:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e01b:	8b 41 fc             	mov    -0x4(%ecx),%eax
40e01e:	8b cf                	mov    %edi,%ecx
40e020:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e023:	e8 ef e0 ff ff       	call   0x40c117
40e028:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
40e02e:	8b c8                	mov    %eax,%ecx
40e030:	85 db                	test   %ebx,%ebx
40e032:	75 02                	jne    0x40e036
40e034:	8b df                	mov    %edi,%ebx
40e036:	ff 76 08             	push   0x8(%esi)
40e039:	0f be 46 31          	movsbl 0x31(%esi),%eax
40e03d:	ff 76 04             	push   0x4(%esi)
40e040:	ff 36                	push   (%esi)
40e042:	ff 76 28             	push   0x28(%esi)
40e045:	50                   	push   %eax
40e046:	51                   	push   %ecx
40e047:	8b cf                	mov    %edi,%ecx
40e049:	e8 f6 e1 ff ff       	call   0x40c244
40e04e:	50                   	push   %eax
40e04f:	8b cf                	mov    %edi,%ecx
40e051:	e8 c1 e0 ff ff       	call   0x40c117
40e056:	50                   	push   %eax
40e057:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e05a:	53                   	push   %ebx
40e05b:	50                   	push   %eax
40e05c:	e8 7c c4 00 00       	call   0x41a4dd
40e061:	8b 46 20             	mov    0x20(%esi),%eax
40e064:	83 c4 28             	add    $0x28,%esp
40e067:	c1 e8 05             	shr    $0x5,%eax
40e06a:	5b                   	pop    %ebx
40e06b:	a8 01                	test   $0x1,%al
40e06d:	74 13                	je     0x40e082
40e06f:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40e073:	75 0d                	jne    0x40e082
40e075:	ff 76 08             	push   0x8(%esi)
40e078:	ff 76 34             	push   0x34(%esi)
40e07b:	e8 72 ea ff ff       	call   0x40caf2
40e080:	59                   	pop    %ecx
40e081:	59                   	pop    %ecx
40e082:	8a 46 31             	mov    0x31(%esi),%al
40e085:	3c 67                	cmp    $0x67,%al
40e087:	74 04                	je     0x40e08d
40e089:	3c 47                	cmp    $0x47,%al
40e08b:	75 17                	jne    0x40e0a4
40e08d:	8b 46 20             	mov    0x20(%esi),%eax
40e090:	c1 e8 05             	shr    $0x5,%eax
40e093:	a8 01                	test   $0x1,%al
40e095:	75 0d                	jne    0x40e0a4
40e097:	ff 76 08             	push   0x8(%esi)
40e09a:	ff 76 34             	push   0x34(%esi)
40e09d:	e8 61 e9 ff ff       	call   0x40ca03
40e0a2:	59                   	pop    %ecx
40e0a3:	59                   	pop    %ecx
40e0a4:	8b 46 34             	mov    0x34(%esi),%eax
40e0a7:	80 38 2d             	cmpb   $0x2d,(%eax)
40e0aa:	75 08                	jne    0x40e0b4
40e0ac:	83 4e 20 40          	orl    $0x40,0x20(%esi)
40e0b0:	40                   	inc    %eax
40e0b1:	89 46 34             	mov    %eax,0x34(%esi)
40e0b4:	8b 56 34             	mov    0x34(%esi),%edx
40e0b7:	8a 02                	mov    (%edx),%al
40e0b9:	3c 69                	cmp    $0x69,%al
40e0bb:	74 0c                	je     0x40e0c9
40e0bd:	3c 49                	cmp    $0x49,%al
40e0bf:	74 08                	je     0x40e0c9
40e0c1:	3c 6e                	cmp    $0x6e,%al
40e0c3:	74 04                	je     0x40e0c9
40e0c5:	3c 4e                	cmp    $0x4e,%al
40e0c7:	75 04                	jne    0x40e0cd
40e0c9:	c6 46 31 73          	movb   $0x73,0x31(%esi)
40e0cd:	8d 7a 01             	lea    0x1(%edx),%edi
40e0d0:	8a 0a                	mov    (%edx),%cl
40e0d2:	42                   	inc    %edx
40e0d3:	84 c9                	test   %cl,%cl
40e0d5:	75 f9                	jne    0x40e0d0
40e0d7:	2b d7                	sub    %edi,%edx
40e0d9:	b0 01                	mov    $0x1,%al
40e0db:	5f                   	pop    %edi
40e0dc:	89 56 38             	mov    %edx,0x38(%esi)
40e0df:	5e                   	pop    %esi
40e0e0:	8b e5                	mov    %ebp,%esp
40e0e2:	5d                   	pop    %ebp
40e0e3:	c3                   	ret
40e0e4:	8b ff                	mov    %edi,%edi
40e0e6:	55                   	push   %ebp
40e0e7:	8b ec                	mov    %esp,%ebp
40e0e9:	51                   	push   %ecx
40e0ea:	51                   	push   %ecx
40e0eb:	56                   	push   %esi
40e0ec:	8b f1                	mov    %ecx,%esi
40e0ee:	57                   	push   %edi
40e0ef:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40e0f3:	8b 46 28             	mov    0x28(%esi),%eax
40e0f6:	85 c0                	test   %eax,%eax
40e0f8:	79 1d                	jns    0x40e117
40e0fa:	8a 46 31             	mov    0x31(%esi),%al
40e0fd:	3c 61                	cmp    $0x61,%al
40e0ff:	74 0d                	je     0x40e10e
40e101:	3c 41                	cmp    $0x41,%al
40e103:	74 09                	je     0x40e10e
40e105:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
40e10c:	eb 1d                	jmp    0x40e12b
40e10e:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
40e115:	eb 14                	jmp    0x40e12b
40e117:	75 12                	jne    0x40e12b
40e119:	8a 46 31             	mov    0x31(%esi),%al
40e11c:	3c 67                	cmp    $0x67,%al
40e11e:	74 04                	je     0x40e124
40e120:	3c 47                	cmp    $0x47,%al
40e122:	75 07                	jne    0x40e12b
40e124:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
40e12b:	8b 46 28             	mov    0x28(%esi),%eax
40e12e:	8d 7e 40             	lea    0x40(%esi),%edi
40e131:	53                   	push   %ebx
40e132:	bb 5d 01 00 00       	mov    $0x15d,%ebx
40e137:	8b cf                	mov    %edi,%ecx
40e139:	03 c3                	add    %ebx,%eax
40e13b:	50                   	push   %eax
40e13c:	e8 ee df ff ff       	call   0x40c12f
40e141:	84 c0                	test   %al,%al
40e143:	75 0c                	jne    0x40e151
40e145:	8b cf                	mov    %edi,%ecx
40e147:	e8 cb df ff ff       	call   0x40c117
40e14c:	2b c3                	sub    %ebx,%eax
40e14e:	89 46 28             	mov    %eax,0x28(%esi)
40e151:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
40e157:	85 c0                	test   %eax,%eax
40e159:	75 02                	jne    0x40e15d
40e15b:	8b c7                	mov    %edi,%eax
40e15d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40e161:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e165:	89 46 34             	mov    %eax,0x34(%esi)
40e168:	83 46 14 08          	addl   $0x8,0x14(%esi)
40e16c:	8b 4e 14             	mov    0x14(%esi),%ecx
40e16f:	8b 41 f8             	mov    -0x8(%ecx),%eax
40e172:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e175:	8b 41 fc             	mov    -0x4(%ecx),%eax
40e178:	8b cf                	mov    %edi,%ecx
40e17a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e17d:	e8 95 df ff ff       	call   0x40c117
40e182:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
40e188:	8b c8                	mov    %eax,%ecx
40e18a:	85 db                	test   %ebx,%ebx
40e18c:	75 02                	jne    0x40e190
40e18e:	8b df                	mov    %edi,%ebx
40e190:	ff 76 08             	push   0x8(%esi)
40e193:	0f be 46 31          	movsbl 0x31(%esi),%eax
40e197:	ff 76 04             	push   0x4(%esi)
40e19a:	ff 36                	push   (%esi)
40e19c:	ff 76 28             	push   0x28(%esi)
40e19f:	50                   	push   %eax
40e1a0:	51                   	push   %ecx
40e1a1:	8b cf                	mov    %edi,%ecx
40e1a3:	e8 9c e0 ff ff       	call   0x40c244
40e1a8:	50                   	push   %eax
40e1a9:	8b cf                	mov    %edi,%ecx
40e1ab:	e8 67 df ff ff       	call   0x40c117
40e1b0:	50                   	push   %eax
40e1b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e1b4:	53                   	push   %ebx
40e1b5:	50                   	push   %eax
40e1b6:	e8 22 c3 00 00       	call   0x41a4dd
40e1bb:	8b 46 20             	mov    0x20(%esi),%eax
40e1be:	83 c4 28             	add    $0x28,%esp
40e1c1:	c1 e8 05             	shr    $0x5,%eax
40e1c4:	5b                   	pop    %ebx
40e1c5:	a8 01                	test   $0x1,%al
40e1c7:	74 13                	je     0x40e1dc
40e1c9:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40e1cd:	75 0d                	jne    0x40e1dc
40e1cf:	ff 76 08             	push   0x8(%esi)
40e1d2:	ff 76 34             	push   0x34(%esi)
40e1d5:	e8 18 e9 ff ff       	call   0x40caf2
40e1da:	59                   	pop    %ecx
40e1db:	59                   	pop    %ecx
40e1dc:	8a 46 31             	mov    0x31(%esi),%al
40e1df:	3c 67                	cmp    $0x67,%al
40e1e1:	74 04                	je     0x40e1e7
40e1e3:	3c 47                	cmp    $0x47,%al
40e1e5:	75 17                	jne    0x40e1fe
40e1e7:	8b 46 20             	mov    0x20(%esi),%eax
40e1ea:	c1 e8 05             	shr    $0x5,%eax
40e1ed:	a8 01                	test   $0x1,%al
40e1ef:	75 0d                	jne    0x40e1fe
40e1f1:	ff 76 08             	push   0x8(%esi)
40e1f4:	ff 76 34             	push   0x34(%esi)
40e1f7:	e8 07 e8 ff ff       	call   0x40ca03
40e1fc:	59                   	pop    %ecx
40e1fd:	59                   	pop    %ecx
40e1fe:	8b 46 34             	mov    0x34(%esi),%eax
40e201:	80 38 2d             	cmpb   $0x2d,(%eax)
40e204:	75 08                	jne    0x40e20e
40e206:	83 4e 20 40          	orl    $0x40,0x20(%esi)
40e20a:	40                   	inc    %eax
40e20b:	89 46 34             	mov    %eax,0x34(%esi)
40e20e:	8b 56 34             	mov    0x34(%esi),%edx
40e211:	8a 02                	mov    (%edx),%al
40e213:	3c 69                	cmp    $0x69,%al
40e215:	74 0c                	je     0x40e223
40e217:	3c 49                	cmp    $0x49,%al
40e219:	74 08                	je     0x40e223
40e21b:	3c 6e                	cmp    $0x6e,%al
40e21d:	74 04                	je     0x40e223
40e21f:	3c 4e                	cmp    $0x4e,%al
40e221:	75 04                	jne    0x40e227
40e223:	c6 46 31 73          	movb   $0x73,0x31(%esi)
40e227:	8d 7a 01             	lea    0x1(%edx),%edi
40e22a:	8a 0a                	mov    (%edx),%cl
40e22c:	42                   	inc    %edx
40e22d:	84 c9                	test   %cl,%cl
40e22f:	75 f9                	jne    0x40e22a
40e231:	2b d7                	sub    %edi,%edx
40e233:	b0 01                	mov    $0x1,%al
40e235:	5f                   	pop    %edi
40e236:	89 56 38             	mov    %edx,0x38(%esi)
40e239:	5e                   	pop    %esi
40e23a:	8b e5                	mov    %ebp,%esp
40e23c:	5d                   	pop    %ebp
40e23d:	c3                   	ret
40e23e:	8b ff                	mov    %edi,%edi
40e240:	55                   	push   %ebp
40e241:	8b ec                	mov    %esp,%ebp
40e243:	51                   	push   %ecx
40e244:	51                   	push   %ecx
40e245:	56                   	push   %esi
40e246:	57                   	push   %edi
40e247:	8b f1                	mov    %ecx,%esi
40e249:	6a 67                	push   $0x67
40e24b:	59                   	pop    %ecx
40e24c:	6a 47                	push   $0x47
40e24e:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40e252:	8b 46 28             	mov    0x28(%esi),%eax
40e255:	5a                   	pop    %edx
40e256:	85 c0                	test   %eax,%eax
40e258:	79 20                	jns    0x40e27a
40e25a:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40e25e:	83 f8 61             	cmp    $0x61,%eax
40e261:	74 0e                	je     0x40e271
40e263:	83 f8 41             	cmp    $0x41,%eax
40e266:	74 09                	je     0x40e271
40e268:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
40e26f:	eb 20                	jmp    0x40e291
40e271:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
40e278:	eb 17                	jmp    0x40e291
40e27a:	75 15                	jne    0x40e291