406b0e:	74 13                	je     0x406b23
406b10:	83 38 00             	cmpl   $0x0,(%eax)
406b13:	75 0e                	jne    0x406b23
406b15:	3d b0 b7 42 00       	cmp    $0x42b7b0,%eax
406b1a:	74 07                	je     0x406b23
406b1c:	50                   	push   %eax
406b1d:	e8 dc fb ff ff       	call   0x4066fe
406b22:	59                   	pop    %ecx
406b23:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406b2a:	e8 26 00 00 00       	call   0x406b55
406b2f:	b8 0d f0 ad ba       	mov    $0xbaadf00d,%eax
406b34:	89 06                	mov    %eax,(%esi)
406b36:	89 46 04             	mov    %eax,0x4(%esi)
406b39:	56                   	push   %esi
406b3a:	e8 e1 e4 ff ff       	call   0x405020
406b3f:	59                   	pop    %ecx
406b40:	e8 dc 38 00 00       	call   0x40a421
406b45:	c3                   	ret
406b46:	8b 75 08             	mov    0x8(%ebp),%esi
406b49:	6a 0d                	push   $0xd
406b4b:	e8 ba 2c 00 00       	call   0x40980a
406b50:	59                   	pop    %ecx
406b51:	c3                   	ret
406b52:	8b 75 08             	mov    0x8(%ebp),%esi
406b55:	6a 0c                	push   $0xc
406b57:	e8 ae 2c 00 00       	call   0x40980a
406b5c:	59                   	pop    %ecx
406b5d:	c3                   	ret
406b5e:	8b ff                	mov    %edi,%edi
406b60:	55                   	push   %ebp
406b61:	8b ec                	mov    %esp,%ebp
406b63:	53                   	push   %ebx
406b64:	57                   	push   %edi
406b65:	8b 7d 10             	mov    0x10(%ebp),%edi
406b68:	33 db                	xor    %ebx,%ebx
406b6a:	3b fb                	cmp    %ebx,%edi
406b6c:	7e 2c                	jle    0x406b9a
406b6e:	56                   	push   %esi
406b6f:	8d 75 10             	lea    0x10(%ebp),%esi
406b72:	83 c6 04             	add    $0x4,%esi
406b75:	ff 36                	push   (%esi)
406b77:	ff 75 0c             	push   0xc(%ebp)
406b7a:	ff 75 08             	push   0x8(%ebp)
406b7d:	e8 5f 8e 00 00       	call   0x40f9e1
406b82:	83 c4 0c             	add    $0xc,%esp
406b85:	85 c0                	test   %eax,%eax
406b87:	74 0d                	je     0x406b96
406b89:	53                   	push   %ebx
406b8a:	53                   	push   %ebx
406b8b:	53                   	push   %ebx
406b8c:	53                   	push   %ebx
406b8d:	53                   	push   %ebx
406b8e:	e8 6a e5 ff ff       	call   0x4050fd
406b93:	83 c4 14             	add    $0x14,%esp
406b96:	4f                   	dec    %edi
406b97:	75 d9                	jne    0x406b72
406b99:	5e                   	pop    %esi
406b9a:	5f                   	pop    %edi
406b9b:	5b                   	pop    %ebx
406b9c:	5d                   	pop    %ebp
406b9d:	c3                   	ret
406b9e:	8b ff                	mov    %edi,%edi
406ba0:	55                   	push   %ebp
406ba1:	8b ec                	mov    %esp,%ebp
406ba3:	53                   	push   %ebx
406ba4:	56                   	push   %esi
406ba5:	57                   	push   %edi
406ba6:	8b 7d 08             	mov    0x8(%ebp),%edi
406ba9:	68 90 00 00 00       	push   $0x90
406bae:	33 db                	xor    %ebx,%ebx
406bb0:	53                   	push   %ebx
406bb1:	57                   	push   %edi
406bb2:	e8 49 3b 00 00       	call   0x40a700
406bb7:	8b 75 0c             	mov    0xc(%ebp),%esi
406bba:	8a 06                	mov    (%esi),%al
406bbc:	83 c4 0c             	add    $0xc,%esp
406bbf:	84 c0                	test   %al,%al
406bc1:	75 07                	jne    0x406bca
406bc3:	33 c0                	xor    %eax,%eax
406bc5:	e9 f8 00 00 00       	jmp    0x406cc2
406bca:	3c 2e                	cmp    $0x2e,%al
406bcc:	75 34                	jne    0x406c02
406bce:	8d 46 01             	lea    0x1(%esi),%eax
406bd1:	38 18                	cmp    %bl,(%eax)
406bd3:	74 2d                	je     0x406c02
406bd5:	6a 0f                	push   $0xf
406bd7:	50                   	push   %eax
406bd8:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
406bde:	6a 10                	push   $0x10
406be0:	50                   	push   %eax
406be1:	e8 c0 8e 00 00       	call   0x40faa6
406be6:	83 c4 10             	add    $0x10,%esp
406be9:	85 c0                	test   %eax,%eax
406beb:	74 0d                	je     0x406bfa
406bed:	53                   	push   %ebx
406bee:	53                   	push   %ebx
406bef:	53                   	push   %ebx
406bf0:	53                   	push   %ebx
406bf1:	53                   	push   %ebx
406bf2:	e8 06 e5 ff ff       	call   0x4050fd
406bf7:	83 c4 14             	add    $0x14,%esp
406bfa:	88 9f 8f 00 00 00    	mov    %bl,0x8f(%edi)
406c00:	eb c1                	jmp    0x406bc3
406c02:	68 d0 a3 41 00       	push   $0x41a3d0
406c07:	56                   	push   %esi
406c08:	89 5d 0c             	mov    %ebx,0xc(%ebp)
406c0b:	e8 50 8e 00 00       	call   0x40fa60
406c10:	3b c3                	cmp    %ebx,%eax
406c12:	e9 a0 00 00 00       	jmp    0x406cb7
406c17:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406c1b:	8d 3c 30             	lea    (%eax,%esi,1),%edi
406c1e:	8a 1f                	mov    (%edi),%bl
406c20:	75 1b                	jne    0x406c3d
406c22:	83 f8 40             	cmp    $0x40,%eax
406c25:	0f 83 94 00 00 00    	jae    0x406cbf
406c2b:	80 fb 2e             	cmp    $0x2e,%bl
406c2e:	0f 84 8b 00 00 00    	je     0x406cbf
406c34:	50                   	push   %eax
406c35:	56                   	push   %esi
406c36:	6a 40                	push   $0x40
406c38:	ff 75 08             	push   0x8(%ebp)
406c3b:	eb 3b                	jmp    0x406c78
406c3d:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
406c41:	75 16                	jne    0x406c59
406c43:	83 f8 40             	cmp    $0x40,%eax
406c46:	73 77                	jae    0x406cbf
406c48:	80 fb 5f             	cmp    $0x5f,%bl
406c4b:	74 72                	je     0x406cbf
406c4d:	50                   	push   %eax
406c4e:	8b 45 08             	mov    0x8(%ebp),%eax
406c51:	56                   	push   %esi
406c52:	6a 40                	push   $0x40
406c54:	83 c0 40             	add    $0x40,%eax
406c57:	eb 1e                	jmp    0x406c77
406c59:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
406c5d:	75 60                	jne    0x406cbf
406c5f:	83 f8 10             	cmp    $0x10,%eax
406c62:	73 5b                	jae    0x406cbf
406c64:	84 db                	test   %bl,%bl
406c66:	74 05                	je     0x406c6d
406c68:	80 fb 2c             	cmp    $0x2c,%bl
406c6b:	75 52                	jne    0x406cbf
406c6d:	50                   	push   %eax
406c6e:	8b 45 08             	mov    0x8(%ebp),%eax
406c71:	56                   	push   %esi
406c72:	6a 10                	push   $0x10
406c74:	83 e8 80             	sub    $0xffffff80,%eax
406c77:	50                   	push   %eax
406c78:	e8 29 8e 00 00       	call   0x40faa6
406c7d:	83 c4 10             	add    $0x10,%esp
406c80:	85 c0                	test   %eax,%eax
406c82:	74 0f                	je     0x406c93
406c84:	33 c0                	xor    %eax,%eax
406c86:	50                   	push   %eax
406c87:	50                   	push   %eax
406c88:	50                   	push   %eax
406c89:	50                   	push   %eax
406c8a:	50                   	push   %eax
406c8b:	e8 6d e4 ff ff       	call   0x4050fd
406c90:	83 c4 14             	add    $0x14,%esp
406c93:	80 fb 2c             	cmp    $0x2c,%bl
406c96:	0f 84 27 ff ff ff    	je     0x406bc3
406c9c:	84 db                	test   %bl,%bl
406c9e:	0f 84 1f ff ff ff    	je     0x406bc3
406ca4:	ff 45 0c             	incl   0xc(%ebp)
406ca7:	8d 77 01             	lea    0x1(%edi),%esi
406caa:	68 d0 a3 41 00       	push   $0x41a3d0
406caf:	56                   	push   %esi
406cb0:	e8 ab 8d 00 00       	call   0x40fa60
406cb5:	85 c0                	test   %eax,%eax
406cb7:	59                   	pop    %ecx
406cb8:	59                   	pop    %ecx
406cb9:	0f 85 58 ff ff ff    	jne    0x406c17
406cbf:	83 c8 ff             	or     $0xffffffff,%eax
406cc2:	5f                   	pop    %edi
406cc3:	5e                   	pop    %esi
406cc4:	5b                   	pop    %ebx
406cc5:	5d                   	pop    %ebp
406cc6:	c3                   	ret
406cc7:	8b ff                	mov    %edi,%edi
406cc9:	55                   	push   %ebp
406cca:	8b ec                	mov    %esp,%ebp
406ccc:	53                   	push   %ebx
406ccd:	56                   	push   %esi
406cce:	8b 75 10             	mov    0x10(%ebp),%esi
406cd1:	56                   	push   %esi
406cd2:	ff 75 0c             	push   0xc(%ebp)
406cd5:	ff 75 08             	push   0x8(%ebp)
406cd8:	e8 da 28 00 00       	call   0x4095b7
406cdd:	83 c4 0c             	add    $0xc,%esp
406ce0:	33 db                	xor    %ebx,%ebx
406ce2:	85 c0                	test   %eax,%eax
406ce4:	74 0d                	je     0x406cf3
406ce6:	53                   	push   %ebx
406ce7:	53                   	push   %ebx
406ce8:	53                   	push   %ebx
406ce9:	53                   	push   %ebx
406cea:	53                   	push   %ebx
406ceb:	e8 0d e4 ff ff       	call   0x4050fd
406cf0:	83 c4 14             	add    $0x14,%esp
406cf3:	8d 46 40             	lea    0x40(%esi),%eax
406cf6:	38 18                	cmp    %bl,(%eax)
406cf8:	74 16                	je     0x406d10
406cfa:	50                   	push   %eax
406cfb:	68 d8 a3 41 00       	push   $0x41a3d8
406d00:	6a 02                	push   $0x2
406d02:	ff 75 0c             	push   0xc(%ebp)
406d05:	ff 75 08             	push   0x8(%ebp)
406d08:	e8 51 fe ff ff       	call   0x406b5e
406d0d:	83 c4 14             	add    $0x14,%esp
406d10:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
406d16:	38 18                	cmp    %bl,(%eax)
406d18:	5e                   	pop    %esi
406d19:	5b                   	pop    %ebx
406d1a:	74 16                	je     0x406d32
406d1c:	50                   	push   %eax
406d1d:	68 d4 a3 41 00       	push   $0x41a3d4
406d22:	6a 02                	push   $0x2
406d24:	ff 75 0c             	push   0xc(%ebp)
406d27:	ff 75 08             	push   0x8(%ebp)
406d2a:	e8 2f fe ff ff       	call   0x406b5e
406d2f:	83 c4 14             	add    $0x14,%esp
406d32:	5d                   	pop    %ebp
406d33:	c3                   	ret
406d34:	8b ff                	mov    %edi,%edi
406d36:	55                   	push   %ebp
406d37:	8b ec                	mov    %esp,%ebp
406d39:	83 ec 14             	sub    $0x14,%esp
406d3c:	53                   	push   %ebx
406d3d:	33 db                	xor    %ebx,%ebx
406d3f:	43                   	inc    %ebx
406d40:	68 55 03 00 00       	push   $0x355
406d45:	89 5d f0             	mov    %ebx,-0x10(%ebp)
406d48:	e8 13 0e 00 00       	call   0x407b60
406d4d:	59                   	pop    %ecx
406d4e:	89 45 ec             	mov    %eax,-0x14(%ebp)
406d51:	85 c0                	test   %eax,%eax
406d53:	0f 84 55 01 00 00    	je     0x406eae
406d59:	57                   	push   %edi
406d5a:	8d 78 04             	lea    0x4(%eax),%edi
406d5d:	c6 07 00             	movb   $0x0,(%edi)
406d60:	89 18                	mov    %ebx,(%eax)
406d62:	89 5d f8             	mov    %ebx,-0x8(%ebp)
406d65:	8d 5e 10             	lea    0x10(%esi),%ebx
406d68:	8d 43 48             	lea    0x48(%ebx),%eax
406d6b:	ff 30                	push   (%eax)
406d6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
406d70:	68 e0 a3 41 00       	push   $0x41a3e0
406d75:	ff 35 14 a3 41 00    	push   0x41a314
406d7b:	6a 03                	push   $0x3
406d7d:	68 51 03 00 00       	push   $0x351
406d82:	57                   	push   %edi
406d83:	e8 d6 fd ff ff       	call   0x406b5e
406d88:	8b 45 f4             	mov    -0xc(%ebp),%eax
406d8b:	83 c4 18             	add    $0x18,%esp
406d8e:	89 45 f4             	mov    %eax,-0xc(%ebp)
406d91:	c7 45 fc 14 a3 41 00 	movl   $0x41a314,-0x4(%ebp)
406d98:	68 dc a3 41 00       	push   $0x41a3dc
406d9d:	68 51 03 00 00       	push   $0x351
406da2:	57                   	push   %edi
406da3:	e8 39 8c 00 00       	call   0x40f9e1
406da8:	83 c4 0c             	add    $0xc,%esp
406dab:	85 c0                	test   %eax,%eax
406dad:	74 0f                	je     0x406dbe
406daf:	33 c0                	xor    %eax,%eax
406db1:	50                   	push   %eax
406db2:	50                   	push   %eax
406db3:	50                   	push   %eax
406db4:	50                   	push   %eax
406db5:	50                   	push   %eax
406db6:	e8 42 e3 ff ff       	call   0x4050fd
406dbb:	83 c4 14             	add    $0x14,%esp
406dbe:	ff 73 58             	push   0x58(%ebx)
406dc1:	8b 45 f4             	mov    -0xc(%ebp),%eax
406dc4:	ff 30                	push   (%eax)
406dc6:	e8 65 54 00 00       	call   0x40c230
406dcb:	59                   	pop    %ecx
406dcc:	59                   	pop    %ecx
406dcd:	85 c0                	test   %eax,%eax
406dcf:	74 04                	je     0x406dd5
406dd1:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
406dd5:	ff 45 f8             	incl   -0x8(%ebp)
406dd8:	8b 45 f8             	mov    -0x8(%ebp),%eax
406ddb:	83 45 fc 0c          	addl   $0xc,-0x4(%ebp)
406ddf:	c1 e0 04             	shl    $0x4,%eax
406de2:	8d 1c 30             	lea    (%eax,%esi,1),%ebx
406de5:	8d 43 48             	lea    0x48(%ebx),%eax
406de8:	ff 30                	push   (%eax)
406dea:	89 45 f4             	mov    %eax,-0xc(%ebp)
406ded:	8b 45 fc             	mov    -0x4(%ebp),%eax
406df0:	68 e0 a3 41 00       	push   $0x41a3e0
406df5:	ff 30                	push   (%eax)
406df7:	6a 03                	push   $0x3
406df9:	68 51 03 00 00       	push   $0x351
406dfe:	57                   	push   %edi
406dff:	e8 5a fd ff ff       	call   0x406b5e
406e04:	83 c4 18             	add    $0x18,%esp
406e07:	81 7d fc 44 a3 41 00 	cmpl   $0x41a344,-0x4(%ebp)
406e0e:	7c 88                	jl     0x406d98
406e10:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
406e14:	75 49                	jne    0x406e5f
406e16:	8b 46 50             	mov    0x50(%esi),%eax
406e19:	8b 1d 78 a0 41 00    	mov    0x41a078,%ebx
406e1f:	85 c0                	test   %eax,%eax
406e21:	74 10                	je     0x406e33
406e23:	50                   	push   %eax
406e24:	ff d3                	call   *%ebx
406e26:	85 c0                	test   %eax,%eax
406e28:	75 09                	jne    0x406e33
406e2a:	ff 76 50             	push   0x50(%esi)
406e2d:	e8 ee e1 ff ff       	call   0x405020
406e32:	59                   	pop    %ecx
406e33:	8b 46 54             	mov    0x54(%esi),%eax
406e36:	85 c0                	test   %eax,%eax
406e38:	74 10                	je     0x406e4a
406e3a:	50                   	push   %eax
406e3b:	ff d3                	call   *%ebx
406e3d:	85 c0                	test   %eax,%eax
406e3f:	75 09                	jne    0x406e4a
406e41:	ff 76 54             	push   0x54(%esi)
406e44:	e8 d7 e1 ff ff       	call   0x405020
406e49:	59                   	pop    %ecx
406e4a:	8b 45 ec             	mov    -0x14(%ebp),%eax
406e4d:	83 66 54 00          	andl   $0x0,0x54(%esi)
406e51:	83 66 4c 00          	andl   $0x0,0x4c(%esi)
406e55:	89 46 50             	mov    %eax,0x50(%esi)
406e58:	89 7e 48             	mov    %edi,0x48(%esi)
406e5b:	8b c7                	mov    %edi,%eax
406e5d:	eb 4e                	jmp    0x406ead
406e5f:	ff 75 ec             	push   -0x14(%ebp)
406e62:	e8 b9 e1 ff ff       	call   0x405020
406e67:	8b 46 50             	mov    0x50(%esi),%eax
406e6a:	8b 3d 78 a0 41 00    	mov    0x41a078,%edi
406e70:	33 db                	xor    %ebx,%ebx
406e72:	59                   	pop    %ecx
406e73:	3b c3                	cmp    %ebx,%eax
406e75:	74 10                	je     0x406e87
406e77:	50                   	push   %eax
406e78:	ff d7                	call   *%edi
406e7a:	85 c0                	test   %eax,%eax
406e7c:	75 09                	jne    0x406e87
406e7e:	ff 76 50             	push   0x50(%esi)
406e81:	e8 9a e1 ff ff       	call   0x405020
406e86:	59                   	pop    %ecx
406e87:	8b 46 54             	mov    0x54(%esi),%eax
406e8a:	3b c3                	cmp    %ebx,%eax
406e8c:	74 10                	je     0x406e9e
406e8e:	50                   	push   %eax
406e8f:	ff d7                	call   *%edi
406e91:	85 c0                	test   %eax,%eax