476c02:	55                   	push   %ebp
476c03:	8b ec                	mov    %esp,%ebp
476c05:	8b 45 0c             	mov    0xc(%ebp),%eax
476c08:	80 38 00             	cmpb   $0x0,(%eax)
476c0b:	74 04                	je     0x476c11
476c0d:	32 c0                	xor    %al,%al
476c0f:	5d                   	pop    %ebp
476c10:	c3                   	ret
476c11:	8b 4d 08             	mov    0x8(%ebp),%ecx
476c14:	c6 00 01             	movb   $0x1,(%eax)
476c17:	b0 01                	mov    $0x1,%al
476c19:	83 09 10             	orl    $0x10,(%ecx)
476c1c:	5d                   	pop    %ebp
476c1d:	c3                   	ret
476c1e:	8b ff                	mov    %edi,%edi
476c20:	55                   	push   %ebp
476c21:	8b ec                	mov    %esp,%ebp
476c23:	8b 45 0c             	mov    0xc(%ebp),%eax
476c26:	80 38 00             	cmpb   $0x0,(%eax)
476c29:	74 04                	je     0x476c2f
476c2b:	32 c0                	xor    %al,%al
476c2d:	5d                   	pop    %ebp
476c2e:	c3                   	ret
476c2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
476c32:	c6 00 01             	movb   $0x1,(%eax)
476c35:	b0 01                	mov    $0x1,%al
476c37:	83 09 20             	orl    $0x20,(%ecx)
476c3a:	5d                   	pop    %ebp
476c3b:	c3                   	ret
476c3c:	8b ff                	mov    %edi,%edi
476c3e:	55                   	push   %ebp
476c3f:	8b ec                	mov    %esp,%ebp
476c41:	8b 4d 08             	mov    0x8(%ebp),%ecx
476c44:	ba 00 10 00 00       	mov    $0x1000,%edx
476c49:	8b 01                	mov    (%ecx),%eax
476c4b:	85 c2                	test   %eax,%edx
476c4d:	74 04                	je     0x476c53
476c4f:	32 c0                	xor    %al,%al
476c51:	5d                   	pop    %ebp
476c52:	c3                   	ret
476c53:	0b c2                	or     %edx,%eax
476c55:	89 01                	mov    %eax,(%ecx)
476c57:	b0 01                	mov    $0x1,%al
476c59:	5d                   	pop    %ebp
476c5a:	c3                   	ret
476c5b:	8b ff                	mov    %edi,%edi
476c5d:	55                   	push   %ebp
476c5e:	8b ec                	mov    %esp,%ebp
476c60:	8b 4d 08             	mov    0x8(%ebp),%ecx
476c63:	8b 01                	mov    (%ecx),%eax
476c65:	a9 00 c0 00 00       	test   $0xc000,%eax
476c6a:	74 04                	je     0x476c70
476c6c:	32 c0                	xor    %al,%al
476c6e:	5d                   	pop    %ebp
476c6f:	c3                   	ret
476c70:	0d 00 80 00 00       	or     $0x8000,%eax
476c75:	89 01                	mov    %eax,(%ecx)
476c77:	b0 01                	mov    $0x1,%al
476c79:	5d                   	pop    %ebp
476c7a:	c3                   	ret
476c7b:	8b ff                	mov    %edi,%edi
476c7d:	55                   	push   %ebp
476c7e:	8b ec                	mov    %esp,%ebp
476c80:	8b 45 0c             	mov    0xc(%ebp),%eax
476c83:	80 38 00             	cmpb   $0x0,(%eax)
476c86:	74 04                	je     0x476c8c
476c88:	32 c0                	xor    %al,%al
476c8a:	5d                   	pop    %ebp
476c8b:	c3                   	ret
476c8c:	8b 4d 08             	mov    0x8(%ebp),%ecx
476c8f:	c6 00 01             	movb   $0x1,(%eax)
476c92:	b0 01                	mov    $0x1,%al
476c94:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
476c9b:	5d                   	pop    %ebp
476c9c:	c3                   	ret
476c9d:	8b ff                	mov    %edi,%edi
476c9f:	55                   	push   %ebp
476ca0:	8b ec                	mov    %esp,%ebp
476ca2:	8b 45 0c             	mov    0xc(%ebp),%eax
476ca5:	80 38 00             	cmpb   $0x0,(%eax)
476ca8:	74 04                	je     0x476cae
476caa:	32 c0                	xor    %al,%al
476cac:	5d                   	pop    %ebp
476cad:	c3                   	ret
476cae:	8b 4d 08             	mov    0x8(%ebp),%ecx
476cb1:	c6 00 01             	movb   $0x1,(%eax)
476cb4:	b0 01                	mov    $0x1,%al
476cb6:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
476cbd:	5d                   	pop    %ebp
476cbe:	c3                   	ret
476cbf:	8b ff                	mov    %edi,%edi
476cc1:	55                   	push   %ebp
476cc2:	8b ec                	mov    %esp,%ebp
476cc4:	8b 45 0c             	mov    0xc(%ebp),%eax
476cc7:	80 38 00             	cmpb   $0x0,(%eax)
476cca:	74 04                	je     0x476cd0
476ccc:	32 c0                	xor    %al,%al
476cce:	5d                   	pop    %ebp
476ccf:	c3                   	ret
476cd0:	8b 55 08             	mov    0x8(%ebp),%edx
476cd3:	c6 00 01             	movb   $0x1,(%eax)
476cd6:	8b 02                	mov    (%edx),%eax
476cd8:	a8 02                	test   $0x2,%al
476cda:	75 f0                	jne    0x476ccc
476cdc:	8b 4a 04             	mov    0x4(%edx),%ecx
476cdf:	83 e0 fe             	and    $0xfffffffe,%eax
476ce2:	83 c8 02             	or     $0x2,%eax
476ce5:	83 e1 fc             	and    $0xfffffffc,%ecx
476ce8:	83 c9 04             	or     $0x4,%ecx
476ceb:	89 02                	mov    %eax,(%edx)
476ced:	89 4a 04             	mov    %ecx,0x4(%edx)
476cf0:	b0 01                	mov    $0x1,%al
476cf2:	5d                   	pop    %ebp
476cf3:	c3                   	ret
476cf4:	8b ff                	mov    %edi,%edi
476cf6:	55                   	push   %ebp
476cf7:	8b ec                	mov    %esp,%ebp
476cf9:	8b 4d 08             	mov    0x8(%ebp),%ecx
476cfc:	8b 01                	mov    (%ecx),%eax
476cfe:	a9 00 c0 00 00       	test   $0xc000,%eax
476d03:	74 04                	je     0x476d09
476d05:	32 c0                	xor    %al,%al
476d07:	5d                   	pop    %ebp
476d08:	c3                   	ret
476d09:	0d 00 40 00 00       	or     $0x4000,%eax
476d0e:	89 01                	mov    %eax,(%ecx)
476d10:	b0 01                	mov    $0x1,%al
476d12:	5d                   	pop    %ebp
476d13:	c3                   	ret
476d14:	8b ff                	mov    %edi,%edi
476d16:	55                   	push   %ebp
476d17:	8b ec                	mov    %esp,%ebp
476d19:	5d                   	pop    %ebp
476d1a:	e9 7a fc ff ff       	jmp    0x476999
476d1f:	8b ff                	mov    %edi,%edi
476d21:	55                   	push   %ebp
476d22:	8b ec                	mov    %esp,%ebp
476d24:	5d                   	pop    %ebp
476d25:	e9 f4 fc ff ff       	jmp    0x476a1e
476d2a:	8b ff                	mov    %edi,%edi
476d2c:	55                   	push   %ebp
476d2d:	8b ec                	mov    %esp,%ebp
476d2f:	56                   	push   %esi
476d30:	8b 75 08             	mov    0x8(%ebp),%esi
476d33:	83 fe e0             	cmp    $0xffffffe0,%esi
476d36:	77 30                	ja     0x476d68
476d38:	85 f6                	test   %esi,%esi
476d3a:	75 17                	jne    0x476d53
476d3c:	46                   	inc    %esi
476d3d:	eb 14                	jmp    0x476d53
476d3f:	e8 86 93 ff ff       	call   0x4700ca
476d44:	85 c0                	test   %eax,%eax
476d46:	74 20                	je     0x476d68
476d48:	56                   	push   %esi
476d49:	e8 1b 4f ff ff       	call   0x46bc69
476d4e:	59                   	pop    %ecx
476d4f:	85 c0                	test   %eax,%eax
476d51:	74 15                	je     0x476d68
476d53:	56                   	push   %esi
476d54:	6a 00                	push   $0x0
476d56:	ff 35 10 c3 4b 00    	push   0x4bc310
476d5c:	ff 15 80 40 49 00    	call   *0x494080
476d62:	85 c0                	test   %eax,%eax
476d64:	74 d9                	je     0x476d3f
476d66:	eb 0d                	jmp    0x476d75
476d68:	e8 c2 60 fd ff       	call   0x44ce2f
476d6d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
476d73:	33 c0                	xor    %eax,%eax
476d75:	5e                   	pop    %esi
476d76:	5d                   	pop    %ebp
476d77:	c3                   	ret
476d78:	8b ff                	mov    %edi,%edi
476d7a:	55                   	push   %ebp
476d7b:	8b ec                	mov    %esp,%ebp
476d7d:	51                   	push   %ecx
476d7e:	6a 01                	push   $0x1
476d80:	ff 75 10             	push   0x10(%ebp)
476d83:	51                   	push   %ecx
476d84:	51                   	push   %ecx
476d85:	8b c4                	mov    %esp,%eax
476d87:	ff 75 0c             	push   0xc(%ebp)
476d8a:	ff 75 08             	push   0x8(%ebp)
476d8d:	50                   	push   %eax
476d8e:	e8 3c 66 fd ff       	call   0x44d3cf
476d93:	83 c4 0c             	add    $0xc,%esp
476d96:	ff 75 14             	push   0x14(%ebp)
476d99:	e8 d8 95 ff ff       	call   0x470376
476d9e:	83 c4 14             	add    $0x14,%esp
476da1:	8b e5                	mov    %ebp,%esp
476da3:	5d                   	pop    %ebp
476da4:	c3                   	ret
476da5:	8b ff                	mov    %edi,%edi
476da7:	55                   	push   %ebp
476da8:	8b ec                	mov    %esp,%ebp
476daa:	51                   	push   %ecx
476dab:	6a 01                	push   $0x1
476dad:	ff 75 10             	push   0x10(%ebp)
476db0:	51                   	push   %ecx
476db1:	51                   	push   %ecx
476db2:	8b c4                	mov    %esp,%eax
476db4:	ff 75 0c             	push   0xc(%ebp)
476db7:	ff 75 08             	push   0x8(%ebp)
476dba:	50                   	push   %eax
476dbb:	e8 2a 66 fd ff       	call   0x44d3ea
476dc0:	83 c4 0c             	add    $0xc,%esp
476dc3:	ff 75 14             	push   0x14(%ebp)
476dc6:	e8 d3 97 ff ff       	call   0x47059e
476dcb:	83 c4 14             	add    $0x14,%esp
476dce:	8b e5                	mov    %ebp,%esp
476dd0:	5d                   	pop    %ebp
476dd1:	c3                   	ret
476dd2:	8b ff                	mov    %edi,%edi
476dd4:	55                   	push   %ebp
476dd5:	8b ec                	mov    %esp,%ebp
476dd7:	51                   	push   %ecx
476dd8:	6a 00                	push   $0x0
476dda:	ff 75 10             	push   0x10(%ebp)
476ddd:	51                   	push   %ecx
476dde:	51                   	push   %ecx
476ddf:	8b c4                	mov    %esp,%eax
476de1:	ff 75 0c             	push   0xc(%ebp)
476de4:	ff 75 08             	push   0x8(%ebp)
476de7:	50                   	push   %eax
476de8:	e8 e2 65 fd ff       	call   0x44d3cf
476ded:	83 c4 0c             	add    $0xc,%esp
476df0:	ff 75 14             	push   0x14(%ebp)
476df3:	e8 7e 95 ff ff       	call   0x470376
476df8:	83 c4 14             	add    $0x14,%esp
476dfb:	8b e5                	mov    %ebp,%esp
476dfd:	5d                   	pop    %ebp
476dfe:	c3                   	ret
476dff:	8b ff                	mov    %edi,%edi
476e01:	55                   	push   %ebp
476e02:	8b ec                	mov    %esp,%ebp
476e04:	51                   	push   %ecx
476e05:	6a 00                	push   $0x0
476e07:	ff 75 10             	push   0x10(%ebp)
476e0a:	51                   	push   %ecx
476e0b:	51                   	push   %ecx
476e0c:	8b c4                	mov    %esp,%eax
476e0e:	ff 75 0c             	push   0xc(%ebp)
476e11:	ff 75 08             	push   0x8(%ebp)
476e14:	50                   	push   %eax
476e15:	e8 d0 65 fd ff       	call   0x44d3ea
476e1a:	83 c4 0c             	add    $0xc,%esp
476e1d:	ff 75 14             	push   0x14(%ebp)
476e20:	e8 79 97 ff ff       	call   0x47059e
476e25:	83 c4 14             	add    $0x14,%esp
476e28:	8b e5                	mov    %ebp,%esp
476e2a:	5d                   	pop    %ebp
476e2b:	c3                   	ret
476e2c:	8b ff                	mov    %edi,%edi
476e2e:	55                   	push   %ebp
476e2f:	8b ec                	mov    %esp,%ebp
476e31:	51                   	push   %ecx
476e32:	6a 01                	push   $0x1
476e34:	ff 75 10             	push   0x10(%ebp)
476e37:	51                   	push   %ecx
476e38:	51                   	push   %ecx
476e39:	8b c4                	mov    %esp,%eax
476e3b:	ff 75 0c             	push   0xc(%ebp)
476e3e:	ff 75 08             	push   0x8(%ebp)
476e41:	50                   	push   %eax
476e42:	e8 88 65 fd ff       	call   0x44d3cf
476e47:	83 c4 0c             	add    $0xc,%esp
476e4a:	ff 75 14             	push   0x14(%ebp)
476e4d:	e8 31 9e ff ff       	call   0x470c83
476e52:	83 c4 14             	add    $0x14,%esp
476e55:	8b e5                	mov    %ebp,%esp
476e57:	5d                   	pop    %ebp
476e58:	c3                   	ret
476e59:	8b ff                	mov    %edi,%edi
476e5b:	55                   	push   %ebp
476e5c:	8b ec                	mov    %esp,%ebp
476e5e:	51                   	push   %ecx
476e5f:	6a 01                	push   $0x1
476e61:	ff 75 10             	push   0x10(%ebp)
476e64:	51                   	push   %ecx
476e65:	51                   	push   %ecx
476e66:	8b c4                	mov    %esp,%eax
476e68:	ff 75 0c             	push   0xc(%ebp)
476e6b:	ff 75 08             	push   0x8(%ebp)
476e6e:	50                   	push   %eax
476e6f:	e8 76 65 fd ff       	call   0x44d3ea
476e74:	83 c4 0c             	add    $0xc,%esp
476e77:	ff 75 14             	push   0x14(%ebp)
476e7a:	e8 ac a0 ff ff       	call   0x470f2b
476e7f:	83 c4 14             	add    $0x14,%esp
476e82:	8b e5                	mov    %ebp,%esp
476e84:	5d                   	pop    %ebp
476e85:	c3                   	ret
476e86:	8b ff                	mov    %edi,%edi
476e88:	55                   	push   %ebp
476e89:	8b ec                	mov    %esp,%ebp
476e8b:	51                   	push   %ecx
476e8c:	6a 00                	push   $0x0
476e8e:	ff 75 10             	push   0x10(%ebp)
476e91:	51                   	push   %ecx
476e92:	51                   	push   %ecx
476e93:	8b c4                	mov    %esp,%eax
476e95:	ff 75 0c             	push   0xc(%ebp)
476e98:	ff 75 08             	push   0x8(%ebp)
476e9b:	50                   	push   %eax
476e9c:	e8 2e 65 fd ff       	call   0x44d3cf
476ea1:	83 c4 0c             	add    $0xc,%esp
476ea4:	ff 75 14             	push   0x14(%ebp)
476ea7:	e8 d7 9d ff ff       	call   0x470c83
476eac:	83 c4 14             	add    $0x14,%esp
476eaf:	8b e5                	mov    %ebp,%esp
476eb1:	5d                   	pop    %ebp
476eb2:	c3                   	ret
476eb3:	8b ff                	mov    %edi,%edi
476eb5:	55                   	push   %ebp
476eb6:	8b ec                	mov    %esp,%ebp
476eb8:	51                   	push   %ecx
476eb9:	6a 00                	push   $0x0
476ebb:	ff 75 10             	push   0x10(%ebp)
476ebe:	51                   	push   %ecx
476ebf:	51                   	push   %ecx
476ec0:	8b c4                	mov    %esp,%eax
476ec2:	ff 75 0c             	push   0xc(%ebp)
476ec5:	ff 75 08             	push   0x8(%ebp)
476ec8:	50                   	push   %eax
476ec9:	e8 1c 65 fd ff       	call   0x44d3ea
476ece:	83 c4 0c             	add    $0xc,%esp
476ed1:	ff 75 14             	push   0x14(%ebp)
476ed4:	e8 52 a0 ff ff       	call   0x470f2b
476ed9:	83 c4 14             	add    $0x14,%esp
476edc:	8b e5                	mov    %ebp,%esp
476ede:	5d                   	pop    %ebp
476edf:	c3                   	ret
476ee0:	8b ff                	mov    %edi,%edi
476ee2:	55                   	push   %ebp
476ee3:	8b ec                	mov    %esp,%ebp
476ee5:	51                   	push   %ecx
476ee6:	6a 01                	push   $0x1
476ee8:	ff 75 10             	push   0x10(%ebp)
476eeb:	51                   	push   %ecx
476eec:	51                   	push   %ecx
476eed:	8b c4                	mov    %esp,%eax
476eef:	ff 75 0c             	push   0xc(%ebp)
476ef2:	ff 75 08             	push   0x8(%ebp)
476ef5:	50                   	push   %eax
476ef6:	e8 d4 64 fd ff       	call   0x44d3cf
476efb:	83 c4 0c             	add    $0xc,%esp
476efe:	6a 00                	push   $0x0
476f00:	e8 7e 9d ff ff       	call   0x470c83
476f05:	83 c4 14             	add    $0x14,%esp
476f08:	8b e5                	mov    %ebp,%esp
476f0a:	5d                   	pop    %ebp