40c6e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c6e8:	a1 84 d6 46 00       	mov    0x46d684,%eax
40c6ed:	e8 12 9f ff ff       	call   0x406604
40c6f2:	8b 73 18             	mov    0x18(%ebx),%esi
40c6f5:	6a 1c                	push   $0x1c
40c6f7:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c6fa:	50                   	push   %eax
40c6fb:	8b 43 0c             	mov    0xc(%ebx),%eax
40c6fe:	50                   	push   %eax
40c6ff:	e8 cc a3 ff ff       	call   0x406ad0
40c704:	81 7d f0 00 10 00 00 	cmpl   $0x1000,-0x10(%ebp)
40c70b:	0f 85 b3 00 00 00    	jne    0x40c7c4
40c711:	68 05 01 00 00       	push   $0x105
40c716:	8d 85 db fe ff ff    	lea    -0x125(%ebp),%eax
40c71c:	50                   	push   %eax
40c71d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c720:	50                   	push   %eax
40c721:	e8 9a a2 ff ff       	call   0x4069c0
40c726:	85 c0                	test   %eax,%eax
40c728:	0f 84 96 00 00 00    	je     0x40c7c4
40c72e:	8b 43 0c             	mov    0xc(%ebx),%eax
40c731:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
40c737:	c6 85 bc fe ff ff 05 	movb   $0x5,-0x144(%ebp)
40c73e:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40c744:	8d 95 db fe ff ff    	lea    -0x125(%ebp),%edx
40c74a:	b9 05 01 00 00       	mov    $0x105,%ecx
40c74f:	e8 3c 82 ff ff       	call   0x404990
40c754:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
40c75a:	8d 95 b4 fe ff ff    	lea    -0x14c(%ebp),%edx
40c760:	e8 33 c9 ff ff       	call   0x409098
40c765:	8b 85 b4 fe ff ff    	mov    -0x14c(%ebp),%eax
40c76b:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
40c771:	c6 85 c4 fe ff ff 0b 	movb   $0xb,-0x13c(%ebp)
40c778:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c77b:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
40c781:	c6 85 cc fe ff ff 0b 	movb   $0xb,-0x134(%ebp)
40c788:	89 b5 d0 fe ff ff    	mov    %esi,-0x130(%ebp)
40c78e:	c6 85 d4 fe ff ff 05 	movb   $0x5,-0x12c(%ebp)
40c795:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
40c79b:	50                   	push   %eax
40c79c:	6a 03                	push   $0x3
40c79e:	8d 95 ac fe ff ff    	lea    -0x154(%ebp),%edx
40c7a4:	a1 08 d7 46 00       	mov    0x46d708,%eax
40c7a9:	e8 56 9e ff ff       	call   0x406604
40c7ae:	8b 8d ac fe ff ff    	mov    -0x154(%ebp),%ecx
40c7b4:	b2 01                	mov    $0x1,%dl
40c7b6:	a1 a0 80 40 00       	mov    0x4080a0,%eax
40c7bb:	e8 b8 fa ff ff       	call   0x40c278
40c7c0:	8b d8                	mov    %eax,%ebx
40c7c2:	eb 5a                	jmp    0x40c81e
40c7c4:	8b 43 0c             	mov    0xc(%ebx),%eax
40c7c7:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
40c7cd:	c6 85 98 fe ff ff 05 	movb   $0x5,-0x168(%ebp)
40c7d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c7d7:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
40c7dd:	c6 85 a0 fe ff ff 0b 	movb   $0xb,-0x160(%ebp)
40c7e4:	89 b5 a4 fe ff ff    	mov    %esi,-0x15c(%ebp)
40c7ea:	c6 85 a8 fe ff ff 05 	movb   $0x5,-0x158(%ebp)
40c7f1:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
40c7f7:	50                   	push   %eax
40c7f8:	6a 02                	push   $0x2
40c7fa:	8d 95 90 fe ff ff    	lea    -0x170(%ebp),%edx
40c800:	a1 90 d6 46 00       	mov    0x46d690,%eax
40c805:	e8 fa 9d ff ff       	call   0x406604
40c80a:	8b 8d 90 fe ff ff    	mov    -0x170(%ebp),%ecx
40c810:	b2 01                	mov    $0x1,%dl
40c812:	a1 a0 80 40 00       	mov    0x4080a0,%eax
40c817:	e8 5c fa ff ff       	call   0x40c278
40c81c:	8b d8                	mov    %eax,%ebx
40c81e:	33 c0                	xor    %eax,%eax
40c820:	5a                   	pop    %edx
40c821:	59                   	pop    %ecx
40c822:	59                   	pop    %ecx
40c823:	64 89 10             	mov    %edx,%fs:(%eax)
40c826:	68 56 c8 40 00       	push   $0x40c856
40c82b:	8d 85 90 fe ff ff    	lea    -0x170(%ebp),%eax
40c831:	e8 ea 7e ff ff       	call   0x404720
40c836:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
40c83c:	ba 03 00 00 00       	mov    $0x3,%edx
40c841:	e8 fe 7e ff ff       	call   0x404744
40c846:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c849:	e8 d2 7e ff ff       	call   0x404720
40c84e:	c3                   	ret
40c84f:	e9 34 78 ff ff       	jmp    0x404088
40c854:	eb d5                	jmp    0x40c82b
40c856:	8b c3                	mov    %ebx,%eax
40c858:	5e                   	pop    %esi
40c859:	5b                   	pop    %ebx
40c85a:	8b e5                	mov    %ebp,%esp
40c85c:	5d                   	pop    %ebp
40c85d:	c3                   	ret
40c85e:	8b c0                	mov    %eax,%eax
40c860:	55                   	push   %ebp
40c861:	8b ec                	mov    %esp,%ebp
40c863:	83 c4 f0             	add    $0xfffffff0,%esp
40c866:	53                   	push   %ebx
40c867:	33 d2                	xor    %edx,%edx
40c869:	89 55 f0             	mov    %edx,-0x10(%ebp)
40c86c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c86f:	33 c0                	xor    %eax,%eax
40c871:	55                   	push   %ebp
40c872:	68 19 c9 40 00       	push   $0x40c919
40c877:	64 ff 30             	push   %fs:(%eax)
40c87a:	64 89 20             	mov    %esp,%fs:(%eax)
40c87d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c880:	e8 77 fd ff ff       	call   0x40c5fc
40c885:	0f b6 c0             	movzbl %al,%eax
40c888:	8b d0                	mov    %eax,%edx
40c88a:	83 c2 fd             	add    $0xfffffffd,%edx
40c88d:	83 ea 08             	sub    $0x8,%edx
40c890:	72 08                	jb     0x40c89a
40c892:	74 1d                	je     0x40c8b1
40c894:	4a                   	dec    %edx
40c895:	83 ea 0a             	sub    $0xa,%edx
40c898:	73 22                	jae    0x40c8bc
40c89a:	8d 04 c5 40 09 46 00 	lea    0x460940(,%eax,8),%eax
40c8a1:	8b 48 04             	mov    0x4(%eax),%ecx
40c8a4:	8b 00                	mov    (%eax),%eax
40c8a6:	b2 01                	mov    $0x1,%dl
40c8a8:	e8 8f f9 ff ff       	call   0x40c23c
40c8ad:	8b d8                	mov    %eax,%ebx
40c8af:	eb 3b                	jmp    0x40c8ec
40c8b1:	55                   	push   %ebp
40c8b2:	e8 dd fd ff ff       	call   0x40c694
40c8b7:	59                   	pop    %ecx
40c8b8:	8b d8                	mov    %eax,%ebx
40c8ba:	eb 30                	jmp    0x40c8ec
40c8bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c8bf:	8b 00                	mov    (%eax),%eax
40c8c1:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c8c4:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40c8c8:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c8cb:	50                   	push   %eax
40c8cc:	6a 00                	push   $0x0
40c8ce:	8d 55 f0             	lea    -0x10(%ebp),%edx
40c8d1:	a1 dc d3 46 00       	mov    0x46d3dc,%eax
40c8d6:	e8 29 9d ff ff       	call   0x406604
40c8db:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c8de:	b2 01                	mov    $0x1,%dl
40c8e0:	a1 10 7c 40 00       	mov    0x407c10,%eax
40c8e5:	e8 8e f9 ff ff       	call   0x40c278
40c8ea:	8b d8                	mov    %eax,%ebx
40c8ec:	8b c3                	mov    %ebx,%eax
40c8ee:	8b 15 b8 7b 40 00    	mov    0x407bb8,%edx
40c8f4:	e8 87 71 ff ff       	call   0x403a80
40c8f9:	84 c0                	test   %al,%al
40c8fb:	74 06                	je     0x40c903
40c8fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c900:	89 43 0c             	mov    %eax,0xc(%ebx)
40c903:	33 c0                	xor    %eax,%eax
40c905:	5a                   	pop    %edx
40c906:	59                   	pop    %ecx
40c907:	59                   	pop    %ecx
40c908:	64 89 10             	mov    %edx,%fs:(%eax)
40c90b:	68 20 c9 40 00       	push   $0x40c920
40c910:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c913:	e8 08 7e ff ff       	call   0x404720
40c918:	c3                   	ret
40c919:	e9 6a 77 ff ff       	jmp    0x404088
40c91e:	eb f0                	jmp    0x40c910
40c920:	8b c3                	mov    %ebx,%eax
40c922:	5b                   	pop    %ebx
40c923:	8b e5                	mov    %ebp,%esp
40c925:	5d                   	pop    %ebp
40c926:	c3                   	ret
40c927:	90                   	nop
40c928:	e8 3b f8 ff ff       	call   0x40c168
40c92d:	b8 01 00 00 00       	mov    $0x1,%eax
40c932:	e8 d1 7d ff ff       	call   0x404708
40c937:	c3                   	ret
40c938:	8b 0d 80 d4 46 00    	mov    0x46d480,%ecx
40c93e:	b2 01                	mov    $0x1,%dl
40c940:	a1 04 7b 40 00       	mov    0x407b04,%eax
40c945:	e8 ae f9 ff ff       	call   0x40c2f8
40c94a:	a3 1c 09 47 00       	mov    %eax,0x47091c
40c94f:	8b 0d 44 d6 46 00    	mov    0x46d644,%ecx
40c955:	b2 01                	mov    $0x1,%dl
40c957:	a1 8c 7f 40 00       	mov    0x407f8c,%eax
40c95c:	e8 97 f9 ff ff       	call   0x40c2f8
40c961:	a3 20 09 47 00       	mov    %eax,0x470920
40c966:	a1 f0 d3 46 00       	mov    0x46d3f0,%eax
40c96b:	c7 00 bc c4 40 00    	movl   $0x40c4bc,(%eax)
40c971:	a1 0c d5 46 00       	mov    0x46d50c,%eax
40c976:	c7 00 28 c9 40 00    	movl   $0x40c928,(%eax)
40c97c:	a1 68 d4 46 00       	mov    0x46d468,%eax
40c981:	8b 15 ec 79 40 00    	mov    0x4079ec,%edx
40c987:	89 10                	mov    %edx,(%eax)
40c989:	a1 ec d4 46 00       	mov    0x46d4ec,%eax
40c98e:	c7 00 7c c6 40 00    	movl   $0x40c67c,(%eax)
40c994:	a1 14 d5 46 00       	mov    0x46d514,%eax
40c999:	c7 00 60 c8 40 00    	movl   $0x40c860,(%eax)
40c99f:	b8 c8 c5 40 00       	mov    $0x40c5c8,%eax
40c9a4:	8b 15 6c d6 46 00    	mov    0x46d66c,%edx
40c9aa:	89 02                	mov    %eax,(%edx)
40c9ac:	b8 e4 c5 40 00       	mov    $0x40c5e4,%eax
40c9b1:	8b 15 d4 d3 46 00    	mov    0x46d3d4,%edx
40c9b7:	89 02                	mov    %eax,(%edx)
40c9b9:	c3                   	ret
40c9ba:	8b c0                	mov    %eax,%eax
40c9bc:	83 3d 1c 09 47 00 00 	cmpl   $0x0,0x47091c
40c9c3:	74 1a                	je     0x40c9df
40c9c5:	a1 1c 09 47 00       	mov    0x47091c,%eax
40c9ca:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c9ce:	a1 1c 09 47 00       	mov    0x47091c,%eax
40c9d3:	8b 10                	mov    (%eax),%edx
40c9d5:	ff 52 f8             	call   *-0x8(%edx)
40c9d8:	33 c0                	xor    %eax,%eax
40c9da:	a3 1c 09 47 00       	mov    %eax,0x47091c
40c9df:	83 3d 20 09 47 00 00 	cmpl   $0x0,0x470920
40c9e6:	74 1a                	je     0x40ca02
40c9e8:	a1 20 09 47 00       	mov    0x470920,%eax
40c9ed:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c9f1:	a1 20 09 47 00       	mov    0x470920,%eax
40c9f6:	e8 f9 6e ff ff       	call   0x4038f4
40c9fb:	33 c0                	xor    %eax,%eax
40c9fd:	a3 20 09 47 00       	mov    %eax,0x470920
40ca02:	a1 f0 d3 46 00       	mov    0x46d3f0,%eax
40ca07:	33 d2                	xor    %edx,%edx
40ca09:	89 10                	mov    %edx,(%eax)
40ca0b:	a1 0c d5 46 00       	mov    0x46d50c,%eax
40ca10:	33 d2                	xor    %edx,%edx
40ca12:	89 10                	mov    %edx,(%eax)
40ca14:	a1 68 d4 46 00       	mov    0x46d468,%eax
40ca19:	33 d2                	xor    %edx,%edx
40ca1b:	89 10                	mov    %edx,(%eax)
40ca1d:	a1 ec d4 46 00       	mov    0x46d4ec,%eax
40ca22:	33 d2                	xor    %edx,%edx
40ca24:	89 10                	mov    %edx,(%eax)
40ca26:	a1 14 d5 46 00       	mov    0x46d514,%eax
40ca2b:	33 d2                	xor    %edx,%edx
40ca2d:	89 10                	mov    %edx,(%eax)
40ca2f:	a1 6c d6 46 00       	mov    0x46d66c,%eax
40ca34:	33 d2                	xor    %edx,%edx
40ca36:	89 10                	mov    %edx,(%eax)
40ca38:	c3                   	ret
40ca39:	8d 40 00             	lea    0x0(%eax),%eax
40ca3c:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40ca42:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40ca49:	54                   	push   %esp
40ca4a:	e8 b1 9f ff ff       	call   0x406a00
40ca4f:	85 c0                	test   %eax,%eax
40ca51:	74 50                	je     0x40caa3
40ca53:	8b 44 24 10          	mov    0x10(%esp),%eax
40ca57:	a3 c4 07 46 00       	mov    %eax,0x4607c4
40ca5c:	8b 44 24 04          	mov    0x4(%esp),%eax
40ca60:	a3 c8 07 46 00       	mov    %eax,0x4607c8
40ca65:	8b 44 24 08          	mov    0x8(%esp),%eax
40ca69:	a3 cc 07 46 00       	mov    %eax,0x4607cc
40ca6e:	83 3d c4 07 46 00 01 	cmpl   $0x1,0x4607c4
40ca75:	75 10                	jne    0x40ca87
40ca77:	8b 44 24 0c          	mov    0xc(%esp),%eax
40ca7b:	25 ff ff 00 00       	and    $0xffff,%eax
40ca80:	a3 d0 07 46 00       	mov    %eax,0x4607d0
40ca85:	eb 09                	jmp    0x40ca90
40ca87:	8b 44 24 0c          	mov    0xc(%esp),%eax
40ca8b:	a3 d0 07 46 00       	mov    %eax,0x4607d0
40ca90:	b8 d4 07 46 00       	mov    $0x4607d4,%eax
40ca95:	8d 54 24 14          	lea    0x14(%esp),%edx
40ca99:	b9 80 00 00 00       	mov    $0x80,%ecx
40ca9e:	e8 ed 7e ff ff       	call   0x404990
40caa3:	81 c4 94 00 00 00    	add    $0x94,%esp
40caa9:	c3                   	ret
40caaa:	8b c0                	mov    %eax,%eax
40caac:	3b 05 c8 07 46 00    	cmp    0x4607c8,%eax
40cab2:	7c 13                	jl     0x40cac7
40cab4:	3b 05 c8 07 46 00    	cmp    0x4607c8,%eax
40caba:	75 08                	jne    0x40cac4
40cabc:	3b 15 cc 07 46 00    	cmp    0x4607cc,%edx
40cac2:	7e 03                	jle    0x40cac7
40cac4:	33 c0                	xor    %eax,%eax
40cac6:	c3                   	ret
40cac7:	b0 01                	mov    $0x1,%al
40cac9:	c3                   	ret
40caca:	8b c0                	mov    %eax,%eax
40cacc:	55                   	push   %ebp
40cacd:	8b ec                	mov    %esp,%ebp
40cacf:	83 c4 e8             	add    $0xffffffe8,%esp
40cad2:	53                   	push   %ebx
40cad3:	33 d2                	xor    %edx,%edx
40cad5:	89 55 fc             	mov    %edx,-0x4(%ebp)
40cad8:	8b d8                	mov    %eax,%ebx
40cada:	33 c0                	xor    %eax,%eax
40cadc:	55                   	push   %ebp
40cadd:	68 a2 cb 40 00       	push   $0x40cba2
40cae2:	64 ff 30             	push   %fs:(%eax)
40cae5:	64 89 20             	mov    %esp,%fs:(%eax)
40cae8:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
40caef:	8d 45 fc             	lea    -0x4(%ebp),%eax
40caf2:	8b d3                	mov    %ebx,%edx
40caf4:	e8 bf 7c ff ff       	call   0x4047b8
40caf9:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cafc:	e8 33 81 ff ff       	call   0x404c34
40cb01:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cb04:	50                   	push   %eax
40cb05:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cb08:	e8 d7 80 ff ff       	call   0x404be4
40cb0d:	50                   	push   %eax
40cb0e:	e8 e5 9f ff ff       	call   0x406af8
40cb13:	8b d8                	mov    %eax,%ebx
40cb15:	85 db                	test   %ebx,%ebx
40cb17:	74 73                	je     0x40cb8c
40cb19:	8b c3                	mov    %ebx,%eax
40cb1b:	e8 cc 61 ff ff       	call   0x402cec
40cb20:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cb23:	33 c0                	xor    %eax,%eax
40cb25:	55                   	push   %ebp
40cb26:	68 85 cb 40 00       	push   $0x40cb85
40cb2b:	64 ff 30             	push   %fs:(%eax)
40cb2e:	64 89 20             	mov    %esp,%fs:(%eax)
40cb31:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cb34:	50                   	push   %eax
40cb35:	53                   	push   %ebx
40cb36:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cb39:	50                   	push   %eax
40cb3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cb3d:	e8 a2 80 ff ff       	call   0x404be4
40cb42:	50                   	push   %eax
40cb43:	e8 a8 9f ff ff       	call   0x406af0
40cb48:	85 c0                	test   %eax,%eax
40cb4a:	74 23                	je     0x40cb6f
40cb4c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cb4f:	50                   	push   %eax
40cb50:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cb53:	50                   	push   %eax
40cb54:	68 b4 cb 40 00       	push   $0x40cbb4
40cb59:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cb5c:	50                   	push   %eax
40cb5d:	e8 9e 9f ff ff       	call   0x406b00
40cb62:	85 c0                	test   %eax,%eax
40cb64:	74 09                	je     0x40cb6f
40cb66:	8b 45 ec             	mov    -0x14(%ebp),%eax
40cb69:	8b 40 08             	mov    0x8(%eax),%eax
40cb6c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40cb6f:	33 c0                	xor    %eax,%eax
40cb71:	5a                   	pop    %edx
40cb72:	59                   	pop    %ecx
40cb73:	59                   	pop    %ecx
40cb74:	64 89 10             	mov    %edx,%fs:(%eax)
40cb77:	68 8c cb 40 00       	push   $0x40cb8c
40cb7c:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cb7f:	e8 84 61 ff ff       	call   0x402d08
40cb84:	c3                   	ret
40cb85:	e9 fe 74 ff ff       	jmp    0x404088
40cb8a:	eb f0                	jmp    0x40cb7c
40cb8c:	33 c0                	xor    %eax,%eax
40cb8e:	5a                   	pop    %edx
40cb8f:	59                   	pop    %ecx
40cb90:	59                   	pop    %ecx
40cb91:	64 89 10             	mov    %edx,%fs:(%eax)
40cb94:	68 a9 cb 40 00       	push   $0x40cba9