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
563f22:	e8 19 6c ff ff       	call   0x55ab40
563f27:	83 c4 0c             	add    $0xc,%esp
563f2a:	ff 4e 08             	decl   0x8(%esi)
563f2d:	78 0e                	js     0x563f3d
563f2f:	8b 4e 08             	mov    0x8(%esi),%ecx
563f32:	0f b7 46 04          	movzwl 0x4(%esi),%eax
563f36:	d3 f8                	sar    %cl,%eax
563f38:	83 e0 01             	and    $0x1,%eax
563f3b:	eb 07                	jmp    0x563f44
563f3d:	8b c6                	mov    %esi,%eax
563f3f:	e8 38 cd 00 00       	call   0x570c7c
563f44:	85 c0                	test   %eax,%eax
563f46:	7d 08                	jge    0x563f50
563f48:	83 c8 ff             	or     $0xffffffff,%eax
563f4b:	e9 15 04 00 00       	jmp    0x564365
563f50:	85 c0                	test   %eax,%eax
563f52:	0f 84 ee 00 00 00    	je     0x564046
563f58:	f6 46 10 01          	testb  $0x1,0x10(%esi)
563f5c:	75 17                	jne    0x563f75
563f5e:	68 3a 02 00 00       	push   $0x23a
563f63:	68 85 f3 69 00       	push   $0x69f385
563f68:	68 60 f3 69 00       	push   $0x69f360
563f6d:	e8 ce 6b ff ff       	call   0x55ab40
563f72:	83 c4 0c             	add    $0xc,%esp
563f75:	ff 4e 08             	decl   0x8(%esi)
563f78:	78 0e                	js     0x563f88
563f7a:	8b 4e 08             	mov    0x8(%esi),%ecx
563f7d:	0f b7 46 04          	movzwl 0x4(%esi),%eax
563f81:	d3 f8                	sar    %cl,%eax
563f83:	83 e0 01             	and    $0x1,%eax
563f86:	eb 07                	jmp    0x563f8f
563f88:	8b c6                	mov    %esi,%eax
563f8a:	e8 ed cc 00 00       	call   0x570c7c
563f8f:	85 c0                	test   %eax,%eax
563f91:	7d 08                	jge    0x563f9b
563f93:	83 c8 ff             	or     $0xffffffff,%eax
563f96:	e9 ca 03 00 00       	jmp    0x564365
563f9b:	8b d7                	mov    %edi,%edx
563f9d:	8b cb                	mov    %ebx,%ecx
563f9f:	c1 e2 02             	shl    $0x2,%edx
563fa2:	2b ca                	sub    %edx,%ecx
563fa4:	8b d7                	mov    %edi,%edx
563fa6:	c1 e2 02             	shl    $0x2,%edx
563fa9:	89 4d ac             	mov    %ecx,-0x54(%ebp)
563fac:	03 d3                	add    %ebx,%edx
563fae:	eb 30                	jmp    0x563fe0
563fb0:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563fb4:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563fb8:	85 c0                	test   %eax,%eax
563fba:	74 14                	je     0x563fd0
563fbc:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563fc2:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)
563fc9:	81 4b 04 80 08 00 00 	orl    $0x880,0x4(%ebx)
563fd0:	83 0a 10             	orl    $0x10,(%edx)
563fd3:	83 4b fc 20          	orl    $0x20,-0x4(%ebx)
563fd7:	81 4b 04 80 00 00 00 	orl    $0x80,0x4(%ebx)
563fde:	eb 4d                	jmp    0x56402d
563fe0:	8b 4d ac             	mov    -0x54(%ebp),%ecx
563fe3:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563fe7:	8b 4d ac             	mov    -0x54(%ebp),%ecx
563fea:	83 49 04 04          	orl    $0x4,0x4(%ecx)
563fee:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563ff2:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563ff6:	85 c0                	test   %eax,%eax
563ff8:	74 1f                	je     0x564019
563ffa:	8b 4d ac             	mov    -0x54(%ebp),%ecx
563ffd:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
564003:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564009:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)
564010:	81 4b 04 80 08 00 00 	orl    $0x880,0x4(%ebx)
564017:	eb 14                	jmp    0x56402d
564019:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56401c:	83 09 40             	orl    $0x40,(%ecx)
56401f:	83 0a 10             	orl    $0x10,(%edx)
564022:	83 4b fc 20          	orl    $0x20,-0x4(%ebx)
564026:	81 4b 04 80 00 00 00 	orl    $0x80,0x4(%ebx)
56402d:	81 0b 00 10 00 00    	orl    $0x1000,(%ebx)
564033:	85 c0                	test   %eax,%eax
564035:	74 07                	je     0x56403e
564037:	8b 45 e0             	mov    -0x20(%ebp),%eax
56403a:	f7 d8                	neg    %eax
56403c:	eb 03                	jmp    0x564041
56403e:	8b 45 e0             	mov    -0x20(%ebp),%eax
564041:	8b 55 c4             	mov    -0x3c(%ebp),%edx
564044:	89 02                	mov    %eax,(%edx)
564046:	81 0b 00 40 00 00    	orl    $0x4000,(%ebx)
56404c:	ff 4d ec             	decl   -0x14(%ebp)
56404f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
564052:	85 c9                	test   %ecx,%ecx
564054:	0f 8e d2 02 00 00    	jle    0x56432c
56405a:	8b c7                	mov    %edi,%eax
56405c:	8b 55 c0             	mov    -0x40(%ebp),%edx
56405f:	c1 e0 02             	shl    $0x2,%eax
564062:	c1 e2 02             	shl    $0x2,%edx
564065:	03 d8                	add    %eax,%ebx
564067:	01 55 c4             	add    %edx,-0x3c(%ebp)
56406a:	8b 03                	mov    (%ebx),%eax
56406c:	a8 ff                	test   $0xff,%al
56406e:	0f 84 48 01 00 00    	je     0x5641bc
564074:	f6 c4 50             	test   $0x50,%ah
564077:	0f 85 3f 01 00 00    	jne    0x5641bc
56407d:	f6 46 10 01          	testb  $0x1,0x10(%esi)
564081:	75 17                	jne    0x56409a
564083:	68 43 02 00 00       	push   $0x243
564088:	68 b6 f3 69 00       	push   $0x69f3b6
56408d:	68 91 f3 69 00       	push   $0x69f391
564092:	e8 a9 6a ff ff       	call   0x55ab40
564097:	83 c4 0c             	add    $0xc,%esp
56409a:	ff 4e 08             	decl   0x8(%esi)
56409d:	78 0e                	js     0x5640ad
56409f:	8b 4e 08             	mov    0x8(%esi),%ecx
5640a2:	0f b7 46 04          	movzwl 0x4(%esi),%eax
5640a6:	d3 f8                	sar    %cl,%eax
5640a8:	83 e0 01             	and    $0x1,%eax
5640ab:	eb 07                	jmp    0x5640b4
5640ad:	8b c6                	mov    %esi,%eax
5640af:	e8 c8 cb 00 00       	call   0x570c7c
5640b4:	85 c0                	test   %eax,%eax
5640b6:	7d 08                	jge    0x5640c0
5640b8:	83 c8 ff             	or     $0xffffffff,%eax
5640bb:	e9 a5 02 00 00       	jmp    0x564365
5640c0:	85 c0                	test   %eax,%eax
5640c2:	0f 84 ee 00 00 00    	je     0x5641b6
5640c8:	f6 46 10 01          	testb  $0x1,0x10(%esi)
5640cc:	75 17                	jne    0x5640e5
5640ce:	68 43 02 00 00       	push   $0x243
5640d3:	68 e7 f3 69 00       	push   $0x69f3e7
5640d8:	68 c2 f3 69 00       	push   $0x69f3c2
5640dd:	e8 5e 6a ff ff       	call   0x55ab40
5640e2:	83 c4 0c             	add    $0xc,%esp
5640e5:	ff 4e 08             	decl   0x8(%esi)
5640e8:	78 0e                	js     0x5640f8
5640ea:	8b 4e 08             	mov    0x8(%esi),%ecx
5640ed:	0f b7 46 04          	movzwl 0x4(%esi),%eax
5640f1:	d3 f8                	sar    %cl,%eax
5640f3:	83 e0 01             	and    $0x1,%eax
5640f6:	eb 07                	jmp    0x5640ff
5640f8:	8b c6                	mov    %esi,%eax
5640fa:	e8 7d cb 00 00       	call   0x570c7c
5640ff:	85 c0                	test   %eax,%eax
564101:	7d 08                	jge    0x56410b
564103:	83 c8 ff             	or     $0xffffffff,%eax
564106:	e9 5a 02 00 00       	jmp    0x564365
56410b:	8b d7                	mov    %edi,%edx
56410d:	8b cb                	mov    %ebx,%ecx
56410f:	c1 e2 02             	shl    $0x2,%edx
564112:	2b ca                	sub    %edx,%ecx
564114:	8b d7                	mov    %edi,%edx
564116:	c1 e2 02             	shl    $0x2,%edx
564119:	89 4d a8             	mov    %ecx,-0x58(%ebp)
56411c:	03 d3                	add    %ebx,%edx
56411e:	eb 30                	jmp    0x564150
564120:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
564124:	83 4a 04 08          	orl    $0x8,0x4(%edx)
564128:	85 c0                	test   %eax,%eax
56412a:	74 14                	je     0x564140
56412c:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564132:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)
564139:	81 4b 04 80 08 00 00 	orl    $0x880,0x4(%ebx)
564140:	83 0a 10             	orl    $0x10,(%edx)
564143:	83 4b fc 20          	orl    $0x20,-0x4(%ebx)
564147:	81 4b 04 80 00 00 00 	orl    $0x80,0x4(%ebx)
56414e:	eb 4d                	jmp    0x56419d
564150:	8b 4d a8             	mov    -0x58(%ebp),%ecx
564153:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
564157:	8b 4d a8             	mov    -0x58(%ebp),%ecx
56415a:	83 49 04 04          	orl    $0x4,0x4(%ecx)
56415e:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
564162:	83 4a 04 08          	orl    $0x8,0x4(%edx)
564166:	85 c0                	test   %eax,%eax
564168:	74 1f                	je     0x564189
56416a:	8b 4d a8             	mov    -0x58(%ebp),%ecx
56416d:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
564173:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564179:	81 4b fc 20 02 00 00 	orl    $0x220,-0x4(%ebx)