40cadc:	64 89 10             	mov    %edx,%fs:(%eax)
40cadf:	68 f4 ca 40 00       	push   $0x40caf4
40cae4:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cae7:	e8 5c 7c ff ff       	call   0x404748
40caec:	c3                   	ret
40caed:	e9 be 75 ff ff       	jmp    0x4040b0
40caf2:	eb f0                	jmp    0x40cae4
40caf4:	8b c3                	mov    %ebx,%eax
40caf6:	5b                   	pop    %ebx
40caf7:	8b e5                	mov    %ebp,%esp
40caf9:	5d                   	pop    %ebp
40cafa:	c3                   	ret
40cafb:	90                   	nop
40cafc:	e8 3b f8 ff ff       	call   0x40c33c
40cb01:	b8 01 00 00 00       	mov    $0x1,%eax
40cb06:	e8 25 7c ff ff       	call   0x404730
40cb0b:	c3                   	ret
40cb0c:	8b 0d 90 74 4a 00    	mov    0x4a7490,%ecx
40cb12:	b2 01                	mov    $0x1,%dl
40cb14:	a1 50 7c 40 00       	mov    0x407c50,%eax
40cb19:	e8 ae f9 ff ff       	call   0x40c4cc
40cb1e:	a3 1c a9 4a 00       	mov    %eax,0x4aa91c
40cb23:	8b 0d 70 76 4a 00    	mov    0x4a7670,%ecx
40cb29:	b2 01                	mov    $0x1,%dl
40cb2b:	a1 d8 80 40 00       	mov    0x4080d8,%eax
40cb30:	e8 97 f9 ff ff       	call   0x40c4cc
40cb35:	a3 20 a9 4a 00       	mov    %eax,0x4aa920
40cb3a:	a1 e4 73 4a 00       	mov    0x4a73e4,%eax
40cb3f:	c7 00 90 c6 40 00    	movl   $0x40c690,(%eax)
40cb45:	a1 24 75 4a 00       	mov    0x4a7524,%eax
40cb4a:	c7 00 fc ca 40 00    	movl   $0x40cafc,(%eax)
40cb50:	a1 6c 74 4a 00       	mov    0x4a746c,%eax
40cb55:	8b 15 38 7b 40 00    	mov    0x407b38,%edx
40cb5b:	89 10                	mov    %edx,(%eax)
40cb5d:	a1 04 75 4a 00       	mov    0x4a7504,%eax
40cb62:	c7 00 50 c8 40 00    	movl   $0x40c850,(%eax)
40cb68:	a1 2c 75 4a 00       	mov    0x4a752c,%eax
40cb6d:	c7 00 34 ca 40 00    	movl   $0x40ca34,(%eax)
40cb73:	b8 9c c7 40 00       	mov    $0x40c79c,%eax
40cb78:	8b 15 9c 76 4a 00    	mov    0x4a769c,%edx
40cb7e:	89 02                	mov    %eax,(%edx)
40cb80:	b8 b8 c7 40 00       	mov    $0x40c7b8,%eax
40cb85:	8b 15 c8 73 4a 00    	mov    0x4a73c8,%edx
40cb8b:	89 02                	mov    %eax,(%edx)
40cb8d:	c3                   	ret
40cb8e:	8b c0                	mov    %eax,%eax
40cb90:	83 3d 1c a9 4a 00 00 	cmpl   $0x0,0x4aa91c
40cb97:	74 1a                	je     0x40cbb3
40cb99:	a1 1c a9 4a 00       	mov    0x4aa91c,%eax
40cb9e:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40cba2:	a1 1c a9 4a 00       	mov    0x4aa91c,%eax
40cba7:	8b 10                	mov    (%eax),%edx
40cba9:	ff 52 f8             	call   *-0x8(%edx)
40cbac:	33 c0                	xor    %eax,%eax
40cbae:	a3 1c a9 4a 00       	mov    %eax,0x4aa91c
40cbb3:	83 3d 20 a9 4a 00 00 	cmpl   $0x0,0x4aa920
40cbba:	74 1a                	je     0x40cbd6
40cbbc:	a1 20 a9 4a 00       	mov    0x4aa920,%eax
40cbc1:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40cbc5:	a1 20 a9 4a 00       	mov    0x4aa920,%eax
40cbca:	e8 4d 6d ff ff       	call   0x40391c
40cbcf:	33 c0                	xor    %eax,%eax
40cbd1:	a3 20 a9 4a 00       	mov    %eax,0x4aa920
40cbd6:	a1 e4 73 4a 00       	mov    0x4a73e4,%eax
40cbdb:	33 d2                	xor    %edx,%edx
40cbdd:	89 10                	mov    %edx,(%eax)
40cbdf:	a1 24 75 4a 00       	mov    0x4a7524,%eax
40cbe4:	33 d2                	xor    %edx,%edx
40cbe6:	89 10                	mov    %edx,(%eax)
40cbe8:	a1 6c 74 4a 00       	mov    0x4a746c,%eax
40cbed:	33 d2                	xor    %edx,%edx
40cbef:	89 10                	mov    %edx,(%eax)
40cbf1:	a1 04 75 4a 00       	mov    0x4a7504,%eax
40cbf6:	33 d2                	xor    %edx,%edx
40cbf8:	89 10                	mov    %edx,(%eax)
40cbfa:	a1 2c 75 4a 00       	mov    0x4a752c,%eax
40cbff:	33 d2                	xor    %edx,%edx
40cc01:	89 10                	mov    %edx,(%eax)
40cc03:	a1 9c 76 4a 00       	mov    0x4a769c,%eax
40cc08:	33 d2                	xor    %edx,%edx
40cc0a:	89 10                	mov    %edx,(%eax)
40cc0c:	c3                   	ret
40cc0d:	8d 40 00             	lea    0x0(%eax),%eax
40cc10:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40cc16:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40cc1d:	54                   	push   %esp
40cc1e:	e8 55 9e ff ff       	call   0x406a78
40cc23:	85 c0                	test   %eax,%eax
40cc25:	74 50                	je     0x40cc77
40cc27:	8b 44 24 10          	mov    0x10(%esp),%eax
40cc2b:	a3 c0 b7 49 00       	mov    %eax,0x49b7c0
40cc30:	8b 44 24 04          	mov    0x4(%esp),%eax
40cc34:	a3 c4 b7 49 00       	mov    %eax,0x49b7c4
40cc39:	8b 44 24 08          	mov    0x8(%esp),%eax
40cc3d:	a3 c8 b7 49 00       	mov    %eax,0x49b7c8
40cc42:	83 3d c0 b7 49 00 01 	cmpl   $0x1,0x49b7c0
40cc49:	75 10                	jne    0x40cc5b
40cc4b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40cc4f:	25 ff ff 00 00       	and    $0xffff,%eax
40cc54:	a3 cc b7 49 00       	mov    %eax,0x49b7cc
40cc59:	eb 09                	jmp    0x40cc64
40cc5b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40cc5f:	a3 cc b7 49 00       	mov    %eax,0x49b7cc
40cc64:	b8 d0 b7 49 00       	mov    $0x49b7d0,%eax
40cc69:	8d 54 24 14          	lea    0x14(%esp),%edx
40cc6d:	b9 80 00 00 00       	mov    $0x80,%ecx
40cc72:	e8 41 7d ff ff       	call   0x4049b8
40cc77:	81 c4 94 00 00 00    	add    $0x94,%esp
40cc7d:	c3                   	ret
40cc7e:	8b c0                	mov    %eax,%eax
40cc80:	3b 05 c4 b7 49 00    	cmp    0x49b7c4,%eax
40cc86:	7c 13                	jl     0x40cc9b
40cc88:	3b 05 c4 b7 49 00    	cmp    0x49b7c4,%eax
40cc8e:	75 08                	jne    0x40cc98
40cc90:	3b 15 c8 b7 49 00    	cmp    0x49b7c8,%edx
40cc96:	7e 03                	jle    0x40cc9b
40cc98:	33 c0                	xor    %eax,%eax
40cc9a:	c3                   	ret
40cc9b:	b0 01                	mov    $0x1,%al
40cc9d:	c3                   	ret
40cc9e:	8b c0                	mov    %eax,%eax
40cca0:	55                   	push   %ebp
40cca1:	8b ec                	mov    %esp,%ebp
40cca3:	83 c4 e8             	add    $0xffffffe8,%esp
40cca6:	53                   	push   %ebx
40cca7:	33 d2                	xor    %edx,%edx
40cca9:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ccac:	8b d8                	mov    %eax,%ebx
40ccae:	33 c0                	xor    %eax,%eax
40ccb0:	55                   	push   %ebp
40ccb1:	68 76 cd 40 00       	push   $0x40cd76
40ccb6:	64 ff 30             	push   %fs:(%eax)
40ccb9:	64 89 20             	mov    %esp,%fs:(%eax)
40ccbc:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
40ccc3:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ccc6:	8b d3                	mov    %ebx,%edx
40ccc8:	e8 13 7b ff ff       	call   0x4047e0
40cccd:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ccd0:	e8 87 7f ff ff       	call   0x404c5c
40ccd5:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ccd8:	50                   	push   %eax
40ccd9:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ccdc:	e8 2b 7f ff ff       	call   0x404c0c
40cce1:	50                   	push   %eax
40cce2:	e8 91 9e ff ff       	call   0x406b78
40cce7:	8b d8                	mov    %eax,%ebx
40cce9:	85 db                	test   %ebx,%ebx
40cceb:	74 73                	je     0x40cd60
40cced:	8b c3                	mov    %ebx,%eax
40ccef:	e8 08 60 ff ff       	call   0x402cfc
40ccf4:	89 45 f0             	mov    %eax,-0x10(%ebp)
40ccf7:	33 c0                	xor    %eax,%eax
40ccf9:	55                   	push   %ebp
40ccfa:	68 59 cd 40 00       	push   $0x40cd59
40ccff:	64 ff 30             	push   %fs:(%eax)
40cd02:	64 89 20             	mov    %esp,%fs:(%eax)
40cd05:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd08:	50                   	push   %eax
40cd09:	53                   	push   %ebx
40cd0a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd0d:	50                   	push   %eax
40cd0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cd11:	e8 f6 7e ff ff       	call   0x404c0c
40cd16:	50                   	push   %eax
40cd17:	e8 54 9e ff ff       	call   0x406b70
40cd1c:	85 c0                	test   %eax,%eax
40cd1e:	74 23                	je     0x40cd43
40cd20:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cd23:	50                   	push   %eax
40cd24:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cd27:	50                   	push   %eax
40cd28:	68 88 cd 40 00       	push   $0x40cd88
40cd2d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd30:	50                   	push   %eax
40cd31:	e8 4a 9e ff ff       	call   0x406b80
40cd36:	85 c0                	test   %eax,%eax
40cd38:	74 09                	je     0x40cd43
40cd3a:	8b 45 ec             	mov    -0x14(%ebp),%eax
40cd3d:	8b 40 08             	mov    0x8(%eax),%eax
40cd40:	89 45 f8             	mov    %eax,-0x8(%ebp)
40cd43:	33 c0                	xor    %eax,%eax
40cd45:	5a                   	pop    %edx
40cd46:	59                   	pop    %ecx
40cd47:	59                   	pop    %ecx
40cd48:	64 89 10             	mov    %edx,%fs:(%eax)
40cd4b:	68 60 cd 40 00       	push   $0x40cd60
40cd50:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd53:	e8 c0 5f ff ff       	call   0x402d18
40cd58:	c3                   	ret
40cd59:	e9 52 73 ff ff       	jmp    0x4040b0
40cd5e:	eb f0                	jmp    0x40cd50
40cd60:	33 c0                	xor    %eax,%eax
40cd62:	5a                   	pop    %edx
40cd63:	59                   	pop    %ecx
40cd64:	59                   	pop    %ecx
40cd65:	64 89 10             	mov    %edx,%fs:(%eax)
40cd68:	68 7d cd 40 00       	push   $0x40cd7d
40cd6d:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cd70:	e8 d3 79 ff ff       	call   0x404748
40cd75:	c3                   	ret
40cd76:	e9 35 73 ff ff       	jmp    0x4040b0
40cd7b:	eb f0                	jmp    0x40cd6d
40cd7d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cd80:	5b                   	pop    %ebx
40cd81:	8b e5                	mov    %ebp,%esp
40cd83:	5d                   	pop    %ebp
40cd84:	c3                   	ret
40cd85:	00 00                	add    %al,(%eax)
40cd87:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40cd8b:	00 6a 00             	add    %ch,0x0(%edx)
40cd8e:	e8 fd a3 ff ff       	call   0x407190
40cd93:	c3                   	ret
40cd94:	56                   	push   %esi
40cd95:	57                   	push   %edi
40cd96:	8b fa                	mov    %edx,%edi
40cd98:	33 d2                	xor    %edx,%edx
40cd9a:	85 c0                	test   %eax,%eax
40cd9c:	74 62                	je     0x40ce00
40cd9e:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40cda2:	74 5c                	je     0x40ce00
40cda4:	85 ff                	test   %edi,%edi
40cda6:	75 13                	jne    0x40cdbb
40cda8:	0f b6 00             	movzbl (%eax),%eax
40cdab:	0f b6 c0             	movzbl %al,%eax
40cdae:	0f a3 05 08 b8 49 00 	bt     %eax,0x49b808
40cdb5:	73 49                	jae    0x40ce00
40cdb7:	b2 01                	mov    $0x1,%dl
40cdb9:	eb 45                	jmp    0x40ce00
40cdbb:	8b f7                	mov    %edi,%esi
40cdbd:	4e                   	dec    %esi
40cdbe:	eb 01                	jmp    0x40cdc1
40cdc0:	4e                   	dec    %esi
40cdc1:	85 f6                	test   %esi,%esi
40cdc3:	7c 10                	jl     0x40cdd5
40cdc5:	0f b6 0c 30          	movzbl (%eax,%esi,1),%ecx
40cdc9:	0f b6 c9             	movzbl %cl,%ecx
40cdcc:	0f a3 0d 08 b8 49 00 	bt     %ecx,0x49b808
40cdd3:	72 eb                	jb     0x40cdc0
40cdd5:	8b cf                	mov    %edi,%ecx
40cdd7:	2b ce                	sub    %esi,%ecx
40cdd9:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40cddf:	79 05                	jns    0x40cde6
40cde1:	49                   	dec    %ecx
40cde2:	83 c9 fe             	or     $0xfffffffe,%ecx
40cde5:	41                   	inc    %ecx
40cde6:	85 c9                	test   %ecx,%ecx
40cde8:	75 04                	jne    0x40cdee
40cdea:	b2 02                	mov    $0x2,%dl
40cdec:	eb 12                	jmp    0x40ce00
40cdee:	0f b6 04 38          	movzbl (%eax,%edi,1),%eax
40cdf2:	0f b6 c0             	movzbl %al,%eax
40cdf5:	0f a3 05 08 b8 49 00 	bt     %eax,0x49b808
40cdfc:	73 02                	jae    0x40ce00
40cdfe:	b2 01                	mov    $0x1,%dl
40ce00:	8b c2                	mov    %edx,%eax
40ce02:	5f                   	pop    %edi
40ce03:	5e                   	pop    %esi
40ce04:	c3                   	ret
40ce05:	8d 40 00             	lea    0x0(%eax),%eax
40ce08:	53                   	push   %ebx
40ce09:	56                   	push   %esi
40ce0a:	8b f2                	mov    %edx,%esi
40ce0c:	8b d8                	mov    %eax,%ebx
40ce0e:	33 c0                	xor    %eax,%eax
40ce10:	80 3d d4 a8 4a 00 00 	cmpb   $0x0,0x4aa8d4
40ce17:	74 0f                	je     0x40ce28
40ce19:	8b c3                	mov    %ebx,%eax
40ce1b:	e8 ec 7d ff ff       	call   0x404c0c
40ce20:	8b d6                	mov    %esi,%edx
40ce22:	4a                   	dec    %edx
40ce23:	e8 6c ff ff ff       	call   0x40cd94
40ce28:	5e                   	pop    %esi
40ce29:	5b                   	pop    %ebx
40ce2a:	c3                   	ret
40ce2b:	90                   	nop
40ce2c:	33 c9                	xor    %ecx,%ecx
40ce2e:	80 3d d4 a8 4a 00 00 	cmpb   $0x0,0x4aa8d4
40ce35:	74 07                	je     0x40ce3e
40ce37:	e8 58 ff ff ff       	call   0x40cd94
40ce3c:	8b c8                	mov    %eax,%ecx
40ce3e:	8b c1                	mov    %ecx,%eax
40ce40:	c3                   	ret
40ce41:	8d 40 00             	lea    0x0(%eax),%eax
40ce44:	53                   	push   %ebx
40ce45:	8b d8                	mov    %eax,%ebx
40ce47:	8b cb                	mov    %ebx,%ecx
40ce49:	85 c9                	test   %ecx,%ecx
40ce4b:	74 05                	je     0x40ce52
40ce4d:	83 e9 04             	sub    $0x4,%ecx
40ce50:	8b 09                	mov    (%ecx),%ecx
40ce52:	3b d1                	cmp    %ecx,%edx
40ce54:	7e 0b                	jle    0x40ce61
40ce56:	8b d3                	mov    %ebx,%edx
40ce58:	85 d2                	test   %edx,%edx
40ce5a:	74 05                	je     0x40ce61
40ce5c:	83 ea 04             	sub    $0x4,%edx
40ce5f:	8b 12                	mov    (%edx),%edx
40ce61:	e8 02 00 00 00       	call   0x40ce68
40ce66:	5b                   	pop    %ebx
40ce67:	c3                   	ret
40ce68:	53                   	push   %ebx
40ce69:	56                   	push   %esi
40ce6a:	57                   	push   %edi
40ce6b:	55                   	push   %ebp
40ce6c:	8b ea                	mov    %edx,%ebp
40ce6e:	8b f8                	mov    %eax,%edi
40ce70:	33 f6                	xor    %esi,%esi
40ce72:	85 ed                	test   %ebp,%ebp
40ce74:	7f 04                	jg     0x40ce7a
40ce76:	b0 01                	mov    $0x1,%al
40ce78:	eb 10                	jmp    0x40ce8a
40ce7a:	8b c7                	mov    %edi,%eax
40ce7c:	85 c0                	test   %eax,%eax
40ce7e:	74 05                	je     0x40ce85
40ce80:	83 e8 04             	sub    $0x4,%eax
40ce83:	8b 00                	mov    (%eax),%eax
40ce85:	3b c5                	cmp    %ebp,%eax
40ce87:	0f 9c c0             	setl   %al
40ce8a:	84 c0                	test   %al,%al
40ce8c:	75 3a                	jne    0x40cec8
40ce8e:	8b f5                	mov    %ebp,%esi
40ce90:	80 3d d4 a8 4a 00 00 	cmpb   $0x0,0x4aa8d4
40ce97:	74 2f                	je     0x40cec8
40ce99:	bb 01 00 00 00       	mov    $0x1,%ebx
40ce9e:	33 f6                	xor    %esi,%esi
40cea0:	3b eb                	cmp    %ebx,%ebp
40cea2:	7c 24                	jl     0x40cec8
40cea4:	0f b6 44 1f ff       	movzbl -0x1(%edi,%ebx,1),%eax
40cea9:	0f b6 c0             	movzbl %al,%eax
40ceac:	0f a3 05 08 b8 49 00 	bt     %eax,0x49b808
40ceb3:	73 0d                	jae    0x40cec2
40ceb5:	8b d3                	mov    %ebx,%edx
40ceb7:	8b c7                	mov    %edi,%eax
40ceb9:	e8 f6 01 00 00       	call   0x40d0b4
40cebe:	8b d8                	mov    %eax,%ebx
40cec0:	eb 01                	jmp    0x40cec3
40cec2:	43                   	inc    %ebx
40cec3:	46                   	inc    %esi
40cec4:	3b eb                	cmp    %ebx,%ebp
40cec6:	7d dc                	jge    0x40cea4
40cec8:	8b c6                	mov    %esi,%eax
40ceca:	5d                   	pop    %ebp
40cecb:	5f                   	pop    %edi
40cecc:	5e                   	pop    %esi
40cecd:	5b                   	pop    %ebx
40cece:	c3                   	ret
40cecf:	90                   	nop
40ced0:	55                   	push   %ebp
40ced1:	8b ec                	mov    %esp,%ebp
40ced3:	83 c4 f4             	add    $0xfffffff4,%esp