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
567f25:	8b 57 14             	mov    0x14(%edi),%edx
567f28:	8b 0a                	mov    (%edx),%ecx
567f2a:	0f b7 01             	movzwl (%ecx),%eax
567f2d:	01 07                	add    %eax,(%edi)
567f2f:	8b 07                	mov    (%edi),%eax
567f31:	eb 07                	jmp    0x567f3a
567f33:	8b c7                	mov    %edi,%eax
567f35:	e8 f2 a7 00 00       	call   0x57272c
567f3a:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
567f40:	ff 4d f4             	decl   -0xc(%ebp)
567f43:	83 45 c4 04          	addl   $0x4,-0x3c(%ebp)
567f47:	83 45 c0 04          	addl   $0x4,-0x40(%ebp)
567f4b:	8b 55 f4             	mov    -0xc(%ebp),%edx
567f4e:	85 d2                	test   %edx,%edx
567f50:	0f 8f 72 fb ff ff    	jg     0x567ac8
567f56:	83 6d f8 04          	subl   $0x4,-0x8(%ebp)
567f5a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
567f5d:	c1 e1 02             	shl    $0x2,%ecx
567f60:	01 4d cc             	add    %ecx,-0x34(%ebp)
567f63:	8b 45 d0             	mov    -0x30(%ebp),%eax
567f66:	c1 e0 02             	shl    $0x2,%eax
567f69:	01 45 c8             	add    %eax,-0x38(%ebp)
567f6c:	8b 55 f8             	mov    -0x8(%ebp),%edx
567f6f:	85 d2                	test   %edx,%edx
567f71:	0f 8f 1f fb ff ff    	jg     0x567a96
567f77:	8b 4d 0c             	mov    0xc(%ebp),%ecx
567f7a:	85 c9                	test   %ecx,%ecx
567f7c:	74 0b                	je     0x567f89
567f7e:	8b 55 0c             	mov    0xc(%ebp),%edx
567f81:	8b c7                	mov    %edi,%eax
567f83:	4a                   	dec    %edx
567f84:	e8 87 aa 00 00       	call   0x572a10
567f89:	8b 4f 20             	mov    0x20(%edi),%ecx
567f8c:	85 c9                	test   %ecx,%ecx
567f8e:	74 05                	je     0x567f95
567f90:	83 c8 ff             	or     $0xffffffff,%eax
567f93:	eb 02                	jmp    0x567f97
567f95:	33 c0                	xor    %eax,%eax
567f97:	5f                   	pop    %edi
567f98:	5e                   	pop    %esi
567f99:	5b                   	pop    %ebx
567f9a:	8b e5                	mov    %ebp,%esp
567f9c:	5d                   	pop    %ebp
567f9d:	c2 10 00             	ret    $0x10
567fa0:	55                   	push   %ebp
567fa1:	8b ec                	mov    %esp,%ebp
567fa3:	83 c4 9c             	add    $0xffffff9c,%esp
567fa6:	53                   	push   %ebx
567fa7:	56                   	push   %esi
567fa8:	57                   	push   %edi
567fa9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
567fac:	8b d8                	mov    %eax,%ebx
567fae:	8b 45 08             	mov    0x8(%ebp),%eax
567fb1:	8b f2                	mov    %edx,%esi
567fb3:	33 d2                	xor    %edx,%edx
567fb5:	89 10                	mov    %edx,(%eax)
567fb7:	8b 4d 10             	mov    0x10(%ebp),%ecx
567fba:	8b 41 18             	mov    0x18(%ecx),%eax
567fbd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
567fc0:	8b 55 10             	mov    0x10(%ebp),%edx
567fc3:	8b 4a 14             	mov    0x14(%edx),%ecx
567fc6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
567fc9:	8b 45 14             	mov    0x14(%ebp),%eax
567fcc:	8b 50 14             	mov    0x14(%eax),%edx
567fcf:	4a                   	dec    %edx
567fd0:	7e 1f                	jle    0x567ff1
567fd2:	8b 4d 14             	mov    0x14(%ebp),%ecx
567fd5:	8b 41 1c             	mov    0x1c(%ecx),%eax
567fd8:	8b 4d 14             	mov    0x14(%ebp),%ecx
567fdb:	8b 50 04             	mov    0x4(%eax),%edx
567fde:	8b 41 1c             	mov    0x1c(%ecx),%eax
567fe1:	8b 08                	mov    (%eax),%ecx
567fe3:	2b d1                	sub    %ecx,%edx
567fe5:	85 d2                	test   %edx,%edx
567fe7:	79 03                	jns    0x567fec
567fe9:	83 c2 03             	add    $0x3,%edx
567fec:	c1 fa 02             	sar    $0x2,%edx
567fef:	eb 02                	jmp    0x567ff3
567ff1:	33 d2                	xor    %edx,%edx
567ff3:	89 55 dc             	mov    %edx,-0x24(%ebp)
567ff6:	8b 45 10             	mov    0x10(%ebp),%eax
567ff9:	8b 50 14             	mov    0x14(%eax),%edx
567ffc:	4a                   	dec    %edx
567ffd:	7e 1f                	jle    0x56801e
567fff:	8b 4d 10             	mov    0x10(%ebp),%ecx
568002:	8b 41 1c             	mov    0x1c(%ecx),%eax
568005:	8b 4d 10             	mov    0x10(%ebp),%ecx
568008:	8b 50 04             	mov    0x4(%eax),%edx
56800b:	8b 41 1c             	mov    0x1c(%ecx),%eax
56800e:	8b 08                	mov    (%eax),%ecx
568010:	2b d1                	sub    %ecx,%edx
568012:	85 d2                	test   %edx,%edx
568014:	79 03                	jns    0x568019
568016:	83 c2 03             	add    $0x3,%edx
568019:	c1 fa 02             	sar    $0x2,%edx
56801c:	eb 02                	jmp    0x568020
56801e:	33 d2                	xor    %edx,%edx
568020:	89 55 d8             	mov    %edx,-0x28(%ebp)
568023:	8d 4e 06             	lea    0x6(%esi),%ecx
568026:	8b 45 dc             	mov    -0x24(%ebp),%eax
568029:	c1 e0 02             	shl    $0x2,%eax
56802c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
56802f:	b8 01 00 00 00       	mov    $0x1,%eax
568034:	d3 e0                	shl    %cl,%eax
568036:	8b 55 d8             	mov    -0x28(%ebp),%edx
568039:	c1 e2 02             	shl    $0x2,%edx
56803c:	89 55 d0             	mov    %edx,-0x30(%ebp)
56803f:	89 45 ec             	mov    %eax,-0x14(%ebp)
568042:	8b 55 14             	mov    0x14(%ebp),%edx
568045:	8b 4a 1c             	mov    0x1c(%edx),%ecx
568048:	8b 41 04             	mov    0x4(%ecx),%eax
56804b:	83 c0 04             	add    $0x4,%eax
56804e:	89 45 cc             	mov    %eax,-0x34(%ebp)
568051:	8b 55 10             	mov    0x10(%ebp),%edx
568054:	8b 4a 1c             	mov    0x1c(%edx),%ecx
568057:	8b 01                	mov    (%ecx),%eax
568059:	89 45 c8             	mov    %eax,-0x38(%ebp)
56805c:	8b 55 e0             	mov    -0x20(%ebp),%edx
56805f:	89 55 f8             	mov    %edx,-0x8(%ebp)
568062:	8b 4d f8             	mov    -0x8(%ebp),%ecx
568065:	85 c9                	test   %ecx,%ecx
568067:	0f 8e 82 07 00 00    	jle    0x5687ef
56806d:	8b 45 cc             	mov    -0x34(%ebp),%eax
568070:	89 45 c4             	mov    %eax,-0x3c(%ebp)
568073:	8b 55 c8             	mov    -0x38(%ebp),%edx
568076:	89 55 c0             	mov    %edx,-0x40(%ebp)
568079:	8b 4d f8             	mov    -0x8(%ebp),%ecx
56807c:	83 f9 04             	cmp    $0x4,%ecx
56807f:	7d 05                	jge    0x568086
568081:	8b 45 f8             	mov    -0x8(%ebp),%eax
568084:	eb 05                	jmp    0x56808b
568086:	b8 04 00 00 00       	mov    $0x4,%eax
56808b:	89 45 e8             	mov    %eax,-0x18(%ebp)
56808e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
568091:	89 55 f4             	mov    %edx,-0xc(%ebp)
568094:	8b 4d f4             	mov    -0xc(%ebp),%ecx
568097:	85 c9                	test   %ecx,%ecx
568099:	0f 8e 2f 07 00 00    	jle    0x5687ce
56809f:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5680a2:	8b 45 c0             	mov    -0x40(%ebp),%eax
5680a5:	89 45 bc             	mov    %eax,-0x44(%ebp)
5680a8:	8b 55 e8             	mov    -0x18(%ebp),%edx
5680ab:	89 55 f0             	mov    %edx,-0x10(%ebp)
5680ae:	8b 0f                	mov    (%edi),%ecx
5680b0:	81 e1 00 50 00 00    	and    $0x5000,%ecx
5680b6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5680bc:	0f 85 98 01 00 00    	jne    0x56825a
5680c2:	8b 45 bc             	mov    -0x44(%ebp),%eax
5680c5:	8d 4e 06             	lea    0x6(%esi),%ecx
5680c8:	83 f9 06             	cmp    $0x6,%ecx
5680cb:	8b 10                	mov    (%eax),%edx
5680cd:	89 55 b8             	mov    %edx,-0x48(%ebp)
5680d0:	7e 2c                	jle    0x5680fe
5680d2:	85 f6                	test   %esi,%esi
5680d4:	7c 0e                	jl     0x5680e4
5680d6:	8b ce                	mov    %esi,%ecx
5680d8:	8b 45 b8             	mov    -0x48(%ebp),%eax
5680db:	99                   	cltd
5680dc:	33 c2                	xor    %edx,%eax
5680de:	2b c2                	sub    %edx,%eax
5680e0:	d3 f8                	sar    %cl,%eax
5680e2:	eb 0e                	jmp    0x5680f2
5680e4:	8b 45 b8             	mov    -0x48(%ebp),%eax
5680e7:	8b ce                	mov    %esi,%ecx
5680e9:	99                   	cltd
5680ea:	33 c2                	xor    %edx,%eax
5680ec:	f7 d9                	neg    %ecx
5680ee:	2b c2                	sub    %edx,%eax
5680f0:	d3 e0                	shl    %cl,%eax
5680f2:	83 e0 7f             	and    $0x7f,%eax
5680f5:	8b 04 85 24 0e 6b 00 	mov    0x6b0e24(,%eax,4),%eax
5680fc:	eb 2a                	jmp    0x568128
5680fe:	85 f6                	test   %esi,%esi
568100:	7c 0e                	jl     0x568110
568102:	8b ce                	mov    %esi,%ecx