563acd:	c1 e0 10             	shl    $0x10,%eax
563ad0:	29 03                	sub    %eax,(%ebx)
563ad2:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
563ad6:	74 0b                	je     0x563ae3
563ad8:	8b 53 0c             	mov    0xc(%ebx),%edx
563adb:	8b 0a                	mov    (%edx),%ecx
563add:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
563ae1:	eb 10                	jmp    0x563af3
563ae3:	8b c3                	mov    %ebx,%eax
563ae5:	e8 c6 e1 00 00       	call   0x571cb0
563aea:	eb 07                	jmp    0x563af3
563aec:	8b c3                	mov    %ebx,%eax
563aee:	e8 dd e2 00 00       	call   0x571dd0
563af3:	85 c0                	test   %eax,%eax
563af5:	0f 84 26 01 00 00    	je     0x563c21
563afb:	8b 55 98             	mov    -0x68(%ebp),%edx
563afe:	8b 43 10             	mov    0x10(%ebx),%eax
563b01:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
563b07:	c1 fa 04             	sar    $0x4,%edx
563b0a:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
563b11:	c1 e1 02             	shl    $0x2,%ecx
563b14:	03 c8                	add    %eax,%ecx
563b16:	89 4b 0c             	mov    %ecx,0xc(%ebx)
563b19:	8b 53 0c             	mov    0xc(%ebx),%edx
563b1c:	8b 0a                	mov    (%edx),%ecx
563b1e:	0f b7 01             	movzwl (%ecx),%eax
563b21:	29 43 04             	sub    %eax,0x4(%ebx)
563b24:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563b27:	8b 13                	mov    (%ebx),%edx
563b29:	c1 ea 10             	shr    $0x10,%edx
563b2c:	8b 01                	mov    (%ecx),%eax
563b2e:	0f b7 08             	movzwl (%eax),%ecx
563b31:	3b d1                	cmp    %ecx,%edx
563b33:	72 27                	jb     0x563b5c
563b35:	8b 53 0c             	mov    0xc(%ebx),%edx
563b38:	8b 02                	mov    (%edx),%eax
563b3a:	0f b7 10             	movzwl (%eax),%edx
563b3d:	c1 e2 10             	shl    $0x10,%edx
563b40:	29 13                	sub    %edx,(%ebx)
563b42:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
563b46:	74 0b                	je     0x563b53
563b48:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563b4b:	8b 01                	mov    (%ecx),%eax
563b4d:	0f b7 40 02          	movzwl 0x2(%eax),%eax
563b51:	eb 10                	jmp    0x563b63
563b53:	8b c3                	mov    %ebx,%eax
563b55:	e8 56 e1 00 00       	call   0x571cb0
563b5a:	eb 07                	jmp    0x563b63
563b5c:	8b c3                	mov    %ebx,%eax
563b5e:	e8 6d e2 00 00       	call   0x571dd0
563b63:	8b 55 98             	mov    -0x68(%ebp),%edx
563b66:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
563b6c:	c1 fa 04             	sar    $0x4,%edx
563b6f:	33 04 95 14 c4 6a 00 	xor    0x6ac414(,%edx,4),%eax
563b76:	8b cf                	mov    %edi,%ecx
563b78:	c1 e1 02             	shl    $0x2,%ecx
563b7b:	8b d6                	mov    %esi,%edx
563b7d:	2b d1                	sub    %ecx,%edx
563b7f:	89 55 94             	mov    %edx,-0x6c(%ebp)
563b82:	8b d7                	mov    %edi,%edx
563b84:	c1 e2 02             	shl    $0x2,%edx
563b87:	03 d6                	add    %esi,%edx
563b89:	eb 30                	jmp    0x563bbb
563b8b:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563b8f:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563b93:	85 c0                	test   %eax,%eax
563b95:	74 14                	je     0x563bab
563b97:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563b9d:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
563ba4:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
563bab:	83 0a 10             	orl    $0x10,(%edx)
563bae:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563bb2:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
563bb9:	eb 4d                	jmp    0x563c08
563bbb:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
563bbe:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563bc2:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
563bc5:	83 49 04 04          	orl    $0x4,0x4(%ecx)
563bc9:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563bcd:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563bd1:	85 c0                	test   %eax,%eax
563bd3:	74 1f                	je     0x563bf4
563bd5:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
563bd8:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
563bde:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563be4:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
563beb:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
563bf2:	eb 14                	jmp    0x563c08
563bf4:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
563bf7:	83 09 40             	orl    $0x40,(%ecx)
563bfa:	83 0a 10             	orl    $0x10,(%edx)
563bfd:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563c01:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
563c08:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
563c0e:	85 c0                	test   %eax,%eax
563c10:	74 07                	je     0x563c19
563c12:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563c15:	f7 d8                	neg    %eax
563c17:	eb 03                	jmp    0x563c1c
563c19:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563c1c:	8b 55 c8             	mov    -0x38(%ebp),%edx
563c1f:	89 02                	mov    %eax,(%edx)
563c21:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
563c27:	ff 4d f0             	decl   -0x10(%ebp)
563c2a:	83 45 cc 04          	addl   $0x4,-0x34(%ebp)
563c2e:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
563c32:	8b 4d f0             	mov    -0x10(%ebp),%ecx
563c35:	85 c9                	test   %ecx,%ecx
563c37:	0f 8f 83 f8 ff ff    	jg     0x5634c0
563c3d:	83 6d f4 04          	subl   $0x4,-0xc(%ebp)
563c41:	8b 45 d4             	mov    -0x2c(%ebp),%eax
563c44:	c1 e0 02             	shl    $0x2,%eax
563c47:	01 45 d0             	add    %eax,-0x30(%ebp)
563c4a:	8b 55 c0             	mov    -0x40(%ebp),%edx
563c4d:	c1 e2 02             	shl    $0x2,%edx
563c50:	01 55 bc             	add    %edx,-0x44(%ebp)
563c53:	8b 4d f4             	mov    -0xc(%ebp),%ecx
563c56:	85 c9                	test   %ecx,%ecx
563c58:	0f 8f 30 f8 ff ff    	jg     0x56348e
563c5e:	33 c0                	xor    %eax,%eax
563c60:	5f                   	pop    %edi
563c61:	5e                   	pop    %esi
563c62:	5b                   	pop    %ebx
563c63:	8b e5                	mov    %ebp,%esp
563c65:	5d                   	pop    %ebp
563c66:	c2 10 00             	ret    $0x10
563c69:	90                   	nop
563c6a:	90                   	nop
563c6b:	90                   	nop
563c6c:	55                   	push   %ebp
563c6d:	8b ec                	mov    %esp,%ebp
563c6f:	83 c4 a4             	add    $0xffffffa4,%esp
563c72:	53                   	push   %ebx
563c73:	56                   	push   %esi
563c74:	57                   	push   %edi
563c75:	89 4d f8             	mov    %ecx,-0x8(%ebp)
563c78:	8b f2                	mov    %edx,%esi
563c7a:	89 45 fc             	mov    %eax,-0x4(%ebp)
563c7d:	8b 45 08             	mov    0x8(%ebp),%eax
563c80:	8b 50 18             	mov    0x18(%eax),%edx
563c83:	89 55 d8             	mov    %edx,-0x28(%ebp)
563c86:	8b 4d 08             	mov    0x8(%ebp),%ecx
563c89:	8b 41 14             	mov    0x14(%ecx),%eax
563c8c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
563c8f:	8b 55 0c             	mov    0xc(%ebp),%edx
563c92:	8b 4a 14             	mov    0x14(%edx),%ecx
563c95:	49                   	dec    %ecx
563c96:	7e 1f                	jle    0x563cb7
563c98:	8b 45 0c             	mov    0xc(%ebp),%eax
563c9b:	8b 50 1c             	mov    0x1c(%eax),%edx
563c9e:	8b 45 0c             	mov    0xc(%ebp),%eax
563ca1:	8b 7a 04             	mov    0x4(%edx),%edi
563ca4:	8b 50 1c             	mov    0x1c(%eax),%edx
563ca7:	8b 0a                	mov    (%edx),%ecx
563ca9:	2b f9                	sub    %ecx,%edi
563cab:	85 ff                	test   %edi,%edi
563cad:	79 03                	jns    0x563cb2
563caf:	83 c7 03             	add    $0x3,%edi
563cb2:	c1 ff 02             	sar    $0x2,%edi
563cb5:	eb 02                	jmp    0x563cb9
563cb7:	33 ff                	xor    %edi,%edi
563cb9:	8b 45 08             	mov    0x8(%ebp),%eax
563cbc:	8b 50 14             	mov    0x14(%eax),%edx
563cbf:	4a                   	dec    %edx
563cc0:	7e 1f                	jle    0x563ce1
563cc2:	8b 4d 08             	mov    0x8(%ebp),%ecx
563cc5:	8b 41 1c             	mov    0x1c(%ecx),%eax
563cc8:	8b 4d 08             	mov    0x8(%ebp),%ecx
563ccb:	8b 50 04             	mov    0x4(%eax),%edx
563cce:	8b 41 1c             	mov    0x1c(%ecx),%eax
563cd1:	8b 08                	mov    (%eax),%ecx
563cd3:	2b d1                	sub    %ecx,%edx
563cd5:	85 d2                	test   %edx,%edx
563cd7:	79 03                	jns    0x563cdc
563cd9:	83 c2 03             	add    $0x3,%edx
563cdc:	c1 fa 02             	sar    $0x2,%edx
563cdf:	eb 02                	jmp    0x563ce3
563ce1:	33 d2                	xor    %edx,%edx
563ce3:	89 55 c0             	mov    %edx,-0x40(%ebp)
563ce6:	8b c7                	mov    %edi,%eax
563ce8:	c1 e0 02             	shl    $0x2,%eax
563ceb:	89 45 d0             	mov    %eax,-0x30(%ebp)
563cee:	8b 55 c0             	mov    -0x40(%ebp),%edx
563cf1:	c1 e2 02             	shl    $0x2,%edx
563cf4:	89 55 bc             	mov    %edx,-0x44(%ebp)
563cf7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563cfa:	b8 01 00 00 00       	mov    $0x1,%eax
563cff:	d3 e0                	shl    %cl,%eax
563d01:	89 45 e8             	mov    %eax,-0x18(%ebp)
563d04:	8b 55 e8             	mov    -0x18(%ebp),%edx
563d07:	d1 fa                	sar    $1,%edx
563d09:	89 55 e4             	mov    %edx,-0x1c(%ebp)
563d0c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
563d0f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
563d12:	0b c8                	or     %eax,%ecx
563d14:	89 4d e0             	mov    %ecx,-0x20(%ebp)
563d17:	8b 55 0c             	mov    0xc(%ebp),%edx
563d1a:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563d1d:	8b 41 04             	mov    0x4(%ecx),%eax
563d20:	83 c0 04             	add    $0x4,%eax
563d23:	89 45 cc             	mov    %eax,-0x34(%ebp)
563d26:	8b 55 08             	mov    0x8(%ebp),%edx
563d29:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563d2c:	8b 01                	mov    (%ecx),%eax
563d2e:	89 45 b8             	mov    %eax,-0x48(%ebp)
563d31:	8b 55 d4             	mov    -0x2c(%ebp),%edx
563d34:	89 55 f4             	mov    %edx,-0xc(%ebp)
563d37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
563d3a:	85 c9                	test   %ecx,%ecx
563d3c:	0f 8e 21 06 00 00    	jle    0x564363
563d42:	8b 45 cc             	mov    -0x34(%ebp),%eax
563d45:	89 45 c8             	mov    %eax,-0x38(%ebp)
563d48:	8b 55 b8             	mov    -0x48(%ebp),%edx
563d4b:	89 55 b4             	mov    %edx,-0x4c(%ebp)
563d4e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
563d51:	83 f9 04             	cmp    $0x4,%ecx
563d54:	7d 05                	jge    0x563d5b
563d56:	8b 45 f4             	mov    -0xc(%ebp),%eax
563d59:	eb 05                	jmp    0x563d60
563d5b:	b8 04 00 00 00       	mov    $0x4,%eax
563d60:	89 45 dc             	mov    %eax,-0x24(%ebp)
563d63:	8b 55 d8             	mov    -0x28(%ebp),%edx
563d66:	89 55 f0             	mov    %edx,-0x10(%ebp)
563d69:	8b 4d f0             	mov    -0x10(%ebp),%ecx
563d6c:	85 c9                	test   %ecx,%ecx
563d6e:	0f 8e ce 05 00 00    	jle    0x564342
563d74:	8b 5d c8             	mov    -0x38(%ebp),%ebx
563d77:	8b 45 b4             	mov    -0x4c(%ebp),%eax
563d7a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
563d7d:	8b 55 dc             	mov    -0x24(%ebp),%edx
563d80:	89 55 ec             	mov    %edx,-0x14(%ebp)
563d83:	8b 03                	mov    (%ebx),%eax
563d85:	a8 ff                	test   $0xff,%al
563d87:	0f 84 4f 01 00 00    	je     0x563edc
563d8d:	f6 c4 50             	test   $0x50,%ah
563d90:	0f 85 46 01 00 00    	jne    0x563edc
563d96:	f6 46 10 01          	testb  $0x1,0x10(%esi)
563d9a:	75 17                	jne    0x563db3
563d9c:	68 31 02 00 00       	push   $0x231
563da1:	68 f2 f2 69 00       	push   $0x69f2f2
563da6:	68 cd f2 69 00       	push   $0x69f2cd
563dab:	e8 90 6d ff ff       	call   0x55ab40
563db0:	83 c4 0c             	add    $0xc,%esp
563db3:	ff 4e 08             	decl   0x8(%esi)
563db6:	78 0e                	js     0x563dc6
563db8:	8b 4e 08             	mov    0x8(%esi),%ecx
563dbb:	0f b7 46 04          	movzwl 0x4(%esi),%eax
563dbf:	d3 f8                	sar    %cl,%eax
563dc1:	83 e0 01             	and    $0x1,%eax
563dc4:	eb 07                	jmp    0x563dcd
563dc6:	8b c6                	mov    %esi,%eax
563dc8:	e8 af ce 00 00       	call   0x570c7c
563dcd:	85 c0                	test   %eax,%eax
563dcf:	7d 08                	jge    0x563dd9
563dd1:	83 c8 ff             	or     $0xffffffff,%eax
563dd4:	e9 8c 05 00 00       	jmp    0x564365
563dd9:	85 c0                	test   %eax,%eax
563ddb:	0f 84 f5 00 00 00    	je     0x563ed6
563de1:	f6 46 10 01          	testb  $0x1,0x10(%esi)
563de5:	75 17                	jne    0x563dfe
563de7:	68 31 02 00 00       	push   $0x231
563dec:	68 23 f3 69 00       	push   $0x69f323
563df1:	68 fe f2 69 00       	push   $0x69f2fe
563df6:	e8 45 6d ff ff       	call   0x55ab40
563dfb:	83 c4 0c             	add    $0xc,%esp
563dfe:	ff 4e 08             	decl   0x8(%esi)
563e01:	78 0e                	js     0x563e11
563e03:	8b 4e 08             	mov    0x8(%esi),%ecx
563e06:	0f b7 46 04          	movzwl 0x4(%esi),%eax
563e0a:	d3 f8                	sar    %cl,%eax
563e0c:	83 e0 01             	and    $0x1,%eax
563e0f:	eb 07                	jmp    0x563e18
563e11:	8b c6                	mov    %esi,%eax
563e13:	e8 64 ce 00 00       	call   0x570c7c
563e18:	85 c0                	test   %eax,%eax
563e1a:	7d 08                	jge    0x563e24
563e1c:	83 c8 ff             	or     $0xffffffff,%eax
563e1f:	e9 41 05 00 00       	jmp    0x564365
563e24:	8b d7                	mov    %edi,%edx
563e26:	8b cb                	mov    %ebx,%ecx
563e28:	c1 e2 02             	shl    $0x2,%edx
563e2b:	2b ca                	sub    %edx,%ecx
563e2d:	8b d7                	mov    %edi,%edx
563e2f:	c1 e2 02             	shl    $0x2,%edx
563e32:	89 4d b0             	mov    %ecx,-0x50(%ebp)
563e35:	8b 4d 10             	mov    0x10(%ebp),%ecx
563e38:	03 d3                	add    %ebx,%edx
563e3a:	85 c9                	test   %ecx,%ecx
563e3c:	74 32                	je     0x563e70
563e3e:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563e42:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563e46:	85 c0                	test   %eax,%eax
563e48:	74 16                	je     0x563e60
563e4a:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563e50:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)
563e57:	81 4b 04 80 08 00 00 	orl    $0x880,0x4(%ebx)
563e5e:	eb 5d                	jmp    0x563ebd
563e60:	83 0a 10             	orl    $0x10,(%edx)
563e63:	83 4b fc 20          	orl    $0x20,-0x4(%ebx)
563e67:	81 4b 04 80 00 00 00 	orl    $0x80,0x4(%ebx)
563e6e:	eb 4d                	jmp    0x563ebd
563e70:	8b 4d b0             	mov    -0x50(%ebp),%ecx
563e73:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563e77:	8b 4d b0             	mov    -0x50(%ebp),%ecx
563e7a:	83 49 04 04          	orl    $0x4,0x4(%ecx)
563e7e:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563e82:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563e86:	85 c0                	test   %eax,%eax
563e88:	74 1f                	je     0x563ea9
563e8a:	8b 4d b0             	mov    -0x50(%ebp),%ecx
563e8d:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
563e93:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563e99:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)
563ea0:	81 4b 04 80 08 00 00 	orl    $0x880,0x4(%ebx)
563ea7:	eb 14                	jmp    0x563ebd
563ea9:	8b 4d b0             	mov    -0x50(%ebp),%ecx
563eac:	83 09 40             	orl    $0x40,(%ecx)
563eaf:	83 0a 10             	orl    $0x10,(%edx)
563eb2:	83 4b fc 20          	orl    $0x20,-0x4(%ebx)
563eb6:	81 4b 04 80 00 00 00 	orl    $0x80,0x4(%ebx)
563ebd:	81 0b 00 10 00 00    	orl    $0x1000,(%ebx)
563ec3:	85 c0                	test   %eax,%eax
563ec5:	74 07                	je     0x563ece
563ec7:	8b 45 e0             	mov    -0x20(%ebp),%eax
563eca:	f7 d8                	neg    %eax
563ecc:	eb 03                	jmp    0x563ed1
563ece:	8b 45 e0             	mov    -0x20(%ebp),%eax
563ed1:	8b 55 c4             	mov    -0x3c(%ebp),%edx
563ed4:	89 02                	mov    %eax,(%edx)
563ed6:	81 0b 00 40 00 00    	orl    $0x4000,(%ebx)
563edc:	ff 4d ec             	decl   -0x14(%ebp)
563edf:	8b 4d ec             	mov    -0x14(%ebp),%ecx
563ee2:	85 c9                	test   %ecx,%ecx
563ee4:	0f 8e 42 04 00 00    	jle    0x56432c
563eea:	8b c7                	mov    %edi,%eax
563eec:	8b 55 c0             	mov    -0x40(%ebp),%edx
563eef:	c1 e0 02             	shl    $0x2,%eax
563ef2:	c1 e2 02             	shl    $0x2,%edx
563ef5:	03 d8                	add    %eax,%ebx
563ef7:	01 55 c4             	add    %edx,-0x3c(%ebp)
563efa:	8b 03                	mov    (%ebx),%eax
563efc:	a8 ff                	test   $0xff,%al
563efe:	0f 84 48 01 00 00    	je     0x56404c
563f04:	f6 c4 50             	test   $0x50,%ah
563f07:	0f 85 3f 01 00 00    	jne    0x56404c
563f0d:	f6 46 10 01          	testb  $0x1,0x10(%esi)
563f11:	75 17                	jne    0x563f2a
563f13:	68 3a 02 00 00       	push   $0x23a
563f18:	68 54 f3 69 00       	push   $0x69f354
563f1d:	68 2f f3 69 00       	push   $0x69f32f