414da0:	0f be c0             	movsbl %al,%eax
414da3:	83 e8 01             	sub    $0x1,%eax
414da6:	74 1b                	je     0x414dc3
414da8:	83 e8 01             	sub    $0x1,%eax
414dab:	75 08                	jne    0x414db5
414dad:	8b c1                	mov    %ecx,%eax
414daf:	f7 d0                	not    %eax
414db1:	a8 01                	test   $0x1,%al
414db3:	74 19                	je     0x414dce
414db5:	8b 45 0c             	mov    0xc(%ebp),%eax
414db8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414dbb:	89 45 f8             	mov    %eax,-0x8(%ebp)
414dbe:	e9 9c 00 00 00       	jmp    0x414e5f
414dc3:	8b 55 ec             	mov    -0x14(%ebp),%edx
414dc6:	8b c1                	mov    %ecx,%eax
414dc8:	f7 d0                	not    %eax
414dca:	84 c2                	test   %al,%dl
414dcc:	75 1c                	jne    0x414dea
414dce:	e8 21 2f ff ff       	call   0x407cf4
414dd3:	21 30                	and    %esi,(%eax)
414dd5:	e8 2d 2f ff ff       	call   0x407d07
414dda:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
414de0:	e8 49 2e ff ff       	call   0x407c2e
414de5:	e9 c2 01 00 00       	jmp    0x414fac
414dea:	6a 04                	push   $0x4
414dec:	58                   	pop    %eax
414ded:	d1 e9                	shr    $1,%ecx
414def:	89 45 f4             	mov    %eax,-0xc(%ebp)
414df2:	3b c8                	cmp    %eax,%ecx
414df4:	72 05                	jb     0x414dfb
414df6:	8b c1                	mov    %ecx,%eax
414df8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414dfb:	50                   	push   %eax
414dfc:	e8 5d 4a ff ff       	call   0x40985e
414e01:	6a 00                	push   $0x0
414e03:	8b f0                	mov    %eax,%esi
414e05:	e8 1a 4a ff ff       	call   0x409824
414e0a:	6a 00                	push   $0x0
414e0c:	e8 13 4a ff ff       	call   0x409824
414e11:	83 c4 0c             	add    $0xc,%esp
414e14:	89 75 f8             	mov    %esi,-0x8(%ebp)
414e17:	85 f6                	test   %esi,%esi
414e19:	75 1b                	jne    0x414e36
414e1b:	e8 e7 2e ff ff       	call   0x407d07
414e20:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
414e26:	e8 c9 2e ff ff       	call   0x407cf4
414e2b:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
414e31:	e9 76 01 00 00       	jmp    0x414fac
414e36:	ff 75 ec             	push   -0x14(%ebp)
414e39:	6a 00                	push   $0x0
414e3b:	6a 00                	push   $0x0
414e3d:	53                   	push   %ebx
414e3e:	e8 ce 94 ff ff       	call   0x40e311
414e43:	8b 0c bd c0 41 42 00 	mov    0x4241c0(,%edi,4),%ecx
414e4a:	83 c4 10             	add    $0x10,%esp
414e4d:	8b 7d e8             	mov    -0x18(%ebp),%edi
414e50:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
414e54:	8b c6                	mov    %esi,%eax
414e56:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
414e5a:	8b d7                	mov    %edi,%edx
414e5c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414e5f:	8b 5d f0             	mov    -0x10(%ebp),%ebx
414e62:	33 ff                	xor    %edi,%edi
414e64:	89 45 dc             	mov    %eax,-0x24(%ebp)
414e67:	8b 1c 9d c0 41 42 00 	mov    0x4241c0(,%ebx,4),%ebx
414e6e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
414e71:	f6 44 1a 28 48       	testb  $0x48,0x28(%edx,%ebx,1)
414e76:	8b 5d 08             	mov    0x8(%ebp),%ebx
414e79:	0f 84 ce 00 00 00    	je     0x414f4d
414e7f:	8b 5d e0             	mov    -0x20(%ebp),%ebx
414e82:	8a 5c 1a 2a          	mov    0x2a(%edx,%ebx,1),%bl
414e86:	88 5d fe             	mov    %bl,-0x2(%ebp)
414e89:	80 fb 0a             	cmp    $0xa,%bl
414e8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
414e8f:	0f 84 b8 00 00 00    	je     0x414f4d
414e95:	85 c9                	test   %ecx,%ecx
414e97:	0f 84 b0 00 00 00    	je     0x414f4d
414e9d:	8a 5d fe             	mov    -0x2(%ebp),%bl
414ea0:	8b 7d ec             	mov    -0x14(%ebp),%edi
414ea3:	88 18                	mov    %bl,(%eax)
414ea5:	40                   	inc    %eax
414ea6:	8b 5d 08             	mov    0x8(%ebp),%ebx
414ea9:	49                   	dec    %ecx
414eaa:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
414eae:	89 45 f8             	mov    %eax,-0x8(%ebp)
414eb1:	8b 45 f0             	mov    -0x10(%ebp),%eax
414eb4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414eb7:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414ebe:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
414ec3:	0f 84 84 00 00 00    	je     0x414f4d
414ec9:	8b 45 f0             	mov    -0x10(%ebp),%eax
414ecc:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414ed3:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
414ed7:	88 45 fe             	mov    %al,-0x2(%ebp)
414eda:	3c 0a                	cmp    $0xa,%al
414edc:	74 6f                	je     0x414f4d
414ede:	85 c9                	test   %ecx,%ecx
414ee0:	74 6b                	je     0x414f4d
414ee2:	8b 45 f8             	mov    -0x8(%ebp),%eax
414ee5:	8a 5d fe             	mov    -0x2(%ebp),%bl
414ee8:	6a 02                	push   $0x2
414eea:	5f                   	pop    %edi
414eeb:	88 18                	mov    %bl,(%eax)
414eed:	40                   	inc    %eax
414eee:	8b 5d 08             	mov    0x8(%ebp),%ebx
414ef1:	49                   	dec    %ecx
414ef2:	89 45 f8             	mov    %eax,-0x8(%ebp)
414ef5:	8b 45 f0             	mov    -0x10(%ebp),%eax
414ef8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414efb:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f02:	c6 44 02 2b 0a       	movb   $0xa,0x2b(%edx,%eax,1)
414f07:	8a 45 ff             	mov    -0x1(%ebp),%al
414f0a:	3a 45 ec             	cmp    -0x14(%ebp),%al
414f0d:	75 3e                	jne    0x414f4d
414f0f:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f12:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f19:	8a 44 02 2c          	mov    0x2c(%edx,%eax,1),%al
414f1d:	88 45 fe             	mov    %al,-0x2(%ebp)
414f20:	3c 0a                	cmp    $0xa,%al
414f22:	74 29                	je     0x414f4d
414f24:	85 c9                	test   %ecx,%ecx
414f26:	74 25                	je     0x414f4d
414f28:	8b 45 f8             	mov    -0x8(%ebp),%eax
414f2b:	8a 5d fe             	mov    -0x2(%ebp),%bl
414f2e:	6a 03                	push   $0x3
414f30:	5f                   	pop    %edi
414f31:	88 18                	mov    %bl,(%eax)
414f33:	40                   	inc    %eax
414f34:	8b 5d 08             	mov    0x8(%ebp),%ebx
414f37:	49                   	dec    %ecx
414f38:	89 45 f8             	mov    %eax,-0x8(%ebp)
414f3b:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f3e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414f41:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f48:	c6 44 02 2c 0a       	movb   $0xa,0x2c(%edx,%eax,1)
414f4d:	53                   	push   %ebx
414f4e:	e8 17 e5 ff ff       	call   0x41346a
414f53:	59                   	pop    %ecx
414f54:	85 c0                	test   %eax,%eax
414f56:	74 71                	je     0x414fc9
414f58:	8b 45 f0             	mov    -0x10(%ebp),%eax
414f5b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414f5e:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414f65:	f6 44 01 28 80       	testb  $0x80,0x28(%ecx,%eax,1)
414f6a:	74 5d                	je     0x414fc9
414f6c:	8d 45 d8             	lea    -0x28(%ebp),%eax
414f6f:	50                   	push   %eax
414f70:	ff 75 e4             	push   -0x1c(%ebp)
414f73:	ff 15 68 b1 41 00    	call   *0x41b168
414f79:	85 c0                	test   %eax,%eax
414f7b:	74 4c                	je     0x414fc9
414f7d:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
414f81:	75 4a                	jne    0x414fcd
414f83:	6a 00                	push   $0x0
414f85:	8d 45 e0             	lea    -0x20(%ebp),%eax
414f88:	50                   	push   %eax
414f89:	8b 45 f4             	mov    -0xc(%ebp),%eax
414f8c:	d1 e8                	shr    $1,%eax
414f8e:	50                   	push   %eax
414f8f:	ff 75 f8             	push   -0x8(%ebp)
414f92:	ff 75 e4             	push   -0x1c(%ebp)
414f95:	ff 15 e4 b0 41 00    	call   *0x41b0e4
414f9b:	85 c0                	test   %eax,%eax
414f9d:	75 1f                	jne    0x414fbe
414f9f:	ff 15 48 b0 41 00    	call   *0x41b048
414fa5:	50                   	push   %eax
414fa6:	e8 26 2d ff ff       	call   0x407cd1
414fab:	59                   	pop    %ecx
414fac:	83 cf ff             	or     $0xffffffff,%edi
414faf:	56                   	push   %esi
414fb0:	e8 6f 48 ff ff       	call   0x409824
414fb5:	59                   	pop    %ecx
414fb6:	8b c7                	mov    %edi,%eax
414fb8:	5e                   	pop    %esi
414fb9:	e9 d6 00 00 00       	jmp    0x415094
414fbe:	8b 45 e0             	mov    -0x20(%ebp),%eax
414fc1:	8b 4d 10             	mov    0x10(%ebp),%ecx
414fc4:	8d 3c 47             	lea    (%edi,%eax,2),%edi
414fc7:	eb 29                	jmp    0x414ff2
414fc9:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
414fcd:	6a 00                	push   $0x0
414fcf:	8d 45 e0             	lea    -0x20(%ebp),%eax
414fd2:	50                   	push   %eax
414fd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
414fd6:	50                   	push   %eax
414fd7:	ff 75 f8             	push   -0x8(%ebp)
414fda:	ff 75 e4             	push   -0x1c(%ebp)
414fdd:	ff 15 90 b0 41 00    	call   *0x41b090
414fe3:	85 c0                	test   %eax,%eax
414fe5:	74 5a                	je     0x415041
414fe7:	8b 4d 10             	mov    0x10(%ebp),%ecx
414fea:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
414fed:	77 52                	ja     0x415041
414fef:	03 7d e0             	add    -0x20(%ebp),%edi
414ff2:	8b 45 f0             	mov    -0x10(%ebp),%eax
414ff5:	8b 55 e8             	mov    -0x18(%ebp),%edx
414ff8:	8b 04 85 c0 41 42 00 	mov    0x4241c0(,%eax,4),%eax
414fff:	f6 44 02 28 80       	testb  $0x80,0x28(%edx,%eax,1)
415004:	74 a9                	je     0x414faf
415006:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
41500a:	74 17                	je     0x415023
41500c:	d1 e9                	shr    $1,%ecx
41500e:	51                   	push   %ecx
41500f:	ff 75 0c             	push   0xc(%ebp)
415012:	57                   	push   %edi
415013:	ff 75 f8             	push   -0x8(%ebp)
415016:	53                   	push   %ebx
415017:	e8 f8 fa ff ff       	call   0x414b14
41501c:	83 c4 14             	add    $0x14,%esp
41501f:	8b f8                	mov    %eax,%edi
415021:	eb 8c                	jmp    0x414faf
415023:	d1 ef                	shr    $1,%edi
415025:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
415029:	57                   	push   %edi
41502a:	ff 75 dc             	push   -0x24(%ebp)
41502d:	53                   	push   %ebx
41502e:	74 0a                	je     0x41503a
415030:	e8 2f fc ff ff       	call   0x414c64
415035:	83 c4 0c             	add    $0xc,%esp
415038:	eb e5                	jmp    0x41501f
41503a:	e8 15 f9 ff ff       	call   0x414954
41503f:	eb f4                	jmp    0x415035
415041:	ff 15 48 b0 41 00    	call   *0x41b048
415047:	6a 05                	push   $0x5
415049:	5f                   	pop    %edi
41504a:	3b c7                	cmp    %edi,%eax
41504c:	75 17                	jne    0x415065
41504e:	e8 b4 2c ff ff       	call   0x407d07
415053:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
415059:	e8 96 2c ff ff       	call   0x407cf4
41505e:	89 38                	mov    %edi,(%eax)
415060:	e9 47 ff ff ff       	jmp    0x414fac
415065:	83 f8 6d             	cmp    $0x6d,%eax
415068:	0f 85 37 ff ff ff    	jne    0x414fa5
41506e:	33 ff                	xor    %edi,%edi
415070:	e9 3a ff ff ff       	jmp    0x414faf
415075:	33 c0                	xor    %eax,%eax
415077:	eb 1b                	jmp    0x415094
415079:	e8 76 2c ff ff       	call   0x407cf4
41507e:	83 20 00             	andl   $0x0,(%eax)
415081:	e8 81 2c ff ff       	call   0x407d07
415086:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41508c:	e8 9d 2b ff ff       	call   0x407c2e
415091:	83 c8 ff             	or     $0xffffffff,%eax
415094:	5f                   	pop    %edi
415095:	5b                   	pop    %ebx
415096:	8b e5                	mov    %ebp,%esp
415098:	5d                   	pop    %ebp
415099:	c3                   	ret
41509a:	8b ff                	mov    %edi,%edi
41509c:	55                   	push   %ebp
41509d:	8b ec                	mov    %esp,%ebp
41509f:	51                   	push   %ecx
4150a0:	a1 40 39 42 00       	mov    0x423940,%eax
4150a5:	83 f8 fe             	cmp    $0xfffffffe,%eax
4150a8:	75 0a                	jne    0x4150b4
4150aa:	e8 f3 0e 00 00       	call   0x415fa2
4150af:	a1 40 39 42 00       	mov    0x423940,%eax
4150b4:	83 f8 ff             	cmp    $0xffffffff,%eax
4150b7:	75 07                	jne    0x4150c0
4150b9:	b8 ff ff 00 00       	mov    $0xffff,%eax
4150be:	eb 1b                	jmp    0x4150db
4150c0:	6a 00                	push   $0x0
4150c2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4150c5:	51                   	push   %ecx
4150c6:	6a 01                	push   $0x1
4150c8:	8d 4d 08             	lea    0x8(%ebp),%ecx
4150cb:	51                   	push   %ecx
4150cc:	50                   	push   %eax
4150cd:	ff 15 e0 b0 41 00    	call   *0x41b0e0
4150d3:	85 c0                	test   %eax,%eax
4150d5:	74 e2                	je     0x4150b9
4150d7:	66 8b 45 08          	mov    0x8(%ebp),%ax
4150db:	8b e5                	mov    %ebp,%esp
4150dd:	5d                   	pop    %ebp
4150de:	c3                   	ret
4150df:	8b ff                	mov    %edi,%edi
4150e1:	55                   	push   %ebp
4150e2:	8b ec                	mov    %esp,%ebp
4150e4:	ff 05 ac 41 42 00    	incl   0x4241ac
4150ea:	53                   	push   %ebx
4150eb:	56                   	push   %esi
4150ec:	8b 75 08             	mov    0x8(%ebp),%esi
4150ef:	bb 00 10 00 00       	mov    $0x1000,%ebx
4150f4:	53                   	push   %ebx
4150f5:	e8 64 47 ff ff       	call   0x40985e
4150fa:	6a 00                	push   $0x0
4150fc:	89 46 04             	mov    %eax,0x4(%esi)
4150ff:	e8 20 47 ff ff       	call   0x409824
415104:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
415108:	8d 46 0c             	lea    0xc(%esi),%eax
41510b:	59                   	pop    %ecx
41510c:	59                   	pop    %ecx
41510d:	74 0b                	je     0x41511a
41510f:	6a 40                	push   $0x40
415111:	59                   	pop    %ecx
415112:	f0 09 08             	lock or %ecx,(%eax)
415115:	89 5e 18             	mov    %ebx,0x18(%esi)
415118:	eb 15                	jmp    0x41512f
41511a:	b9 00 04 00 00       	mov    $0x400,%ecx
41511f:	f0 09 08             	lock or %ecx,(%eax)
415122:	8d 46 14             	lea    0x14(%esi),%eax
415125:	c7 46 18 02 00 00 00 	movl   $0x2,0x18(%esi)
41512c:	89 46 04             	mov    %eax,0x4(%esi)
41512f:	8b 46 04             	mov    0x4(%esi),%eax
415132:	83 66 08 00          	andl   $0x0,0x8(%esi)
415136:	89 06                	mov    %eax,(%esi)
415138:	5e                   	pop    %esi
415139:	5b                   	pop    %ebx
41513a:	5d                   	pop    %ebp
41513b:	c3                   	ret
41513c:	8b ff                	mov    %edi,%edi
41513e:	55                   	push   %ebp
41513f:	8b ec                	mov    %esp,%ebp
415141:	56                   	push   %esi
415142:	8b 75 14             	mov    0x14(%ebp),%esi
415145:	85 f6                	test   %esi,%esi
415147:	7e 14                	jle    0x41515d
415149:	56                   	push   %esi
41514a:	ff 75 10             	push   0x10(%ebp)
41514d:	e8 78 2c ff ff       	call   0x407dca
415152:	59                   	pop    %ecx
415153:	3b c6                	cmp    %esi,%eax
415155:	59                   	pop    %ecx
415156:	8d 70 01             	lea    0x1(%eax),%esi
415159:	7c 02                	jl     0x41515d
41515b:	8b f0                	mov    %eax,%esi
41515d:	33 c0                	xor    %eax,%eax
41515f:	50                   	push   %eax
415160:	50                   	push   %eax
415161:	50                   	push   %eax
415162:	ff 75 1c             	push   0x1c(%ebp)
415165:	ff 75 18             	push   0x18(%ebp)
415168:	56                   	push   %esi
415169:	ff 75 10             	push   0x10(%ebp)
41516c:	ff 75 0c             	push   0xc(%ebp)
41516f:	ff 75 08             	push   0x8(%ebp)
415172:	e8 33 6f ff ff       	call   0x40c0aa
415177:	5e                   	pop    %esi
415178:	5d                   	pop    %ebp
415179:	c3                   	ret
41517a:	cc                   	int3
41517b:	cc                   	int3
41517c:	cc                   	int3
41517d:	cc                   	int3
41517e:	cc                   	int3
41517f:	cc                   	int3
415180:	8b ff                	mov    %edi,%edi
415182:	55                   	push   %ebp
415183:	8b ec                	mov    %esp,%ebp