564d88:	eb 07                	jmp    0x564d91
564d8a:	8b c3                	mov    %ebx,%eax
564d8c:	e8 3f d0 00 00       	call   0x571dd0
564d91:	89 45 e0             	mov    %eax,-0x20(%ebp)
564d94:	8b 53 0c             	mov    0xc(%ebx),%edx
564d97:	8b 0a                	mov    (%edx),%ecx
564d99:	0f b7 01             	movzwl (%ecx),%eax
564d9c:	29 43 04             	sub    %eax,0x4(%ebx)
564d9f:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564da2:	8b 13                	mov    (%ebx),%edx
564da4:	c1 ea 10             	shr    $0x10,%edx
564da7:	8b 01                	mov    (%ecx),%eax
564da9:	0f b7 08             	movzwl (%eax),%ecx
564dac:	3b d1                	cmp    %ecx,%edx
564dae:	72 27                	jb     0x564dd7
564db0:	8b 53 0c             	mov    0xc(%ebx),%edx
564db3:	8b 02                	mov    (%edx),%eax
564db5:	0f b7 10             	movzwl (%eax),%edx
564db8:	c1 e2 10             	shl    $0x10,%edx
564dbb:	29 13                	sub    %edx,(%ebx)
564dbd:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564dc1:	74 0b                	je     0x564dce
564dc3:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564dc6:	8b 01                	mov    (%ecx),%eax
564dc8:	0f b7 40 02          	movzwl 0x2(%eax),%eax
564dcc:	eb 10                	jmp    0x564dde
564dce:	8b c3                	mov    %ebx,%eax
564dd0:	e8 db ce 00 00       	call   0x571cb0
564dd5:	eb 07                	jmp    0x564dde
564dd7:	8b c3                	mov    %ebx,%eax
564dd9:	e8 f2 cf 00 00       	call   0x571dd0
564dde:	8b 55 e0             	mov    -0x20(%ebp),%edx
564de1:	03 d2                	add    %edx,%edx
564de3:	0b c2                	or     %edx,%eax
564de5:	89 45 e0             	mov    %eax,-0x20(%ebp)
564de8:	8b 75 cc             	mov    -0x34(%ebp),%esi
564deb:	8b 45 c0             	mov    -0x40(%ebp),%eax
564dee:	0f af 75 e0          	imul   -0x20(%ebp),%esi
564df2:	c1 e6 02             	shl    $0x2,%esi
564df5:	03 f0                	add    %eax,%esi
564df7:	8b 45 b8             	mov    -0x48(%ebp),%eax
564dfa:	f7 6d e0             	imull  -0x20(%ebp)
564dfd:	c1 e0 02             	shl    $0x2,%eax
564e00:	8b 55 ac             	mov    -0x54(%ebp),%edx
564e03:	03 c2                	add    %edx,%eax
564e05:	8b 3e                	mov    (%esi),%edi
564e07:	89 45 bc             	mov    %eax,-0x44(%ebp)
564e0a:	8b 45 e0             	mov    -0x20(%ebp),%eax
564e0d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
564e10:	2b c8                	sub    %eax,%ecx
564e12:	89 4d ec             	mov    %ecx,-0x14(%ebp)
564e15:	8b 55 e0             	mov    -0x20(%ebp),%edx
564e18:	83 ea 01             	sub    $0x1,%edx
564e1b:	0f 82 a6 00 00 00    	jb     0x564ec7
564e21:	0f 84 63 02 00 00    	je     0x56508a
564e27:	4a                   	dec    %edx
564e28:	0f 84 18 04 00 00    	je     0x565246
564e2e:	4a                   	dec    %edx
564e2f:	0f 84 cd 05 00 00    	je     0x565402
564e35:	eb 11                	jmp    0x564e48
564e37:	8b 75 c0             	mov    -0x40(%ebp),%esi
564e3a:	8b 45 ac             	mov    -0x54(%ebp),%eax
564e3d:	8b 3e                	mov    (%esi),%edi
564e3f:	89 45 bc             	mov    %eax,-0x44(%ebp)
564e42:	8b 55 e8             	mov    -0x18(%ebp),%edx
564e45:	89 55 ec             	mov    %edx,-0x14(%ebp)
564e48:	f7 c7 00 50 00 00    	test   $0x5000,%edi
564e4e:	0f 85 8f 01 00 00    	jne    0x564fe3
564e54:	8b 4d 18             	mov    0x18(%ebp),%ecx
564e57:	8b c7                	mov    %edi,%eax
564e59:	c1 e1 08             	shl    $0x8,%ecx
564e5c:	25 ff 00 00 00       	and    $0xff,%eax
564e61:	0b c8                	or     %eax,%ecx
564e63:	8b 14 8d 10 b4 6a 00 	mov    0x6ab410(,%ecx,4),%edx
564e6a:	8b 4b 10             	mov    0x10(%ebx),%ecx
564e6d:	c1 e2 02             	shl    $0x2,%edx
564e70:	03 d1                	add    %ecx,%edx
564e72:	89 53 0c             	mov    %edx,0xc(%ebx)
564e75:	8b 43 0c             	mov    0xc(%ebx),%eax
564e78:	8b 10                	mov    (%eax),%edx
564e7a:	0f b7 0a             	movzwl (%edx),%ecx
564e7d:	29 4b 04             	sub    %ecx,0x4(%ebx)
564e80:	8b 53 0c             	mov    0xc(%ebx),%edx
564e83:	8b 03                	mov    (%ebx),%eax
564e85:	c1 e8 10             	shr    $0x10,%eax
564e88:	8b 0a                	mov    (%edx),%ecx
564e8a:	0f b7 11             	movzwl (%ecx),%edx
564e8d:	3b c2                	cmp    %edx,%eax
564e8f:	72 27                	jb     0x564eb8
564e91:	8b 43 0c             	mov    0xc(%ebx),%eax
564e94:	8b 08                	mov    (%eax),%ecx
564e96:	0f b7 01             	movzwl (%ecx),%eax
564e99:	c1 e0 10             	shl    $0x10,%eax
564e9c:	29 03                	sub    %eax,(%ebx)
564e9e:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564ea2:	74 0b                	je     0x564eaf
564ea4:	8b 53 0c             	mov    0xc(%ebx),%edx
564ea7:	8b 0a                	mov    (%edx),%ecx
564ea9:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
564ead:	eb 10                	jmp    0x564ebf
564eaf:	8b c3                	mov    %ebx,%eax
564eb1:	e8 fa cd 00 00       	call   0x571cb0
564eb6:	eb 07                	jmp    0x564ebf
564eb8:	8b c3                	mov    %ebx,%eax
564eba:	e8 11 cf 00 00       	call   0x571dd0
564ebf:	85 c0                	test   %eax,%eax
564ec1:	0f 84 1c 01 00 00    	je     0x564fe3
564ec7:	8b d7                	mov    %edi,%edx
564ec9:	8b 43 10             	mov    0x10(%ebx),%eax
564ecc:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
564ed2:	c1 fa 04             	sar    $0x4,%edx
564ed5:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
564edc:	c1 e1 02             	shl    $0x2,%ecx
564edf:	03 c8                	add    %eax,%ecx
564ee1:	89 4b 0c             	mov    %ecx,0xc(%ebx)
564ee4:	8b 53 0c             	mov    0xc(%ebx),%edx
564ee7:	8b 0a                	mov    (%edx),%ecx
564ee9:	0f b7 01             	movzwl (%ecx),%eax
564eec:	29 43 04             	sub    %eax,0x4(%ebx)
564eef:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564ef2:	8b 13                	mov    (%ebx),%edx
564ef4:	c1 ea 10             	shr    $0x10,%edx
564ef7:	8b 01                	mov    (%ecx),%eax
564ef9:	0f b7 08             	movzwl (%eax),%ecx
564efc:	3b d1                	cmp    %ecx,%edx
564efe:	72 27                	jb     0x564f27
564f00:	8b 53 0c             	mov    0xc(%ebx),%edx
564f03:	8b 02                	mov    (%edx),%eax
564f05:	0f b7 10             	movzwl (%eax),%edx
564f08:	c1 e2 10             	shl    $0x10,%edx
564f0b:	29 13                	sub    %edx,(%ebx)
564f0d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
564f11:	74 0b                	je     0x564f1e
564f13:	8b 4b 0c             	mov    0xc(%ebx),%ecx
564f16:	8b 01                	mov    (%ecx),%eax
564f18:	0f b7 40 02          	movzwl 0x2(%eax),%eax
564f1c:	eb 10                	jmp    0x564f2e
564f1e:	8b c3                	mov    %ebx,%eax
564f20:	e8 8b cd 00 00       	call   0x571cb0
564f25:	eb 07                	jmp    0x564f2e
564f27:	8b c3                	mov    %ebx,%eax
564f29:	e8 a2 ce 00 00       	call   0x571dd0
564f2e:	81 e7 f0 0f 00 00    	and    $0xff0,%edi
564f34:	c1 ff 04             	sar    $0x4,%edi
564f37:	33 04 bd 14 c4 6a 00 	xor    0x6ac414(,%edi,4),%eax
564f3e:	85 c0                	test   %eax,%eax
564f40:	74 07                	je     0x564f49
564f42:	8b 55 d0             	mov    -0x30(%ebp),%edx
564f45:	f7 da                	neg    %edx
564f47:	eb 03                	jmp    0x564f4c
564f49:	8b 55 d0             	mov    -0x30(%ebp),%edx
564f4c:	8b 4d bc             	mov    -0x44(%ebp),%ecx
564f4f:	89 11                	mov    %edx,(%ecx)
564f51:	8b 55 cc             	mov    -0x34(%ebp),%edx
564f54:	c1 e2 02             	shl    $0x2,%edx
564f57:	8b ce                	mov    %esi,%ecx
564f59:	2b ca                	sub    %edx,%ecx
564f5b:	8b 55 cc             	mov    -0x34(%ebp),%edx
564f5e:	c1 e2 02             	shl    $0x2,%edx
564f61:	03 d6                	add    %esi,%edx
564f63:	8b 7d 14             	mov    0x14(%ebp),%edi
564f66:	85 ff                	test   %edi,%edi
564f68:	74 32                	je     0x564f9c
564f6a:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
564f6e:	83 4a 04 08          	orl    $0x8,0x4(%edx)
564f72:	85 c0                	test   %eax,%eax
564f74:	74 16                	je     0x564f8c
564f76:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564f7c:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
564f83:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
564f8a:	eb 51                	jmp    0x564fdd
564f8c:	83 0a 10             	orl    $0x10,(%edx)
564f8f:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
564f93:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
564f9a:	eb 41                	jmp    0x564fdd
564f9c:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
564fa0:	83 49 04 04          	orl    $0x4,0x4(%ecx)
564fa4:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
564fa8:	83 4a 04 08          	orl    $0x8,0x4(%edx)
564fac:	85 c0                	test   %eax,%eax
564fae:	74 1c                	je     0x564fcc
564fb0:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
564fb6:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
564fbc:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
564fc3:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
564fca:	eb 11                	jmp    0x564fdd
564fcc:	83 09 40             	orl    $0x40,(%ecx)
564fcf:	83 0a 10             	orl    $0x10,(%edx)
564fd2:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
564fd6:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
564fdd:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
564fe3:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
564fe9:	ff 4d ec             	decl   -0x14(%ebp)
564fec:	8b 45 ec             	mov    -0x14(%ebp),%eax
564fef:	85 c0                	test   %eax,%eax
564ff1:	0f 8e 26 05 00 00    	jle    0x56551d
564ff7:	8b 55 cc             	mov    -0x34(%ebp),%edx
564ffa:	8b 4d b8             	mov    -0x48(%ebp),%ecx
564ffd:	c1 e2 02             	shl    $0x2,%edx
565000:	c1 e1 02             	shl    $0x2,%ecx
565003:	03 f2                	add    %edx,%esi
565005:	01 4d bc             	add    %ecx,-0x44(%ebp)
565008:	8b 3e                	mov    (%esi),%edi
56500a:	f7 c7 00 50 00 00    	test   $0x5000,%edi
565010:	0f 85 89 01 00 00    	jne    0x56519f
565016:	8b 45 18             	mov    0x18(%ebp),%eax
565019:	8b d7                	mov    %edi,%edx
56501b:	c1 e0 08             	shl    $0x8,%eax
56501e:	81 e2 ff 00 00 00    	and    $0xff,%edx
565024:	0b c2                	or     %edx,%eax
565026:	8b 0c 85 10 b4 6a 00 	mov    0x6ab410(,%eax,4),%ecx
56502d:	8b 43 10             	mov    0x10(%ebx),%eax
565030:	c1 e1 02             	shl    $0x2,%ecx
565033:	03 c8                	add    %eax,%ecx
565035:	89 4b 0c             	mov    %ecx,0xc(%ebx)
565038:	8b 53 0c             	mov    0xc(%ebx),%edx
56503b:	8b 0a                	mov    (%edx),%ecx
56503d:	0f b7 01             	movzwl (%ecx),%eax
565040:	29 43 04             	sub    %eax,0x4(%ebx)
565043:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565046:	8b 13                	mov    (%ebx),%edx
565048:	c1 ea 10             	shr    $0x10,%edx
56504b:	8b 01                	mov    (%ecx),%eax
56504d:	0f b7 08             	movzwl (%eax),%ecx
565050:	3b d1                	cmp    %ecx,%edx
565052:	72 27                	jb     0x56507b
565054:	8b 53 0c             	mov    0xc(%ebx),%edx
565057:	8b 02                	mov    (%edx),%eax
565059:	0f b7 10             	movzwl (%eax),%edx
56505c:	c1 e2 10             	shl    $0x10,%edx
56505f:	29 13                	sub    %edx,(%ebx)
565061:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
565065:	74 0b                	je     0x565072
565067:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56506a:	8b 01                	mov    (%ecx),%eax
56506c:	0f b7 40 02          	movzwl 0x2(%eax),%eax
565070:	eb 10                	jmp    0x565082
565072:	8b c3                	mov    %ebx,%eax
565074:	e8 37 cc 00 00       	call   0x571cb0
565079:	eb 07                	jmp    0x565082
56507b:	8b c3                	mov    %ebx,%eax
56507d:	e8 4e cd 00 00       	call   0x571dd0
565082:	85 c0                	test   %eax,%eax
565084:	0f 84 15 01 00 00    	je     0x56519f
56508a:	8b d7                	mov    %edi,%edx
56508c:	8b 43 10             	mov    0x10(%ebx),%eax
56508f:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
565095:	c1 fa 04             	sar    $0x4,%edx
565098:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
56509f:	c1 e1 02             	shl    $0x2,%ecx
5650a2:	03 c8                	add    %eax,%ecx
5650a4:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5650a7:	8b 53 0c             	mov    0xc(%ebx),%edx
5650aa:	8b 0a                	mov    (%edx),%ecx
5650ac:	0f b7 01             	movzwl (%ecx),%eax
5650af:	29 43 04             	sub    %eax,0x4(%ebx)
5650b2:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5650b5:	8b 13                	mov    (%ebx),%edx
5650b7:	c1 ea 10             	shr    $0x10,%edx
5650ba:	8b 01                	mov    (%ecx),%eax
5650bc:	0f b7 08             	movzwl (%eax),%ecx
5650bf:	3b d1                	cmp    %ecx,%edx
5650c1:	72 27                	jb     0x5650ea
5650c3:	8b 53 0c             	mov    0xc(%ebx),%edx
5650c6:	8b 02                	mov    (%edx),%eax
5650c8:	0f b7 10             	movzwl (%eax),%edx
5650cb:	c1 e2 10             	shl    $0x10,%edx
5650ce:	29 13                	sub    %edx,(%ebx)
5650d0:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5650d4:	74 0b                	je     0x5650e1
5650d6:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5650d9:	8b 01                	mov    (%ecx),%eax
5650db:	0f b7 40 02          	movzwl 0x2(%eax),%eax
5650df:	eb 10                	jmp    0x5650f1
5650e1:	8b c3                	mov    %ebx,%eax
5650e3:	e8 c8 cb 00 00       	call   0x571cb0
5650e8:	eb 07                	jmp    0x5650f1
5650ea:	8b c3                	mov    %ebx,%eax
5650ec:	e8 df cc 00 00       	call   0x571dd0
5650f1:	81 e7 f0 0f 00 00    	and    $0xff0,%edi
5650f7:	c1 ff 04             	sar    $0x4,%edi
5650fa:	33 04 bd 14 c4 6a 00 	xor    0x6ac414(,%edi,4),%eax
565101:	85 c0                	test   %eax,%eax
565103:	74 07                	je     0x56510c
565105:	8b 55 d0             	mov    -0x30(%ebp),%edx
565108:	f7 da                	neg    %edx
56510a:	eb 03                	jmp    0x56510f
56510c:	8b 55 d0             	mov    -0x30(%ebp),%edx
56510f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
565112:	89 11                	mov    %edx,(%ecx)
565114:	8b 55 cc             	mov    -0x34(%ebp),%edx
565117:	c1 e2 02             	shl    $0x2,%edx
56511a:	8b ce                	mov    %esi,%ecx
56511c:	2b ca                	sub    %edx,%ecx
56511e:	8b 55 cc             	mov    -0x34(%ebp),%edx
565121:	c1 e2 02             	shl    $0x2,%edx
565124:	03 d6                	add    %esi,%edx
565126:	eb 30                	jmp    0x565158
565128:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
56512c:	83 4a 04 08          	orl    $0x8,0x4(%edx)
565130:	85 c0                	test   %eax,%eax
565132:	74 14                	je     0x565148
565134:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
56513a:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
565141:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
565148:	83 0a 10             	orl    $0x10,(%edx)
56514b:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56514f:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
565156:	eb 41                	jmp    0x565199
565158:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
56515c:	83 49 04 04          	orl    $0x4,0x4(%ecx)
565160:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
565164:	83 4a 04 08          	orl    $0x8,0x4(%edx)
565168:	85 c0                	test   %eax,%eax
56516a:	74 1c                	je     0x565188
56516c:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
565172:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
565178:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
56517f:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
565186:	eb 11                	jmp    0x565199
565188:	83 09 40             	orl    $0x40,(%ecx)
56518b:	83 0a 10             	orl    $0x10,(%edx)
56518e:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
565192:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
565199:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
56519f:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
5651a5:	ff 4d ec             	decl   -0x14(%ebp)
5651a8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5651ab:	85 c0                	test   %eax,%eax
5651ad:	0f 8e 6a 03 00 00    	jle    0x56551d
5651b3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5651b6:	8b 45 b8             	mov    -0x48(%ebp),%eax
5651b9:	c1 e1 02             	shl    $0x2,%ecx
5651bc:	c1 e0 02             	shl    $0x2,%eax
5651bf:	03 f1                	add    %ecx,%esi
5651c1:	01 45 bc             	add    %eax,-0x44(%ebp)
5651c4:	8b 3e                	mov    (%esi),%edi
5651c6:	f7 c7 00 50 00 00    	test   $0x5000,%edi
5651cc:	0f 85 89 01 00 00    	jne    0x56535b
5651d2:	8b 45 18             	mov    0x18(%ebp),%eax
5651d5:	8b d7                	mov    %edi,%edx
5651d7:	c1 e0 08             	shl    $0x8,%eax
5651da:	81 e2 ff 00 00 00    	and    $0xff,%edx
5651e0:	0b c2                	or     %edx,%eax
5651e2:	8b 0c 85 10 b4 6a 00 	mov    0x6ab410(,%eax,4),%ecx
5651e9:	8b 43 10             	mov    0x10(%ebx),%eax
5651ec:	c1 e1 02             	shl    $0x2,%ecx
5651ef:	03 c8                	add    %eax,%ecx
5651f1:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5651f4:	8b 53 0c             	mov    0xc(%ebx),%edx