564b8d:	8b 4d 08             	mov    0x8(%ebp),%ecx
564b90:	8b 41 18             	mov    0x18(%ecx),%eax
564b93:	89 45 dc             	mov    %eax,-0x24(%ebp)
564b96:	8b 55 08             	mov    0x8(%ebp),%edx
564b99:	8b 4a 14             	mov    0x14(%edx),%ecx
564b9c:	89 4d d8             	mov    %ecx,-0x28(%ebp)
564b9f:	8b 45 0c             	mov    0xc(%ebp),%eax
564ba2:	8b 50 14             	mov    0x14(%eax),%edx
564ba5:	4a                   	dec    %edx
564ba6:	7e 1f                	jle    0x564bc7
564ba8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
564bab:	8b 41 1c             	mov    0x1c(%ecx),%eax
564bae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
564bb1:	8b 50 04             	mov    0x4(%eax),%edx
564bb4:	8b 41 1c             	mov    0x1c(%ecx),%eax
564bb7:	8b 08                	mov    (%eax),%ecx
564bb9:	2b d1                	sub    %ecx,%edx
564bbb:	85 d2                	test   %edx,%edx
564bbd:	79 03                	jns    0x564bc2
564bbf:	83 c2 03             	add    $0x3,%edx
564bc2:	c1 fa 02             	sar    $0x2,%edx
564bc5:	eb 02                	jmp    0x564bc9
564bc7:	33 d2                	xor    %edx,%edx
564bc9:	89 55 cc             	mov    %edx,-0x34(%ebp)
564bcc:	8b 45 08             	mov    0x8(%ebp),%eax
564bcf:	8b 50 14             	mov    0x14(%eax),%edx
564bd2:	4a                   	dec    %edx
564bd3:	7e 1f                	jle    0x564bf4
564bd5:	8b 4d 08             	mov    0x8(%ebp),%ecx
564bd8:	8b 41 1c             	mov    0x1c(%ecx),%eax
564bdb:	8b 4d 08             	mov    0x8(%ebp),%ecx
564bde:	8b 50 04             	mov    0x4(%eax),%edx
564be1:	8b 41 1c             	mov    0x1c(%ecx),%eax
564be4:	8b 08                	mov    (%eax),%ecx
564be6:	2b d1                	sub    %ecx,%edx
564be8:	85 d2                	test   %edx,%edx
564bea:	79 03                	jns    0x564bef
564bec:	83 c2 03             	add    $0x3,%edx
564bef:	c1 fa 02             	sar    $0x2,%edx
564bf2:	eb 02                	jmp    0x564bf6
564bf4:	33 d2                	xor    %edx,%edx
564bf6:	89 55 b8             	mov    %edx,-0x48(%ebp)
564bf9:	8b 45 cc             	mov    -0x34(%ebp),%eax
564bfc:	c1 e0 02             	shl    $0x2,%eax
564bff:	89 45 c8             	mov    %eax,-0x38(%ebp)
564c02:	8b 55 b8             	mov    -0x48(%ebp),%edx
564c05:	c1 e2 02             	shl    $0x2,%edx
564c08:	89 55 b4             	mov    %edx,-0x4c(%ebp)
564c0b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
564c0e:	8b 41 1c             	mov    0x1c(%ecx),%eax
564c11:	8b 50 04             	mov    0x4(%eax),%edx
564c14:	83 c2 04             	add    $0x4,%edx
564c17:	89 55 c4             	mov    %edx,-0x3c(%ebp)
564c1a:	8b 4d 08             	mov    0x8(%ebp),%ecx
564c1d:	8b 41 1c             	mov    0x1c(%ecx),%eax
564c20:	33 c9                	xor    %ecx,%ecx
564c22:	8b 10                	mov    (%eax),%edx
564c24:	89 55 b0             	mov    %edx,-0x50(%ebp)
564c27:	89 4d f4             	mov    %ecx,-0xc(%ebp)
564c2a:	8b 45 f4             	mov    -0xc(%ebp),%eax
564c2d:	8b 55 d8             	mov    -0x28(%ebp),%edx
564c30:	3b c2                	cmp    %edx,%eax
564c32:	0f 8d 1f 09 00 00    	jge    0x565557
564c38:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
564c3b:	89 4d c0             	mov    %ecx,-0x40(%ebp)
564c3e:	8b 45 b0             	mov    -0x50(%ebp),%eax
564c41:	89 45 ac             	mov    %eax,-0x54(%ebp)
564c44:	8b 55 d8             	mov    -0x28(%ebp),%edx
564c47:	8b 4d f4             	mov    -0xc(%ebp),%ecx
564c4a:	2b d1                	sub    %ecx,%edx
564c4c:	83 fa 04             	cmp    $0x4,%edx
564c4f:	7e 07                	jle    0x564c58
564c51:	b8 04 00 00 00       	mov    $0x4,%eax
564c56:	eb 08                	jmp    0x564c60
564c58:	8b 45 d8             	mov    -0x28(%ebp),%eax
564c5b:	8b 55 f4             	mov    -0xc(%ebp),%edx
564c5e:	2b c2                	sub    %edx,%eax
564c60:	89 45 e8             	mov    %eax,-0x18(%ebp)
564c63:	8b 4d dc             	mov    -0x24(%ebp),%ecx
564c66:	89 4d f0             	mov    %ecx,-0x10(%ebp)
564c69:	8b 45 f0             	mov    -0x10(%ebp),%eax
564c6c:	85 c0                	test   %eax,%eax
564c6e:	0f 8e bf 08 00 00    	jle    0x565533
564c74:	8b 75 c0             	mov    -0x40(%ebp),%esi
564c77:	8b 45 e8             	mov    -0x18(%ebp),%eax
564c7a:	83 f8 04             	cmp    $0x4,%eax
564c7d:	0f 8c b4 01 00 00    	jl     0x564e37
564c83:	f7 06 ff 50 00 00    	testl  $0x50ff,(%esi)
564c89:	0f 85 a8 01 00 00    	jne    0x564e37
564c8f:	8b 55 cc             	mov    -0x34(%ebp),%edx
564c92:	c1 e2 02             	shl    $0x2,%edx
564c95:	03 f2                	add    %edx,%esi
564c97:	8b 0e                	mov    (%esi),%ecx
564c99:	81 e1 ff 50 00 00    	and    $0x50ff,%ecx
564c9f:	83 f9 01             	cmp    $0x1,%ecx
564ca2:	1b c0                	sbb    %eax,%eax
564ca4:	f7 d8                	neg    %eax
564ca6:	85 c0                	test   %eax,%eax
564ca8:	0f 84 89 01 00 00    	je     0x564e37
564cae:	8b 55 cc             	mov    -0x34(%ebp),%edx
564cb1:	c1 e2 02             	shl    $0x2,%edx
564cb4:	03 f2                	add    %edx,%esi
564cb6:	8b 0e                	mov    (%esi),%ecx
564cb8:	81 e1 ff 50 00 00    	and    $0x50ff,%ecx
564cbe:	83 f9 01             	cmp    $0x1,%ecx
564cc1:	1b c0                	sbb    %eax,%eax
564cc3:	f7 d8                	neg    %eax
564cc5:	85 c0                	test   %eax,%eax
564cc7:	0f 84 6a 01 00 00    	je     0x564e37
564ccd:	8b 55 cc             	mov    -0x34(%ebp),%edx
564cd0:	c1 e2 02             	shl    $0x2,%edx
564cd3:	03 f2                	add    %edx,%esi
564cd5:	8b 0e                	mov    (%esi),%ecx
564cd7:	81 e1 ff 50 00 00    	and    $0x50ff,%ecx
564cdd:	83 f9 01             	cmp    $0x1,%ecx
564ce0:	1b c0                	sbb    %eax,%eax
564ce2:	f7 d8                	neg    %eax
564ce4:	85 c0                	test   %eax,%eax
564ce6:	0f 84 4b 01 00 00    	je     0x564e37
564cec:	8b 73 10             	mov    0x10(%ebx),%esi
564cef:	89 73 0c             	mov    %esi,0xc(%ebx)
564cf2:	8b 06                	mov    (%esi),%eax
564cf4:	0f b7 10             	movzwl (%eax),%edx
564cf7:	29 53 04             	sub    %edx,0x4(%ebx)
564cfa:	8b 43 0c             	mov    0xc(%ebx),%eax
564cfd:	8b 0b                	mov    (%ebx),%ecx
564cff:	c1 e9 10             	shr    $0x10,%ecx
564d02:	8b 10                	mov    (%eax),%edx
564d04:	0f b7 02             	movzwl (%edx),%eax
564d07:	3b c8                	cmp    %eax,%ecx
564d09:	72 27                	jb     0x564d32
564d0b:	8b 53 0c             	mov    0xc(%ebx),%edx
564d0e:	8b 0a                	mov    (%edx),%ecx
564d10:	0f b7 01             	movzwl (%ecx),%eax
564d13:	c1 e0 10             	shl    $0x10,%eax
564d16:	29 03                	sub    %eax,(%ebx)
564d18:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564d1c:	74 0b                	je     0x564d29
564d1e:	8b 53 0c             	mov    0xc(%ebx),%edx
564d21:	8b 0a                	mov    (%edx),%ecx
564d23:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
564d27:	eb 10                	jmp    0x564d39
564d29:	8b c3                	mov    %ebx,%eax
564d2b:	e8 80 cf 00 00       	call   0x571cb0
564d30:	eb 07                	jmp    0x564d39
564d32:	8b c3                	mov    %ebx,%eax
564d34:	e8 97 d0 00 00       	call   0x571dd0
564d39:	85 c0                	test   %eax,%eax
564d3b:	0f 84 dc 07 00 00    	je     0x56551d
564d41:	8b 73 10             	mov    0x10(%ebx),%esi
564d44:	83 c6 48             	add    $0x48,%esi
564d47:	89 73 0c             	mov    %esi,0xc(%ebx)
564d4a:	8b 06                	mov    (%esi),%eax
564d4c:	0f b7 10             	movzwl (%eax),%edx
564d4f:	29 53 04             	sub    %edx,0x4(%ebx)
564d52:	8b 43 0c             	mov    0xc(%ebx),%eax
564d55:	8b 0b                	mov    (%ebx),%ecx
564d57:	c1 e9 10             	shr    $0x10,%ecx
564d5a:	8b 10                	mov    (%eax),%edx
564d5c:	0f b7 02             	movzwl (%edx),%eax
564d5f:	3b c8                	cmp    %eax,%ecx
564d61:	72 27                	jb     0x564d8a
564d63:	8b 53 0c             	mov    0xc(%ebx),%edx
564d66:	8b 0a                	mov    (%edx),%ecx
564d68:	0f b7 01             	movzwl (%ecx),%eax
564d6b:	c1 e0 10             	shl    $0x10,%eax
564d6e:	29 03                	sub    %eax,(%ebx)
564d70:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564d74:	74 0b                	je     0x564d81
564d76:	8b 53 0c             	mov    0xc(%ebx),%edx
564d79:	8b 0a                	mov    (%edx),%ecx
564d7b:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
564d7f:	eb 10                	jmp    0x564d91
564d81:	8b c3                	mov    %ebx,%eax
564d83:	e8 28 cf 00 00       	call   0x571cb0
564d88:	eb 07                	jmp    0x564d91
564d8a:	8b c3                	mov    %ebx,%eax
564d8c:	e8 3f d0 00 00       	call   0x571dd0
564d91:	89 45 e0             	mov    %eax,-0x20(%ebp)
564d94:	8b 53 0c             	mov    0xc(%ebx),%edx
564d97:	8b 0a                	mov    (%edx),%ecx
564d99:	0f b7 01             	movzwl (%ecx),%eax
564d9c:	29 43 04             	sub    %eax,0x4(%ebx)
564d9f:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564da2:	8b 13                	mov    (%ebx),%edx
564da4:	c1 ea 10             	shr    $0x10,%edx
564da7:	8b 01                	mov    (%ecx),%eax
564da9:	0f b7 08             	movzwl (%eax),%ecx
564dac:	3b d1                	cmp    %ecx,%edx
564dae:	72 27                	jb     0x564dd7
564db0:	8b 53 0c             	mov    0xc(%ebx),%edx
564db3:	8b 02                	mov    (%edx),%eax
564db5:	0f b7 10             	movzwl (%eax),%edx
564db8:	c1 e2 10             	shl    $0x10,%edx
564dbb:	29 13                	sub    %edx,(%ebx)
564dbd:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564dc1:	74 0b                	je     0x564dce
564dc3:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564dc6:	8b 01                	mov    (%ecx),%eax
564dc8:	0f b7 40 02          	movzwl 0x2(%eax),%eax
564dcc:	eb 10                	jmp    0x564dde
564dce:	8b c3                	mov    %ebx,%eax
564dd0:	e8 db ce 00 00       	call   0x571cb0
564dd5:	eb 07                	jmp    0x564dde
564dd7:	8b c3                	mov    %ebx,%eax
564dd9:	e8 f2 cf 00 00       	call   0x571dd0
564dde:	8b 55 e0             	mov    -0x20(%ebp),%edx
564de1:	03 d2                	add    %edx,%edx
564de3:	0b c2                	or     %edx,%eax
564de5:	89 45 e0             	mov    %eax,-0x20(%ebp)
564de8:	8b 75 cc             	mov    -0x34(%ebp),%esi
564deb:	8b 45 c0             	mov    -0x40(%ebp),%eax
564dee:	0f af 75 e0          	imul   -0x20(%ebp),%esi
564df2:	c1 e6 02             	shl    $0x2,%esi
564df5:	03 f0                	add    %eax,%esi
564df7:	8b 45 b8             	mov    -0x48(%ebp),%eax
564dfa:	f7 6d e0             	imull  -0x20(%ebp)
564dfd:	c1 e0 02             	shl    $0x2,%eax
564e00:	8b 55 ac             	mov    -0x54(%ebp),%edx
564e03:	03 c2                	add    %edx,%eax
564e05:	8b 3e                	mov    (%esi),%edi
564e07:	89 45 bc             	mov    %eax,-0x44(%ebp)
564e0a:	8b 45 e0             	mov    -0x20(%ebp),%eax
564e0d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
564e10:	2b c8                	sub    %eax,%ecx
564e12:	89 4d ec             	mov    %ecx,-0x14(%ebp)
564e15:	8b 55 e0             	mov    -0x20(%ebp),%edx
564e18:	83 ea 01             	sub    $0x1,%edx
564e1b:	0f 82 a6 00 00 00    	jb     0x564ec7
564e21:	0f 84 63 02 00 00    	je     0x56508a
564e27:	4a                   	dec    %edx
564e28:	0f 84 18 04 00 00    	je     0x565246
564e2e:	4a                   	dec    %edx
564e2f:	0f 84 cd 05 00 00    	je     0x565402
564e35:	eb 11                	jmp    0x564e48
564e37:	8b 75 c0             	mov    -0x40(%ebp),%esi
564e3a:	8b 45 ac             	mov    -0x54(%ebp),%eax
564e3d:	8b 3e                	mov    (%esi),%edi
564e3f:	89 45 bc             	mov    %eax,-0x44(%ebp)
564e42:	8b 55 e8             	mov    -0x18(%ebp),%edx
564e45:	89 55 ec             	mov    %edx,-0x14(%ebp)
564e48:	f7 c7 00 50 00 00    	test   $0x5000,%edi
564e4e:	0f 85 8f 01 00 00    	jne    0x564fe3
564e54:	8b 4d 18             	mov    0x18(%ebp),%ecx
564e57:	8b c7                	mov    %edi,%eax
564e59:	c1 e1 08             	shl    $0x8,%ecx
564e5c:	25 ff 00 00 00       	and    $0xff,%eax
564e61:	0b c8                	or     %eax,%ecx
564e63:	8b 14 8d 10 b4 6a 00 	mov    0x6ab410(,%ecx,4),%edx
564e6a:	8b 4b 10             	mov    0x10(%ebx),%ecx
564e6d:	c1 e2 02             	shl    $0x2,%edx
564e70:	03 d1                	add    %ecx,%edx
564e72:	89 53 0c             	mov    %edx,0xc(%ebx)
564e75:	8b 43 0c             	mov    0xc(%ebx),%eax
564e78:	8b 10                	mov    (%eax),%edx
564e7a:	0f b7 0a             	movzwl (%edx),%ecx
564e7d:	29 4b 04             	sub    %ecx,0x4(%ebx)
564e80:	8b 53 0c             	mov    0xc(%ebx),%edx
564e83:	8b 03                	mov    (%ebx),%eax
564e85:	c1 e8 10             	shr    $0x10,%eax
564e88:	8b 0a                	mov    (%edx),%ecx
564e8a:	0f b7 11             	movzwl (%ecx),%edx
564e8d:	3b c2                	cmp    %edx,%eax
564e8f:	72 27                	jb     0x564eb8
564e91:	8b 43 0c             	mov    0xc(%ebx),%eax
564e94:	8b 08                	mov    (%eax),%ecx
564e96:	0f b7 01             	movzwl (%ecx),%eax
564e99:	c1 e0 10             	shl    $0x10,%eax
564e9c:	29 03                	sub    %eax,(%ebx)
564e9e:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564ea2:	74 0b                	je     0x564eaf
564ea4:	8b 53 0c             	mov    0xc(%ebx),%edx
564ea7:	8b 0a                	mov    (%edx),%ecx
564ea9:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
564ead:	eb 10                	jmp    0x564ebf
564eaf:	8b c3                	mov    %ebx,%eax
564eb1:	e8 fa cd 00 00       	call   0x571cb0
564eb6:	eb 07                	jmp    0x564ebf
564eb8:	8b c3                	mov    %ebx,%eax
564eba:	e8 11 cf 00 00       	call   0x571dd0
564ebf:	85 c0                	test   %eax,%eax
564ec1:	0f 84 1c 01 00 00    	je     0x564fe3
564ec7:	8b d7                	mov    %edi,%edx
564ec9:	8b 43 10             	mov    0x10(%ebx),%eax
564ecc:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
564ed2:	c1 fa 04             	sar    $0x4,%edx
564ed5:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
564edc:	c1 e1 02             	shl    $0x2,%ecx
564edf:	03 c8                	add    %eax,%ecx
564ee1:	89 4b 0c             	mov    %ecx,0xc(%ebx)
564ee4:	8b 53 0c             	mov    0xc(%ebx),%edx
564ee7:	8b 0a                	mov    (%edx),%ecx
564ee9:	0f b7 01             	movzwl (%ecx),%eax
564eec:	29 43 04             	sub    %eax,0x4(%ebx)
564eef:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564ef2:	8b 13                	mov    (%ebx),%edx
564ef4:	c1 ea 10             	shr    $0x10,%edx
564ef7:	8b 01                	mov    (%ecx),%eax
564ef9:	0f b7 08             	movzwl (%eax),%ecx
564efc:	3b d1                	cmp    %ecx,%edx
564efe:	72 27                	jb     0x564f27
564f00:	8b 53 0c             	mov    0xc(%ebx),%edx
564f03:	8b 02                	mov    (%edx),%eax
564f05:	0f b7 10             	movzwl (%eax),%edx
564f08:	c1 e2 10             	shl    $0x10,%edx
564f0b:	29 13                	sub    %edx,(%ebx)
564f0d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564f11:	74 0b                	je     0x564f1e
564f13:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564f16:	8b 01                	mov    (%ecx),%eax
564f18:	0f b7 40 02          	movzwl 0x2(%eax),%eax
564f1c:	eb 10                	jmp    0x564f2e
564f1e:	8b c3                	mov    %ebx,%eax
564f20:	e8 8b cd 00 00       	call   0x571cb0
564f25:	eb 07                	jmp    0x564f2e
564f27:	8b c3                	mov    %ebx,%eax
564f29:	e8 a2 ce 00 00       	call   0x571dd0
564f2e:	81 e7 f0 0f 00 00    	and    $0xff0,%edi
564f34:	c1 ff 04             	sar    $0x4,%edi
564f37:	33 04 bd 14 c4 6a 00 	xor    0x6ac414(,%edi,4),%eax
564f3e:	85 c0                	test   %eax,%eax
564f40:	74 07                	je     0x564f49
564f42:	8b 55 d0             	mov    -0x30(%ebp),%edx
564f45:	f7 da                	neg    %edx
564f47:	eb 03                	jmp    0x564f4c
564f49:	8b 55 d0             	mov    -0x30(%ebp),%edx
564f4c:	8b 4d bc             	mov    -0x44(%ebp),%ecx
564f4f:	89 11                	mov    %edx,(%ecx)
564f51:	8b 55 cc             	mov    -0x34(%ebp),%edx
564f54:	c1 e2 02             	shl    $0x2,%edx
564f57:	8b ce                	mov    %esi,%ecx
564f59:	2b ca                	sub    %edx,%ecx
564f5b:	8b 55 cc             	mov    -0x34(%ebp),%edx
564f5e:	c1 e2 02             	shl    $0x2,%edx
564f61:	03 d6                	add    %esi,%edx
564f63:	8b 7d 14             	mov    0x14(%ebp),%edi
564f66:	85 ff                	test   %edi,%edi
564f68:	74 32                	je     0x564f9c
564f6a:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
564f6e:	83 4a 04 08          	orl    $0x8,0x4(%edx)
564f72:	85 c0                	test   %eax,%eax
564f74:	74 16                	je     0x564f8c
564f76:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564f7c:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
564f83:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
564f8a:	eb 51                	jmp    0x564fdd
564f8c:	83 0a 10             	orl    $0x10,(%edx)
564f8f:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
564f93:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
564f9a:	eb 41                	jmp    0x564fdd