567b5a:	81 e2 ff 00 00 00    	and    $0xff,%edx
567b60:	f6 c4 20             	test   $0x20,%ah
567b63:	0f 95 c1             	setne  %cl
567b66:	83 e1 01             	and    $0x1,%ecx
567b69:	c1 e1 0b             	shl    $0xb,%ecx
567b6c:	0b d1                	or     %ecx,%edx
567b6e:	8b 04 95 1c cc 6a 00 	mov    0x6acc1c(,%edx,4),%eax
567b75:	c1 e0 02             	shl    $0x2,%eax
567b78:	8b 57 10             	mov    0x10(%edi),%edx
567b7b:	03 c2                	add    %edx,%eax
567b7d:	89 47 14             	mov    %eax,0x14(%edi)
567b80:	8b 45 e8             	mov    -0x18(%ebp),%eax
567b83:	99                   	cltd
567b84:	33 c2                	xor    %edx,%eax
567b86:	2b c2                	sub    %edx,%eax
567b88:	8b 4d f0             	mov    -0x10(%ebp),%ecx
567b8b:	23 c1                	and    %ecx,%eax
567b8d:	74 07                	je     0x567b96
567b8f:	b8 01 00 00 00       	mov    $0x1,%eax
567b94:	eb 02                	jmp    0x567b98
567b96:	33 c0                	xor    %eax,%eax
567b98:	8b 57 14             	mov    0x14(%edi),%edx
567b9b:	8b 0a                	mov    (%edx),%ecx
567b9d:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
567ba1:	3b c2                	cmp    %edx,%eax
567ba3:	75 28                	jne    0x567bcd
567ba5:	8b 47 14             	mov    0x14(%edi),%eax
567ba8:	8b 08                	mov    (%eax),%ecx
567baa:	0f b7 01             	movzwl (%ecx),%eax
567bad:	29 47 04             	sub    %eax,0x4(%edi)
567bb0:	f6 47 05 80          	testb  $0x80,0x5(%edi)
567bb4:	75 09                	jne    0x567bbf
567bb6:	8b c7                	mov    %edi,%eax
567bb8:	e8 8f a8 00 00       	call   0x57244c
567bbd:	eb 15                	jmp    0x567bd4
567bbf:	8b 57 14             	mov    0x14(%edi),%edx
567bc2:	8b 0a                	mov    (%edx),%ecx
567bc4:	0f b7 01             	movzwl (%ecx),%eax
567bc7:	01 07                	add    %eax,(%edi)
567bc9:	8b 07                	mov    (%edi),%eax
567bcb:	eb 07                	jmp    0x567bd4
567bcd:	8b c7                	mov    %edi,%eax
567bcf:	e8 58 ab 00 00       	call   0x57272c
567bd4:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
567bda:	ff 4d b8             	decl   -0x48(%ebp)
567bdd:	8b 55 b8             	mov    -0x48(%ebp),%edx
567be0:	85 d2                	test   %edx,%edx
567be2:	0f 8e 58 03 00 00    	jle    0x567f40
567be8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
567beb:	8b 45 d8             	mov    -0x28(%ebp),%eax
567bee:	c1 e1 02             	shl    $0x2,%ecx
567bf1:	c1 e0 02             	shl    $0x2,%eax
567bf4:	03 f1                	add    %ecx,%esi
567bf6:	01 45 bc             	add    %eax,-0x44(%ebp)
567bf9:	8b 16                	mov    (%esi),%edx
567bfb:	81 e2 00 50 00 00    	and    $0x5000,%edx
567c01:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
567c07:	0f 85 ef 00 00 00    	jne    0x567cfc
567c0d:	8b 4d bc             	mov    -0x44(%ebp),%ecx
567c10:	8d 53 06             	lea    0x6(%ebx),%edx
567c13:	83 fa 06             	cmp    $0x6,%edx
567c16:	8b 01                	mov    (%ecx),%eax
567c18:	89 45 e8             	mov    %eax,-0x18(%ebp)
567c1b:	7e 2c                	jle    0x567c49
567c1d:	85 db                	test   %ebx,%ebx
567c1f:	7c 0e                	jl     0x567c2f
567c21:	8b cb                	mov    %ebx,%ecx
567c23:	8b 45 e8             	mov    -0x18(%ebp),%eax
567c26:	99                   	cltd
567c27:	33 c2                	xor    %edx,%eax
567c29:	2b c2                	sub    %edx,%eax
567c2b:	d3 f8                	sar    %cl,%eax
567c2d:	eb 0e                	jmp    0x567c3d
567c2f:	8b 45 e8             	mov    -0x18(%ebp),%eax
567c32:	8b cb                	mov    %ebx,%ecx
567c34:	99                   	cltd
567c35:	33 c2                	xor    %edx,%eax
567c37:	f7 d9                	neg    %ecx
567c39:	2b c2                	sub    %edx,%eax
567c3b:	d3 e0                	shl    %cl,%eax
567c3d:	83 e0 7f             	and    $0x7f,%eax
567c40:	8b 0c 85 24 0e 6b 00 	mov    0x6b0e24(,%eax,4),%ecx
567c47:	eb 2a                	jmp    0x567c73
567c49:	85 db                	test   %ebx,%ebx
567c4b:	7c 0e                	jl     0x567c5b
567c4d:	8b cb                	mov    %ebx,%ecx
567c4f:	8b 45 e8             	mov    -0x18(%ebp),%eax
567c52:	99                   	cltd
567c53:	33 c2                	xor    %edx,%eax
567c55:	2b c2                	sub    %edx,%eax
567c57:	d3 f8                	sar    %cl,%eax
567c59:	eb 0e                	jmp    0x567c69
567c5b:	8b 45 e8             	mov    -0x18(%ebp),%eax
567c5e:	8b cb                	mov    %ebx,%ecx
567c60:	99                   	cltd
567c61:	33 c2                	xor    %edx,%eax
567c63:	f7 d9                	neg    %ecx
567c65:	2b c2                	sub    %edx,%eax
567c67:	d3 e0                	shl    %cl,%eax
567c69:	83 e0 7f             	and    $0x7f,%eax
567c6c:	8b 0c 85 2c 12 6b 00 	mov    0x6b122c(,%eax,4),%ecx
567c73:	8b 45 08             	mov    0x8(%ebp),%eax
567c76:	01 08                	add    %ecx,(%eax)
567c78:	8b 06                	mov    (%esi),%eax
567c7a:	8b d0                	mov    %eax,%edx
567c7c:	81 e2 ff 00 00 00    	and    $0xff,%edx
567c82:	f6 c4 20             	test   $0x20,%ah
567c85:	0f 95 c1             	setne  %cl
567c88:	83 e1 01             	and    $0x1,%ecx
567c8b:	c1 e1 0b             	shl    $0xb,%ecx
567c8e:	0b d1                	or     %ecx,%edx
567c90:	8b 04 95 1c cc 6a 00 	mov    0x6acc1c(,%edx,4),%eax
567c97:	c1 e0 02             	shl    $0x2,%eax
567c9a:	8b 57 10             	mov    0x10(%edi),%edx
567c9d:	03 c2                	add    %edx,%eax
567c9f:	89 47 14             	mov    %eax,0x14(%edi)
567ca2:	8b 45 e8             	mov    -0x18(%ebp),%eax
567ca5:	99                   	cltd
567ca6:	33 c2                	xor    %edx,%eax
567ca8:	2b c2                	sub    %edx,%eax
567caa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
567cad:	23 c1                	and    %ecx,%eax
567caf:	74 07                	je     0x567cb8
567cb1:	b8 01 00 00 00       	mov    $0x1,%eax
567cb6:	eb 02                	jmp    0x567cba
567cb8:	33 c0                	xor    %eax,%eax
567cba:	8b 57 14             	mov    0x14(%edi),%edx
567cbd:	8b 0a                	mov    (%edx),%ecx
567cbf:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
567cc3:	3b c2                	cmp    %edx,%eax
567cc5:	75 28                	jne    0x567cef
567cc7:	8b 47 14             	mov    0x14(%edi),%eax
567cca:	8b 08                	mov    (%eax),%ecx
567ccc:	0f b7 01             	movzwl (%ecx),%eax
567ccf:	29 47 04             	sub    %eax,0x4(%edi)
567cd2:	f6 47 05 80          	testb  $0x80,0x5(%edi)
567cd6:	75 09                	jne    0x567ce1
567cd8:	8b c7                	mov    %edi,%eax
567cda:	e8 6d a7 00 00       	call   0x57244c
567cdf:	eb 15                	jmp    0x567cf6
567ce1:	8b 57 14             	mov    0x14(%edi),%edx
567ce4:	8b 0a                	mov    (%edx),%ecx
567ce6:	0f b7 01             	movzwl (%ecx),%eax
567ce9:	01 07                	add    %eax,(%edi)
567ceb:	8b 07                	mov    (%edi),%eax
567ced:	eb 07                	jmp    0x567cf6
567cef:	8b c7                	mov    %edi,%eax
567cf1:	e8 36 aa 00 00       	call   0x57272c
567cf6:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
567cfc:	ff 4d b8             	decl   -0x48(%ebp)
567cff:	8b 55 b8             	mov    -0x48(%ebp),%edx
567d02:	85 d2                	test   %edx,%edx
567d04:	0f 8e 36 02 00 00    	jle    0x567f40
567d0a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
567d0d:	8b 45 d8             	mov    -0x28(%ebp),%eax
567d10:	c1 e1 02             	shl    $0x2,%ecx
567d13:	c1 e0 02             	shl    $0x2,%eax
567d16:	03 f1                	add    %ecx,%esi
567d18:	01 45 bc             	add    %eax,-0x44(%ebp)
567d1b:	8b 16                	mov    (%esi),%edx
567d1d:	81 e2 00 50 00 00    	and    $0x5000,%edx
567d23:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
567d29:	0f 85 ef 00 00 00    	jne    0x567e1e
567d2f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
567d32:	8d 53 06             	lea    0x6(%ebx),%edx
567d35:	83 fa 06             	cmp    $0x6,%edx
567d38:	8b 01                	mov    (%ecx),%eax
567d3a:	89 45 e8             	mov    %eax,-0x18(%ebp)
567d3d:	7e 2c                	jle    0x567d6b
567d3f:	85 db                	test   %ebx,%ebx
567d41:	7c 0e                	jl     0x567d51
567d43:	8b cb                	mov    %ebx,%ecx
567d45:	8b 45 e8             	mov    -0x18(%ebp),%eax
567d48:	99                   	cltd
567d49:	33 c2                	xor    %edx,%eax
567d4b:	2b c2                	sub    %edx,%eax
567d4d:	d3 f8                	sar    %cl,%eax
567d4f:	eb 0e                	jmp    0x567d5f
567d51:	8b 45 e8             	mov    -0x18(%ebp),%eax
567d54:	8b cb                	mov    %ebx,%ecx
567d56:	99                   	cltd
567d57:	33 c2                	xor    %edx,%eax
567d59:	f7 d9                	neg    %ecx
567d5b:	2b c2                	sub    %edx,%eax
567d5d:	d3 e0                	shl    %cl,%eax
567d5f:	83 e0 7f             	and    $0x7f,%eax
567d62:	8b 0c 85 24 0e 6b 00 	mov    0x6b0e24(,%eax,4),%ecx
567d69:	eb 2a                	jmp    0x567d95
567d6b:	85 db                	test   %ebx,%ebx
567d6d:	7c 0e                	jl     0x567d7d
567d6f:	8b cb                	mov    %ebx,%ecx
567d71:	8b 45 e8             	mov    -0x18(%ebp),%eax
567d74:	99                   	cltd
567d75:	33 c2                	xor    %edx,%eax
567d77:	2b c2                	sub    %edx,%eax
567d79:	d3 f8                	sar    %cl,%eax
567d7b:	eb 0e                	jmp    0x567d8b
567d7d:	8b 45 e8             	mov    -0x18(%ebp),%eax
567d80:	8b cb                	mov    %ebx,%ecx
567d82:	99                   	cltd
567d83:	33 c2                	xor    %edx,%eax
567d85:	f7 d9                	neg    %ecx
567d87:	2b c2                	sub    %edx,%eax
567d89:	d3 e0                	shl    %cl,%eax
567d8b:	83 e0 7f             	and    $0x7f,%eax
567d8e:	8b 0c 85 2c 12 6b 00 	mov    0x6b122c(,%eax,4),%ecx
567d95:	8b 45 08             	mov    0x8(%ebp),%eax
567d98:	01 08                	add    %ecx,(%eax)
567d9a:	8b 06                	mov    (%esi),%eax
567d9c:	8b d0                	mov    %eax,%edx
567d9e:	81 e2 ff 00 00 00    	and    $0xff,%edx
567da4:	f6 c4 20             	test   $0x20,%ah
567da7:	0f 95 c1             	setne  %cl
567daa:	83 e1 01             	and    $0x1,%ecx
567dad:	c1 e1 0b             	shl    $0xb,%ecx
567db0:	0b d1                	or     %ecx,%edx
567db2:	8b 04 95 1c cc 6a 00 	mov    0x6acc1c(,%edx,4),%eax
567db9:	c1 e0 02             	shl    $0x2,%eax
567dbc:	8b 57 10             	mov    0x10(%edi),%edx
567dbf:	03 c2                	add    %edx,%eax
567dc1:	89 47 14             	mov    %eax,0x14(%edi)
567dc4:	8b 45 e8             	mov    -0x18(%ebp),%eax
567dc7:	99                   	cltd
567dc8:	33 c2                	xor    %edx,%eax
567dca:	2b c2                	sub    %edx,%eax
567dcc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
567dcf:	23 c1                	and    %ecx,%eax
567dd1:	74 07                	je     0x567dda
567dd3:	b8 01 00 00 00       	mov    $0x1,%eax
567dd8:	eb 02                	jmp    0x567ddc
567dda:	33 c0                	xor    %eax,%eax
567ddc:	8b 57 14             	mov    0x14(%edi),%edx
567ddf:	8b 0a                	mov    (%edx),%ecx
567de1:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
567de5:	3b c2                	cmp    %edx,%eax
567de7:	75 28                	jne    0x567e11
567de9:	8b 47 14             	mov    0x14(%edi),%eax
567dec:	8b 08                	mov    (%eax),%ecx
567dee:	0f b7 01             	movzwl (%ecx),%eax
567df1:	29 47 04             	sub    %eax,0x4(%edi)
567df4:	f6 47 05 80          	testb  $0x80,0x5(%edi)
567df8:	75 09                	jne    0x567e03
567dfa:	8b c7                	mov    %edi,%eax
567dfc:	e8 4b a6 00 00       	call   0x57244c
567e01:	eb 15                	jmp    0x567e18
567e03:	8b 57 14             	mov    0x14(%edi),%edx
567e06:	8b 0a                	mov    (%edx),%ecx
567e08:	0f b7 01             	movzwl (%ecx),%eax
567e0b:	01 07                	add    %eax,(%edi)
567e0d:	8b 07                	mov    (%edi),%eax
567e0f:	eb 07                	jmp    0x567e18
567e11:	8b c7                	mov    %edi,%eax
567e13:	e8 14 a9 00 00       	call   0x57272c
567e18:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
567e1e:	ff 4d b8             	decl   -0x48(%ebp)
567e21:	8b 55 b8             	mov    -0x48(%ebp),%edx
567e24:	85 d2                	test   %edx,%edx
567e26:	0f 8e 14 01 00 00    	jle    0x567f40
567e2c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
567e2f:	8b 45 d8             	mov    -0x28(%ebp),%eax
567e32:	c1 e1 02             	shl    $0x2,%ecx
567e35:	c1 e0 02             	shl    $0x2,%eax
567e38:	03 f1                	add    %ecx,%esi
567e3a:	01 45 bc             	add    %eax,-0x44(%ebp)
567e3d:	8b 16                	mov    (%esi),%edx
567e3f:	81 e2 00 50 00 00    	and    $0x5000,%edx
567e45:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
567e4b:	0f 85 ef 00 00 00    	jne    0x567f40
567e51:	8b 4d bc             	mov    -0x44(%ebp),%ecx
567e54:	8d 53 06             	lea    0x6(%ebx),%edx
567e57:	83 fa 06             	cmp    $0x6,%edx
567e5a:	8b 01                	mov    (%ecx),%eax
567e5c:	89 45 e8             	mov    %eax,-0x18(%ebp)
567e5f:	7e 2c                	jle    0x567e8d
567e61:	85 db                	test   %ebx,%ebx
567e63:	7c 0e                	jl     0x567e73
567e65:	8b cb                	mov    %ebx,%ecx
567e67:	8b 45 e8             	mov    -0x18(%ebp),%eax
567e6a:	99                   	cltd
567e6b:	33 c2                	xor    %edx,%eax
567e6d:	2b c2                	sub    %edx,%eax
567e6f:	d3 f8                	sar    %cl,%eax
567e71:	eb 0e                	jmp    0x567e81
567e73:	8b 45 e8             	mov    -0x18(%ebp),%eax
567e76:	8b cb                	mov    %ebx,%ecx
567e78:	99                   	cltd
567e79:	33 c2                	xor    %edx,%eax
567e7b:	f7 d9                	neg    %ecx
567e7d:	2b c2                	sub    %edx,%eax
567e7f:	d3 e0                	shl    %cl,%eax
567e81:	83 e0 7f             	and    $0x7f,%eax
567e84:	8b 0c 85 24 0e 6b 00 	mov    0x6b0e24(,%eax,4),%ecx
567e8b:	eb 2a                	jmp    0x567eb7
567e8d:	85 db                	test   %ebx,%ebx
567e8f:	7c 0e                	jl     0x567e9f
567e91:	8b cb                	mov    %ebx,%ecx
567e93:	8b 45 e8             	mov    -0x18(%ebp),%eax
567e96:	99                   	cltd
567e97:	33 c2                	xor    %edx,%eax
567e99:	2b c2                	sub    %edx,%eax
567e9b:	d3 f8                	sar    %cl,%eax
567e9d:	eb 0e                	jmp    0x567ead
567e9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
567ea2:	8b cb                	mov    %ebx,%ecx
567ea4:	99                   	cltd
567ea5:	33 c2                	xor    %edx,%eax
567ea7:	f7 d9                	neg    %ecx
567ea9:	2b c2                	sub    %edx,%eax
567eab:	d3 e0                	shl    %cl,%eax
567ead:	83 e0 7f             	and    $0x7f,%eax
567eb0:	8b 0c 85 2c 12 6b 00 	mov    0x6b122c(,%eax,4),%ecx
567eb7:	8b 45 08             	mov    0x8(%ebp),%eax
567eba:	01 08                	add    %ecx,(%eax)
567ebc:	8b 06                	mov    (%esi),%eax
567ebe:	8b d0                	mov    %eax,%edx
567ec0:	81 e2 ff 00 00 00    	and    $0xff,%edx
567ec6:	f6 c4 20             	test   $0x20,%ah
567ec9:	0f 95 c1             	setne  %cl
567ecc:	83 e1 01             	and    $0x1,%ecx
567ecf:	c1 e1 0b             	shl    $0xb,%ecx
567ed2:	0b d1                	or     %ecx,%edx
567ed4:	8b 04 95 1c cc 6a 00 	mov    0x6acc1c(,%edx,4),%eax
567edb:	c1 e0 02             	shl    $0x2,%eax
567ede:	8b 57 10             	mov    0x10(%edi),%edx
567ee1:	03 c2                	add    %edx,%eax
567ee3:	89 47 14             	mov    %eax,0x14(%edi)
567ee6:	8b 45 e8             	mov    -0x18(%ebp),%eax
567ee9:	99                   	cltd
567eea:	33 c2                	xor    %edx,%eax
567eec:	2b c2                	sub    %edx,%eax
567eee:	8b 4d f0             	mov    -0x10(%ebp),%ecx
567ef1:	23 c1                	and    %ecx,%eax
567ef3:	74 07                	je     0x567efc
567ef5:	b8 01 00 00 00       	mov    $0x1,%eax
567efa:	eb 02                	jmp    0x567efe
567efc:	33 c0                	xor    %eax,%eax
567efe:	8b 57 14             	mov    0x14(%edi),%edx
567f01:	8b 0a                	mov    (%edx),%ecx
567f03:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
567f07:	3b c2                	cmp    %edx,%eax
567f09:	75 28                	jne    0x567f33
567f0b:	8b 47 14             	mov    0x14(%edi),%eax
567f0e:	8b 08                	mov    (%eax),%ecx
567f10:	0f b7 01             	movzwl (%ecx),%eax
567f13:	29 47 04             	sub    %eax,0x4(%edi)
567f16:	f6 47 05 80          	testb  $0x80,0x5(%edi)
567f1a:	75 09                	jne    0x567f25
567f1c:	8b c7                	mov    %edi,%eax
567f1e:	e8 29 a5 00 00       	call   0x57244c
567f23:	eb 15                	jmp    0x567f3a