405b0c:	ff 73 4c             	push   0x4c(%ebx)
405b0f:	68 e8 ca 40 00       	push   $0x40cae8
405b14:	e8 ba f3 ff ff       	call   0x404ed3
405b19:	89 45 e8             	mov    %eax,-0x18(%ebp)
405b1c:	6a 12                	push   $0x12
405b1e:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
405b24:	ff 73 18             	push   0x18(%ebx)
405b27:	8b cb                	mov    %ebx,%ecx
405b29:	ff 75 e8             	push   -0x18(%ebp)
405b2c:	50                   	push   %eax
405b2d:	e8 a1 f3 ff ff       	call   0x404ed3
405b32:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
405b35:	8b c7                	mov    %edi,%eax
405b37:	33 f6                	xor    %esi,%esi
405b39:	e9 6b ff ff ff       	jmp    0x405aa9
405b3e:	8d 45 dc             	lea    -0x24(%ebp),%eax
405b41:	68 d8 a5 40 00       	push   $0x40a5d8
405b46:	50                   	push   %eax
405b47:	89 75 dc             	mov    %esi,-0x24(%ebp)
405b4a:	e8 e7 33 00 00       	call   0x408f36
405b4f:	83 4d d8 ff          	orl    $0xffffffff,-0x28(%ebp)
405b53:	8d 45 d8             	lea    -0x28(%ebp),%eax
405b56:	68 d8 a5 40 00       	push   $0x40a5d8
405b5b:	50                   	push   %eax
405b5c:	e8 d5 33 00 00       	call   0x408f36
405b61:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
405b65:	74 12                	je     0x405b79
405b67:	ff 75 e4             	push   -0x1c(%ebp)
405b6a:	6a 01                	push   $0x1
405b6c:	ff 15 90 a0 40 00    	call   *0x40a090
405b72:	50                   	push   %eax
405b73:	ff 15 8c a0 40 00    	call   *0x40a08c
405b79:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
405b7d:	74 12                	je     0x405b91
405b7f:	ff 75 ec             	push   -0x14(%ebp)
405b82:	6a 01                	push   $0x1
405b84:	ff 15 90 a0 40 00    	call   *0x40a090
405b8a:	50                   	push   %eax
405b8b:	ff 15 8c a0 40 00    	call   *0x40a08c
405b91:	b8 97 5b 40 00       	mov    $0x405b97,%eax
405b96:	c3                   	ret
405b97:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405b9a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
405b9d:	5f                   	pop    %edi
405b9e:	5e                   	pop    %esi
405b9f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405ba6:	5b                   	pop    %ebx
405ba7:	c9                   	leave
405ba8:	c2 04 00             	ret    $0x4
405bab:	b8 94 94 40 00       	mov    $0x409494,%eax
405bb0:	e8 7b 33 00 00       	call   0x408f30
405bb5:	83 ec 4c             	sub    $0x4c,%esp
405bb8:	53                   	push   %ebx
405bb9:	56                   	push   %esi
405bba:	33 c0                	xor    %eax,%eax
405bbc:	57                   	push   %edi
405bbd:	39 05 f8 d7 40 00    	cmp    %eax,0x40d7f8
405bc3:	89 65 f0             	mov    %esp,-0x10(%ebp)
405bc6:	89 4d c0             	mov    %ecx,-0x40(%ebp)
405bc9:	89 45 fc             	mov    %eax,-0x4(%ebp)
405bcc:	75 11                	jne    0x405bdf
405bce:	89 45 e8             	mov    %eax,-0x18(%ebp)
405bd1:	8d 45 e8             	lea    -0x18(%ebp),%eax
405bd4:	68 d8 a5 40 00       	push   $0x40a5d8
405bd9:	50                   	push   %eax
405bda:	e8 57 33 00 00       	call   0x408f36
405bdf:	8b 75 0c             	mov    0xc(%ebp),%esi
405be2:	6a 04                	push   $0x4
405be4:	68 80 cb 40 00       	push   $0x40cb80
405be9:	56                   	push   %esi
405bea:	ff 15 34 a1 40 00    	call   *0x40a134
405bf0:	83 c4 0c             	add    $0xc,%esp
405bf3:	85 c0                	test   %eax,%eax
405bf5:	0f 85 6b 01 00 00    	jne    0x405d66
405bfb:	8d 5e 04             	lea    0x4(%esi),%ebx
405bfe:	8b 35 2c a1 40 00    	mov    0x40a12c,%esi
405c04:	6a 3a                	push   $0x3a
405c06:	53                   	push   %ebx
405c07:	ff d6                	call   *%esi
405c09:	8b f8                	mov    %eax,%edi
405c0b:	59                   	pop    %ecx
405c0c:	85 ff                	test   %edi,%edi
405c0e:	59                   	pop    %ecx
405c0f:	75 12                	jne    0x405c23
405c11:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
405c15:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405c18:	68 d8 a5 40 00       	push   $0x40a5d8
405c1d:	50                   	push   %eax
405c1e:	e8 13 33 00 00       	call   0x408f36
405c23:	80 27 00             	andb   $0x0,(%edi)
405c26:	53                   	push   %ebx
405c27:	e8 c4 32 00 00       	call   0x408ef0
405c2c:	83 f8 ff             	cmp    $0xffffffff,%eax
405c2f:	89 45 ac             	mov    %eax,-0x54(%ebp)
405c32:	75 11                	jne    0x405c45
405c34:	09 45 e0             	or     %eax,-0x20(%ebp)
405c37:	8d 45 e0             	lea    -0x20(%ebp),%eax
405c3a:	68 d8 a5 40 00       	push   $0x40a5d8
405c3f:	50                   	push   %eax
405c40:	e8 f1 32 00 00       	call   0x408f36
405c45:	47                   	inc    %edi
405c46:	6a 20                	push   $0x20
405c48:	57                   	push   %edi
405c49:	ff d6                	call   *%esi
405c4b:	8b d8                	mov    %eax,%ebx
405c4d:	59                   	pop    %ecx
405c4e:	85 db                	test   %ebx,%ebx
405c50:	59                   	pop    %ecx
405c51:	75 12                	jne    0x405c65
405c53:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
405c57:	8d 45 dc             	lea    -0x24(%ebp),%eax
405c5a:	68 d8 a5 40 00       	push   $0x40a5d8
405c5f:	50                   	push   %eax
405c60:	e8 d1 32 00 00       	call   0x408f36
405c65:	80 23 00             	andb   $0x0,(%ebx)
405c68:	57                   	push   %edi
405c69:	8b 3d 38 a1 40 00    	mov    0x40a138,%edi
405c6f:	ff d7                	call   *%edi
405c71:	59                   	pop    %ecx
405c72:	50                   	push   %eax
405c73:	e8 72 32 00 00       	call   0x408eea
405c78:	0f b7 c0             	movzwl %ax,%eax
405c7b:	85 c0                	test   %eax,%eax
405c7d:	89 45 b0             	mov    %eax,-0x50(%ebp)
405c80:	75 12                	jne    0x405c94
405c82:	83 4d d8 ff          	orl    $0xffffffff,-0x28(%ebp)
405c86:	8d 45 d8             	lea    -0x28(%ebp),%eax
405c89:	68 d8 a5 40 00       	push   $0x40a5d8
405c8e:	50                   	push   %eax
405c8f:	e8 a2 32 00 00       	call   0x408f36
405c94:	43                   	inc    %ebx
405c95:	6a 20                	push   $0x20
405c97:	53                   	push   %ebx
405c98:	ff 15 54 a1 40 00    	call   *0x40a154
405c9e:	8b d8                	mov    %eax,%ebx
405ca0:	59                   	pop    %ecx
405ca1:	85 db                	test   %ebx,%ebx
405ca3:	59                   	pop    %ecx
405ca4:	75 12                	jne    0x405cb8
405ca6:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
405caa:	8d 45 d4             	lea    -0x2c(%ebp),%eax
405cad:	68 d8 a5 40 00       	push   $0x40a5d8
405cb2:	50                   	push   %eax
405cb3:	e8 7e 32 00 00       	call   0x408f36
405cb8:	43                   	inc    %ebx
405cb9:	6a 3a                	push   $0x3a
405cbb:	53                   	push   %ebx
405cbc:	ff d6                	call   *%esi
405cbe:	8b f0                	mov    %eax,%esi
405cc0:	59                   	pop    %ecx
405cc1:	85 f6                	test   %esi,%esi
405cc3:	59                   	pop    %ecx
405cc4:	75 12                	jne    0x405cd8
405cc6:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
405cca:	8d 45 d0             	lea    -0x30(%ebp),%eax
405ccd:	68 d8 a5 40 00       	push   $0x40a5d8
405cd2:	50                   	push   %eax
405cd3:	e8 5e 32 00 00       	call   0x408f36
405cd8:	80 26 00             	andb   $0x0,(%esi)
405cdb:	53                   	push   %ebx
405cdc:	e8 0f 32 00 00       	call   0x408ef0
405ce1:	83 f8 ff             	cmp    $0xffffffff,%eax
405ce4:	89 45 b4             	mov    %eax,-0x4c(%ebp)
405ce7:	75 11                	jne    0x405cfa
405ce9:	09 45 cc             	or     %eax,-0x34(%ebp)
405cec:	8d 45 cc             	lea    -0x34(%ebp),%eax
405cef:	68 d8 a5 40 00       	push   $0x40a5d8
405cf4:	50                   	push   %eax
405cf5:	e8 3c 32 00 00       	call   0x408f36
405cfa:	46                   	inc    %esi
405cfb:	56                   	push   %esi
405cfc:	ff d7                	call   *%edi
405cfe:	59                   	pop    %ecx
405cff:	50                   	push   %eax
405d00:	e8 e5 31 00 00       	call   0x408eea
405d05:	0f b7 c0             	movzwl %ax,%eax
405d08:	85 c0                	test   %eax,%eax
405d0a:	89 45 b8             	mov    %eax,-0x48(%ebp)
405d0d:	75 12                	jne    0x405d21
405d0f:	83 4d c8 ff          	orl    $0xffffffff,-0x38(%ebp)
405d13:	8d 45 c8             	lea    -0x38(%ebp),%eax
405d16:	68 d8 a5 40 00       	push   $0x40a5d8
405d1b:	50                   	push   %eax
405d1c:	e8 15 32 00 00       	call   0x408f36
405d21:	8d 45 a8             	lea    -0x58(%ebp),%eax
405d24:	c7 45 a8 0c 00 00 00 	movl   $0xc,-0x58(%ebp)
405d2b:	50                   	push   %eax
405d2c:	ff 15 f8 d7 40 00    	call   *0x40d7f8
405d32:	85 c0                	test   %eax,%eax
405d34:	74 15                	je     0x405d4b
405d36:	8d 45 c4             	lea    -0x3c(%ebp),%eax
405d39:	68 d8 a5 40 00       	push   $0x40a5d8
405d3e:	50                   	push   %eax
405d3f:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
405d46:	e8 eb 31 00 00       	call   0x408f36
405d4b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
405d4e:	6a fe                	push   $0xfffffffe
405d50:	e8 f2 f1 ff ff       	call   0x404f47
405d55:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405d58:	5f                   	pop    %edi
405d59:	5e                   	pop    %esi
405d5a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405d61:	5b                   	pop    %ebx
405d62:	c9                   	leave
405d63:	c2 08 00             	ret    $0x8
405d66:	83 4d bc ff          	orl    $0xffffffff,-0x44(%ebp)
405d6a:	8d 45 bc             	lea    -0x44(%ebp),%eax
405d6d:	68 d8 a5 40 00       	push   $0x40a5d8
405d72:	50                   	push   %eax
405d73:	e8 be 31 00 00       	call   0x408f36
405d78:	83 7d ec fe          	cmpl   $0xfffffffe,-0x14(%ebp)
405d7c:	75 07                	jne    0x405d85
405d7e:	68 68 cb 40 00       	push   $0x40cb68
405d83:	eb 18                	jmp    0x405d9d
405d85:	83 7d ec ff          	cmpl   $0xffffffff,-0x14(%ebp)
405d89:	75 07                	jne    0x405d92
405d8b:	68 40 cb 40 00       	push   $0x40cb40
405d90:	eb 0b                	jmp    0x405d9d
405d92:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
405d96:	75 0f                	jne    0x405da7
405d98:	68 20 cb 40 00       	push   $0x40cb20
405d9d:	ff 75 08             	push   0x8(%ebp)
405da0:	e8 60 28 00 00       	call   0x408605
405da5:	59                   	pop    %ecx
405da6:	59                   	pop    %ecx
405da7:	b8 55 5d 40 00       	mov    $0x405d55,%eax
405dac:	c3                   	ret
405dad:	b8 a0 94 40 00       	mov    $0x4094a0,%eax
405db2:	e8 79 31 00 00       	call   0x408f30
405db7:	81 ec 44 02 00 00    	sub    $0x244,%esp
405dbd:	53                   	push   %ebx
405dbe:	56                   	push   %esi
405dbf:	57                   	push   %edi
405dc0:	33 ff                	xor    %edi,%edi
405dc2:	39 3d 04 d8 40 00    	cmp    %edi,0x40d804
405dc8:	89 65 f0             	mov    %esp,-0x10(%ebp)
405dcb:	8b d9                	mov    %ecx,%ebx
405dcd:	0f 84 d9 01 00 00    	je     0x405fac
405dd3:	68 3f 00 0f 00       	push   $0xf003f
405dd8:	57                   	push   %edi
405dd9:	57                   	push   %edi
405dda:	89 7d e8             	mov    %edi,-0x18(%ebp)
405ddd:	89 7d d8             	mov    %edi,-0x28(%ebp)
405de0:	89 7d e0             	mov    %edi,-0x20(%ebp)
405de3:	89 7d e4             	mov    %edi,-0x1c(%ebp)
405de6:	89 7d dc             	mov    %edi,-0x24(%ebp)
405de9:	89 7d fc             	mov    %edi,-0x4(%ebp)
405dec:	ff 15 10 a0 40 00    	call   *0x40a010
405df2:	8b f0                	mov    %eax,%esi
405df4:	3b f7                	cmp    %edi,%esi
405df6:	89 75 b8             	mov    %esi,-0x48(%ebp)
405df9:	75 11                	jne    0x405e0c
405dfb:	8d 45 d0             	lea    -0x30(%ebp),%eax
405dfe:	68 d8 a5 40 00       	push   $0x40a5d8
405e03:	50                   	push   %eax
405e04:	89 7d d0             	mov    %edi,-0x30(%ebp)
405e07:	e8 2a 31 00 00       	call   0x408f36
405e0c:	8d 45 e0             	lea    -0x20(%ebp),%eax
405e0f:	57                   	push   %edi
405e10:	50                   	push   %eax
405e11:	8d 45 d8             	lea    -0x28(%ebp),%eax
405e14:	50                   	push   %eax
405e15:	8d 45 e8             	lea    -0x18(%ebp),%eax
405e18:	50                   	push   %eax
405e19:	57                   	push   %edi
405e1a:	57                   	push   %edi
405e1b:	6a 01                	push   $0x1
405e1d:	6a 30                	push   $0x30
405e1f:	57                   	push   %edi
405e20:	56                   	push   %esi
405e21:	ff 15 04 d8 40 00    	call   *0x40d804
405e27:	ff 75 e8             	push   -0x18(%ebp)
405e2a:	ff 15 44 a1 40 00    	call   *0x40a144
405e30:	3b c7                	cmp    %edi,%eax
405e32:	59                   	pop    %ecx
405e33:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405e36:	75 11                	jne    0x405e49
405e38:	8d 45 bc             	lea    -0x44(%ebp),%eax
405e3b:	68 d8 a5 40 00       	push   $0x40a5d8
405e40:	50                   	push   %eax
405e41:	89 7d bc             	mov    %edi,-0x44(%ebp)
405e44:	e8 ed 30 00 00       	call   0x408f36
405e49:	8d 4d e0             	lea    -0x20(%ebp),%ecx
405e4c:	57                   	push   %edi
405e4d:	51                   	push   %ecx
405e4e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
405e51:	51                   	push   %ecx
405e52:	8d 4d e8             	lea    -0x18(%ebp),%ecx
405e55:	51                   	push   %ecx
405e56:	89 7d e0             	mov    %edi,-0x20(%ebp)
405e59:	ff 75 e8             	push   -0x18(%ebp)
405e5c:	50                   	push   %eax
405e5d:	6a 01                	push   $0x1
405e5f:	6a 30                	push   $0x30
405e61:	57                   	push   %edi
405e62:	56                   	push   %esi
405e63:	ff 15 04 d8 40 00    	call   *0x40d804
405e69:	3b c7                	cmp    %edi,%eax
405e6b:	75 11                	jne    0x405e7e
405e6d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
405e70:	68 d8 a5 40 00       	push   $0x40a5d8
405e75:	50                   	push   %eax
405e76:	89 7d c4             	mov    %edi,-0x3c(%ebp)
405e79:	e8 b8 30 00 00       	call   0x408f36
405e7e:	89 7d ec             	mov    %edi,-0x14(%ebp)
405e81:	8b 45 ec             	mov    -0x14(%ebp),%eax
405e84:	3b 45 d8             	cmp    -0x28(%ebp),%eax
405e87:	0f 83 eb 00 00 00    	jae    0x405f78
405e8d:	6b c0 2c             	imul   $0x2c,%eax,%eax
405e90:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
405e93:	8d 34 08             	lea    (%eax,%ecx,1),%esi
405e96:	8b 44 08 24          	mov    0x24(%eax,%ecx,1),%eax
405e9a:	3b 45 08             	cmp    0x8(%ebp),%eax
405e9d:	0f 85 cd 00 00 00    	jne    0x405f70
405ea3:	39 7d dc             	cmp    %edi,-0x24(%ebp)
405ea6:	75 17                	jne    0x405ebf
405ea8:	6a 15                	push   $0x15
405eaa:	8b cb                	mov    %ebx,%ecx
405eac:	ff 73 20             	push   0x20(%ebx)
405eaf:	ff 73 4c             	push   0x4c(%ebx)
405eb2:	68 ac cb 40 00       	push   $0x40cbac
405eb7:	e8 17 f0 ff ff       	call   0x404ed3
405ebc:	89 45 dc             	mov    %eax,-0x24(%ebp)
405ebf:	6a 16                	push   $0x16
405ec1:	8b cb                	mov    %ebx,%ecx
405ec3:	ff 73 20             	push   0x20(%ebx)
405ec6:	ff 75 dc             	push   -0x24(%ebp)
405ec9:	ff 36                	push   (%esi)
405ecb:	e8 03 f0 ff ff       	call   0x404ed3
405ed0:	6a 14                	push   $0x14
405ed2:	8b cb                	mov    %ebx,%ecx
405ed4:	ff 73 20             	push   0x20(%ebx)
405ed7:	89 45 c8             	mov    %eax,-0x38(%ebp)
405eda:	50                   	push   %eax
405edb:	ff 76 04             	push   0x4(%esi)
405ede:	e8 f0 ef ff ff       	call   0x404ed3
405ee3:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
405ee9:	68 88 cb 40 00       	push   $0x40cb88
405eee:	50                   	push   %eax
405eef:	e8 54 31 00 00       	call   0x409048
405ef4:	ff 36                	push   (%esi)
405ef6:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
405efc:	50                   	push   %eax
405efd:	e8 40 30 00 00       	call   0x408f42
405f02:	83 c4 10             	add    $0x10,%esp
405f05:	8d 45 d4             	lea    -0x2c(%ebp),%eax
405f08:	50                   	push   %eax
405f09:	6a 01                	push   $0x1
405f0b:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
405f11:	57                   	push   %edi