404a79:	0f 8c 4b ff ff ff    	jl     0x4049ca
404a7f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
404a83:	75 19                	jne    0x404a9e
404a85:	6a f0                	push   $0xfffffff0
404a87:	ff 75 fc             	push   -0x4(%ebp)
404a8a:	ff 15 90 71 40 00    	call   *0x407190
404a90:	24 fb                	and    $0xfb,%al
404a92:	50                   	push   %eax
404a93:	6a f0                	push   $0xfffffff0
404a95:	ff 75 fc             	push   -0x4(%ebp)
404a98:	ff 15 30 72 40 00    	call   *0x407230
404a9e:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
404aa2:	75 18                	jne    0x404abc
404aa4:	6a 05                	push   $0x5
404aa6:	ff 75 f8             	push   -0x8(%ebp)
404aa9:	ff 15 60 72 40 00    	call   *0x407260
404aaf:	ff 75 f8             	push   -0x8(%ebp)
404ab2:	e8 96 f4 ff ff       	call   0x403f4d
404ab7:	e9 83 03 00 00       	jmp    0x404e3f
404abc:	ff 75 fc             	push   -0x4(%ebp)
404abf:	e8 89 f4 ff ff       	call   0x403f4d
404ac4:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
404ac7:	33 ff                	xor    %edi,%edi
404ac9:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404ad0:	75 12                	jne    0x404ae4
404ad2:	33 c9                	xor    %ecx,%ecx
404ad4:	89 7d 10             	mov    %edi,0x10(%ebp)
404ad7:	41                   	inc    %ecx
404ad8:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404adf:	89 4d 14             	mov    %ecx,0x14(%ebp)
404ae2:	eb 03                	jmp    0x404ae7
404ae4:	8b 4d 14             	mov    0x14(%ebp),%ecx
404ae7:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
404aeb:	b8 13 04 00 00       	mov    $0x413,%eax
404af0:	74 09                	je     0x404afb
404af2:	39 45 0c             	cmp    %eax,0xc(%ebp)
404af5:	0f 85 e7 00 00 00    	jne    0x404be2
404afb:	39 45 0c             	cmp    %eax,0xc(%ebp)
404afe:	89 4d f4             	mov    %ecx,-0xc(%ebp)
404b01:	74 0d                	je     0x404b10
404b03:	81 79 04 08 04 00 00 	cmpl   $0x408,0x4(%ecx)
404b0a:	0f 85 d2 00 00 00    	jne    0x404be2
404b10:	f6 05 b9 3e 42 00 02 	testb  $0x2,0x423eb9
404b17:	75 76                	jne    0x404b8f
404b19:	39 45 0c             	cmp    %eax,0xc(%ebp)
404b1c:	74 09                	je     0x404b27
404b1e:	8b 4d 14             	mov    0x14(%ebp),%ecx
404b21:	83 79 08 fe          	cmpl   $0xfffffffe,0x8(%ecx)
404b25:	75 68                	jne    0x404b8f
404b27:	33 c9                	xor    %ecx,%ecx
404b29:	39 45 0c             	cmp    %eax,0xc(%ebp)
404b2c:	0f 95 c1             	setne  %cl
404b2f:	51                   	push   %ecx
404b30:	ff 75 fc             	push   -0x4(%ebp)
404b33:	e8 9b fc ff ff       	call   0x4047d3
404b38:	3b c7                	cmp    %edi,%eax
404b3a:	7c 53                	jl     0x404b8f
404b3c:	8b c8                	mov    %eax,%ecx
404b3e:	69 c9 18 04 00 00    	imul   $0x418,%ecx,%ecx
404b44:	8d 54 19 08          	lea    0x8(%ecx,%ebx,1),%edx
404b48:	8b 0a                	mov    (%edx),%ecx
404b4a:	f6 c1 10             	test   $0x10,%cl
404b4d:	75 40                	jne    0x404b8f
404b4f:	f6 c1 40             	test   $0x40,%cl
404b52:	74 14                	je     0x404b68
404b54:	81 f1 80 00 00 00    	xor    $0x80,%ecx
404b5a:	84 c9                	test   %cl,%cl
404b5c:	79 05                	jns    0x404b63
404b5e:	83 c9 01             	or     $0x1,%ecx
404b61:	eb 08                	jmp    0x404b6b
404b63:	83 e1 fe             	and    $0xfffffffe,%ecx
404b66:	eb 03                	jmp    0x404b6b
404b68:	83 f1 01             	xor    $0x1,%ecx
404b6b:	50                   	push   %eax
404b6c:	89 0a                	mov    %ecx,(%edx)
404b6e:	e8 0a c6 ff ff       	call   0x40117d
404b73:	a1 b8 3e 42 00       	mov    0x423eb8,%eax
404b78:	33 c9                	xor    %ecx,%ecx
404b7a:	f7 d0                	not    %eax
404b7c:	41                   	inc    %ecx
404b7d:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404b84:	c1 e8 08             	shr    $0x8,%eax
404b87:	23 c1                	and    %ecx,%eax
404b89:	89 4d 10             	mov    %ecx,0x10(%ebp)
404b8c:	89 45 14             	mov    %eax,0x14(%ebp)
404b8f:	39 7d f4             	cmp    %edi,-0xc(%ebp)
404b92:	74 4e                	je     0x404be2
404b94:	8b 45 f4             	mov    -0xc(%ebp),%eax
404b97:	81 78 08 6e fe ff ff 	cmpl   $0xfffffe6e,0x8(%eax)
404b9e:	75 0e                	jne    0x404bae
404ba0:	ff 70 5c             	push   0x5c(%eax)
404ba3:	57                   	push   %edi
404ba4:	68 19 04 00 00       	push   $0x419
404ba9:	ff 75 fc             	push   -0x4(%ebp)
404bac:	ff d6                	call   *%esi
404bae:	8b 45 f4             	mov    -0xc(%ebp),%eax
404bb1:	81 78 08 6a fe ff ff 	cmpl   $0xfffffe6a,0x8(%eax)
404bb8:	75 28                	jne    0x404be2
404bba:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
404bbe:	75 12                	jne    0x404bd2
404bc0:	8b 40 5c             	mov    0x5c(%eax),%eax
404bc3:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404bc9:	8d 44 18 08          	lea    0x8(%eax,%ebx,1),%eax
404bcd:	83 08 20             	orl    $0x20,(%eax)
404bd0:	eb 10                	jmp    0x404be2
404bd2:	8b 40 5c             	mov    0x5c(%eax),%eax
404bd5:	69 c0 18 04 00 00    	imul   $0x418,%eax,%eax
404bdb:	8d 5c 18 08          	lea    0x8(%eax,%ebx,1),%ebx
404bdf:	83 23 df             	andl   $0xffffffdf,(%ebx)
404be2:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404be9:	75 72                	jne    0x404c5d
404beb:	66 81 7d 10 f9 03    	cmpw   $0x3f9,0x10(%ebp)
404bf1:	0f 85 48 02 00 00    	jne    0x404e3f
404bf7:	8b 45 10             	mov    0x10(%ebp),%eax
404bfa:	c1 e8 10             	shr    $0x10,%eax
404bfd:	66 3d 01 00          	cmp    $0x1,%ax
404c01:	0f 85 38 02 00 00    	jne    0x404e3f
404c07:	57                   	push   %edi
404c08:	57                   	push   %edi
404c09:	68 47 01 00 00       	push   $0x147
404c0e:	ff 75 f8             	push   -0x8(%ebp)
404c11:	ff d6                	call   *%esi
404c13:	83 f8 ff             	cmp    $0xffffffff,%eax
404c16:	0f 84 23 02 00 00    	je     0x404e3f
404c1c:	57                   	push   %edi
404c1d:	50                   	push   %eax
404c1e:	68 50 01 00 00       	push   $0x150
404c23:	ff 75 f8             	push   -0x8(%ebp)
404c26:	ff d6                	call   *%esi
404c28:	8b d8                	mov    %eax,%ebx
404c2a:	83 fb ff             	cmp    $0xffffffff,%ebx
404c2d:	74 08                	je     0x404c37
404c2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
404c32:	39 3c 98             	cmp    %edi,(%eax,%ebx,4)
404c35:	75 03                	jne    0x404c3a
404c37:	6a 20                	push   $0x20
404c39:	5b                   	pop    %ebx
404c3a:	53                   	push   %ebx
404c3b:	e8 59 c6 ff ff       	call   0x401299
404c40:	53                   	push   %ebx
404c41:	57                   	push   %edi
404c42:	68 20 04 00 00       	push   $0x420
404c47:	ff 75 08             	push   0x8(%ebp)
404c4a:	ff d6                	call   *%esi
404c4c:	c7 45 10 01 00 00 00 	movl   $0x1,0x10(%ebp)
404c53:	89 7d 14             	mov    %edi,0x14(%ebp)
404c56:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404c5d:	81 7d 0c 00 02 00 00 	cmpl   $0x200,0xc(%ebp)
404c64:	75 0c                	jne    0x404c72
404c66:	57                   	push   %edi
404c67:	57                   	push   %edi
404c68:	68 00 02 00 00       	push   $0x200
404c6d:	ff 75 fc             	push   -0x4(%ebp)
404c70:	ff d6                	call   *%esi
404c72:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404c79:	75 32                	jne    0x404cad
404c7b:	a1 7c 04 42 00       	mov    0x42047c,%eax
404c80:	3b c7                	cmp    %edi,%eax
404c82:	74 07                	je     0x404c8b
404c84:	50                   	push   %eax
404c85:	ff 15 2c 70 40 00    	call   *0x40702c
404c8b:	a1 94 04 42 00       	mov    0x420494,%eax
404c90:	3b c7                	cmp    %edi,%eax
404c92:	74 07                	je     0x404c9b
404c94:	50                   	push   %eax
404c95:	ff 15 fc 70 40 00    	call   *0x4070fc
404c9b:	89 3d 7c 04 42 00    	mov    %edi,0x42047c
404ca1:	89 3d 94 04 42 00    	mov    %edi,0x420494
404ca7:	89 3d 00 3f 42 00    	mov    %edi,0x423f00
404cad:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404cb4:	0f 85 47 01 00 00    	jne    0x404e01
404cba:	57                   	push   %edi
404cbb:	57                   	push   %edi
404cbc:	e8 2e c5 ff ff       	call   0x4011ef
404cc1:	39 7d 10             	cmp    %edi,0x10(%ebp)
404cc4:	74 07                	je     0x404ccd
404cc6:	6a 08                	push   $0x8
404cc8:	e8 3e c7 ff ff       	call   0x40140b
404ccd:	39 7d 14             	cmp    %edi,0x14(%ebp)
404cd0:	74 3f                	je     0x404d11
404cd2:	ff 35 94 04 42 00    	push   0x420494
404cd8:	e8 05 c6 ff ff       	call   0x4012e2
404cdd:	8b d8                	mov    %eax,%ebx
404cdf:	53                   	push   %ebx
404ce0:	e8 b4 c5 ff ff       	call   0x401299
404ce5:	33 c0                	xor    %eax,%eax
404ce7:	33 c9                	xor    %ecx,%ecx
404ce9:	3b df                	cmp    %edi,%ebx
404ceb:	7e 0e                	jle    0x404cfb
404ced:	8b 55 f0             	mov    -0x10(%ebp),%edx
404cf0:	39 3c 82             	cmp    %edi,(%edx,%eax,4)
404cf3:	74 01                	je     0x404cf6
404cf5:	41                   	inc    %ecx
404cf6:	40                   	inc    %eax
404cf7:	3b c3                	cmp    %ebx,%eax
404cf9:	7c f2                	jl     0x404ced
404cfb:	57                   	push   %edi
404cfc:	51                   	push   %ecx
404cfd:	68 4e 01 00 00       	push   $0x14e
404d02:	ff 75 f8             	push   -0x8(%ebp)
404d05:	ff d6                	call   *%esi
404d07:	89 5d 14             	mov    %ebx,0x14(%ebp)
404d0a:	c7 45 0c 20 04 00 00 	movl   $0x420,0xc(%ebp)
404d11:	57                   	push   %edi
404d12:	57                   	push   %edi
404d13:	e8 d7 c4 ff ff       	call   0x4011ef
404d18:	a1 94 04 42 00       	mov    0x420494,%eax
404d1d:	39 3d cc 3e 42 00    	cmp    %edi,0x423ecc
404d23:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404d26:	a1 c8 3e 42 00       	mov    0x423ec8,%eax
404d2b:	c7 45 c8 30 f0 00 00 	movl   $0xf030,-0x38(%ebp)
404d32:	89 7d f4             	mov    %edi,-0xc(%ebp)
404d35:	0f 8e 9c 00 00 00    	jle    0x404dd7
404d3b:	8d 58 08             	lea    0x8(%eax),%ebx
404d3e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404d41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404d44:	8b 04 88             	mov    (%eax,%ecx,4),%eax
404d47:	3b c7                	cmp    %edi,%eax
404d49:	74 74                	je     0x404dbf
404d4b:	8b 0b                	mov    (%ebx),%ecx
404d4d:	89 45 c0             	mov    %eax,-0x40(%ebp)
404d50:	f6 c5 01             	test   $0x1,%ch
404d53:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
404d5a:	74 11                	je     0x404d6d
404d5c:	8d 43 10             	lea    0x10(%ebx),%eax
404d5f:	c7 45 bc 09 00 00 00 	movl   $0x9,-0x44(%ebp)
404d66:	89 45 cc             	mov    %eax,-0x34(%ebp)
404d69:	80 63 01 fe          	andb   $0xfe,0x1(%ebx)
404d6d:	f6 c1 40             	test   $0x40,%cl
404d70:	74 05                	je     0x404d77
404d72:	6a 03                	push   $0x3
404d74:	58                   	pop    %eax
404d75:	eb 0e                	jmp    0x404d85
404d77:	8b c1                	mov    %ecx,%eax
404d79:	83 e0 01             	and    $0x1,%eax
404d7c:	40                   	inc    %eax
404d7d:	f6 c1 10             	test   $0x10,%cl
404d80:	74 03                	je     0x404d85
404d82:	83 c0 03             	add    $0x3,%eax
404d85:	8b d1                	mov    %ecx,%edx
404d87:	ff 75 c0             	push   -0x40(%ebp)
404d8a:	c1 e0 0b             	shl    $0xb,%eax
404d8d:	83 e2 08             	and    $0x8,%edx
404d90:	0b c2                	or     %edx,%eax
404d92:	8b d1                	mov    %ecx,%edx
404d94:	c1 f9 05             	sar    $0x5,%ecx
404d97:	03 c0                	add    %eax,%eax
404d99:	83 e2 20             	and    $0x20,%edx
404d9c:	83 e1 01             	and    $0x1,%ecx
404d9f:	0b c2                	or     %edx,%eax
404da1:	41                   	inc    %ecx
404da2:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404da5:	51                   	push   %ecx
404da6:	68 02 11 00 00       	push   $0x1102
404dab:	ff 75 fc             	push   -0x4(%ebp)
404dae:	ff d6                	call   *%esi
404db0:	8d 45 bc             	lea    -0x44(%ebp),%eax
404db3:	50                   	push   %eax
404db4:	57                   	push   %edi
404db5:	68 0d 11 00 00       	push   $0x110d
404dba:	ff 75 fc             	push   -0x4(%ebp)
404dbd:	ff d6                	call   *%esi
404dbf:	ff 45 f4             	incl   -0xc(%ebp)
404dc2:	81 c3 18 04 00 00    	add    $0x418,%ebx
404dc8:	8b 45 f4             	mov    -0xc(%ebp),%eax
404dcb:	3b 05 cc 3e 42 00    	cmp    0x423ecc,%eax
404dd1:	0f 8c 67 ff ff ff    	jl     0x404d3e
404dd7:	6a 01                	push   $0x1
404dd9:	57                   	push   %edi
404dda:	ff 75 fc             	push   -0x4(%ebp)
404ddd:	ff 15 40 72 40 00    	call   *0x407240
404de3:	a1 7c 36 42 00       	mov    0x42367c,%eax
404de8:	39 78 10             	cmp    %edi,0x10(%eax)
404deb:	74 14                	je     0x404e01
404ded:	6a 05                	push   $0x5
404def:	e8 b2 f9 ff ff       	call   0x4047a6
404df4:	50                   	push   %eax
404df5:	6a fb                	push   $0xfffffffb
404df7:	68 ff 03 00 00       	push   $0x3ff
404dfc:	e8 f0 f8 ff ff       	call   0x4046f1
404e01:	81 7d 0c 20 04 00 00 	cmpl   $0x420,0xc(%ebp)
404e08:	75 35                	jne    0x404e3f
404e0a:	f6 05 b9 3e 42 00 01 	testb  $0x1,0x423eb9
404e11:	74 2c                	je     0x404e3f
404e13:	33 c0                	xor    %eax,%eax
404e15:	83 7d 14 20          	cmpl   $0x20,0x14(%ebp)
404e19:	8b 35 60 72 40 00    	mov    0x407260,%esi
404e1f:	0f 94 c0             	sete   %al
404e22:	c1 e0 03             	shl    $0x3,%eax
404e25:	8b f8                	mov    %eax,%edi
404e27:	57                   	push   %edi
404e28:	ff 75 fc             	push   -0x4(%ebp)
404e2b:	ff d6                	call   *%esi
404e2d:	57                   	push   %edi
404e2e:	68 fe 03 00 00       	push   $0x3fe
404e33:	ff 75 08             	push   0x8(%ebp)
404e36:	ff 15 2c 72 40 00    	call   *0x40722c
404e3c:	50                   	push   %eax
404e3d:	ff d6                	call   *%esi
404e3f:	ff 75 14             	push   0x14(%ebp)
404e42:	ff 75 10             	push   0x10(%ebp)
404e45:	ff 75 0c             	push   0xc(%ebp)
404e48:	e8 32 f1 ff ff       	call   0x403f7f
404e4d:	5f                   	pop    %edi
404e4e:	5e                   	pop    %esi
404e4f:	5b                   	pop    %ebx
404e50:	c9                   	leave
404e51:	c2 10 00             	ret    $0x10
404e54:	55                   	push   %ebp
404e55:	8b ec                	mov    %esp,%ebp
404e57:	81 7d 0c 02 01 00 00 	cmpl   $0x102,0xc(%ebp)
404e5e:	53                   	push   %ebx
404e5f:	56                   	push   %esi
404e60:	75 17                	jne    0x404e79
404e62:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
404e66:	75 7d                	jne    0x404ee5
404e68:	68 13 04 00 00       	push   $0x413
404e6d:	e8 f2 f0 ff ff       	call   0x403f64
404e72:	33 c0                	xor    %eax,%eax
404e74:	e9 85 00 00 00       	jmp    0x404efe
404e79:	81 7d 0c 00 02 00 00 	cmpl   $0x200,0xc(%ebp)
404e80:	be 19 04 00 00       	mov    $0x419,%esi
404e85:	75 1e                	jne    0x404ea5
404e87:	ff 75 08             	push   0x8(%ebp)
404e8a:	ff 15 ac 71 40 00    	call   *0x4071ac
404e90:	85 c0                	test   %eax,%eax
404e92:	74 51                	je     0x404ee5
404e94:	6a 01                	push   $0x1
404e96:	ff 75 08             	push   0x8(%ebp)
404e99:	e8 35 f9 ff ff       	call   0x4047d3
404e9e:	8b d8                	mov    %eax,%ebx
404ea0:	89 75 0c             	mov    %esi,0xc(%ebp)
404ea3:	eb 03                	jmp    0x404ea8
404ea5:	8b 5d 14             	mov    0x14(%ebp),%ebx
404ea8:	39 75 0c             	cmp    %esi,0xc(%ebp)
404eab:	75 3b                	jne    0x404ee8
404ead:	39 1d 88 04 42 00    	cmp    %ebx,0x420488
404eb3:	74 33                	je     0x404ee8
404eb5:	57                   	push   %edi
404eb6:	be 00 40 42 00       	mov    $0x424000,%esi
404ebb:	bf a0 04 42 00       	mov    $0x4204a0,%edi
404ec0:	56                   	push   %esi
404ec1:	57                   	push   %edi
404ec2:	89 1d 88 04 42 00    	mov    %ebx,0x420488
404ec8:	e8 99 0c 00 00       	call   0x405b66
404ecd:	53                   	push   %ebx
404ece:	56                   	push   %esi
404ecf:	e8 f0 0b 00 00       	call   0x405ac4
404ed4:	6a 06                	push   $0x6
404ed6:	e8 30 c5 ff ff       	call   0x40140b