40c86b:	81 c4 90 fe ff ff    	add    $0xfffffe90,%esp
40c871:	53                   	push   %ebx
40c872:	56                   	push   %esi
40c873:	33 c0                	xor    %eax,%eax
40c875:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
40c87b:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
40c881:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
40c887:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
40c88d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c890:	33 c0                	xor    %eax,%eax
40c892:	55                   	push   %ebp
40c893:	68 23 ca 40 00       	push   $0x40ca23
40c898:	64 ff 30             	push   %fs:(%eax)
40c89b:	64 89 20             	mov    %esp,%fs:(%eax)
40c89e:	8b 45 08             	mov    0x8(%ebp),%eax
40c8a1:	8b 58 fc             	mov    -0x4(%eax),%ebx
40c8a4:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
40c8a8:	75 0f                	jne    0x40c8b9
40c8aa:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c8ad:	a1 4c 78 4a 00       	mov    0x4a784c,%eax
40c8b2:	e8 bd 9d ff ff       	call   0x406674
40c8b7:	eb 0d                	jmp    0x40c8c6
40c8b9:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c8bc:	a1 b4 76 4a 00       	mov    0x4a76b4,%eax
40c8c1:	e8 ae 9d ff ff       	call   0x406674
40c8c6:	8b 73 18             	mov    0x18(%ebx),%esi
40c8c9:	6a 1c                	push   $0x1c
40c8cb:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c8ce:	50                   	push   %eax
40c8cf:	8b 43 0c             	mov    0xc(%ebx),%eax
40c8d2:	50                   	push   %eax
40c8d3:	e8 70 a2 ff ff       	call   0x406b48
40c8d8:	81 7d f0 00 10 00 00 	cmpl   $0x1000,-0x10(%ebp)
40c8df:	0f 85 b3 00 00 00    	jne    0x40c998
40c8e5:	68 05 01 00 00       	push   $0x105
40c8ea:	8d 85 db fe ff ff    	lea    -0x125(%ebp),%eax
40c8f0:	50                   	push   %eax
40c8f1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c8f4:	50                   	push   %eax
40c8f5:	e8 3e a1 ff ff       	call   0x406a38
40c8fa:	85 c0                	test   %eax,%eax
40c8fc:	0f 84 96 00 00 00    	je     0x40c998
40c902:	8b 43 0c             	mov    0xc(%ebx),%eax
40c905:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
40c90b:	c6 85 bc fe ff ff 05 	movb   $0x5,-0x144(%ebp)
40c912:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40c918:	8d 95 db fe ff ff    	lea    -0x125(%ebp),%edx
40c91e:	b9 05 01 00 00       	mov    $0x105,%ecx
40c923:	e8 90 80 ff ff       	call   0x4049b8
40c928:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
40c92e:	8d 95 b4 fe ff ff    	lea    -0x14c(%ebp),%edx
40c934:	e8 e3 c8 ff ff       	call   0x40921c
40c939:	8b 85 b4 fe ff ff    	mov    -0x14c(%ebp),%eax
40c93f:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
40c945:	c6 85 c4 fe ff ff 0b 	movb   $0xb,-0x13c(%ebp)
40c94c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c94f:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
40c955:	c6 85 cc fe ff ff 0b 	movb   $0xb,-0x134(%ebp)
40c95c:	89 b5 d0 fe ff ff    	mov    %esi,-0x130(%ebp)
40c962:	c6 85 d4 fe ff ff 05 	movb   $0x5,-0x12c(%ebp)
40c969:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
40c96f:	50                   	push   %eax
40c970:	6a 03                	push   $0x3
40c972:	8d 95 ac fe ff ff    	lea    -0x154(%ebp),%edx
40c978:	a1 40 77 4a 00       	mov    0x4a7740,%eax
40c97d:	e8 f2 9c ff ff       	call   0x406674
40c982:	8b 8d ac fe ff ff    	mov    -0x154(%ebp),%ecx
40c988:	b2 01                	mov    $0x1,%dl
40c98a:	a1 ec 81 40 00       	mov    0x4081ec,%eax
40c98f:	e8 b8 fa ff ff       	call   0x40c44c
40c994:	8b d8                	mov    %eax,%ebx
40c996:	eb 5a                	jmp    0x40c9f2
40c998:	8b 43 0c             	mov    0xc(%ebx),%eax
40c99b:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
40c9a1:	c6 85 98 fe ff ff 05 	movb   $0x5,-0x168(%ebp)
40c9a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c9ab:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
40c9b1:	c6 85 a0 fe ff ff 0b 	movb   $0xb,-0x160(%ebp)
40c9b8:	89 b5 a4 fe ff ff    	mov    %esi,-0x15c(%ebp)
40c9be:	c6 85 a8 fe ff ff 05 	movb   $0x5,-0x158(%ebp)
40c9c5:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
40c9cb:	50                   	push   %eax
40c9cc:	6a 02                	push   $0x2
40c9ce:	8d 95 90 fe ff ff    	lea    -0x170(%ebp),%edx
40c9d4:	a1 c0 76 4a 00       	mov    0x4a76c0,%eax
40c9d9:	e8 96 9c ff ff       	call   0x406674
40c9de:	8b 8d 90 fe ff ff    	mov    -0x170(%ebp),%ecx
40c9e4:	b2 01                	mov    $0x1,%dl
40c9e6:	a1 ec 81 40 00       	mov    0x4081ec,%eax
40c9eb:	e8 5c fa ff ff       	call   0x40c44c
40c9f0:	8b d8                	mov    %eax,%ebx
40c9f2:	33 c0                	xor    %eax,%eax
40c9f4:	5a                   	pop    %edx
40c9f5:	59                   	pop    %ecx
40c9f6:	59                   	pop    %ecx
40c9f7:	64 89 10             	mov    %edx,%fs:(%eax)
40c9fa:	68 2a ca 40 00       	push   $0x40ca2a
40c9ff:	8d 85 90 fe ff ff    	lea    -0x170(%ebp),%eax
40ca05:	e8 3e 7d ff ff       	call   0x404748
40ca0a:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
40ca10:	ba 03 00 00 00       	mov    $0x3,%edx
40ca15:	e8 52 7d ff ff       	call   0x40476c
40ca1a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ca1d:	e8 26 7d ff ff       	call   0x404748
40ca22:	c3                   	ret
40ca23:	e9 88 76 ff ff       	jmp    0x4040b0
40ca28:	eb d5                	jmp    0x40c9ff
40ca2a:	8b c3                	mov    %ebx,%eax
40ca2c:	5e                   	pop    %esi
40ca2d:	5b                   	pop    %ebx
40ca2e:	8b e5                	mov    %ebp,%esp
40ca30:	5d                   	pop    %ebp
40ca31:	c3                   	ret
40ca32:	8b c0                	mov    %eax,%eax
40ca34:	55                   	push   %ebp
40ca35:	8b ec                	mov    %esp,%ebp
40ca37:	83 c4 f0             	add    $0xfffffff0,%esp
40ca3a:	53                   	push   %ebx
40ca3b:	33 d2                	xor    %edx,%edx
40ca3d:	89 55 f0             	mov    %edx,-0x10(%ebp)
40ca40:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ca43:	33 c0                	xor    %eax,%eax
40ca45:	55                   	push   %ebp
40ca46:	68 ed ca 40 00       	push   $0x40caed
40ca4b:	64 ff 30             	push   %fs:(%eax)
40ca4e:	64 89 20             	mov    %esp,%fs:(%eax)
40ca51:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ca54:	e8 77 fd ff ff       	call   0x40c7d0
40ca59:	0f b6 c0             	movzbl %al,%eax
40ca5c:	8b d0                	mov    %eax,%edx
40ca5e:	83 c2 fd             	add    $0xfffffffd,%edx
40ca61:	83 ea 08             	sub    $0x8,%edx
40ca64:	72 08                	jb     0x40ca6e
40ca66:	74 1d                	je     0x40ca85
40ca68:	4a                   	dec    %edx
40ca69:	83 ea 0a             	sub    $0xa,%edx
40ca6c:	73 22                	jae    0x40ca90
40ca6e:	8d 04 c5 3c b9 49 00 	lea    0x49b93c(,%eax,8),%eax
40ca75:	8b 48 04             	mov    0x4(%eax),%ecx
40ca78:	8b 00                	mov    (%eax),%eax
40ca7a:	b2 01                	mov    $0x1,%dl
40ca7c:	e8 8f f9 ff ff       	call   0x40c410
40ca81:	8b d8                	mov    %eax,%ebx
40ca83:	eb 3b                	jmp    0x40cac0
40ca85:	55                   	push   %ebp
40ca86:	e8 dd fd ff ff       	call   0x40c868
40ca8b:	59                   	pop    %ecx
40ca8c:	8b d8                	mov    %eax,%ebx
40ca8e:	eb 30                	jmp    0x40cac0
40ca90:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ca93:	8b 00                	mov    (%eax),%eax
40ca95:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ca98:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40ca9c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ca9f:	50                   	push   %eax
40caa0:	6a 00                	push   $0x0
40caa2:	8d 55 f0             	lea    -0x10(%ebp),%edx
40caa5:	a1 d0 73 4a 00       	mov    0x4a73d0,%eax
40caaa:	e8 c5 9b ff ff       	call   0x406674
40caaf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40cab2:	b2 01                	mov    $0x1,%dl
40cab4:	a1 5c 7d 40 00       	mov    0x407d5c,%eax
40cab9:	e8 8e f9 ff ff       	call   0x40c44c
40cabe:	8b d8                	mov    %eax,%ebx
40cac0:	8b c3                	mov    %ebx,%eax
40cac2:	8b 15 04 7d 40 00    	mov    0x407d04,%edx
40cac8:	e8 db 6f ff ff       	call   0x403aa8
40cacd:	84 c0                	test   %al,%al
40cacf:	74 06                	je     0x40cad7
40cad1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cad4:	89 43 0c             	mov    %eax,0xc(%ebx)
40cad7:	33 c0                	xor    %eax,%eax
40cad9:	5a                   	pop    %edx
40cada:	59                   	pop    %ecx
40cadb:	59                   	pop    %ecx
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