406e4b:	8b cb                	mov    %ebx,%ecx
406e4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406e4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406e4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406e50:	8b 75 0c             	mov    0xc(%ebp),%esi
406e53:	8d 79 01             	lea    0x1(%ecx),%edi
406e56:	03 f3                	add    %ebx,%esi
406e58:	8a 01                	mov    (%ecx),%al
406e5a:	41                   	inc    %ecx
406e5b:	84 c0                	test   %al,%al
406e5d:	75 f9                	jne    0x406e58
406e5f:	2b cf                	sub    %edi,%ecx
406e61:	8b c6                	mov    %esi,%eax
406e63:	03 d9                	add    %ecx,%ebx
406e65:	2b c3                	sub    %ebx,%eax
406e67:	83 f8 02             	cmp    $0x2,%eax
406e6a:	7e 32                	jle    0x406e9e
406e6c:	c6 03 5c             	movb   $0x5c,(%ebx)
406e6f:	43                   	inc    %ebx
406e70:	8b 4a 04             	mov    0x4(%edx),%ecx
406e73:	8d 79 01             	lea    0x1(%ecx),%edi
406e76:	8a 01                	mov    (%ecx),%al
406e78:	41                   	inc    %ecx
406e79:	84 c0                	test   %al,%al
406e7b:	75 f9                	jne    0x406e76
406e7d:	2b cf                	sub    %edi,%ecx
406e7f:	2b f3                	sub    %ebx,%esi
406e81:	8d 79 01             	lea    0x1(%ecx),%edi
406e84:	3b fe                	cmp    %esi,%edi
406e86:	72 02                	jb     0x406e8a
406e88:	8b fe                	mov    %esi,%edi
406e8a:	57                   	push   %edi
406e8b:	ff 72 04             	push   0x4(%edx)
406e8e:	56                   	push   %esi
406e8f:	53                   	push   %ebx
406e90:	ff 15 74 b3 41 00    	call   *0x41b374
406e96:	83 c4 10             	add    $0x10,%esp
406e99:	c6 44 1f ff 00       	movb   $0x0,-0x1(%edi,%ebx,1)
406e9e:	b0 01                	mov    $0x1,%al
406ea0:	5f                   	pop    %edi
406ea1:	5e                   	pop    %esi
406ea2:	5b                   	pop    %ebx
406ea3:	c9                   	leave
406ea4:	c2 08 00             	ret    $0x8
406ea7:	8b ff                	mov    %edi,%edi
406ea9:	55                   	push   %ebp
406eaa:	8b ec                	mov    %esp,%ebp
406eac:	83 ec 0c             	sub    $0xc,%esp
406eaf:	53                   	push   %ebx
406eb0:	56                   	push   %esi
406eb1:	57                   	push   %edi
406eb2:	8b fa                	mov    %edx,%edi
406eb4:	33 db                	xor    %ebx,%ebx
406eb6:	8b c1                	mov    %ecx,%eax
406eb8:	88 5d f4             	mov    %bl,-0xc(%ebp)
406ebb:	89 45 fc             	mov    %eax,-0x4(%ebp)
406ebe:	88 1f                	mov    %bl,(%edi)
406ec0:	8b 35 20 97 41 00    	mov    0x419720,%esi
406ec6:	85 f6                	test   %esi,%esi
406ec8:	74 27                	je     0x406ef1
406eca:	ff 15 38 b1 41 00    	call   *0x41b138
406ed0:	33 d2                	xor    %edx,%edx
406ed2:	c7 45 f8 0a 00 00 00 	movl   $0xa,-0x8(%ebp)
406ed9:	8b c8                	mov    %eax,%ecx
406edb:	f7 75 f8             	divl   -0x8(%ebp)
406ede:	8b 34 96             	mov    (%esi,%edx,4),%esi
406ee1:	eb 07                	jmp    0x406eea
406ee3:	39 0e                	cmp    %ecx,(%esi)
406ee5:	74 7c                	je     0x406f63
406ee7:	8b 76 04             	mov    0x4(%esi),%esi
406eea:	85 f6                	test   %esi,%esi
406eec:	75 f5                	jne    0x406ee3
406eee:	8b 45 fc             	mov    -0x4(%ebp),%eax
406ef1:	8b f3                	mov    %ebx,%esi
406ef3:	85 f6                	test   %esi,%esi
406ef5:	74 4b                	je     0x406f42
406ef7:	39 1e                	cmp    %ebx,(%esi)
406ef9:	74 47                	je     0x406f42
406efb:	ff 75 08             	push   0x8(%ebp)
406efe:	88 1f                	mov    %bl,(%edi)
406f00:	8b c8                	mov    %eax,%ecx
406f02:	8b 16                	mov    (%esi),%edx
406f04:	57                   	push   %edi
406f05:	e8 e5 fe ff ff       	call   0x406def
406f0a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406f0d:	84 c0                	test   %al,%al
406f0f:	74 03                	je     0x406f14
406f11:	89 79 28             	mov    %edi,0x28(%ecx)
406f14:	8b 06                	mov    (%esi),%eax
406f16:	89 45 f8             	mov    %eax,-0x8(%ebp)
406f19:	8b 78 04             	mov    0x4(%eax),%edi
406f1c:	51                   	push   %ecx
406f1d:	8b 07                	mov    (%edi),%eax
406f1f:	8b 30                	mov    (%eax),%esi
406f21:	8b ce                	mov    %esi,%ecx
406f23:	ff 15 90 b3 41 00    	call   *0x41b390
406f29:	8b cf                	mov    %edi,%ecx
406f2b:	ff d6                	call   *%esi
406f2d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406f30:	0a d8                	or     %al,%bl
406f32:	8b 45 f8             	mov    -0x8(%ebp),%eax
406f35:	88 5d f4             	mov    %bl,-0xc(%ebp)
406f38:	8b 40 08             	mov    0x8(%eax),%eax
406f3b:	89 45 f8             	mov    %eax,-0x8(%ebp)
406f3e:	85 c0                	test   %eax,%eax
406f40:	75 d7                	jne    0x406f19
406f42:	8b 35 28 97 41 00    	mov    0x419728,%esi
406f48:	85 f6                	test   %esi,%esi
406f4a:	74 10                	je     0x406f5c
406f4c:	ff 75 fc             	push   -0x4(%ebp)
406f4f:	8b ce                	mov    %esi,%ecx
406f51:	ff 75 f4             	push   -0xc(%ebp)
406f54:	ff 15 90 b3 41 00    	call   *0x41b390
406f5a:	ff d6                	call   *%esi
406f5c:	5f                   	pop    %edi
406f5d:	5e                   	pop    %esi
406f5e:	5b                   	pop    %ebx
406f5f:	c9                   	leave
406f60:	c2 04 00             	ret    $0x4
406f63:	8b 45 fc             	mov    -0x4(%ebp),%eax
406f66:	83 c6 08             	add    $0x8,%esi
406f69:	eb 88                	jmp    0x406ef3
406f6b:	cc                   	int3
406f6c:	cc                   	int3
406f6d:	cc                   	int3
406f6e:	cc                   	int3
406f6f:	cc                   	int3
406f70:	8b ff                	mov    %edi,%edi
406f72:	55                   	push   %ebp
406f73:	8b ec                	mov    %esp,%ebp
406f75:	ff 75 10             	push   0x10(%ebp)
406f78:	8b 55 0c             	mov    0xc(%ebp),%edx
406f7b:	8b 4d 08             	mov    0x8(%ebp),%ecx
406f7e:	e8 24 ff ff ff       	call   0x406ea7
406f83:	ff 15 38 b1 41 00    	call   *0x41b138
406f89:	39 05 d0 97 41 00    	cmp    %eax,0x4197d0
406f8f:	74 3a                	je     0x406fcb
406f91:	33 c9                	xor    %ecx,%ecx
406f93:	41                   	inc    %ecx
406f94:	f0 0f c1 0d dc 97 41 	lock xadd %ecx,0x4197dc
406f9b:	00
406f9c:	41                   	inc    %ecx
406f9d:	83 f9 04             	cmp    $0x4,%ecx
406fa0:	7d 22                	jge    0x406fc4
406fa2:	a3 d0 97 41 00       	mov    %eax,0x4197d0
406fa7:	e8 c0 fd ff ff       	call   0x406d6c
406fac:	85 c0                	test   %eax,%eax
406fae:	74 0a                	je     0x406fba
406fb0:	ff 75 08             	push   0x8(%ebp)
406fb3:	8b c8                	mov    %eax,%ecx
406fb5:	e8 ee fc ff ff       	call   0x406ca8
406fba:	c7 05 d0 97 41 00 00 	movl   $0x0,0x4197d0
406fc1:	00 00 00
406fc4:	f0 ff 0d dc 97 41 00 	lock decl 0x4197dc
406fcb:	5d                   	pop    %ebp
406fcc:	c2 0c 00             	ret    $0xc
406fcf:	a1 c8 97 41 00       	mov    0x4197c8,%eax
406fd4:	85 c0                	test   %eax,%eax
406fd6:	75 10                	jne    0x406fe8
406fd8:	68 18 27 40 00       	push   $0x402718
406fdd:	ff 15 6c b1 41 00    	call   *0x41b16c
406fe3:	a3 c8 97 41 00       	mov    %eax,0x4197c8
406fe8:	c3                   	ret
406fe9:	cc                   	int3
406fea:	cc                   	int3
406feb:	cc                   	int3
406fec:	cc                   	int3
406fed:	cc                   	int3
406fee:	cc                   	int3
406fef:	cc                   	int3
406ff0:	8b ff                	mov    %edi,%edi
406ff2:	55                   	push   %ebp
406ff3:	8b ec                	mov    %esp,%ebp
406ff5:	56                   	push   %esi
406ff6:	8b 35 7c 97 41 00    	mov    0x41977c,%esi
406ffc:	85 f6                	test   %esi,%esi
406ffe:	75 1d                	jne    0x40701d
407000:	68 2c 27 40 00       	push   $0x40272c
407005:	e8 c5 ff ff ff       	call   0x406fcf
40700a:	50                   	push   %eax
40700b:	ff 15 5c b1 41 00    	call   *0x41b15c
407011:	8b f0                	mov    %eax,%esi
407013:	89 35 7c 97 41 00    	mov    %esi,0x41977c
407019:	85 f6                	test   %esi,%esi
40701b:	74 0d                	je     0x40702a
40701d:	ff 75 08             	push   0x8(%ebp)
407020:	8b ce                	mov    %esi,%ecx
407022:	ff 15 90 b3 41 00    	call   *0x41b390
407028:	ff d6                	call   *%esi
40702a:	5e                   	pop    %esi
40702b:	5d                   	pop    %ebp
40702c:	c2 04 00             	ret    $0x4
40702f:	cc                   	int3
407030:	8b ff                	mov    %edi,%edi
407032:	56                   	push   %esi
407033:	8b 35 74 97 41 00    	mov    0x419774,%esi
407039:	85 f6                	test   %esi,%esi
40703b:	75 21                	jne    0x40705e
40703d:	68 48 27 40 00       	push   $0x402748
407042:	e8 88 ff ff ff       	call   0x406fcf
407047:	50                   	push   %eax
407048:	ff 15 5c b1 41 00    	call   *0x41b15c
40704e:	8b f0                	mov    %eax,%esi
407050:	89 35 74 97 41 00    	mov    %esi,0x419774
407056:	85 f6                	test   %esi,%esi
407058:	75 04                	jne    0x40705e
40705a:	32 c0                	xor    %al,%al
40705c:	5e                   	pop    %esi
40705d:	c3                   	ret
40705e:	8b ce                	mov    %esi,%ecx
407060:	ff 15 90 b3 41 00    	call   *0x41b390
407066:	ff d6                	call   *%esi
407068:	5e                   	pop    %esi
407069:	c3                   	ret
40706a:	cc                   	int3
40706b:	cc                   	int3
40706c:	cc                   	int3
40706d:	cc                   	int3
40706e:	cc                   	int3
40706f:	cc                   	int3
407070:	8b ff                	mov    %edi,%edi
407072:	55                   	push   %ebp
407073:	8b ec                	mov    %esp,%ebp
407075:	56                   	push   %esi
407076:	8b 35 68 97 41 00    	mov    0x419768,%esi
40707c:	85 f6                	test   %esi,%esi
40707e:	75 1d                	jne    0x40709d
407080:	68 64 27 40 00       	push   $0x402764
407085:	e8 45 ff ff ff       	call   0x406fcf
40708a:	50                   	push   %eax
40708b:	ff 15 5c b1 41 00    	call   *0x41b15c
407091:	8b f0                	mov    %eax,%esi
407093:	89 35 68 97 41 00    	mov    %esi,0x419768
407099:	85 f6                	test   %esi,%esi
40709b:	74 10                	je     0x4070ad
40709d:	ff 75 0c             	push   0xc(%ebp)
4070a0:	8b ce                	mov    %esi,%ecx
4070a2:	ff 75 08             	push   0x8(%ebp)
4070a5:	ff 15 90 b3 41 00    	call   *0x41b390
4070ab:	ff d6                	call   *%esi
4070ad:	5e                   	pop    %esi
4070ae:	5d                   	pop    %ebp
4070af:	c2 08 00             	ret    $0x8
4070b2:	8b ff                	mov    %edi,%edi
4070b4:	55                   	push   %ebp
4070b5:	8b ec                	mov    %esp,%ebp
4070b7:	53                   	push   %ebx
4070b8:	57                   	push   %edi
4070b9:	8b f9                	mov    %ecx,%edi
4070bb:	8b 1f                	mov    (%edi),%ebx
4070bd:	85 db                	test   %ebx,%ebx
4070bf:	74 17                	je     0x4070d8
4070c1:	56                   	push   %esi
4070c2:	ff 15 44 b1 41 00    	call   *0x41b144
4070c8:	53                   	push   %ebx
4070c9:	8b f0                	mov    %eax,%esi
4070cb:	e8 fc f6 ff ff       	call   0x4067cc
4070d0:	56                   	push   %esi
4070d1:	ff 15 2c b1 41 00    	call   *0x41b12c
4070d7:	5e                   	pop    %esi
4070d8:	8b 45 08             	mov    0x8(%ebp),%eax
4070db:	89 07                	mov    %eax,(%edi)
4070dd:	5f                   	pop    %edi
4070de:	5b                   	pop    %ebx
4070df:	5d                   	pop    %ebp
4070e0:	c2 04 00             	ret    $0x4
4070e3:	8b ff                	mov    %edi,%edi
4070e5:	55                   	push   %ebp
4070e6:	8b ec                	mov    %esp,%ebp
4070e8:	56                   	push   %esi
4070e9:	ff 75 08             	push   0x8(%ebp)
4070ec:	8b f1                	mov    %ecx,%esi
4070ee:	83 66 10 00          	andl   $0x0,0x10(%esi)
4070f2:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4070f9:	c6 06 00             	movb   $0x0,(%esi)
4070fc:	e8 9f e4 ff ff       	call   0x4055a0
407101:	59                   	pop    %ecx
407102:	50                   	push   %eax
407103:	ff 75 08             	push   0x8(%ebp)
407106:	8b ce                	mov    %esi,%ecx
407108:	e8 57 04 00 00       	call   0x407564
40710d:	8b c6                	mov    %esi,%eax
40710f:	5e                   	pop    %esi
407110:	5d                   	pop    %ebp
407111:	c2 04 00             	ret    $0x4
407114:	68 18 02 00 00       	push   $0x218
407119:	b8 98 41 41 00       	mov    $0x414198,%eax
40711e:	e8 4f cb 00 00       	call   0x413c72
407123:	8b da                	mov    %edx,%ebx
407125:	83 23 00             	andl   $0x0,(%ebx)
407128:	51                   	push   %ecx
407129:	6a 40                	push   $0x40
40712b:	ff 15 64 b1 41 00    	call   *0x41b164
407131:	50                   	push   %eax
407132:	68 84 27 40 00       	push   $0x402784
407137:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40713d:	68 04 01 00 00       	push   $0x104
407142:	50                   	push   %eax
407143:	e8 3b e7 ff ff       	call   0x405883
407148:	33 c9                	xor    %ecx,%ecx
40714a:	83 c4 18             	add    $0x18,%esp
40714d:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
407153:	68 01 00 1f 00       	push   $0x1f0001
407158:	51                   	push   %ecx
407159:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40715f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
407162:	50                   	push   %eax
407163:	51                   	push   %ecx
407164:	ff 15 60 b1 41 00    	call   *0x41b160
40716a:	50                   	push   %eax
40716b:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
407171:	e8 3c ff ff ff       	call   0x4070b2
407176:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
40717c:	85 f6                	test   %esi,%esi
40717e:	75 09                	jne    0x407189
407180:	e8 2e ed ff ff       	call   0x405eb3
407185:	8b f8                	mov    %eax,%edi
407187:	eb 71                	jmp    0x4071fa
407189:	83 ec 0c             	sub    $0xc,%esp
40718c:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
407192:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
407198:	50                   	push   %eax
407199:	e8 73 03 00 00       	call   0x407511
40719e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4071a2:	8d 95 e0 fd ff ff    	lea    -0x220(%ebp),%edx
4071a8:	83 a5 e0 fd ff ff 00 	andl   $0x0,-0x220(%ebp)
4071af:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
4071b5:	e8 99 f6 ff ff       	call   0x406853
4071ba:	8b f8                	mov    %eax,%edi
4071bc:	85 ff                	test   %edi,%edi
4071be:	79 07                	jns    0x4071c7
4071c0:	ba 26 01 00 00       	mov    $0x126,%edx
4071c5:	eb 66                	jmp    0x40722d
4071c7:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4071cd:	85 c0                	test   %eax,%eax
4071cf:	74 3f                	je     0x407210
4071d1:	89 03                	mov    %eax,(%ebx)
4071d3:	8b 08                	mov    (%eax),%ecx
4071d5:	8b 03                	mov    (%ebx),%eax
4071d7:	41                   	inc    %ecx
4071d8:	89 08                	mov    %ecx,(%eax)
4071da:	33 ff                	xor    %edi,%edi
4071dc:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4071e0:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
4071e7:	74 0b                	je     0x4071f4
4071e9:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
4071ef:	e8 fd f5 ff ff       	call   0x4067f1
4071f4:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
4071fa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4071fe:	85 f6                	test   %esi,%esi