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
566eb7:	74 1c                	je     0x566ed5
566eb9:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
566ebf:	81 08 10 01 00 00    	orl    $0x110,(%eax)
566ec5:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
566ecc:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
566ed3:	eb 11                	jmp    0x566ee6
566ed5:	83 0a 40             	orl    $0x40,(%edx)
566ed8:	83 08 10             	orl    $0x10,(%eax)
566edb:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
566edf:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
566ee6:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
566eec:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
566ef2:	ff 4d ec             	decl   -0x14(%ebp)
566ef5:	8b 45 ec             	mov    -0x14(%ebp),%eax
566ef8:	85 c0                	test   %eax,%eax
566efa:	0f 8e 80 0a 00 00    	jle    0x567980
566f00:	8b 55 d8             	mov    -0x28(%ebp),%edx
566f03:	8b 45 d4             	mov    -0x2c(%ebp),%eax
566f06:	c1 e2 02             	shl    $0x2,%edx
566f09:	c1 e0 02             	shl    $0x2,%eax
566f0c:	03 f2                	add    %edx,%esi
566f0e:	03 f8                	add    %eax,%edi
566f10:	8b 06                	mov    (%esi),%eax
566f12:	a8 ff                	test   $0xff,%al
566f14:	0f 84 5a 03 00 00    	je     0x567274
566f1a:	f6 c4 50             	test   $0x50,%ah
566f1d:	0f 85 51 03 00 00    	jne    0x567274
566f23:	8b 07                	mov    (%edi),%eax
566f25:	99                   	cltd
566f26:	33 c2                	xor    %edx,%eax
566f28:	2b c2                	sub    %edx,%eax
566f2a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
566f2d:	23 c1                	and    %ecx,%eax
566f2f:	74 07                	je     0x566f38
566f31:	b8 01 00 00 00       	mov    $0x1,%eax
566f36:	eb 02                	jmp    0x566f3a
566f38:	33 c0                	xor    %eax,%eax
566f3a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
566f3d:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
566f41:	75 17                	jne    0x566f5a
566f43:	68 75 02 00 00       	push   $0x275
566f48:	68 07 f7 69 00       	push   $0x69f707
566f4d:	68 de f6 69 00       	push   $0x69f6de
566f52:	e8 e9 3b ff ff       	call   0x55ab40
566f57:	83 c4 0c             	add    $0xc,%esp
566f5a:	ff 4b 08             	decl   0x8(%ebx)
566f5d:	0f 89 c3 00 00 00    	jns    0x567026
566f63:	66 8b 53 04          	mov    0x4(%ebx),%dx
566f67:	c1 e2 08             	shl    $0x8,%edx
566f6a:	66 81 e2 ff ff       	and    $0xffff,%dx
566f6f:	66 89 53 04          	mov    %dx,0x4(%ebx)
566f73:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
566f79:	75 07                	jne    0x566f82
566f7b:	b9 06 00 00 00       	mov    $0x6,%ecx
566f80:	eb 05                	jmp    0x566f87
566f82:	b9 07 00 00 00       	mov    $0x7,%ecx
566f87:	89 4b 08             	mov    %ecx,0x8(%ebx)
566f8a:	66 8b 45 b4          	mov    -0x4c(%ebp),%ax
566f8e:	8b 4b 08             	mov    0x8(%ebx),%ecx
566f91:	66 83 e0 01          	and    $0x1,%ax
566f95:	66 d3 e0             	shl    %cl,%ax
566f98:	66 09 43 04          	or     %ax,0x4(%ebx)
566f9c:	8b 53 0c             	mov    0xc(%ebx),%edx
566f9f:	f6 42 08 07          	testb  $0x7,0x8(%edx)
566fa3:	75 6e                	jne    0x567013
566fa5:	8b 43 0c             	mov    0xc(%ebx),%eax
566fa8:	8b 50 40             	mov    0x40(%eax),%edx
566fab:	85 d2                	test   %edx,%edx
566fad:	7c 1c                	jl     0x566fcb
566faf:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566fb2:	8b 53 0c             	mov    0xc(%ebx),%edx
566fb5:	8b 41 40             	mov    0x40(%ecx),%eax
566fb8:	8b 4a 3c             	mov    0x3c(%edx),%ecx
566fbb:	3b c1                	cmp    %ecx,%eax
566fbd:	7f 0c                	jg     0x566fcb
566fbf:	8b 43 0c             	mov    0xc(%ebx),%eax
566fc2:	83 48 08 04          	orl    $0x4,0x8(%eax)
566fc6:	83 ca ff             	or     $0xffffffff,%edx
566fc9:	eb 4b                	jmp    0x567016
566fcb:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566fce:	83 49 04 20          	orl    $0x20,0x4(%ecx)
566fd2:	8b 43 0c             	mov    0xc(%ebx),%eax
566fd5:	ff 48 1c             	decl   0x1c(%eax)
566fd8:	79 19                	jns    0x566ff3
566fda:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
566fde:	c1 fa 08             	sar    $0x8,%edx
566fe1:	8b 43 0c             	mov    0xc(%ebx),%eax
566fe4:	81 e2 ff 00 00 00    	and    $0xff,%edx
566fea:	e8 29 1e 01 00       	call   0x578e18
566fef:	8b d0                	mov    %eax,%edx
566ff1:	eb 23                	jmp    0x567016
566ff3:	8b 43 0c             	mov    0xc(%ebx),%eax
566ff6:	ff 40 3c             	incl   0x3c(%eax)
566ff9:	8b 4b 0c             	mov    0xc(%ebx),%ecx
566ffc:	8b 41 18             	mov    0x18(%ecx),%eax
566fff:	ff 41 18             	incl   0x18(%ecx)
567002:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
567006:	c1 fa 08             	sar    $0x8,%edx
567009:	88 10                	mov    %dl,(%eax)
56700b:	81 e2 ff 00 00 00    	and    $0xff,%edx
567011:	eb 03                	jmp    0x567016
567013:	83 ca ff             	or     $0xffffffff,%edx
567016:	42                   	inc    %edx
567017:	75 05                	jne    0x56701e
567019:	83 c8 ff             	or     $0xffffffff,%eax
56701c:	eb 20                	jmp    0x56703e
56701e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
567021:	83 e0 01             	and    $0x1,%eax
567024:	eb 18                	jmp    0x56703e
567026:	66 8b 55 b4          	mov    -0x4c(%ebp),%dx
56702a:	8b 4b 08             	mov    0x8(%ebx),%ecx
56702d:	66 83 e2 01          	and    $0x1,%dx
567031:	66 d3 e2             	shl    %cl,%dx
567034:	66 09 53 04          	or     %dx,0x4(%ebx)
567038:	8b 45 b4             	mov    -0x4c(%ebp),%eax
56703b:	83 e0 01             	and    $0x1,%eax
56703e:	40                   	inc    %eax
56703f:	75 08                	jne    0x567049
567041:	83 c8 ff             	or     $0xffffffff,%eax
567044:	e9 83 09 00 00       	jmp    0x5679cc
567049:	8b 55 b4             	mov    -0x4c(%ebp),%edx
56704c:	85 d2                	test   %edx,%edx
56704e:	0f 84 1a 02 00 00    	je     0x56726e
567054:	8b 4d fc             	mov    -0x4(%ebp),%ecx
567057:	83 c1 06             	add    $0x6,%ecx
56705a:	83 f9 06             	cmp    $0x6,%ecx
56705d:	7e 2f                	jle    0x56708e
56705f:	8b 45 fc             	mov    -0x4(%ebp),%eax
567062:	85 c0                	test   %eax,%eax
567064:	7c 0e                	jl     0x567074
567066:	8b 4d fc             	mov    -0x4(%ebp),%ecx
567069:	8b 07                	mov    (%edi),%eax
56706b:	99                   	cltd
56706c:	33 c2                	xor    %edx,%eax
56706e:	2b c2                	sub    %edx,%eax
567070:	d3 f8                	sar    %cl,%eax
567072:	eb 0e                	jmp    0x567082
567074:	8b 07                	mov    (%edi),%eax
567076:	8b 4d fc             	mov    -0x4(%ebp),%ecx
567079:	99                   	cltd
56707a:	33 c2                	xor    %edx,%eax
56707c:	f7 d9                	neg    %ecx
56707e:	2b c2                	sub    %edx,%eax
567080:	d3 e0                	shl    %cl,%eax
567082:	83 e0 7f             	and    $0x7f,%eax
567085:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
56708c:	eb 2d                	jmp    0x5670bb
56708e:	8b 45 fc             	mov    -0x4(%ebp),%eax
567091:	85 c0                	test   %eax,%eax
567093:	7c 0e                	jl     0x5670a3
567095:	8b 4d fc             	mov    -0x4(%ebp),%ecx
567098:	8b 07                	mov    (%edi),%eax
56709a:	99                   	cltd
56709b:	33 c2                	xor    %edx,%eax
56709d:	2b c2                	sub    %edx,%eax
56709f:	d3 f8                	sar    %cl,%eax
5670a1:	eb 0e                	jmp    0x5670b1
5670a3:	8b 07                	mov    (%edi),%eax
5670a5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5670a8:	99                   	cltd
5670a9:	33 c2                	xor    %edx,%eax
5670ab:	f7 d9                	neg    %ecx
5670ad:	2b c2                	sub    %edx,%eax
5670af:	d3 e0                	shl    %cl,%eax
5670b1:	83 e0 7f             	and    $0x7f,%eax
5670b4:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
5670bb:	8b 45 08             	mov    0x8(%ebp),%eax
5670be:	01 08                	add    %ecx,(%eax)
5670c0:	8b 17                	mov    (%edi),%edx
5670c2:	85 d2                	test   %edx,%edx
5670c4:	7d 07                	jge    0x5670cd
5670c6:	b9 01 00 00 00       	mov    $0x1,%ecx
5670cb:	eb 02                	jmp    0x5670cf
5670cd:	33 c9                	xor    %ecx,%ecx
5670cf:	89 4d b4             	mov    %ecx,-0x4c(%ebp)