566a9c:	8b 4a 14             	mov    0x14(%edx),%ecx
566a9f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
566aa2:	8b 45 14             	mov    0x14(%ebp),%eax
566aa5:	8b 50 14             	mov    0x14(%eax),%edx
566aa8:	4a                   	dec    %edx
566aa9:	7e 1f                	jle    0x566aca
566aab:	8b 4d 14             	mov    0x14(%ebp),%ecx
566aae:	8b 41 1c             	mov    0x1c(%ecx),%eax
566ab1:	8b 4d 14             	mov    0x14(%ebp),%ecx
566ab4:	8b 50 04             	mov    0x4(%eax),%edx
566ab7:	8b 41 1c             	mov    0x1c(%ecx),%eax
566aba:	8b 08                	mov    (%eax),%ecx
566abc:	2b d1                	sub    %ecx,%edx
566abe:	85 d2                	test   %edx,%edx
566ac0:	79 03                	jns    0x566ac5
566ac2:	83 c2 03             	add    $0x3,%edx
566ac5:	c1 fa 02             	sar    $0x2,%edx
566ac8:	eb 02                	jmp    0x566acc
566aca:	33 d2                	xor    %edx,%edx
566acc:	89 55 d8             	mov    %edx,-0x28(%ebp)
566acf:	8b 45 10             	mov    0x10(%ebp),%eax
566ad2:	8b 50 14             	mov    0x14(%eax),%edx
566ad5:	4a                   	dec    %edx
566ad6:	7e 1f                	jle    0x566af7
566ad8:	8b 4d 10             	mov    0x10(%ebp),%ecx
566adb:	8b 41 1c             	mov    0x1c(%ecx),%eax
566ade:	8b 4d 10             	mov    0x10(%ebp),%ecx
566ae1:	8b 50 04             	mov    0x4(%eax),%edx
566ae4:	8b 41 1c             	mov    0x1c(%ecx),%eax
566ae7:	8b 08                	mov    (%eax),%ecx
566ae9:	2b d1                	sub    %ecx,%edx
566aeb:	85 d2                	test   %edx,%edx
566aed:	79 03                	jns    0x566af2
566aef:	83 c2 03             	add    $0x3,%edx
566af2:	c1 fa 02             	sar    $0x2,%edx
566af5:	eb 02                	jmp    0x566af9
566af7:	33 d2                	xor    %edx,%edx
566af9:	89 55 d4             	mov    %edx,-0x2c(%ebp)
566afc:	8b 45 d8             	mov    -0x28(%ebp),%eax
566aff:	c1 e0 02             	shl    $0x2,%eax
566b02:	89 45 d0             	mov    %eax,-0x30(%ebp)
566b05:	8b 55 d4             	mov    -0x2c(%ebp),%edx
566b08:	c1 e2 02             	shl    $0x2,%edx
566b0b:	89 55 cc             	mov    %edx,-0x34(%ebp)
566b0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566b11:	83 c1 06             	add    $0x6,%ecx
566b14:	b8 01 00 00 00       	mov    $0x1,%eax
566b19:	d3 e0                	shl    %cl,%eax
566b1b:	89 45 e8             	mov    %eax,-0x18(%ebp)
566b1e:	8b 55 14             	mov    0x14(%ebp),%edx
566b21:	8b 4a 1c             	mov    0x1c(%edx),%ecx
566b24:	8b 41 04             	mov    0x4(%ecx),%eax
566b27:	83 c0 04             	add    $0x4,%eax
566b2a:	89 45 c8             	mov    %eax,-0x38(%ebp)
566b2d:	8b 55 10             	mov    0x10(%ebp),%edx
566b30:	8b 4a 1c             	mov    0x1c(%edx),%ecx
566b33:	8b 01                	mov    (%ecx),%eax
566b35:	89 45 c4             	mov    %eax,-0x3c(%ebp)
566b38:	8b 55 dc             	mov    -0x24(%ebp),%edx
566b3b:	89 55 f4             	mov    %edx,-0xc(%ebp)
566b3e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
566b41:	85 c9                	test   %ecx,%ecx
566b43:	0f 8e 6e 0e 00 00    	jle    0x5679b7
566b49:	8b 45 c8             	mov    -0x38(%ebp),%eax
566b4c:	89 45 c0             	mov    %eax,-0x40(%ebp)
566b4f:	8b 55 c4             	mov    -0x3c(%ebp),%edx
566b52:	89 55 bc             	mov    %edx,-0x44(%ebp)
566b55:	8b 4d f4             	mov    -0xc(%ebp),%ecx
566b58:	83 f9 04             	cmp    $0x4,%ecx
566b5b:	7d 05                	jge    0x566b62
566b5d:	8b 45 f4             	mov    -0xc(%ebp),%eax
566b60:	eb 05                	jmp    0x566b67
566b62:	b8 04 00 00 00       	mov    $0x4,%eax
566b67:	89 45 e4             	mov    %eax,-0x1c(%ebp)
566b6a:	8b 55 e0             	mov    -0x20(%ebp),%edx
566b6d:	89 55 f0             	mov    %edx,-0x10(%ebp)
566b70:	8b 4d f0             	mov    -0x10(%ebp),%ecx
566b73:	85 c9                	test   %ecx,%ecx
566b75:	0f 8e 1b 0e 00 00    	jle    0x567996
566b7b:	8b 75 c0             	mov    -0x40(%ebp),%esi
566b7e:	8b 7d bc             	mov    -0x44(%ebp),%edi
566b81:	8b 45 e4             	mov    -0x1c(%ebp),%eax
566b84:	89 45 ec             	mov    %eax,-0x14(%ebp)
566b87:	8b 06                	mov    (%esi),%eax
566b89:	a8 ff                	test   $0xff,%al
566b8b:	0f 84 61 03 00 00    	je     0x566ef2
566b91:	f6 c4 50             	test   $0x50,%ah
566b94:	0f 85 58 03 00 00    	jne    0x566ef2
566b9a:	8b 07                	mov    (%edi),%eax
566b9c:	99                   	cltd
566b9d:	33 c2                	xor    %edx,%eax
566b9f:	2b c2                	sub    %edx,%eax
566ba1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
566ba4:	23 c1                	and    %ecx,%eax
566ba6:	74 07                	je     0x566baf
566ba8:	b8 01 00 00 00       	mov    $0x1,%eax
566bad:	eb 02                	jmp    0x566bb1
566baf:	33 c0                	xor    %eax,%eax
566bb1:	89 45 b8             	mov    %eax,-0x48(%ebp)
566bb4:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
566bb8:	75 17                	jne    0x566bd1
566bba:	68 6d 02 00 00       	push   $0x26d
566bbf:	68 9f f6 69 00       	push   $0x69f69f
566bc4:	68 76 f6 69 00       	push   $0x69f676
566bc9:	e8 72 3f ff ff       	call   0x55ab40
566bce:	83 c4 0c             	add    $0xc,%esp
566bd1:	ff 4b 08             	decl   0x8(%ebx)
566bd4:	0f 89 c3 00 00 00    	jns    0x566c9d
566bda:	66 8b 53 04          	mov    0x4(%ebx),%dx
566bde:	c1 e2 08             	shl    $0x8,%edx
566be1:	66 81 e2 ff ff       	and    $0xffff,%dx
566be6:	66 89 53 04          	mov    %dx,0x4(%ebx)
566bea:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
566bf0:	75 07                	jne    0x566bf9
566bf2:	b9 06 00 00 00       	mov    $0x6,%ecx
566bf7:	eb 05                	jmp    0x566bfe
566bf9:	b9 07 00 00 00       	mov    $0x7,%ecx
566bfe:	89 4b 08             	mov    %ecx,0x8(%ebx)
566c01:	66 8b 45 b8          	mov    -0x48(%ebp),%ax
566c05:	8b 4b 08             	mov    0x8(%ebx),%ecx
566c08:	66 83 e0 01          	and    $0x1,%ax
566c0c:	66 d3 e0             	shl    %cl,%ax
566c0f:	66 09 43 04          	or     %ax,0x4(%ebx)
566c13:	8b 53 0c             	mov    0xc(%ebx),%edx
566c16:	f6 42 08 07          	testb  $0x7,0x8(%edx)
566c1a:	75 6e                	jne    0x566c8a
566c1c:	8b 43 0c             	mov    0xc(%ebx),%eax
566c1f:	8b 50 40             	mov    0x40(%eax),%edx
566c22:	85 d2                	test   %edx,%edx
566c24:	7c 1c                	jl     0x566c42
566c26:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566c29:	8b 53 0c             	mov    0xc(%ebx),%edx
566c2c:	8b 41 40             	mov    0x40(%ecx),%eax
566c2f:	8b 4a 3c             	mov    0x3c(%edx),%ecx
566c32:	3b c1                	cmp    %ecx,%eax
566c34:	7f 0c                	jg     0x566c42
566c36:	8b 43 0c             	mov    0xc(%ebx),%eax
566c39:	83 48 08 04          	orl    $0x4,0x8(%eax)
566c3d:	83 ca ff             	or     $0xffffffff,%edx
566c40:	eb 4b                	jmp    0x566c8d
566c42:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566c45:	83 49 04 20          	orl    $0x20,0x4(%ecx)
566c49:	8b 43 0c             	mov    0xc(%ebx),%eax
566c4c:	ff 48 1c             	decl   0x1c(%eax)
566c4f:	79 19                	jns    0x566c6a
566c51:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
566c55:	c1 fa 08             	sar    $0x8,%edx
566c58:	8b 43 0c             	mov    0xc(%ebx),%eax
566c5b:	81 e2 ff 00 00 00    	and    $0xff,%edx
566c61:	e8 b2 21 01 00       	call   0x578e18
566c66:	8b d0                	mov    %eax,%edx
566c68:	eb 23                	jmp    0x566c8d
566c6a:	8b 43 0c             	mov    0xc(%ebx),%eax
566c6d:	ff 40 3c             	incl   0x3c(%eax)
566c70:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566c73:	8b 41 18             	mov    0x18(%ecx),%eax
566c76:	ff 41 18             	incl   0x18(%ecx)
566c79:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
566c7d:	c1 fa 08             	sar    $0x8,%edx
566c80:	88 10                	mov    %dl,(%eax)
566c82:	81 e2 ff 00 00 00    	and    $0xff,%edx
566c88:	eb 03                	jmp    0x566c8d
566c8a:	83 ca ff             	or     $0xffffffff,%edx
566c8d:	42                   	inc    %edx
566c8e:	75 05                	jne    0x566c95
566c90:	83 c8 ff             	or     $0xffffffff,%eax
566c93:	eb 20                	jmp    0x566cb5
566c95:	8b 45 b8             	mov    -0x48(%ebp),%eax
566c98:	83 e0 01             	and    $0x1,%eax
566c9b:	eb 18                	jmp    0x566cb5
566c9d:	66 8b 55 b8          	mov    -0x48(%ebp),%dx
566ca1:	8b 4b 08             	mov    0x8(%ebx),%ecx
566ca4:	66 83 e2 01          	and    $0x1,%dx
566ca8:	66 d3 e2             	shl    %cl,%dx
566cab:	66 09 53 04          	or     %dx,0x4(%ebx)
566caf:	8b 45 b8             	mov    -0x48(%ebp),%eax
566cb2:	83 e0 01             	and    $0x1,%eax
566cb5:	40                   	inc    %eax
566cb6:	75 08                	jne    0x566cc0
566cb8:	83 c8 ff             	or     $0xffffffff,%eax
566cbb:	e9 0c 0d 00 00       	jmp    0x5679cc
566cc0:	8b 55 b8             	mov    -0x48(%ebp),%edx
566cc3:	85 d2                	test   %edx,%edx
566cc5:	0f 84 21 02 00 00    	je     0x566eec
566ccb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566cce:	83 c1 06             	add    $0x6,%ecx
566cd1:	83 f9 06             	cmp    $0x6,%ecx
566cd4:	7e 2f                	jle    0x566d05
566cd6:	8b 45 fc             	mov    -0x4(%ebp),%eax
566cd9:	85 c0                	test   %eax,%eax
566cdb:	7c 0e                	jl     0x566ceb
566cdd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566ce0:	8b 07                	mov    (%edi),%eax
566ce2:	99                   	cltd
566ce3:	33 c2                	xor    %edx,%eax
566ce5:	2b c2                	sub    %edx,%eax
566ce7:	d3 f8                	sar    %cl,%eax
566ce9:	eb 0e                	jmp    0x566cf9
566ceb:	8b 07                	mov    (%edi),%eax
566ced:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566cf0:	99                   	cltd
566cf1:	33 c2                	xor    %edx,%eax
566cf3:	f7 d9                	neg    %ecx
566cf5:	2b c2                	sub    %edx,%eax
566cf7:	d3 e0                	shl    %cl,%eax
566cf9:	83 e0 7f             	and    $0x7f,%eax
566cfc:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
566d03:	eb 2d                	jmp    0x566d32
566d05:	8b 45 fc             	mov    -0x4(%ebp),%eax
566d08:	85 c0                	test   %eax,%eax
566d0a:	7c 0e                	jl     0x566d1a
566d0c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566d0f:	8b 07                	mov    (%edi),%eax
566d11:	99                   	cltd
566d12:	33 c2                	xor    %edx,%eax
566d14:	2b c2                	sub    %edx,%eax
566d16:	d3 f8                	sar    %cl,%eax
566d18:	eb 0e                	jmp    0x566d28
566d1a:	8b 07                	mov    (%edi),%eax
566d1c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566d1f:	99                   	cltd
566d20:	33 c2                	xor    %edx,%eax
566d22:	f7 d9                	neg    %ecx
566d24:	2b c2                	sub    %edx,%eax
566d26:	d3 e0                	shl    %cl,%eax
566d28:	83 e0 7f             	and    $0x7f,%eax
566d2b:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
566d32:	8b 45 08             	mov    0x8(%ebp),%eax
566d35:	01 08                	add    %ecx,(%eax)
566d37:	8b 17                	mov    (%edi),%edx
566d39:	85 d2                	test   %edx,%edx
566d3b:	7d 07                	jge    0x566d44
566d3d:	b9 01 00 00 00       	mov    $0x1,%ecx
566d42:	eb 02                	jmp    0x566d46
566d44:	33 c9                	xor    %ecx,%ecx
566d46:	89 4d b8             	mov    %ecx,-0x48(%ebp)
566d49:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
566d4d:	75 17                	jne    0x566d66
566d4f:	68 6d 02 00 00       	push   $0x26d
566d54:	68 d2 f6 69 00       	push   $0x69f6d2
566d59:	68 ab f6 69 00       	push   $0x69f6ab
566d5e:	e8 dd 3d ff ff       	call   0x55ab40
566d63:	83 c4 0c             	add    $0xc,%esp
566d66:	ff 4b 08             	decl   0x8(%ebx)
566d69:	0f 89 c0 00 00 00    	jns    0x566e2f
566d6f:	66 8b 43 04          	mov    0x4(%ebx),%ax
566d73:	c1 e0 08             	shl    $0x8,%eax
566d76:	66 25 ff ff          	and    $0xffff,%ax
566d7a:	66 89 43 04          	mov    %ax,0x4(%ebx)
566d7e:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
566d84:	75 07                	jne    0x566d8d
566d86:	ba 06 00 00 00       	mov    $0x6,%edx
566d8b:	eb 05                	jmp    0x566d92
566d8d:	ba 07 00 00 00       	mov    $0x7,%edx
566d92:	89 53 08             	mov    %edx,0x8(%ebx)
566d95:	66 8b 45 b8          	mov    -0x48(%ebp),%ax
566d99:	8b 4b 08             	mov    0x8(%ebx),%ecx
566d9c:	66 83 e0 01          	and    $0x1,%ax
566da0:	66 d3 e0             	shl    %cl,%ax
566da3:	66 09 43 04          	or     %ax,0x4(%ebx)
566da7:	8b 43 0c             	mov    0xc(%ebx),%eax
566daa:	f6 40 08 07          	testb  $0x7,0x8(%eax)
566dae:	75 6c                	jne    0x566e1c
566db0:	8b 53 0c             	mov    0xc(%ebx),%edx
566db3:	8b 4a 40             	mov    0x40(%edx),%ecx
566db6:	85 c9                	test   %ecx,%ecx
566db8:	7c 1c                	jl     0x566dd6
566dba:	8b 43 0c             	mov    0xc(%ebx),%eax
566dbd:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566dc0:	8b 50 40             	mov    0x40(%eax),%edx
566dc3:	8b 41 3c             	mov    0x3c(%ecx),%eax
566dc6:	3b d0                	cmp    %eax,%edx
566dc8:	7f 0c                	jg     0x566dd6
566dca:	8b 53 0c             	mov    0xc(%ebx),%edx
566dcd:	83 4a 08 04          	orl    $0x4,0x8(%edx)
566dd1:	83 c9 ff             	or     $0xffffffff,%ecx
566dd4:	eb 49                	jmp    0x566e1f
566dd6:	8b 43 0c             	mov    0xc(%ebx),%eax
566dd9:	83 48 04 20          	orl    $0x20,0x4(%eax)
566ddd:	8b 53 0c             	mov    0xc(%ebx),%edx
566de0:	ff 4a 1c             	decl   0x1c(%edx)
566de3:	79 19                	jns    0x566dfe
566de5:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
566de9:	c1 fa 08             	sar    $0x8,%edx
566dec:	8b 43 0c             	mov    0xc(%ebx),%eax
566def:	81 e2 ff 00 00 00    	and    $0xff,%edx
566df5:	e8 1e 20 01 00       	call   0x578e18
566dfa:	8b c8                	mov    %eax,%ecx
566dfc:	eb 21                	jmp    0x566e1f
566dfe:	8b 43 0c             	mov    0xc(%ebx),%eax
566e01:	ff 40 3c             	incl   0x3c(%eax)
566e04:	8b 53 0c             	mov    0xc(%ebx),%edx
566e07:	8b 4a 18             	mov    0x18(%edx),%ecx
566e0a:	ff 42 18             	incl   0x18(%edx)
566e0d:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
566e11:	c1 f8 08             	sar    $0x8,%eax
566e14:	88 01                	mov    %al,(%ecx)
566e16:	33 c9                	xor    %ecx,%ecx
566e18:	8a c8                	mov    %al,%cl
566e1a:	eb 03                	jmp    0x566e1f
566e1c:	83 c9 ff             	or     $0xffffffff,%ecx
566e1f:	41                   	inc    %ecx
566e20:	75 05                	jne    0x566e27
566e22:	83 c8 ff             	or     $0xffffffff,%eax
566e25:	eb 20                	jmp    0x566e47
566e27:	8b 45 b8             	mov    -0x48(%ebp),%eax
566e2a:	83 e0 01             	and    $0x1,%eax
566e2d:	eb 18                	jmp    0x566e47
566e2f:	66 8b 55 b8          	mov    -0x48(%ebp),%dx
566e33:	8b 4b 08             	mov    0x8(%ebx),%ecx
566e36:	66 83 e2 01          	and    $0x1,%dx
566e3a:	66 d3 e2             	shl    %cl,%dx
566e3d:	66 09 53 04          	or     %dx,0x4(%ebx)
566e41:	8b 45 b8             	mov    -0x48(%ebp),%eax
566e44:	83 e0 01             	and    $0x1,%eax
566e47:	40                   	inc    %eax
566e48:	75 08                	jne    0x566e52
566e4a:	83 c8 ff             	or     $0xffffffff,%eax
566e4d:	e9 7a 0b 00 00       	jmp    0x5679cc
566e52:	8b 55 d8             	mov    -0x28(%ebp),%edx
566e55:	c1 e2 02             	shl    $0x2,%edx
566e58:	52                   	push   %edx
566e59:	8b d6                	mov    %esi,%edx
566e5b:	58                   	pop    %eax
566e5c:	2b d0                	sub    %eax,%edx
566e5e:	8b 45 d8             	mov    -0x28(%ebp),%eax
566e61:	c1 e0 02             	shl    $0x2,%eax
566e64:	03 c6                	add    %esi,%eax
566e66:	8b 4d f8             	mov    -0x8(%ebp),%ecx
566e69:	85 c9                	test   %ecx,%ecx
566e6b:	74 35                	je     0x566ea2
566e6d:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
566e71:	83 48 04 08          	orl    $0x8,0x4(%eax)
566e75:	8b 55 b8             	mov    -0x48(%ebp),%edx
566e78:	85 d2                	test   %edx,%edx
566e7a:	74 16                	je     0x566e92
566e7c:	81 08 10 01 00 00    	orl    $0x110,(%eax)
566e82:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
566e89:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
566e90:	eb 54                	jmp    0x566ee6
566e92:	83 08 10             	orl    $0x10,(%eax)
566e95:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
566e99:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
566ea0:	eb 44                	jmp    0x566ee6
566ea2:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
566ea6:	83 4a 04 04          	orl    $0x4,0x4(%edx)
566eaa:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
566eae:	83 48 04 08          	orl    $0x8,0x4(%eax)
566eb2:	8b 4d b8             	mov    -0x48(%ebp),%ecx
566eb5:	85 c9                	test   %ecx,%ecx