429b9c:	74 08                	je     0x429ba6
429b9e:	8b 45 f8             	mov    -0x8(%ebp),%eax
429ba1:	80 38 1a             	cmpb   $0x1a,(%eax)
429ba4:	74 1c                	je     0x429bc2
429ba6:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
429baa:	c7 43 18 1c 00 00 00 	movl   $0x1c,0x18(%ebx)
429bb1:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
429bb5:	89 73 20             	mov    %esi,0x20(%ebx)
429bb8:	e9 3e fe ff ff       	jmp    0x4299fb
429bbd:	2b 45 e4             	sub    -0x1c(%ebp),%eax
429bc0:	eb 02                	jmp    0x429bc4
429bc2:	33 c0                	xor    %eax,%eax
429bc4:	5f                   	pop    %edi
429bc5:	5e                   	pop    %esi
429bc6:	5b                   	pop    %ebx
429bc7:	c9                   	leave
429bc8:	c3                   	ret
429bc9:	8b ff                	mov    %edi,%edi
429bcb:	55                   	push   %ebp
429bcc:	8b ec                	mov    %esp,%ebp
429bce:	ff 05 f0 f7 43 00    	incl   0x43f7f0
429bd4:	56                   	push   %esi
429bd5:	8b 75 08             	mov    0x8(%ebp),%esi
429bd8:	57                   	push   %edi
429bd9:	6a 01                	push   $0x1
429bdb:	bf 00 10 00 00       	mov    $0x1000,%edi
429be0:	57                   	push   %edi
429be1:	e8 ca cf fd ff       	call   0x406bb0
429be6:	6a 00                	push   $0x0
429be8:	89 46 04             	mov    %eax,0x4(%esi)
429beb:	e8 20 d0 fd ff       	call   0x406c10
429bf0:	83 c4 0c             	add    $0xc,%esp
429bf3:	8d 46 0c             	lea    0xc(%esi),%eax
429bf6:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
429bfa:	74 08                	je     0x429c04
429bfc:	6a 40                	push   $0x40
429bfe:	59                   	pop    %ecx
429bff:	f0 09 08             	lock or %ecx,(%eax)
429c02:	eb 11                	jmp    0x429c15
429c04:	b9 00 04 00 00       	mov    $0x400,%ecx
429c09:	f0 09 08             	lock or %ecx,(%eax)
429c0c:	8d 46 14             	lea    0x14(%esi),%eax
429c0f:	6a 02                	push   $0x2
429c11:	89 46 04             	mov    %eax,0x4(%esi)
429c14:	5f                   	pop    %edi
429c15:	89 7e 18             	mov    %edi,0x18(%esi)
429c18:	8b 46 04             	mov    0x4(%esi),%eax
429c1b:	83 66 08 00          	andl   $0x0,0x8(%esi)
429c1f:	5f                   	pop    %edi
429c20:	89 06                	mov    %eax,(%esi)
429c22:	5e                   	pop    %esi
429c23:	5d                   	pop    %ebp
429c24:	c3                   	ret
429c25:	8b ff                	mov    %edi,%edi
429c27:	55                   	push   %ebp
429c28:	8b ec                	mov    %esp,%ebp
429c2a:	53                   	push   %ebx
429c2b:	56                   	push   %esi
429c2c:	ba 40 80 00 00       	mov    $0x8040,%edx
429c31:	33 f6                	xor    %esi,%esi
429c33:	57                   	push   %edi
429c34:	8b 7d 08             	mov    0x8(%ebp),%edi
429c37:	8b c7                	mov    %edi,%eax
429c39:	23 c2                	and    %edx,%eax
429c3b:	8d 4a c0             	lea    -0x40(%edx),%ecx
429c3e:	66 3b c1             	cmp    %cx,%ax
429c41:	75 07                	jne    0x429c4a
429c43:	bb 00 0c 00 00       	mov    $0xc00,%ebx
429c48:	eb 19                	jmp    0x429c63
429c4a:	66 83 f8 40          	cmp    $0x40,%ax
429c4e:	75 07                	jne    0x429c57
429c50:	bb 00 08 00 00       	mov    $0x800,%ebx
429c55:	eb 0c                	jmp    0x429c63
429c57:	bb 00 04 00 00       	mov    $0x400,%ebx
429c5c:	66 3b c2             	cmp    %dx,%ax
429c5f:	74 02                	je     0x429c63
429c61:	8b de                	mov    %esi,%ebx
429c63:	8b c7                	mov    %edi,%eax
429c65:	b9 00 60 00 00       	mov    $0x6000,%ecx
429c6a:	23 c1                	and    %ecx,%eax
429c6c:	74 25                	je     0x429c93
429c6e:	3d 00 20 00 00       	cmp    $0x2000,%eax
429c73:	74 19                	je     0x429c8e
429c75:	3d 00 40 00 00       	cmp    $0x4000,%eax
429c7a:	74 0b                	je     0x429c87
429c7c:	3b c1                	cmp    %ecx,%eax
429c7e:	75 13                	jne    0x429c93
429c80:	be 00 03 00 00       	mov    $0x300,%esi
429c85:	eb 0c                	jmp    0x429c93
429c87:	be 00 02 00 00       	mov    $0x200,%esi
429c8c:	eb 05                	jmp    0x429c93
429c8e:	be 00 01 00 00       	mov    $0x100,%esi
429c93:	8b d7                	mov    %edi,%edx
429c95:	b9 00 04 00 00       	mov    $0x400,%ecx
429c9a:	c1 ea 02             	shr    $0x2,%edx
429c9d:	8b c7                	mov    %edi,%eax
429c9f:	25 00 08 00 00       	and    $0x800,%eax
429ca4:	23 d1                	and    %ecx,%edx
429ca6:	0b d0                	or     %eax,%edx
429ca8:	8b c7                	mov    %edi,%eax
429caa:	23 c1                	and    %ecx,%eax
429cac:	c1 ea 02             	shr    $0x2,%edx
429caf:	0b c2                	or     %edx,%eax
429cb1:	8b cf                	mov    %edi,%ecx
429cb3:	c1 e8 02             	shr    $0x2,%eax
429cb6:	81 e1 00 02 00 00    	and    $0x200,%ecx
429cbc:	0b c1                	or     %ecx,%eax
429cbe:	81 e7 80 01 00 00    	and    $0x180,%edi
429cc4:	c1 e8 03             	shr    $0x3,%eax
429cc7:	0b c7                	or     %edi,%eax
429cc9:	c1 e8 03             	shr    $0x3,%eax
429ccc:	0b c3                	or     %ebx,%eax
429cce:	5f                   	pop    %edi
429ccf:	0b c6                	or     %esi,%eax
429cd1:	5e                   	pop    %esi
429cd2:	5b                   	pop    %ebx
429cd3:	5d                   	pop    %ebp
429cd4:	c3                   	ret
429cd5:	8b ff                	mov    %edi,%edi
429cd7:	55                   	push   %ebp
429cd8:	8b ec                	mov    %esp,%ebp
429cda:	51                   	push   %ecx
429cdb:	53                   	push   %ebx
429cdc:	56                   	push   %esi
429cdd:	57                   	push   %edi
429cde:	8b 7d 08             	mov    0x8(%ebp),%edi
429ce1:	ba 00 10 00 00       	mov    $0x1000,%edx
429ce6:	0f b7 c7             	movzwl %di,%eax
429ce9:	8b d8                	mov    %eax,%ebx
429ceb:	89 55 fc             	mov    %edx,-0x4(%ebp)
429cee:	23 da                	and    %edx,%ebx
429cf0:	8b c8                	mov    %eax,%ecx
429cf2:	c1 e3 02             	shl    $0x2,%ebx
429cf5:	ba 00 02 00 00       	mov    $0x200,%edx
429cfa:	6a 00                	push   $0x0
429cfc:	5e                   	pop    %esi
429cfd:	81 e1 00 03 00 00    	and    $0x300,%ecx
429d03:	74 09                	je     0x429d0e
429d05:	3b ca                	cmp    %edx,%ecx
429d07:	74 0c                	je     0x429d15
429d09:	89 75 fc             	mov    %esi,-0x4(%ebp)
429d0c:	eb 07                	jmp    0x429d15
429d0e:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
429d15:	b9 00 0c 00 00       	mov    $0xc00,%ecx
429d1a:	23 c1                	and    %ecx,%eax
429d1c:	74 22                	je     0x429d40
429d1e:	3d 00 04 00 00       	cmp    $0x400,%eax
429d23:	74 16                	je     0x429d3b
429d25:	3d 00 08 00 00       	cmp    $0x800,%eax
429d2a:	74 0b                	je     0x429d37
429d2c:	3b c1                	cmp    %ecx,%eax
429d2e:	75 10                	jne    0x429d40
429d30:	be 00 03 00 00       	mov    $0x300,%esi
429d35:	eb 09                	jmp    0x429d40
429d37:	8b f2                	mov    %edx,%esi
429d39:	eb 05                	jmp    0x429d40
429d3b:	be 00 01 00 00       	mov    $0x100,%esi
429d40:	8b d7                	mov    %edi,%edx
429d42:	8b c7                	mov    %edi,%eax
429d44:	83 e0 10             	and    $0x10,%eax
429d47:	c1 ea 02             	shr    $0x2,%edx
429d4a:	83 e2 08             	and    $0x8,%edx
429d4d:	8b cf                	mov    %edi,%ecx
429d4f:	0b d0                	or     %eax,%edx
429d51:	83 e1 02             	and    $0x2,%ecx
429d54:	8b c7                	mov    %edi,%eax
429d56:	c1 ea 02             	shr    $0x2,%edx
429d59:	83 e0 08             	and    $0x8,%eax
429d5c:	c1 e1 03             	shl    $0x3,%ecx
429d5f:	0b d0                	or     %eax,%edx
429d61:	8b c7                	mov    %edi,%eax
429d63:	83 e0 04             	and    $0x4,%eax
429d66:	d1 ea                	shr    $1,%edx
429d68:	0b c1                	or     %ecx,%eax
429d6a:	83 e7 01             	and    $0x1,%edi
429d6d:	03 c0                	add    %eax,%eax
429d6f:	c1 e7 04             	shl    $0x4,%edi
429d72:	0b c2                	or     %edx,%eax
429d74:	0b c7                	or     %edi,%eax
429d76:	0b c3                	or     %ebx,%eax
429d78:	0b 45 fc             	or     -0x4(%ebp),%eax
429d7b:	5f                   	pop    %edi
429d7c:	0b c6                	or     %esi,%eax
429d7e:	5e                   	pop    %esi
429d7f:	5b                   	pop    %ebx
429d80:	c9                   	leave
429d81:	c3                   	ret
429d82:	8b ff                	mov    %edi,%edi
429d84:	55                   	push   %ebp
429d85:	8b ec                	mov    %esp,%ebp
429d87:	8b 4d 08             	mov    0x8(%ebp),%ecx
429d8a:	8b c1                	mov    %ecx,%eax
429d8c:	53                   	push   %ebx
429d8d:	56                   	push   %esi
429d8e:	8b f1                	mov    %ecx,%esi
429d90:	c1 e8 02             	shr    $0x2,%eax
429d93:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
429d99:	0b f0                	or     %eax,%esi
429d9b:	b8 00 0c 00 00       	mov    $0xc00,%eax
429da0:	57                   	push   %edi
429da1:	23 c8                	and    %eax,%ecx
429da3:	c1 ee 16             	shr    $0x16,%esi
429da6:	33 ff                	xor    %edi,%edi
429da8:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
429dae:	74 1c                	je     0x429dcc
429db0:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
429db6:	74 0f                	je     0x429dc7
429db8:	3b c8                	cmp    %eax,%ecx
429dba:	74 04                	je     0x429dc0
429dbc:	8b df                	mov    %edi,%ebx
429dbe:	eb 11                	jmp    0x429dd1
429dc0:	bb 00 80 00 00       	mov    $0x8000,%ebx
429dc5:	eb 0a                	jmp    0x429dd1
429dc7:	6a 40                	push   $0x40
429dc9:	5b                   	pop    %ebx
429dca:	eb 05                	jmp    0x429dd1
429dcc:	bb 40 80 00 00       	mov    $0x8040,%ebx
429dd1:	8b c6                	mov    %esi,%eax
429dd3:	b9 00 03 00 00       	mov    $0x300,%ecx
429dd8:	23 c1                	and    %ecx,%eax
429dda:	74 25                	je     0x429e01
429ddc:	3d 00 01 00 00       	cmp    $0x100,%eax
429de1:	74 19                	je     0x429dfc
429de3:	3d 00 02 00 00       	cmp    $0x200,%eax
429de8:	74 0b                	je     0x429df5
429dea:	3b c1                	cmp    %ecx,%eax
429dec:	75 13                	jne    0x429e01
429dee:	bf 00 60 00 00       	mov    $0x6000,%edi
429df3:	eb 0c                	jmp    0x429e01
429df5:	bf 00 40 00 00       	mov    $0x4000,%edi
429dfa:	eb 05                	jmp    0x429e01
429dfc:	bf 00 20 00 00       	mov    $0x2000,%edi
429e01:	8b d6                	mov    %esi,%edx
429e03:	8b c6                	mov    %esi,%eax
429e05:	83 e0 02             	and    $0x2,%eax
429e08:	83 e2 01             	and    $0x1,%edx
429e0b:	c1 e2 02             	shl    $0x2,%edx
429e0e:	8b ce                	mov    %esi,%ecx
429e10:	0b d0                	or     %eax,%edx
429e12:	83 e1 08             	and    $0x8,%ecx
429e15:	8b c6                	mov    %esi,%eax
429e17:	c1 e2 02             	shl    $0x2,%edx
429e1a:	83 e0 04             	and    $0x4,%eax
429e1d:	83 e6 30             	and    $0x30,%esi
429e20:	0b c2                	or     %edx,%eax
429e22:	c1 e0 02             	shl    $0x2,%eax
429e25:	0b c1                	or     %ecx,%eax
429e27:	c1 e0 03             	shl    $0x3,%eax
429e2a:	0b c6                	or     %esi,%eax
429e2c:	c1 e0 03             	shl    $0x3,%eax
429e2f:	0b c3                	or     %ebx,%eax
429e31:	0b c7                	or     %edi,%eax
429e33:	5f                   	pop    %edi
429e34:	5e                   	pop    %esi
429e35:	5b                   	pop    %ebx
429e36:	5d                   	pop    %ebp
429e37:	c3                   	ret
429e38:	8b ff                	mov    %edi,%edi
429e3a:	55                   	push   %ebp
429e3b:	8b ec                	mov    %esp,%ebp
429e3d:	51                   	push   %ecx
429e3e:	8b 4d 08             	mov    0x8(%ebp),%ecx
429e41:	ba 00 03 00 00       	mov    $0x300,%edx
429e46:	53                   	push   %ebx
429e47:	56                   	push   %esi
429e48:	8b f1                	mov    %ecx,%esi
429e4a:	8b c1                	mov    %ecx,%eax
429e4c:	c1 ee 02             	shr    $0x2,%esi
429e4f:	25 00 00 c0 00       	and    $0xc00000,%eax
429e54:	81 e6 00 c0 0f 00    	and    $0xfc000,%esi
429e5a:	bb 00 10 00 00       	mov    $0x1000,%ebx
429e5f:	0b f0                	or     %eax,%esi
429e61:	8b c1                	mov    %ecx,%eax
429e63:	57                   	push   %edi
429e64:	c1 e8 02             	shr    $0x2,%eax
429e67:	23 c3                	and    %ebx,%eax
429e69:	c1 ee 0e             	shr    $0xe,%esi
429e6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
429e6f:	6a 00                	push   $0x0
429e71:	5f                   	pop    %edi
429e72:	81 e1 00 30 00 00    	and    $0x3000,%ecx
429e78:	74 0f                	je     0x429e89
429e7a:	3b cb                	cmp    %ebx,%ecx
429e7c:	74 04                	je     0x429e82
429e7e:	8b df                	mov    %edi,%ebx
429e80:	eb 09                	jmp    0x429e8b
429e82:	bb 00 02 00 00       	mov    $0x200,%ebx
429e87:	eb 02                	jmp    0x429e8b
429e89:	8b da                	mov    %edx,%ebx
429e8b:	8b c6                	mov    %esi,%eax
429e8d:	23 c2                	and    %edx,%eax
429e8f:	74 25                	je     0x429eb6
429e91:	3d 00 01 00 00       	cmp    $0x100,%eax
429e96:	74 19                	je     0x429eb1
429e98:	3d 00 02 00 00       	cmp    $0x200,%eax
429e9d:	74 0b                	je     0x429eaa
429e9f:	3b c2                	cmp    %edx,%eax
429ea1:	75 13                	jne    0x429eb6
429ea3:	bf 00 0c 00 00       	mov    $0xc00,%edi
429ea8:	eb 0c                	jmp    0x429eb6
429eaa:	bf 00 08 00 00       	mov    $0x800,%edi
429eaf:	eb 05                	jmp    0x429eb6
429eb1:	bf 00 04 00 00       	mov    $0x400,%edi
429eb6:	8b d6                	mov    %esi,%edx
429eb8:	8b c6                	mov    %esi,%eax
429eba:	83 e0 02             	and    $0x2,%eax
429ebd:	83 e2 01             	and    $0x1,%edx
429ec0:	c1 e2 02             	shl    $0x2,%edx
429ec3:	8b ce                	mov    %esi,%ecx
429ec5:	0b d0                	or     %eax,%edx
429ec7:	c1 e9 04             	shr    $0x4,%ecx
429eca:	8b c6                	mov    %esi,%eax
429ecc:	c1 e2 02             	shl    $0x2,%edx
429ecf:	83 e0 04             	and    $0x4,%eax
429ed2:	d1 ee                	shr    $1,%esi
429ed4:	0b c2                	or     %edx,%eax
429ed6:	83 e1 03             	and    $0x3,%ecx
429ed9:	03 c0                	add    %eax,%eax
429edb:	83 e6 04             	and    $0x4,%esi
429ede:	0b c1                	or     %ecx,%eax
429ee0:	0b c6                	or     %esi,%eax
429ee2:	0b 45 fc             	or     -0x4(%ebp),%eax
429ee5:	0b c3                	or     %ebx,%eax
429ee7:	0b c7                	or     %edi,%eax
429ee9:	5f                   	pop    %edi
429eea:	5e                   	pop    %esi
429eeb:	5b                   	pop    %ebx
429eec:	c9                   	leave
429eed:	c3                   	ret
429eee:	8b ff                	mov    %edi,%edi
429ef0:	55                   	push   %ebp
429ef1:	8b ec                	mov    %esp,%ebp
429ef3:	8b 4d 08             	mov    0x8(%ebp),%ecx
429ef6:	ba 00 03 00 00       	mov    $0x300,%edx
429efb:	8b c1                	mov    %ecx,%eax
429efd:	c1 e9 16             	shr    $0x16,%ecx
429f00:	c1 e8 0e             	shr    $0xe,%eax
429f03:	23 ca                	and    %edx,%ecx
429f05:	23 c2                	and    %edx,%eax
429f07:	3b c1                	cmp    %ecx,%eax
429f09:	74 03                	je     0x429f0e
429f0b:	83 c8 ff             	or     $0xffffffff,%eax
429f0e:	5d                   	pop    %ebp
429f0f:	c3                   	ret
429f10:	8b ff                	mov    %edi,%edi
429f12:	55                   	push   %ebp
429f13:	8b ec                	mov    %esp,%ebp
429f15:	83 ec 20             	sub    $0x20,%esp
429f18:	56                   	push   %esi
429f19:	57                   	push   %edi