568b18:	03 f8                	add    %eax,%edi
568b1a:	89 55 ec             	mov    %edx,-0x14(%ebp)
568b1d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
568b20:	83 e8 01             	sub    $0x1,%eax
568b23:	0f 82 b7 00 00 00    	jb     0x568be0
568b29:	0f 84 f9 02 00 00    	je     0x568e28
568b2f:	48                   	dec    %eax
568b30:	0f 84 34 05 00 00    	je     0x56906a
568b36:	48                   	dec    %eax
568b37:	0f 84 6f 07 00 00    	je     0x5692ac
568b3d:	eb 0c                	jmp    0x568b4b
568b3f:	8b 75 bc             	mov    -0x44(%ebp),%esi
568b42:	8b 7d b8             	mov    -0x48(%ebp),%edi
568b45:	8b 45 e8             	mov    -0x18(%ebp),%eax
568b48:	89 45 ec             	mov    %eax,-0x14(%ebp)
568b4b:	8b 16                	mov    (%esi),%edx
568b4d:	89 55 b4             	mov    %edx,-0x4c(%ebp)
568b50:	f6 45 b5 50          	testb  $0x50,-0x4b(%ebp)
568b54:	0f 85 15 02 00 00    	jne    0x568d6f
568b5a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
568b5d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
568b60:	c1 e1 08             	shl    $0x8,%ecx
568b63:	25 ff 00 00 00       	and    $0xff,%eax
568b68:	0b c8                	or     %eax,%ecx
568b6a:	8b 14 8d 10 b4 6a 00 	mov    0x6ab410(,%ecx,4),%edx
568b71:	8b 4b 10             	mov    0x10(%ebx),%ecx
568b74:	c1 e2 02             	shl    $0x2,%edx
568b77:	03 d1                	add    %ecx,%edx
568b79:	89 53 14             	mov    %edx,0x14(%ebx)
568b7c:	8b 07                	mov    (%edi),%eax
568b7e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
568b81:	99                   	cltd
568b82:	33 c2                	xor    %edx,%eax
568b84:	2b c2                	sub    %edx,%eax
568b86:	23 c1                	and    %ecx,%eax
568b88:	74 07                	je     0x568b91
568b8a:	b8 01 00 00 00       	mov    $0x1,%eax
568b8f:	eb 02                	jmp    0x568b93
568b91:	33 c0                	xor    %eax,%eax
568b93:	89 45 b0             	mov    %eax,-0x50(%ebp)
568b96:	8b 53 14             	mov    0x14(%ebx),%edx
568b99:	8b 0a                	mov    (%edx),%ecx
568b9b:	8b 55 b0             	mov    -0x50(%ebp),%edx
568b9e:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
568ba2:	3b c2                	cmp    %edx,%eax
568ba4:	75 28                	jne    0x568bce
568ba6:	8b 4b 14             	mov    0x14(%ebx),%ecx
568ba9:	8b 01                	mov    (%ecx),%eax
568bab:	0f b7 10             	movzwl (%eax),%edx
568bae:	29 53 04             	sub    %edx,0x4(%ebx)
568bb1:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
568bb5:	75 09                	jne    0x568bc0
568bb7:	8b c3                	mov    %ebx,%eax
568bb9:	e8 8e 98 00 00       	call   0x57244c
568bbe:	eb 15                	jmp    0x568bd5
568bc0:	8b 53 14             	mov    0x14(%ebx),%edx
568bc3:	8b 0a                	mov    (%edx),%ecx
568bc5:	0f b7 01             	movzwl (%ecx),%eax
568bc8:	01 03                	add    %eax,(%ebx)
568bca:	8b 03                	mov    (%ebx),%eax
568bcc:	eb 07                	jmp    0x568bd5
568bce:	8b c3                	mov    %ebx,%eax
568bd0:	e8 57 9b 00 00       	call   0x57272c
568bd5:	8b 55 b0             	mov    -0x50(%ebp),%edx
568bd8:	85 d2                	test   %edx,%edx
568bda:	0f 84 8f 01 00 00    	je     0x568d6f
568be0:	8b 0e                	mov    (%esi),%ecx
568be2:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
568be5:	8b 45 fc             	mov    -0x4(%ebp),%eax
568be8:	83 c0 06             	add    $0x6,%eax
568beb:	83 f8 06             	cmp    $0x6,%eax
568bee:	7e 2f                	jle    0x568c1f
568bf0:	8b 55 fc             	mov    -0x4(%ebp),%edx
568bf3:	85 d2                	test   %edx,%edx
568bf5:	7c 0e                	jl     0x568c05
568bf7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568bfa:	8b 07                	mov    (%edi),%eax
568bfc:	99                   	cltd
568bfd:	33 c2                	xor    %edx,%eax
568bff:	2b c2                	sub    %edx,%eax
568c01:	d3 f8                	sar    %cl,%eax
568c03:	eb 0e                	jmp    0x568c13
568c05:	8b 07                	mov    (%edi),%eax
568c07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568c0a:	99                   	cltd
568c0b:	33 c2                	xor    %edx,%eax
568c0d:	f7 d9                	neg    %ecx
568c0f:	2b c2                	sub    %edx,%eax
568c11:	d3 e0                	shl    %cl,%eax
568c13:	83 e0 7f             	and    $0x7f,%eax
568c16:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
568c1d:	eb 2d                	jmp    0x568c4c
568c1f:	8b 45 fc             	mov    -0x4(%ebp),%eax
568c22:	85 c0                	test   %eax,%eax
568c24:	7c 0e                	jl     0x568c34
568c26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568c29:	8b 07                	mov    (%edi),%eax
568c2b:	99                   	cltd
568c2c:	33 c2                	xor    %edx,%eax
568c2e:	2b c2                	sub    %edx,%eax
568c30:	d3 f8                	sar    %cl,%eax
568c32:	eb 0e                	jmp    0x568c42
568c34:	8b 07                	mov    (%edi),%eax
568c36:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568c39:	99                   	cltd
568c3a:	33 c2                	xor    %edx,%eax
568c3c:	f7 d9                	neg    %ecx
568c3e:	2b c2                	sub    %edx,%eax
568c40:	d3 e0                	shl    %cl,%eax
568c42:	83 e0 7f             	and    $0x7f,%eax
568c45:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
568c4c:	8b 45 08             	mov    0x8(%ebp),%eax
568c4f:	01 08                	add    %ecx,(%eax)
568c51:	8b 55 b4             	mov    -0x4c(%ebp),%edx
568c54:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
568c5a:	c1 fa 04             	sar    $0x4,%edx
568c5d:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
568c64:	c1 e1 02             	shl    $0x2,%ecx
568c67:	8b 43 10             	mov    0x10(%ebx),%eax
568c6a:	03 c8                	add    %eax,%ecx
568c6c:	89 4b 14             	mov    %ecx,0x14(%ebx)
568c6f:	8b 17                	mov    (%edi),%edx
568c71:	85 d2                	test   %edx,%edx
568c73:	7d 07                	jge    0x568c7c
568c75:	b9 01 00 00 00       	mov    $0x1,%ecx
568c7a:	eb 02                	jmp    0x568c7e
568c7c:	33 c9                	xor    %ecx,%ecx
568c7e:	89 4d b0             	mov    %ecx,-0x50(%ebp)
568c81:	8b 43 14             	mov    0x14(%ebx),%eax
568c84:	8b 10                	mov    (%eax),%edx
568c86:	0f b7 42 02          	movzwl 0x2(%edx),%eax
568c8a:	8b 55 b4             	mov    -0x4c(%ebp),%edx
568c8d:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
568c93:	c1 fa 04             	sar    $0x4,%edx
568c96:	8b 0c 95 14 c4 6a 00 	mov    0x6ac414(,%edx,4),%ecx
568c9d:	8b 55 b0             	mov    -0x50(%ebp),%edx
568ca0:	33 ca                	xor    %edx,%ecx
568ca2:	3b c1                	cmp    %ecx,%eax
568ca4:	75 28                	jne    0x568cce
568ca6:	8b 43 14             	mov    0x14(%ebx),%eax
568ca9:	8b 08                	mov    (%eax),%ecx
568cab:	0f b7 01             	movzwl (%ecx),%eax
568cae:	29 43 04             	sub    %eax,0x4(%ebx)
568cb1:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
568cb5:	75 09                	jne    0x568cc0
568cb7:	8b c3                	mov    %ebx,%eax
568cb9:	e8 8e 97 00 00       	call   0x57244c
568cbe:	eb 15                	jmp    0x568cd5
568cc0:	8b 53 14             	mov    0x14(%ebx),%edx
568cc3:	8b 0a                	mov    (%edx),%ecx
568cc5:	0f b7 01             	movzwl (%ecx),%eax
568cc8:	01 03                	add    %eax,(%ebx)
568cca:	8b 03                	mov    (%ebx),%eax
568ccc:	eb 07                	jmp    0x568cd5
568cce:	8b c3                	mov    %ebx,%eax
568cd0:	e8 57 9a 00 00       	call   0x57272c
568cd5:	8b 55 d4             	mov    -0x2c(%ebp),%edx
568cd8:	c1 e2 02             	shl    $0x2,%edx
568cdb:	52                   	push   %edx
568cdc:	8b d6                	mov    %esi,%edx
568cde:	58                   	pop    %eax
568cdf:	2b d0                	sub    %eax,%edx
568ce1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
568ce4:	c1 e0 02             	shl    $0x2,%eax
568ce7:	03 c6                	add    %esi,%eax
568ce9:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
568cec:	85 c9                	test   %ecx,%ecx
568cee:	74 35                	je     0x568d25
568cf0:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
568cf4:	83 48 04 08          	orl    $0x8,0x4(%eax)
568cf8:	8b 55 b0             	mov    -0x50(%ebp),%edx
568cfb:	85 d2                	test   %edx,%edx
568cfd:	74 16                	je     0x568d15
568cff:	81 08 10 01 00 00    	orl    $0x110,(%eax)
568d05:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
568d0c:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
568d13:	eb 54                	jmp    0x568d69
568d15:	83 08 10             	orl    $0x10,(%eax)
568d18:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
568d1c:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
568d23:	eb 44                	jmp    0x568d69
568d25:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
568d29:	83 4a 04 04          	orl    $0x4,0x4(%edx)
568d2d:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
568d31:	83 48 04 08          	orl    $0x8,0x4(%eax)
568d35:	8b 4d b0             	mov    -0x50(%ebp),%ecx
568d38:	85 c9                	test   %ecx,%ecx
568d3a:	74 1c                	je     0x568d58
568d3c:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
568d42:	81 08 10 01 00 00    	orl    $0x110,(%eax)
568d48:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
568d4f:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
568d56:	eb 11                	jmp    0x568d69
568d58:	83 0a 40             	orl    $0x40,(%edx)
568d5b:	83 08 10             	orl    $0x10,(%eax)
568d5e:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
568d62:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
568d69:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
568d6f:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
568d75:	ff 4d ec             	decl   -0x14(%ebp)
568d78:	8b 45 ec             	mov    -0x14(%ebp),%eax
568d7b:	85 c0                	test   %eax,%eax
568d7d:	0f 8e b7 06 00 00    	jle    0x56943a
568d83:	8b 55 d4             	mov    -0x2c(%ebp),%edx
568d86:	8b 45 d0             	mov    -0x30(%ebp),%eax
568d89:	c1 e2 02             	shl    $0x2,%edx
568d8c:	c1 e0 02             	shl    $0x2,%eax
568d8f:	03 f2                	add    %edx,%esi
568d91:	03 f8                	add    %eax,%edi
568d93:	8b 16                	mov    (%esi),%edx
568d95:	89 55 ac             	mov    %edx,-0x54(%ebp)
568d98:	f6 45 ad 50          	testb  $0x50,-0x53(%ebp)
568d9c:	0f 85 0e 02 00 00    	jne    0x568fb0
568da2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
568da5:	8b 45 ac             	mov    -0x54(%ebp),%eax
568da8:	c1 e1 08             	shl    $0x8,%ecx
568dab:	25 ff 00 00 00       	and    $0xff,%eax
568db0:	0b c8                	or     %eax,%ecx
568db2:	8b 14 8d 10 b4 6a 00 	mov    0x6ab410(,%ecx,4),%edx
568db9:	8b 4b 10             	mov    0x10(%ebx),%ecx
568dbc:	c1 e2 02             	shl    $0x2,%edx
568dbf:	03 d1                	add    %ecx,%edx
568dc1:	89 53 14             	mov    %edx,0x14(%ebx)
568dc4:	8b 07                	mov    (%edi),%eax
568dc6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
568dc9:	99                   	cltd
568dca:	33 c2                	xor    %edx,%eax
568dcc:	2b c2                	sub    %edx,%eax
568dce:	23 c1                	and    %ecx,%eax
568dd0:	74 07                	je     0x568dd9
568dd2:	b8 01 00 00 00       	mov    $0x1,%eax
568dd7:	eb 02                	jmp    0x568ddb
568dd9:	33 c0                	xor    %eax,%eax
568ddb:	89 45 a8             	mov    %eax,-0x58(%ebp)
568dde:	8b 53 14             	mov    0x14(%ebx),%edx
568de1:	8b 0a                	mov    (%edx),%ecx
568de3:	8b 55 a8             	mov    -0x58(%ebp),%edx
568de6:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
568dea:	3b c2                	cmp    %edx,%eax
568dec:	75 28                	jne    0x568e16
568dee:	8b 4b 14             	mov    0x14(%ebx),%ecx
568df1:	8b 01                	mov    (%ecx),%eax
568df3:	0f b7 10             	movzwl (%eax),%edx
568df6:	29 53 04             	sub    %edx,0x4(%ebx)
568df9:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
568dfd:	75 09                	jne    0x568e08
568dff:	8b c3                	mov    %ebx,%eax
568e01:	e8 46 96 00 00       	call   0x57244c
568e06:	eb 15                	jmp    0x568e1d
568e08:	8b 53 14             	mov    0x14(%ebx),%edx
568e0b:	8b 0a                	mov    (%edx),%ecx
568e0d:	0f b7 01             	movzwl (%ecx),%eax
568e10:	01 03                	add    %eax,(%ebx)
568e12:	8b 03                	mov    (%ebx),%eax
568e14:	eb 07                	jmp    0x568e1d
568e16:	8b c3                	mov    %ebx,%eax
568e18:	e8 0f 99 00 00       	call   0x57272c
568e1d:	8b 55 a8             	mov    -0x58(%ebp),%edx
568e20:	85 d2                	test   %edx,%edx
568e22:	0f 84 88 01 00 00    	je     0x568fb0
568e28:	8b 0e                	mov    (%esi),%ecx
568e2a:	89 4d ac             	mov    %ecx,-0x54(%ebp)
568e2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
568e30:	83 c0 06             	add    $0x6,%eax
568e33:	83 f8 06             	cmp    $0x6,%eax
568e36:	7e 2f                	jle    0x568e67
568e38:	8b 55 fc             	mov    -0x4(%ebp),%edx
568e3b:	85 d2                	test   %edx,%edx
568e3d:	7c 0e                	jl     0x568e4d
568e3f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568e42:	8b 07                	mov    (%edi),%eax
568e44:	99                   	cltd
568e45:	33 c2                	xor    %edx,%eax
568e47:	2b c2                	sub    %edx,%eax
568e49:	d3 f8                	sar    %cl,%eax
568e4b:	eb 0e                	jmp    0x568e5b
568e4d:	8b 07                	mov    (%edi),%eax
568e4f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568e52:	99                   	cltd
568e53:	33 c2                	xor    %edx,%eax
568e55:	f7 d9                	neg    %ecx
568e57:	2b c2                	sub    %edx,%eax
568e59:	d3 e0                	shl    %cl,%eax
568e5b:	83 e0 7f             	and    $0x7f,%eax
568e5e:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
568e65:	eb 2d                	jmp    0x568e94
568e67:	8b 45 fc             	mov    -0x4(%ebp),%eax
568e6a:	85 c0                	test   %eax,%eax
568e6c:	7c 0e                	jl     0x568e7c
568e6e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568e71:	8b 07                	mov    (%edi),%eax
568e73:	99                   	cltd
568e74:	33 c2                	xor    %edx,%eax
568e76:	2b c2                	sub    %edx,%eax
568e78:	d3 f8                	sar    %cl,%eax
568e7a:	eb 0e                	jmp    0x568e8a
568e7c:	8b 07                	mov    (%edi),%eax
568e7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
568e81:	99                   	cltd
568e82:	33 c2                	xor    %edx,%eax
568e84:	f7 d9                	neg    %ecx
568e86:	2b c2                	sub    %edx,%eax
568e88:	d3 e0                	shl    %cl,%eax
568e8a:	83 e0 7f             	and    $0x7f,%eax
568e8d:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
568e94:	8b 45 08             	mov    0x8(%ebp),%eax
568e97:	01 08                	add    %ecx,(%eax)
568e99:	8b 55 ac             	mov    -0x54(%ebp),%edx
568e9c:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
568ea2:	c1 fa 04             	sar    $0x4,%edx
568ea5:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
568eac:	c1 e1 02             	shl    $0x2,%ecx
568eaf:	8b 43 10             	mov    0x10(%ebx),%eax
568eb2:	03 c8                	add    %eax,%ecx
568eb4:	89 4b 14             	mov    %ecx,0x14(%ebx)
568eb7:	8b 17                	mov    (%edi),%edx
568eb9:	85 d2                	test   %edx,%edx
568ebb:	7d 07                	jge    0x568ec4
568ebd:	b9 01 00 00 00       	mov    $0x1,%ecx
568ec2:	eb 02                	jmp    0x568ec6
568ec4:	33 c9                	xor    %ecx,%ecx
568ec6:	89 4d a8             	mov    %ecx,-0x58(%ebp)
568ec9:	8b 43 14             	mov    0x14(%ebx),%eax
568ecc:	8b 10                	mov    (%eax),%edx
568ece:	0f b7 42 02          	movzwl 0x2(%edx),%eax
568ed2:	8b 55 ac             	mov    -0x54(%ebp),%edx
568ed5:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
568edb:	c1 fa 04             	sar    $0x4,%edx
568ede:	8b 0c 95 14 c4 6a 00 	mov    0x6ac414(,%edx,4),%ecx
568ee5:	8b 55 a8             	mov    -0x58(%ebp),%edx
568ee8:	33 ca                	xor    %edx,%ecx
568eea:	3b c1                	cmp    %ecx,%eax
568eec:	75 28                	jne    0x568f16
568eee:	8b 43 14             	mov    0x14(%ebx),%eax
568ef1:	8b 08                	mov    (%eax),%ecx
568ef3:	0f b7 01             	movzwl (%ecx),%eax
568ef6:	29 43 04             	sub    %eax,0x4(%ebx)
568ef9:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
568efd:	75 09                	jne    0x568f08
568eff:	8b c3                	mov    %ebx,%eax
568f01:	e8 46 95 00 00       	call   0x57244c
568f06:	eb 15                	jmp    0x568f1d
568f08:	8b 53 14             	mov    0x14(%ebx),%edx
568f0b:	8b 0a                	mov    (%edx),%ecx
568f0d:	0f b7 01             	movzwl (%ecx),%eax
568f10:	01 03                	add    %eax,(%ebx)
568f12:	8b 03                	mov    (%ebx),%eax
568f14:	eb 07                	jmp    0x568f1d
568f16:	8b c3                	mov    %ebx,%eax
568f18:	e8 0f 98 00 00       	call   0x57272c