467aa0:	33 db                	xor    %ebx,%ebx
467aa2:	43                   	inc    %ebx
467aa3:	88 45 f0             	mov    %al,-0x10(%ebp)
467aa6:	e9 ac 00 00 00       	jmp    0x467b57
467aab:	8b 56 08             	mov    0x8(%esi),%edx
467aae:	89 55 fc             	mov    %edx,-0x4(%ebp)
467ab1:	e8 29 1b fa ff       	call   0x4095df
467ab6:	84 c0                	test   %al,%al
467ab8:	74 32                	je     0x467aec
467aba:	8b 5a 04             	mov    0x4(%edx),%ebx
467abd:	83 eb 02             	sub    $0x2,%ebx
467ac0:	d1 fb                	sar    $1,%ebx
467ac2:	53                   	push   %ebx
467ac3:	e8 2e 95 fb ff       	call   0x420ff6
467ac8:	8b f8                	mov    %eax,%edi
467aca:	8b 45 fc             	mov    -0x4(%ebp),%eax
467acd:	59                   	pop    %ecx
467ace:	8b d7                	mov    %edi,%edx
467ad0:	8b 08                	mov    (%eax),%ecx
467ad2:	8d 49 04             	lea    0x4(%ecx),%ecx
467ad5:	e8 45 df ff ff       	call   0x465a1f
467ada:	84 c0                	test   %al,%al
467adc:	0f 85 8b 00 00 00    	jne    0x467b6d
467ae2:	57                   	push   %edi
467ae3:	e8 84 95 fb ff       	call   0x42106c
467ae8:	8b 55 fc             	mov    -0x4(%ebp),%edx
467aeb:	59                   	pop    %ecx
467aec:	8b 5a 04             	mov    0x4(%edx),%ebx
467aef:	85 db                	test   %ebx,%ebx
467af1:	75 0e                	jne    0x467b01
467af3:	6a 01                	push   $0x1
467af5:	e8 fc 94 fb ff       	call   0x420ff6
467afa:	8b f8                	mov    %eax,%edi
467afc:	59                   	pop    %ecx
467afd:	88 1f                	mov    %bl,(%edi)
467aff:	eb 6c                	jmp    0x467b6d
467b01:	53                   	push   %ebx
467b02:	e8 ef 94 fb ff       	call   0x420ff6
467b07:	59                   	pop    %ecx
467b08:	53                   	push   %ebx
467b09:	8d 4d e0             	lea    -0x20(%ebp),%ecx
467b0c:	8b f8                	mov    %eax,%edi
467b0e:	e8 fa fb ff ff       	call   0x46770d
467b13:	8d 45 e0             	lea    -0x20(%ebp),%eax
467b16:	50                   	push   %eax
467b17:	8b 45 fc             	mov    -0x4(%ebp),%eax
467b1a:	50                   	push   %eax
467b1b:	e8 55 e0 f9 ff       	call   0x405b75
467b20:	53                   	push   %ebx
467b21:	ff 75 e0             	push   -0x20(%ebp)
467b24:	57                   	push   %edi
467b25:	e8 56 95 fb ff       	call   0x421080
467b2a:	83 c4 0c             	add    $0xc,%esp
467b2d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
467b30:	e8 2f df f9 ff       	call   0x405a64
467b35:	eb 36                	jmp    0x467b6d
467b37:	dd 06                	fldl   (%esi)
467b39:	dd 5d f0             	fstpl  -0x10(%ebp)
467b3c:	6a 08                	push   $0x8
467b3e:	eb 16                	jmp    0x467b56
467b40:	8b 06                	mov    (%esi),%eax
467b42:	89 45 f0             	mov    %eax,-0x10(%ebp)
467b45:	8b 46 04             	mov    0x4(%esi),%eax
467b48:	6a 08                	push   $0x8
467b4a:	89 45 f4             	mov    %eax,-0xc(%ebp)
467b4d:	eb 07                	jmp    0x467b56
467b4f:	8b 06                	mov    (%esi),%eax
467b51:	6a 04                	push   $0x4
467b53:	89 45 f0             	mov    %eax,-0x10(%ebp)
467b56:	5b                   	pop    %ebx
467b57:	53                   	push   %ebx
467b58:	e8 99 94 fb ff       	call   0x420ff6
467b5d:	8b f8                	mov    %eax,%edi
467b5f:	8d 45 f0             	lea    -0x10(%ebp),%eax
467b62:	53                   	push   %ebx
467b63:	50                   	push   %eax
467b64:	57                   	push   %edi
467b65:	e8 16 95 fb ff       	call   0x421080
467b6a:	83 c4 10             	add    $0x10,%esp
467b6d:	6a 08                	push   $0x8
467b6f:	e8 82 94 fb ff       	call   0x420ff6
467b74:	89 06                	mov    %eax,(%esi)
467b76:	59                   	pop    %ecx
467b77:	89 18                	mov    %ebx,(%eax)
467b79:	8b 0e                	mov    (%esi),%ecx
467b7b:	89 79 04             	mov    %edi,0x4(%ecx)
467b7e:	8b ce                	mov    %esi,%ecx
467b80:	e8 fa 1d fa ff       	call   0x40997f
467b85:	c7 46 0c 0b 00 00 00 	movl   $0xb,0xc(%esi)
467b8c:	5f                   	pop    %edi
467b8d:	5e                   	pop    %esi
467b8e:	b0 01                	mov    $0x1,%al
467b90:	5b                   	pop    %ebx
467b91:	8b e5                	mov    %ebp,%esp
467b93:	5d                   	pop    %ebp
467b94:	c3                   	ret
467b95:	83 79 0c 0d          	cmpl   $0xd,0xc(%ecx)
467b99:	75 06                	jne    0x467ba1
467b9b:	8b 01                	mov    (%ecx),%eax
467b9d:	8b 40 10             	mov    0x10(%eax),%eax
467ba0:	c3                   	ret
467ba1:	33 c0                	xor    %eax,%eax
467ba3:	c3                   	ret
467ba4:	55                   	push   %ebp
467ba5:	8b ec                	mov    %esp,%ebp
467ba7:	83 79 0c 0e          	cmpl   $0xe,0xc(%ecx)
467bab:	75 1f                	jne    0x467bcc
467bad:	8b 11                	mov    (%ecx),%edx
467baf:	8b 45 08             	mov    0x8(%ebp),%eax
467bb2:	8b 0a                	mov    (%edx),%ecx
467bb4:	89 08                	mov    %ecx,(%eax)
467bb6:	8b 4a 04             	mov    0x4(%edx),%ecx
467bb9:	89 48 04             	mov    %ecx,0x4(%eax)
467bbc:	8b 4a 08             	mov    0x8(%edx),%ecx
467bbf:	89 48 08             	mov    %ecx,0x8(%eax)
467bc2:	8b 4a 0c             	mov    0xc(%edx),%ecx
467bc5:	89 48 0c             	mov    %ecx,0xc(%eax)
467bc8:	ff 01                	incl   (%ecx)
467bca:	eb 10                	jmp    0x467bdc
467bcc:	8b 4d 08             	mov    0x8(%ebp),%ecx
467bcf:	68 10 f9 48 00       	push   $0x48f910
467bd4:	e8 68 03 fa ff       	call   0x407f41
467bd9:	8b 45 08             	mov    0x8(%ebp),%eax
467bdc:	5d                   	pop    %ebp
467bdd:	c2 04 00             	ret    $0x4
467be0:	55                   	push   %ebp
467be1:	8b ec                	mov    %esp,%ebp
467be3:	56                   	push   %esi
467be4:	57                   	push   %edi
467be5:	8b f9                	mov    %ecx,%edi
467be7:	e8 34 1e fa ff       	call   0x409a20
467bec:	6a 14                	push   $0x14
467bee:	c7 47 0c 0d 00 00 00 	movl   $0xd,0xc(%edi)
467bf5:	e8 fc 93 fb ff       	call   0x420ff6
467bfa:	8b f0                	mov    %eax,%esi
467bfc:	59                   	pop    %ecx
467bfd:	85 f6                	test   %esi,%esi
467bff:	74 09                	je     0x467c0a
467c01:	8b ce                	mov    %esi,%ecx
467c03:	e8 bf fb f9 ff       	call   0x4077c7
467c08:	eb 02                	jmp    0x467c0c
467c0a:	33 f6                	xor    %esi,%esi
467c0c:	8b 45 08             	mov    0x8(%ebp),%eax
467c0f:	89 37                	mov    %esi,(%edi)
467c11:	5f                   	pop    %edi
467c12:	89 46 10             	mov    %eax,0x10(%esi)
467c15:	5e                   	pop    %esi
467c16:	5d                   	pop    %ebp
467c17:	c2 04 00             	ret    $0x4
467c1a:	55                   	push   %ebp
467c1b:	8b ec                	mov    %esp,%ebp
467c1d:	83 ec 38             	sub    $0x38,%esp
467c20:	53                   	push   %ebx
467c21:	56                   	push   %esi
467c22:	57                   	push   %edi
467c23:	8b 7d 08             	mov    0x8(%ebp),%edi
467c26:	8b d9                	mov    %ecx,%ebx
467c28:	89 5d e8             	mov    %ebx,-0x18(%ebp)
467c2b:	0f b7 07             	movzwl (%edi),%eax
467c2e:	a9 00 20 00 00       	test   $0x2000,%eax
467c33:	75 07                	jne    0x467c3c
467c35:	32 c0                	xor    %al,%al
467c37:	e9 2f 03 00 00       	jmp    0x467f6b
467c3c:	a9 00 40 00 00       	test   $0x4000,%eax
467c41:	74 07                	je     0x467c4a
467c43:	8b 47 08             	mov    0x8(%edi),%eax
467c46:	8b 38                	mov    (%eax),%edi
467c48:	eb 03                	jmp    0x467c4d
467c4a:	8b 7f 08             	mov    0x8(%edi),%edi
467c4d:	89 7d f4             	mov    %edi,-0xc(%ebp)
467c50:	85 ff                	test   %edi,%edi
467c52:	74 e1                	je     0x467c35
467c54:	e8 ff 17 fa ff       	call   0x409458
467c59:	8b 33                	mov    (%ebx),%esi
467c5b:	8b ce                	mov    %esi,%ecx
467c5d:	e8 5e 16 fa ff       	call   0x4092c0
467c62:	8b 06                	mov    (%esi),%eax
467c64:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
467c6b:	0f be 07             	movsbl (%edi),%eax
467c6e:	89 45 08             	mov    %eax,0x8(%ebp)
467c71:	85 c0                	test   %eax,%eax
467c73:	7e 17                	jle    0x467c8c
467c75:	8d 77 10             	lea    0x10(%edi),%esi
467c78:	8b f8                	mov    %eax,%edi
467c7a:	ff 36                	push   (%esi)
467c7c:	8b 0b                	mov    (%ebx),%ecx
467c7e:	e8 09 16 fa ff       	call   0x40928c
467c83:	8d 76 08             	lea    0x8(%esi),%esi
467c86:	4f                   	dec    %edi
467c87:	75 f1                	jne    0x467c7a
467c89:	8b 7d f4             	mov    -0xc(%ebp),%edi
467c8c:	6a 00                	push   $0x0
467c8e:	ff 33                	push   (%ebx)
467c90:	e8 1b 15 fa ff       	call   0x4091b0
467c95:	8b 33                	mov    (%ebx),%esi
467c97:	59                   	pop    %ecx
467c98:	59                   	pop    %ecx
467c99:	6a 02                	push   $0x2
467c9b:	58                   	pop    %eax
467c9c:	50                   	push   %eax
467c9d:	8b ce                	mov    %esi,%ecx
467c9f:	89 45 f0             	mov    %eax,-0x10(%ebp)
467ca2:	e8 58 e8 fe ff       	call   0x4564ff
467ca7:	8b 06                	mov    (%esi),%eax
467ca9:	8b 48 04             	mov    0x4(%eax),%ecx
467cac:	8b 70 08             	mov    0x8(%eax),%esi
467caf:	89 4d ec             	mov    %ecx,-0x14(%ebp)
467cb2:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
467cb6:	8b c1                	mov    %ecx,%eax
467cb8:	25 00 0f 00 00       	and    $0xf00,%eax
467cbd:	3d 00 01 00 00       	cmp    $0x100,%eax
467cc2:	0f 84 39 02 00 00    	je     0x467f01
467cc8:	3d 00 02 00 00       	cmp    $0x200,%eax
467ccd:	0f 84 22 02 00 00    	je     0x467ef5
467cd3:	3d 00 04 00 00       	cmp    $0x400,%eax
467cd8:	0f 84 ac 01 00 00    	je     0x467e8a
467cde:	3d 00 08 00 00       	cmp    $0x800,%eax
467ce3:	0f 84 2c 01 00 00    	je     0x467e15
467ce9:	84 c9                	test   %cl,%cl
467ceb:	0f 89 04 02 00 00    	jns    0x467ef5
467cf1:	8d 45 08             	lea    0x8(%ebp),%eax
467cf4:	50                   	push   %eax
467cf5:	57                   	push   %edi
467cf6:	ff 15 54 f4 48 00    	call   *0x48f454
467cfc:	66 8b 4d 08          	mov    0x8(%ebp),%cx
467d00:	33 db                	xor    %ebx,%ebx
467d02:	0f b7 c1             	movzwl %cx,%eax
467d05:	43                   	inc    %ebx
467d06:	83 c0 fe             	add    $0xfffffffe,%eax
467d09:	83 f8 15             	cmp    $0x15,%eax
467d0c:	77 53                	ja     0x467d61
467d0e:	0f b6 80 8e 7f 46 00 	movzbl 0x467f8e(%eax),%eax
467d15:	ff 24 85 76 7f 46 00 	jmp    *0x467f76(,%eax,4)
467d1c:	8d 45 f8             	lea    -0x8(%ebp),%eax
467d1f:	50                   	push   %eax
467d20:	57                   	push   %edi
467d21:	ff 15 28 f4 48 00    	call   *0x48f428
467d27:	85 c0                	test   %eax,%eax
467d29:	0f 88 c3 01 00 00    	js     0x467ef2
467d2f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
467d32:	56                   	push   %esi
467d33:	ff 75 f8             	push   -0x8(%ebp)
467d36:	56                   	push   %esi
467d37:	e8 12 fc ff ff       	call   0x46794e
467d3c:	50                   	push   %eax
467d3d:	e8 3e 93 fb ff       	call   0x421080
467d42:	83 c4 0c             	add    $0xc,%esp
467d45:	57                   	push   %edi
467d46:	ff 15 24 f4 48 00    	call   *0x48f424
467d4c:	b0 01                	mov    $0x1,%al
467d4e:	e9 18 02 00 00       	jmp    0x467f6b
467d53:	89 5d f0             	mov    %ebx,-0x10(%ebp)
467d56:	eb 1e                	jmp    0x467d76
467d58:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
467d5f:	eb 15                	jmp    0x467d76
467d61:	0f b7 c1             	movzwl %cx,%eax
467d64:	a9 00 40 00 00       	test   $0x4000,%eax
467d69:	0f 84 83 01 00 00    	je     0x467ef2
467d6f:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
467d76:	8d 45 f8             	lea    -0x8(%ebp),%eax
467d79:	50                   	push   %eax
467d7a:	57                   	push   %edi
467d7b:	ff 15 28 f4 48 00    	call   *0x48f428
467d81:	85 c0                	test   %eax,%eax
467d83:	0f 88 e0 01 00 00    	js     0x467f69
467d89:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
467d8d:	85 f6                	test   %esi,%esi
467d8f:	0f 8e cd 01 00 00    	jle    0x467f62
467d95:	8b 7d f0             	mov    -0x10(%ebp),%edi
467d98:	6a 10                	push   $0x10
467d9a:	e8 57 92 fb ff       	call   0x420ff6
467d9f:	59                   	pop    %ecx
467da0:	85 c0                	test   %eax,%eax
467da2:	74 0c                	je     0x467db0
467da4:	83 20 00             	andl   $0x0,(%eax)
467da7:	83 60 08 00          	andl   $0x0,0x8(%eax)
467dab:	89 58 0c             	mov    %ebx,0xc(%eax)
467dae:	eb 02                	jmp    0x467db2
467db0:	33 c0                	xor    %eax,%eax
467db2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
467db5:	8b 55 ec             	mov    -0x14(%ebp),%edx
467db8:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
467dbb:	ba 00 40 00 00       	mov    $0x4000,%edx
467dc0:	66 8b 4d 08          	mov    0x8(%ebp),%cx
467dc4:	0f b7 c1             	movzwl %cx,%eax
467dc7:	85 c2                	test   %eax,%edx
467dc9:	74 16                	je     0x467de1
467dcb:	57                   	push   %edi
467dcc:	ff 75 f8             	push   -0x8(%ebp)
467dcf:	8d 45 d4             	lea    -0x2c(%ebp),%eax
467dd2:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
467dd6:	50                   	push   %eax
467dd7:	e8 a4 92 fb ff       	call   0x421080
467ddc:	83 c4 0c             	add    $0xc,%esp
467ddf:	eb 0f                	jmp    0x467df0
467de1:	8b c2                	mov    %edx,%eax
467de3:	66 0b c1             	or     %cx,%ax
467de6:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
467dea:	8b 45 f8             	mov    -0x8(%ebp),%eax
467ded:	89 45 d4             	mov    %eax,-0x2c(%ebp)
467df0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
467df3:	8d 45 cc             	lea    -0x34(%ebp),%eax
467df6:	50                   	push   %eax
467df7:	8b 45 e8             	mov    -0x18(%ebp),%eax
467dfa:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
467dfd:	e8 02 fa ff ff       	call   0x467804
467e02:	8b 45 e8             	mov    -0x18(%ebp),%eax
467e05:	01 7d f8             	add    %edi,-0x8(%ebp)
467e08:	40                   	inc    %eax
467e09:	89 45 e8             	mov    %eax,-0x18(%ebp)
467e0c:	3b c6                	cmp    %esi,%eax
467e0e:	7c 88                	jl     0x467d98
467e10:	e9 4a 01 00 00       	jmp    0x467f5f
467e15:	8d 45 e4             	lea    -0x1c(%ebp),%eax
467e18:	50                   	push   %eax
467e19:	57                   	push   %edi
467e1a:	ff 15 28 f4 48 00    	call   *0x48f428
467e20:	33 db                	xor    %ebx,%ebx
467e22:	43                   	inc    %ebx
467e23:	85 c0                	test   %eax,%eax
467e25:	0f 88 3e 01 00 00    	js     0x467f69
467e2b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
467e2f:	85 f6                	test   %esi,%esi
467e31:	0f 8e 2b 01 00 00    	jle    0x467f62
467e37:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
467e3b:	8b 7d f0             	mov    -0x10(%ebp),%edi
467e3e:	6a 10                	push   $0x10
467e40:	e8 b1 91 fb ff       	call   0x420ff6
467e45:	59                   	pop    %ecx
467e46:	85 c0                	test   %eax,%eax
467e48:	74 0c                	je     0x467e56
467e4a:	83 20 00             	andl   $0x0,(%eax)
467e4d:	83 60 08 00          	andl   $0x0,0x8(%eax)
467e51:	89 58 0c             	mov    %ebx,0xc(%eax)
467e54:	eb 02                	jmp    0x467e58
467e56:	33 c0                	xor    %eax,%eax
467e58:	8b 55 ec             	mov    -0x14(%ebp),%edx
467e5b:	89 04 ba             	mov    %eax,(%edx,%edi,4)
467e5e:	b8 0c 40 00 00       	mov    $0x400c,%eax
467e63:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
467e67:	8b 45 e4             	mov    -0x1c(%ebp),%eax
467e6a:	03 45 e8             	add    -0x18(%ebp),%eax
467e6d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
467e70:	8d 45 cc             	lea    -0x34(%ebp),%eax
467e73:	8b 0c ba             	mov    (%edx,%edi,4),%ecx
467e76:	50                   	push   %eax
467e77:	e8 88 f9 ff ff       	call   0x467804
467e7c:	83 45 e8 10          	addl   $0x10,-0x18(%ebp)
467e80:	47                   	inc    %edi
467e81:	3b fe                	cmp    %esi,%edi