564999:	68 86 f4 69 00       	push   $0x69f486
56499e:	e8 9d 61 ff ff       	call   0x55ab40
5649a3:	83 c4 0c             	add    $0xc,%esp
5649a6:	ff 4b 08             	decl   0x8(%ebx)
5649a9:	78 0e                	js     0x5649b9
5649ab:	8b 4b 08             	mov    0x8(%ebx),%ecx
5649ae:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
5649b2:	d3 f8                	sar    %cl,%eax
5649b4:	83 e0 01             	and    $0x1,%eax
5649b7:	eb 07                	jmp    0x5649c0
5649b9:	8b c3                	mov    %ebx,%eax
5649bb:	e8 bc c2 00 00       	call   0x570c7c
5649c0:	85 c0                	test   %eax,%eax
5649c2:	7d 08                	jge    0x5649cc
5649c4:	83 c8 ff             	or     $0xffffffff,%eax
5649c7:	e9 84 01 00 00       	jmp    0x564b50
5649cc:	85 c0                	test   %eax,%eax
5649ce:	74 05                	je     0x5649d5
5649d0:	8b 55 dc             	mov    -0x24(%ebp),%edx
5649d3:	eb 03                	jmp    0x5649d8
5649d5:	8b 55 d8             	mov    -0x28(%ebp),%edx
5649d8:	8b c2                	mov    %edx,%eax
5649da:	8b 0f                	mov    (%edi),%ecx
5649dc:	85 c9                	test   %ecx,%ecx
5649de:	7d 06                	jge    0x5649e6
5649e0:	8b d0                	mov    %eax,%edx
5649e2:	f7 da                	neg    %edx
5649e4:	eb 02                	jmp    0x5649e8
5649e6:	8b d0                	mov    %eax,%edx
5649e8:	01 17                	add    %edx,(%edi)
5649ea:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
5649f0:	ff 4d f0             	decl   -0x10(%ebp)
5649f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5649f6:	85 c0                	test   %eax,%eax
5649f8:	0f 8e 19 01 00 00    	jle    0x564b17
5649fe:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
564a01:	8b 45 c4             	mov    -0x3c(%ebp),%eax
564a04:	c1 e1 02             	shl    $0x2,%ecx
564a07:	c1 e0 02             	shl    $0x2,%eax
564a0a:	03 f1                	add    %ecx,%esi
564a0c:	03 f8                	add    %eax,%edi
564a0e:	8b 16                	mov    (%esi),%edx
564a10:	81 e2 00 50 00 00    	and    $0x5000,%edx
564a16:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
564a1c:	75 67                	jne    0x564a85
564a1e:	f6 43 10 01          	testb  $0x1,0x10(%ebx)
564a22:	75 17                	jne    0x564a3b
564a24:	68 02 03 00 00       	push   $0x302
564a29:	68 dc f4 69 00       	push   $0x69f4dc
564a2e:	68 b7 f4 69 00       	push   $0x69f4b7
564a33:	e8 08 61 ff ff       	call   0x55ab40
564a38:	83 c4 0c             	add    $0xc,%esp
564a3b:	ff 4b 08             	decl   0x8(%ebx)
564a3e:	78 0e                	js     0x564a4e
564a40:	8b 4b 08             	mov    0x8(%ebx),%ecx
564a43:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
564a47:	d3 f8                	sar    %cl,%eax
564a49:	83 e0 01             	and    $0x1,%eax
564a4c:	eb 07                	jmp    0x564a55
564a4e:	8b c3                	mov    %ebx,%eax
564a50:	e8 27 c2 00 00       	call   0x570c7c
564a55:	85 c0                	test   %eax,%eax
564a57:	7d 08                	jge    0x564a61
564a59:	83 c8 ff             	or     $0xffffffff,%eax
564a5c:	e9 ef 00 00 00       	jmp    0x564b50
564a61:	85 c0                	test   %eax,%eax
564a63:	74 05                	je     0x564a6a
564a65:	8b 55 dc             	mov    -0x24(%ebp),%edx
564a68:	eb 03                	jmp    0x564a6d
564a6a:	8b 55 d8             	mov    -0x28(%ebp),%edx
564a6d:	8b c2                	mov    %edx,%eax
564a6f:	8b 0f                	mov    (%edi),%ecx
564a71:	85 c9                	test   %ecx,%ecx
564a73:	7d 06                	jge    0x564a7b
564a75:	8b d0                	mov    %eax,%edx
564a77:	f7 da                	neg    %edx
564a79:	eb 02                	jmp    0x564a7d
564a7b:	8b d0                	mov    %eax,%edx
564a7d:	01 17                	add    %edx,(%edi)
564a7f:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
564a85:	ff 4d f0             	decl   -0x10(%ebp)
564a88:	8b 45 f0             	mov    -0x10(%ebp),%eax
564a8b:	85 c0                	test   %eax,%eax
564a8d:	0f 8e 84 00 00 00    	jle    0x564b17
564a93:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
564a96:	8b 45 c4             	mov    -0x3c(%ebp),%eax
564a99:	c1 e1 02             	shl    $0x2,%ecx
564a9c:	c1 e0 02             	shl    $0x2,%eax
564a9f:	03 f1                	add    %ecx,%esi
564aa1:	03 f8                	add    %eax,%edi
564aa3:	8b 16                	mov    (%esi),%edx
564aa5:	81 e2 00 50 00 00    	and    $0x5000,%edx
564aab:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
564ab1:	75 64                	jne    0x564b17
564ab3:	f6 43 10 01          	testb  $0x1,0x10(%ebx)
564ab7:	75 17                	jne    0x564ad0
564ab9:	68 0a 03 00 00       	push   $0x30a
564abe:	68 0d f5 69 00       	push   $0x69f50d
564ac3:	68 e8 f4 69 00       	push   $0x69f4e8
564ac8:	e8 73 60 ff ff       	call   0x55ab40
564acd:	83 c4 0c             	add    $0xc,%esp
564ad0:	ff 4b 08             	decl   0x8(%ebx)
564ad3:	78 0e                	js     0x564ae3
564ad5:	8b 4b 08             	mov    0x8(%ebx),%ecx
564ad8:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
564adc:	d3 f8                	sar    %cl,%eax
564ade:	83 e0 01             	and    $0x1,%eax
564ae1:	eb 07                	jmp    0x564aea
564ae3:	8b c3                	mov    %ebx,%eax
564ae5:	e8 92 c1 00 00       	call   0x570c7c
564aea:	85 c0                	test   %eax,%eax
564aec:	7d 05                	jge    0x564af3
564aee:	83 c8 ff             	or     $0xffffffff,%eax
564af1:	eb 5d                	jmp    0x564b50
564af3:	85 c0                	test   %eax,%eax
564af5:	74 05                	je     0x564afc
564af7:	8b 55 dc             	mov    -0x24(%ebp),%edx
564afa:	eb 03                	jmp    0x564aff
564afc:	8b 55 d8             	mov    -0x28(%ebp),%edx
564aff:	8b c2                	mov    %edx,%eax
564b01:	8b 0f                	mov    (%edi),%ecx
564b03:	85 c9                	test   %ecx,%ecx
564b05:	7d 06                	jge    0x564b0d
564b07:	8b d0                	mov    %eax,%edx
564b09:	f7 da                	neg    %edx
564b0b:	eb 02                	jmp    0x564b0f
564b0d:	8b d0                	mov    %eax,%edx
564b0f:	01 17                	add    %edx,(%edi)
564b11:	81 0e 00 20 00 00    	orl    $0x2000,(%esi)
564b17:	ff 4d f4             	decl   -0xc(%ebp)
564b1a:	83 45 c8 04          	addl   $0x4,-0x38(%ebp)
564b1e:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
564b22:	8b 45 f4             	mov    -0xc(%ebp),%eax
564b25:	85 c0                	test   %eax,%eax
564b27:	0f 8f ab fd ff ff    	jg     0x5648d8
564b2d:	83 6d f8 04          	subl   $0x4,-0x8(%ebp)
564b31:	8b 4d d0             	mov    -0x30(%ebp),%ecx
564b34:	c1 e1 02             	shl    $0x2,%ecx
564b37:	01 4d cc             	add    %ecx,-0x34(%ebp)
564b3a:	8b 45 c0             	mov    -0x40(%ebp),%eax
564b3d:	c1 e0 02             	shl    $0x2,%eax
564b40:	01 45 bc             	add    %eax,-0x44(%ebp)
564b43:	8b 55 f8             	mov    -0x8(%ebp),%edx
564b46:	85 d2                	test   %edx,%edx
564b48:	0f 8f 58 fd ff ff    	jg     0x5648a6
564b4e:	33 c0                	xor    %eax,%eax
564b50:	5f                   	pop    %edi
564b51:	5e                   	pop    %esi
564b52:	5b                   	pop    %ebx
564b53:	8b e5                	mov    %ebp,%esp
564b55:	5d                   	pop    %ebp
564b56:	c2 0c 00             	ret    $0xc
564b59:	90                   	nop
564b5a:	90                   	nop
564b5b:	90                   	nop
564b5c:	55                   	push   %ebp
564b5d:	8b ec                	mov    %esp,%ebp
564b5f:	83 c4 a8             	add    $0xffffffa8,%esp
564b62:	53                   	push   %ebx
564b63:	56                   	push   %esi
564b64:	57                   	push   %edi
564b65:	89 4d f8             	mov    %ecx,-0x8(%ebp)
564b68:	8b da                	mov    %edx,%ebx
564b6a:	89 45 fc             	mov    %eax,-0x4(%ebp)
564b6d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
564b70:	b8 01 00 00 00       	mov    $0x1,%eax
564b75:	d3 e0                	shl    %cl,%eax
564b77:	89 45 d4             	mov    %eax,-0x2c(%ebp)
564b7a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
564b7d:	d1 fa                	sar    $1,%edx
564b7f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
564b82:	8b 45 d4             	mov    -0x2c(%ebp),%eax
564b85:	8b 55 e4             	mov    -0x1c(%ebp),%edx
564b88:	0b c2                	or     %edx,%eax
564b8a:	89 45 d0             	mov    %eax,-0x30(%ebp)
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