404cbd:	83 c4 0c             	add    $0xc,%esp
404cc0:	89 77 08             	mov    %esi,0x8(%edi)
404cc3:	80 24 30 00          	andb   $0x0,(%eax,%esi,1)
404cc7:	8b c7                	mov    %edi,%eax
404cc9:	5f                   	pop    %edi
404cca:	5e                   	pop    %esi
404ccb:	5b                   	pop    %ebx
404ccc:	5d                   	pop    %ebp
404ccd:	c2 0c 00             	ret    $0xc
404cd0:	e8 05 00 00 00       	call   0x404cda
404cd5:	e9 01 00 00 00       	jmp    0x404cdb
404cda:	c3                   	ret
404cdb:	68 e7 4c 40 00       	push   $0x404ce7
404ce0:	e8 25 08 00 00       	call   0x40550a
404ce5:	59                   	pop    %ecx
404ce6:	c3                   	ret
404ce7:	b9 b0 17 41 00       	mov    $0x4117b0,%ecx
404cec:	e9 b7 e1 ff ff       	jmp    0x402ea8
404cf1:	b8 66 c7 40 00       	mov    $0x40c766,%eax
404cf6:	e8 45 10 00 00       	call   0x405d40
404cfb:	51                   	push   %ecx
404cfc:	51                   	push   %ecx
404cfd:	56                   	push   %esi
404cfe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404d01:	e8 7f fa ff ff       	call   0x404785
404d06:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404d0a:	83 3d b8 17 41 00 00 	cmpl   $0x0,0x4117b8
404d11:	0f 85 83 00 00 00    	jne    0x404d9a
404d17:	6a 28                	push   $0x28
404d19:	e8 5d 1d 00 00       	call   0x406a7b
404d1e:	59                   	pop    %ecx
404d1f:	8b c8                	mov    %eax,%ecx
404d21:	89 4d ec             	mov    %ecx,-0x14(%ebp)
404d24:	85 c9                	test   %ecx,%ecx
404d26:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404d2a:	74 09                	je     0x404d35
404d2c:	6a 00                	push   $0x0
404d2e:	e8 d2 00 00 00       	call   0x404e05
404d33:	eb 02                	jmp    0x404d37
404d35:	33 c0                	xor    %eax,%eax
404d37:	80 65 fc 00          	andb   $0x0,-0x4(%ebp)
404d3b:	57                   	push   %edi
404d3c:	68 bb 4d 40 00       	push   $0x404dbb
404d41:	a3 b8 17 41 00       	mov    %eax,0x4117b8
404d46:	e8 bf 07 00 00       	call   0x40550a
404d4b:	a1 b8 17 41 00       	mov    0x4117b8,%eax
404d50:	be 7c d3 40 00       	mov    $0x40d37c,%esi
404d55:	56                   	push   %esi
404d56:	c7 40 10 3f 00 00 00 	movl   $0x3f,0x10(%eax)
404d5d:	a1 b8 17 41 00       	mov    0x4117b8,%eax
404d62:	8d 78 18             	lea    0x18(%eax),%edi
404d65:	e8 96 1c 00 00       	call   0x406a00
404d6a:	59                   	pop    %ecx
404d6b:	59                   	pop    %ecx
404d6c:	50                   	push   %eax
404d6d:	56                   	push   %esi
404d6e:	8b cf                	mov    %edi,%ecx
404d70:	e8 cf ea ff ff       	call   0x403844
404d75:	8b 0d b8 17 41 00    	mov    0x4117b8,%ecx
404d7b:	89 0d b4 17 41 00    	mov    %ecx,0x4117b4
404d81:	e8 fc e0 ff ff       	call   0x402e82
404d86:	b8 b0 17 41 00       	mov    $0x4117b0,%eax
404d8b:	5f                   	pop    %edi
404d8c:	85 c0                	test   %eax,%eax
404d8e:	74 0a                	je     0x404d9a
404d90:	a1 b4 17 41 00       	mov    0x4117b4,%eax
404d95:	a3 b0 17 41 00       	mov    %eax,0x4117b0
404d9a:	8b 35 b8 17 41 00    	mov    0x4117b8,%esi
404da0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404da4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404da7:	e8 75 fa ff ff       	call   0x404821
404dac:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404daf:	8b c6                	mov    %esi,%eax
404db1:	5e                   	pop    %esi
404db2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404db9:	c9                   	leave
404dba:	c3                   	ret
404dbb:	b8 78 c7 40 00       	mov    $0x40c778,%eax
404dc0:	e8 7b 0f 00 00       	call   0x405d40
404dc5:	51                   	push   %ecx
404dc6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404dc9:	e8 b7 f9 ff ff       	call   0x404785
404dce:	8b 0d b8 17 41 00    	mov    0x4117b8,%ecx
404dd4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404dd8:	85 c9                	test   %ecx,%ecx
404dda:	74 11                	je     0x404ded
404ddc:	e8 df e0 ff ff       	call   0x402ec0
404de1:	85 c0                	test   %eax,%eax
404de3:	74 08                	je     0x404ded
404de5:	8b 10                	mov    (%eax),%edx
404de7:	6a 01                	push   $0x1
404de9:	8b c8                	mov    %eax,%ecx
404deb:	ff 12                	call   *(%edx)
404ded:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404df1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404df4:	e8 28 fa ff ff       	call   0x404821
404df9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404dfc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404e03:	c9                   	leave
404e04:	c3                   	ret
404e05:	b8 8c c7 40 00       	mov    $0x40c78c,%eax
404e0a:	e8 31 0f 00 00       	call   0x405d40
404e0f:	51                   	push   %ecx
404e10:	53                   	push   %ebx
404e11:	56                   	push   %esi
404e12:	8b f1                	mov    %ecx,%esi
404e14:	57                   	push   %edi
404e15:	89 75 f0             	mov    %esi,-0x10(%ebp)
404e18:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
404e1f:	c7 06 8c d3 40 00    	movl   $0x40d38c,(%esi)
404e25:	8a 4d 08             	mov    0x8(%ebp),%cl
404e28:	33 c0                	xor    %eax,%eax
404e2a:	88 4e 14             	mov    %cl,0x14(%esi)
404e2d:	8a 4d 0b             	mov    0xb(%ebp),%cl
404e30:	8d 7e 18             	lea    0x18(%esi),%edi
404e33:	89 46 08             	mov    %eax,0x8(%esi)
404e36:	89 46 0c             	mov    %eax,0xc(%esi)
404e39:	89 46 10             	mov    %eax,0x10(%esi)
404e3c:	88 0f                	mov    %cl,(%edi)
404e3e:	50                   	push   %eax
404e3f:	8b cf                	mov    %edi,%ecx
404e41:	89 45 fc             	mov    %eax,-0x4(%ebp)
404e44:	e8 95 e7 ff ff       	call   0x4035de
404e49:	bb 78 d3 40 00       	mov    $0x40d378,%ebx
404e4e:	53                   	push   %ebx
404e4f:	e8 ac 1b 00 00       	call   0x406a00
404e54:	59                   	pop    %ecx
404e55:	50                   	push   %eax
404e56:	53                   	push   %ebx
404e57:	8b cf                	mov    %edi,%ecx
404e59:	e8 e6 e9 ff ff       	call   0x403844
404e5e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404e61:	c7 06 84 d3 40 00    	movl   $0x40d384,(%esi)
404e67:	8b c6                	mov    %esi,%eax
404e69:	5f                   	pop    %edi
404e6a:	5e                   	pop    %esi
404e6b:	5b                   	pop    %ebx
404e6c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404e73:	c9                   	leave
404e74:	c2 04 00             	ret    $0x4
404e77:	c7 01 8c d3 40 00    	movl   $0x40d38c,(%ecx)
404e7d:	c3                   	ret
404e7e:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
404e83:	56                   	push   %esi
404e84:	8b f1                	mov    %ecx,%esi
404e86:	c7 06 8c d3 40 00    	movl   $0x40d38c,(%esi)
404e8c:	74 07                	je     0x404e95
404e8e:	56                   	push   %esi
404e8f:	e8 ed 00 00 00       	call   0x404f81
404e94:	59                   	pop    %ecx
404e95:	8b c6                	mov    %esi,%eax
404e97:	5e                   	pop    %esi
404e98:	c2 04 00             	ret    $0x4
404e9b:	56                   	push   %esi
404e9c:	8b f1                	mov    %ecx,%esi
404e9e:	e8 14 00 00 00       	call   0x404eb7
404ea3:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
404ea8:	74 07                	je     0x404eb1
404eaa:	56                   	push   %esi
404eab:	e8 d1 00 00 00       	call   0x404f81
404eb0:	59                   	pop    %ecx
404eb1:	8b c6                	mov    %esi,%eax
404eb3:	5e                   	pop    %esi
404eb4:	c2 04 00             	ret    $0x4
404eb7:	b8 b3 c7 40 00       	mov    $0x40c7b3,%eax
404ebc:	e8 7f 0e 00 00       	call   0x405d40
404ec1:	51                   	push   %ecx
404ec2:	51                   	push   %ecx
404ec3:	56                   	push   %esi
404ec4:	8b f1                	mov    %ecx,%esi
404ec6:	57                   	push   %edi
404ec7:	89 75 ec             	mov    %esi,-0x14(%ebp)
404eca:	c7 06 84 d3 40 00    	movl   $0x40d384,(%esi)
404ed0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404ed3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404eda:	e8 a6 f8 ff ff       	call   0x404785
404edf:	8b 7e 0c             	mov    0xc(%esi),%edi
404ee2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
404ee6:	85 ff                	test   %edi,%edi
404ee8:	76 1e                	jbe    0x404f08
404eea:	8b 46 08             	mov    0x8(%esi),%eax
404eed:	4f                   	dec    %edi
404eee:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
404ef1:	85 c9                	test   %ecx,%ecx
404ef3:	74 f1                	je     0x404ee6
404ef5:	e8 c6 df ff ff       	call   0x402ec0
404efa:	85 c0                	test   %eax,%eax
404efc:	74 e8                	je     0x404ee6
404efe:	8b 10                	mov    (%eax),%edx
404f00:	6a 01                	push   $0x1
404f02:	8b c8                	mov    %eax,%ecx
404f04:	ff 12                	call   *(%edx)
404f06:	eb de                	jmp    0x404ee6
404f08:	ff 76 08             	push   0x8(%esi)
404f0b:	e8 c7 1f 00 00       	call   0x406ed7
404f10:	59                   	pop    %ecx
404f11:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404f15:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404f18:	e8 04 f9 ff ff       	call   0x404821
404f1d:	80 65 fc 00          	andb   $0x0,-0x4(%ebp)
404f21:	6a 01                	push   $0x1
404f23:	8d 4e 18             	lea    0x18(%esi),%ecx
404f26:	e8 b3 e6 ff ff       	call   0x4035de
404f2b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404f2e:	c7 06 8c d3 40 00    	movl   $0x40d38c,(%esi)
404f34:	5f                   	pop    %edi
404f35:	5e                   	pop    %esi
404f36:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404f3d:	c9                   	leave
404f3e:	c3                   	ret
404f3f:	f6 05 50 1b 41 00 01 	testb  $0x1,0x411b50
404f46:	75 07                	jne    0x404f4f
404f48:	80 0d 50 1b 41 00 01 	orb    $0x1,0x411b50
404f4f:	e8 15 00 00 00       	call   0x404f69
404f54:	f6 05 58 1b 41 00 01 	testb  $0x1,0x411b58
404f5b:	75 07                	jne    0x404f64
404f5d:	80 0d 58 1b 41 00 01 	orb    $0x1,0x411b58
404f64:	e9 0c 00 00 00       	jmp    0x404f75
404f69:	68 d0 28 40 00       	push   $0x4028d0
404f6e:	e8 97 05 00 00       	call   0x40550a
404f73:	59                   	pop    %ecx
404f74:	c3                   	ret
404f75:	68 07 3a 40 00       	push   $0x403a07
404f7a:	e8 8b 05 00 00       	call   0x40550a
404f7f:	59                   	pop    %ecx
404f80:	c3                   	ret
404f81:	ff 74 24 04          	push   0x4(%esp)
404f85:	e8 4d 1f 00 00       	call   0x406ed7
404f8a:	59                   	pop    %ecx
404f8b:	c3                   	ret
404f8c:	b8 c8 c7 40 00       	mov    $0x40c7c8,%eax
404f91:	e8 aa 0d 00 00       	call   0x405d40
404f96:	83 ec 30             	sub    $0x30,%esp
404f99:	8a 45 f3             	mov    -0xd(%ebp),%al
404f9c:	56                   	push   %esi
404f9d:	6a 00                	push   $0x0
404f9f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
404fa2:	88 45 e0             	mov    %al,-0x20(%ebp)
404fa5:	e8 34 e6 ff ff       	call   0x4035de
404faa:	be a0 d3 40 00       	mov    $0x40d3a0,%esi
404faf:	56                   	push   %esi
404fb0:	e8 4b 1a 00 00       	call   0x406a00
404fb5:	59                   	pop    %ecx
404fb6:	50                   	push   %eax
404fb7:	56                   	push   %esi
404fb8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
404fbb:	e8 84 e8 ff ff       	call   0x403844
404fc0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404fc4:	8d 45 e0             	lea    -0x20(%ebp),%eax
404fc7:	50                   	push   %eax
404fc8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
404fcb:	e8 16 00 00 00       	call   0x404fe6
404fd0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
404fd3:	68 00 e6 40 00       	push   $0x40e600
404fd8:	50                   	push   %eax
404fd9:	c7 45 c4 94 d3 40 00 	movl   $0x40d394,-0x3c(%ebp)
404fe0:	e8 b8 1e 00 00       	call   0x406e9d
404fe5:	5e                   	pop    %esi
404fe6:	b8 dc c7 40 00       	mov    $0x40c7dc,%eax
404feb:	e8 50 0d 00 00       	call   0x405d40
404ff0:	51                   	push   %ecx
404ff1:	51                   	push   %ecx
404ff2:	53                   	push   %ebx
404ff3:	56                   	push   %esi
404ff4:	8d 45 f0             	lea    -0x10(%ebp),%eax
404ff7:	57                   	push   %edi
404ff8:	8b f1                	mov    %ecx,%esi
404ffa:	50                   	push   %eax
404ffb:	89 75 ec             	mov    %esi,-0x14(%ebp)
404ffe:	c7 45 f0 64 d3 40 00 	movl   $0x40d364,-0x10(%ebp)
405005:	e8 e9 1d 00 00       	call   0x406df3
40500a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40500d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405011:	8d 7e 0c             	lea    0xc(%esi),%edi
405014:	6a 00                	push   $0x0
405016:	8a 03                	mov    (%ebx),%al
405018:	8b cf                	mov    %edi,%ecx
40501a:	88 07                	mov    %al,(%edi)
40501c:	e8 bd e5 ff ff       	call   0x4035de
405021:	ff 35 68 d2 40 00    	push   0x40d268
405027:	8b cf                	mov    %edi,%ecx
405029:	6a 00                	push   $0x0
40502b:	53                   	push   %ebx
40502c:	e8 d1 fb ff ff       	call   0x404c02
405031:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405034:	c7 06 b4 d3 40 00    	movl   $0x40d3b4,(%esi)
40503a:	8b c6                	mov    %esi,%eax
40503c:	5f                   	pop    %edi
40503d:	5e                   	pop    %esi
40503e:	5b                   	pop    %ebx
40503f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405046:	c9                   	leave
405047:	c2 04 00             	ret    $0x4
40504a:	55                   	push   %ebp
40504b:	8b ec                	mov    %esp,%ebp
40504d:	83 ec 1c             	sub    $0x1c,%esp
405050:	51                   	push   %ecx
405051:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
405054:	e8 67 00 00 00       	call   0x4050c0
405059:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40505c:	68 70 e6 40 00       	push   $0x40e670
405061:	50                   	push   %eax
405062:	e8 36 1e 00 00       	call   0x406e9d
405067:	b8 f0 c7 40 00       	mov    $0x40c7f0,%eax
40506c:	e8 cf 0c 00 00       	call   0x405d40
405071:	51                   	push   %ecx
405072:	56                   	push   %esi
405073:	8b f1                	mov    %ecx,%esi
405075:	89 75 f0             	mov    %esi,-0x10(%ebp)
405078:	c7 06 b4 d3 40 00    	movl   $0x40d3b4,(%esi)
40507e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405082:	6a 01                	push   $0x1
405084:	8d 4e 0c             	lea    0xc(%esi),%ecx
405087:	e8 52 e5 ff ff       	call   0x4035de
40508c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405090:	8b ce                	mov    %esi,%ecx
405092:	e8 e3 1d 00 00       	call   0x406e7a
405097:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40509a:	5e                   	pop    %esi
40509b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4050a2:	c9                   	leave
4050a3:	c3                   	ret
4050a4:	56                   	push   %esi
4050a5:	8b f1                	mov    %ecx,%esi
4050a7:	e8 bb ff ff ff       	call   0x405067
4050ac:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4050b1:	74 07                	je     0x4050ba
4050b3:	56                   	push   %esi
4050b4:	e8 c8 fe ff ff       	call   0x404f81
4050b9:	59                   	pop    %ecx
4050ba:	8b c6                	mov    %esi,%eax
4050bc:	5e                   	pop    %esi
4050bd:	c2 04 00             	ret    $0x4
4050c0:	b8 04 c8 40 00       	mov    $0x40c804,%eax
4050c5:	e8 76 0c 00 00       	call   0x405d40
4050ca:	51                   	push   %ecx
4050cb:	53                   	push   %ebx
4050cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
4050cf:	56                   	push   %esi
4050d0:	57                   	push   %edi
4050d1:	8b f1                	mov    %ecx,%esi
4050d3:	53                   	push   %ebx
4050d4:	89 75 f0             	mov    %esi,-0x10(%ebp)
4050d7:	e8 54 1d 00 00       	call   0x406e30
4050dc:	8a 43 0c             	mov    0xc(%ebx),%al
4050df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4050e3:	83 c3 0c             	add    $0xc,%ebx
4050e6:	8d 7e 0c             	lea    0xc(%esi),%edi
4050e9:	6a 00                	push   $0x0
4050eb:	8b cf                	mov    %edi,%ecx