563ce0:	8b 5d d8             	mov    -0x28(%ebp),%ebx
563ce3:	85 db                	test   %ebx,%ebx
563ce5:	74 12                	je     0x563cf9
563ce7:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
563cea:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
563ced:	50                   	push   %eax
563cee:	6a 00                	push   $0x0
563cf0:	51                   	push   %ecx
563cf1:	e8 0a fd 07 00       	call   0x5e3a00
563cf6:	83 c4 0c             	add    $0xc,%esp
563cf9:	8b 45 9c             	mov    -0x64(%ebp),%eax
563cfc:	b9 30 00 00 00       	mov    $0x30,%ecx
563d01:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
563d07:	3b c1                	cmp    %ecx,%eax
563d09:	0f 42 c8             	cmovb  %eax,%ecx
563d0c:	b8 01 00 00 00       	mov    $0x1,%eax
563d11:	66 89 4f 10          	mov    %cx,0x10(%edi)
563d15:	8b 4d f0             	mov    -0x10(%ebp),%ecx
563d18:	89 45 cc             	mov    %eax,-0x34(%ebp)
563d1b:	85 db                	test   %ebx,%ebx
563d1d:	74 13                	je     0x563d32
563d1f:	83 ca ff             	or     $0xffffffff,%edx
563d22:	0f b6 c3             	movzbl %bl,%eax
563d25:	85 c9                	test   %ecx,%ecx
563d27:	0f 4f c2             	cmovg  %edx,%eax
563d2a:	88 47 16             	mov    %al,0x16(%edi)
563d2d:	b8 01 00 00 00       	mov    $0x1,%eax
563d32:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
563d39:	85 c9                	test   %ecx,%ecx
563d3b:	0f 8e 98 05 00 00    	jle    0x5642d9
563d41:	8b 55 08             	mov    0x8(%ebp),%edx
563d44:	eb 03                	jmp    0x563d49
563d46:	8b 45 cc             	mov    -0x34(%ebp),%eax
563d49:	33 c9                	xor    %ecx,%ecx
563d4b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
563d4e:	85 c0                	test   %eax,%eax
563d50:	0f 8e 5d 04 00 00    	jle    0x5641b3
563d56:	83 c7 10             	add    $0x10,%edi
563d59:	89 7d ec             	mov    %edi,-0x14(%ebp)
563d5c:	0f 1f 40 00          	nopl   0x0(%eax)
563d60:	8b 5a 3c             	mov    0x3c(%edx),%ebx
563d63:	89 5d e8             	mov    %ebx,-0x18(%ebp)
563d66:	85 db                	test   %ebx,%ebx
563d68:	0f 84 2d 04 00 00    	je     0x56419b
563d6e:	66 90                	xchg   %ax,%ax
563d70:	8a 47 06             	mov    0x6(%edi),%al
563d73:	0f 57 c0             	xorps  %xmm0,%xmm0
563d76:	8b 57 f0             	mov    -0x10(%edi),%edx
563d79:	8b ca                	mov    %edx,%ecx
563d7b:	8b 77 f4             	mov    -0xc(%edi),%esi
563d7e:	f7 d1                	not    %ecx
563d80:	23 0b                	and    (%ebx),%ecx
563d82:	88 45 ff             	mov    %al,-0x1(%ebp)
563d85:	8b c6                	mov    %esi,%eax
563d87:	f7 d0                	not    %eax
563d89:	66 0f 13 45 a0       	movlpd %xmm0,-0x60(%ebp)
563d8e:	23 43 04             	and    0x4(%ebx),%eax
563d91:	0b c8                	or     %eax,%ecx
563d93:	89 55 d4             	mov    %edx,-0x2c(%ebp)
563d96:	89 75 c4             	mov    %esi,-0x3c(%ebp)
563d99:	0f 85 72 04 00 00    	jne    0x564211
563d9f:	8b ca                	mov    %edx,%ecx
563da1:	8b c6                	mov    %esi,%eax
563da3:	23 4b 08             	and    0x8(%ebx),%ecx
563da6:	23 43 0c             	and    0xc(%ebx),%eax
563da9:	0b c8                	or     %eax,%ecx
563dab:	0f 85 60 04 00 00    	jne    0x564211
563db1:	f7 43 24 00 40 00 00 	testl  $0x4000,0x24(%ebx)
563db8:	74 0a                	je     0x563dc4
563dba:	66 83 3f 03          	cmpw   $0x3,(%edi)
563dbe:	0f 8c 4d 04 00 00    	jl     0x564211
563dc4:	8b 55 e8             	mov    -0x18(%ebp),%edx
563dc7:	0f b7 1f             	movzwl (%edi),%ebx
563dca:	66 8b 42 14          	mov    0x14(%edx),%ax
563dce:	0f b7 52 12          	movzwl 0x12(%edx),%edx
563dd2:	66 03 c3             	add    %bx,%ax
563dd5:	0f b7 c8             	movzwl %ax,%ecx
563dd8:	66 3b d1             	cmp    %cx,%dx
563ddb:	7c 2b                	jl     0x563e08
563ddd:	0f bf f1             	movswl %cx,%esi
563de0:	0f bf ca             	movswl %dx,%ecx
563de3:	8d 46 31             	lea    0x31(%esi),%eax
563de6:	3b c8                	cmp    %eax,%ecx
563de8:	7e 04                	jle    0x563dee
563dea:	8b f2                	mov    %edx,%esi
563dec:	eb 46                	jmp    0x563e34
563dee:	8d 46 1f             	lea    0x1f(%esi),%eax
563df1:	3b c8                	cmp    %eax,%ecx
563df3:	7e 05                	jle    0x563dfa
563df5:	8d 42 01             	lea    0x1(%edx),%eax
563df8:	eb 37                	jmp    0x563e31
563dfa:	2b ce                	sub    %esi,%ecx
563dfc:	0f b6 81 c0 2c 6b 00 	movzbl 0x6b2cc0(%ecx),%eax
563e03:	66 03 c2             	add    %dx,%ax
563e06:	eb 29                	jmp    0x563e31
563e08:	0f bf f2             	movswl %dx,%esi
563e0b:	0f bf d1             	movswl %cx,%edx
563e0e:	8d 46 31             	lea    0x31(%esi),%eax
563e11:	3b d0                	cmp    %eax,%edx
563e13:	7e 04                	jle    0x563e19
563e15:	8b f1                	mov    %ecx,%esi
563e17:	eb 1b                	jmp    0x563e34
563e19:	8d 46 1f             	lea    0x1f(%esi),%eax
563e1c:	3b d0                	cmp    %eax,%edx
563e1e:	7e 05                	jle    0x563e25
563e20:	8d 41 01             	lea    0x1(%ecx),%eax
563e23:	eb 0c                	jmp    0x563e31
563e25:	2b d6                	sub    %esi,%edx
563e27:	0f b6 82 c0 2c 6b 00 	movzbl 0x6b2cc0(%edx),%eax
563e2e:	66 03 c1             	add    %cx,%ax
563e31:	0f b7 f0             	movzwl %ax,%esi
563e34:	0f b7 4f 04          	movzwl 0x4(%edi),%ecx
563e38:	66 8b fe             	mov    %si,%di
563e3b:	89 75 f8             	mov    %esi,-0x8(%ebp)
563e3e:	0f bf d1             	movswl %cx,%edx
563e41:	66 3b f9             	cmp    %cx,%di
563e44:	7c 29                	jl     0x563e6f
563e46:	0f bf cf             	movswl %di,%ecx
563e49:	8d 42 31             	lea    0x31(%edx),%eax
563e4c:	3b c8                	cmp    %eax,%ecx
563e4e:	7f 4e                	jg     0x563e9e
563e50:	8d 42 1f             	lea    0x1f(%edx),%eax
563e53:	3b c8                	cmp    %eax,%ecx
563e55:	7e 03                	jle    0x563e5a
563e57:	46                   	inc    %esi
563e58:	eb 3e                	jmp    0x563e98
563e5a:	2b ca                	sub    %edx,%ecx
563e5c:	0f b6 81 c0 2c 6b 00 	movzbl 0x6b2cc0(%ecx),%eax
563e63:	66 03 f8             	add    %ax,%di
563e66:	66 89 7d f8          	mov    %di,-0x8(%ebp)
563e6a:	8b 75 f8             	mov    -0x8(%ebp),%esi
563e6d:	eb 2f                	jmp    0x563e9e
563e6f:	0f bf f7             	movswl %di,%esi
563e72:	8d 46 31             	lea    0x31(%esi),%eax
563e75:	3b d0                	cmp    %eax,%edx
563e77:	7e 04                	jle    0x563e7d
563e79:	8b f1                	mov    %ecx,%esi
563e7b:	eb 1b                	jmp    0x563e98
563e7d:	8d 46 1f             	lea    0x1f(%esi),%eax
563e80:	3b d0                	cmp    %eax,%edx
563e82:	7e 05                	jle    0x563e89
563e84:	8d 41 01             	lea    0x1(%ecx),%eax
563e87:	eb 0c                	jmp    0x563e95
563e89:	2b d6                	sub    %esi,%edx
563e8b:	0f b6 82 c0 2c 6b 00 	movzbl 0x6b2cc0(%edx),%eax
563e92:	66 03 c1             	add    %cx,%ax
563e95:	0f b7 f0             	movzwl %ax,%esi
563e98:	89 75 f8             	mov    %esi,-0x8(%ebp)
563e9b:	66 8b fe             	mov    %si,%di
563e9e:	8b 45 e8             	mov    -0x18(%ebp),%eax
563ea1:	66 8b 40 16          	mov    0x16(%eax),%ax
563ea5:	66 03 c3             	add    %bx,%ax
563ea8:	8b 5d e8             	mov    -0x18(%ebp),%ebx
563eab:	0f b7 c0             	movzwl %ax,%eax
563eae:	89 45 a8             	mov    %eax,-0x58(%ebp)
563eb1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
563eb4:	0b 43 08             	or     0x8(%ebx),%eax
563eb7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
563eba:	8b 45 c4             	mov    -0x3c(%ebp),%eax
563ebd:	0b 43 0c             	or     0xc(%ebx),%eax
563ec0:	89 45 c4             	mov    %eax,-0x3c(%ebp)
563ec3:	8a 45 ff             	mov    -0x1(%ebp),%al
563ec6:	84 c0                	test   %al,%al
563ec8:	79 31                	jns    0x563efb
563eca:	8b 55 08             	mov    0x8(%ebp),%edx
563ecd:	8d 45 a0             	lea    -0x60(%ebp),%eax
563ed0:	50                   	push   %eax
563ed1:	53                   	push   %ebx
563ed2:	ff 75 c8             	push   -0x38(%ebp)
563ed5:	0f b7 42 28          	movzwl 0x28(%edx),%eax
563ed9:	50                   	push   %eax
563eda:	8b 45 ec             	mov    -0x14(%ebp),%eax
563edd:	83 c0 f0             	add    $0xfffffff0,%eax
563ee0:	50                   	push   %eax
563ee1:	ff 72 08             	push   0x8(%edx)
563ee4:	52                   	push   %edx
563ee5:	e8 86 f4 ff ff       	call   0x563370
563eea:	8b 55 a0             	mov    -0x60(%ebp),%edx
563eed:	83 c4 1c             	add    $0x1c,%esp
563ef0:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
563ef3:	88 45 ff             	mov    %al,-0x1(%ebp)
563ef6:	89 55 b0             	mov    %edx,-0x50(%ebp)
563ef9:	eb 0c                	jmp    0x563f07
563efb:	8b 55 ec             	mov    -0x14(%ebp),%edx
563efe:	8b 4a f8             	mov    -0x8(%edx),%ecx
563f01:	89 4d b0             	mov    %ecx,-0x50(%ebp)
563f04:	8b 4a fc             	mov    -0x4(%edx),%ecx
563f07:	89 4d ac             	mov    %ecx,-0x54(%ebp)
563f0a:	84 c0                	test   %al,%al
563f0c:	0f 88 18 01 00 00    	js     0x56402a
563f12:	8b 55 d8             	mov    -0x28(%ebp),%edx
563f15:	0f be c8             	movsbl %al,%ecx
563f18:	3b ca                	cmp    %edx,%ecx
563f1a:	0f 8d 0a 01 00 00    	jge    0x56402a
563f20:	8b 45 b4             	mov    -0x4c(%ebp),%eax
563f23:	66 83 3c 48 00       	cmpw   $0x0,(%eax,%ecx,2)
563f28:	8d 04 48             	lea    (%eax,%ecx,2),%eax
563f2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
563f2e:	75 6e                	jne    0x563f9e
563f30:	8b 45 0c             	mov    0xc(%ebp),%eax
563f33:	0f b7 d8             	movzwl %ax,%ebx
563f36:	8b c2                	mov    %edx,%eax
563f38:	2b c1                	sub    %ecx,%eax
563f3a:	6b c0 64             	imul   $0x64,%eax,%eax
563f3d:	99                   	cltd
563f3e:	f7 7d d8             	idivl  -0x28(%ebp)
563f41:	99                   	cltd
563f42:	52                   	push   %edx
563f43:	50                   	push   %eax
563f44:	e8 47 ce fc ff       	call   0x530d90
563f49:	8b 55 0c             	mov    0xc(%ebp),%edx
563f4c:	83 c4 08             	add    $0x8,%esp
563f4f:	8d 4a ce             	lea    -0x32(%edx),%ecx
563f52:	66 03 c1             	add    %cx,%ax
563f55:	b9 00 40 00 00       	mov    $0x4000,%ecx
563f5a:	0f b7 c0             	movzwl %ax,%eax
563f5d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
563f60:	8b 45 08             	mov    0x8(%ebp),%eax
563f63:	66 85 48 28          	test   %cx,0x28(%eax)
563f67:	74 0b                	je     0x563f74
563f69:	0f b7 40 2a          	movzwl 0x2a(%eax),%eax
563f6d:	66 3b c2             	cmp    %dx,%ax
563f70:	7d 02                	jge    0x563f74
563f72:	8b d8                	mov    %eax,%ebx
563f74:	66 83 fb 0a          	cmp    $0xa,%bx
563f78:	7f 04                	jg     0x563f7e
563f7a:	33 c0                	xor    %eax,%eax
563f7c:	eb 12                	jmp    0x563f90
563f7e:	0f bf c3             	movswl %bx,%eax
563f81:	99                   	cltd
563f82:	52                   	push   %edx
563f83:	50                   	push   %eax
563f84:	e8 07 ce fc ff       	call   0x530d90
563f89:	98                   	cwtl
563f8a:	83 c4 08             	add    $0x8,%esp
563f8d:	83 e8 21             	sub    $0x21,%eax
563f90:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563f93:	03 45 a4             	add    -0x5c(%ebp),%eax
563f96:	8b 5d e8             	mov    -0x18(%ebp),%ebx
563f99:	66 89 01             	mov    %ax,(%ecx)
563f9c:	8b c1                	mov    %ecx,%eax
563f9e:	0f b7 08             	movzwl (%eax),%ecx
563fa1:	0f bf d1             	movswl %cx,%edx
563fa4:	66 3b f9             	cmp    %cx,%di
563fa7:	7c 41                	jl     0x563fea
563fa9:	0f bf cf             	movswl %di,%ecx
563fac:	8d 42 31             	lea    0x31(%edx),%eax
563faf:	3b c8                	cmp    %eax,%ecx
563fb1:	7e 0b                	jle    0x563fbe
563fb3:	0f b7 c7             	movzwl %di,%eax
563fb6:	83 c0 05             	add    $0x5,%eax
563fb9:	0f b7 d0             	movzwl %ax,%edx
563fbc:	eb 78                	jmp    0x564036
563fbe:	8d 42 1f             	lea    0x1f(%edx),%eax
563fc1:	3b c8                	cmp    %eax,%ecx
563fc3:	7e 0e                	jle    0x563fd3
563fc5:	8d 46 01             	lea    0x1(%esi),%eax
563fc8:	0f b7 c0             	movzwl %ax,%eax
563fcb:	83 c0 05             	add    $0x5,%eax
563fce:	0f b7 d0             	movzwl %ax,%edx
563fd1:	eb 63                	jmp    0x564036
563fd3:	2b ca                	sub    %edx,%ecx
563fd5:	0f b6 81 c0 2c 6b 00 	movzbl 0x6b2cc0(%ecx),%eax
563fdc:	66 03 c7             	add    %di,%ax
563fdf:	0f b7 c0             	movzwl %ax,%eax
563fe2:	83 c0 05             	add    $0x5,%eax
563fe5:	0f b7 d0             	movzwl %ax,%edx
563fe8:	eb 4c                	jmp    0x564036
563fea:	0f bf f7             	movswl %di,%esi
563fed:	8d 46 31             	lea    0x31(%esi),%eax
563ff0:	3b d0                	cmp    %eax,%edx
563ff2:	7e 0a                	jle    0x563ffe
563ff4:	8b c1                	mov    %ecx,%eax
563ff6:	83 c0 05             	add    $0x5,%eax
563ff9:	0f b7 d0             	movzwl %ax,%edx
563ffc:	eb 38                	jmp    0x564036
563ffe:	8d 46 1f             	lea    0x1f(%esi),%eax
564001:	3b d0                	cmp    %eax,%edx
564003:	7e 0e                	jle    0x564013
564005:	8d 41 01             	lea    0x1(%ecx),%eax
564008:	0f b7 c0             	movzwl %ax,%eax
56400b:	83 c0 05             	add    $0x5,%eax
56400e:	0f b7 d0             	movzwl %ax,%edx
564011:	eb 23                	jmp    0x564036
564013:	2b d6                	sub    %esi,%edx
564015:	0f b6 82 c0 2c 6b 00 	movzbl 0x6b2cc0(%edx),%eax
56401c:	66 03 c1             	add    %cx,%ax
56401f:	0f b7 c0             	movzwl %ax,%eax
564022:	83 c0 05             	add    $0x5,%eax
564025:	0f b7 d0             	movzwl %ax,%edx
564028:	eb 0c                	jmp    0x564036
56402a:	83 ee 02             	sub    $0x2,%esi
56402d:	0f b7 d7             	movzwl %di,%edx
564030:	89 75 f8             	mov    %esi,-0x8(%ebp)
564033:	66 8b fe             	mov    %si,%di
564036:	8b 75 e0             	mov    -0x20(%ebp),%esi
564039:	33 c9                	xor    %ecx,%ecx
56403b:	89 55 a4             	mov    %edx,-0x5c(%ebp)
56403e:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
564041:	7e 26                	jle    0x564069
564043:	8b 45 d4             	mov    -0x2c(%ebp),%eax
564046:	39 06                	cmp    %eax,(%esi)
564048:	75 16                	jne    0x564060
56404a:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
56404d:	39 5e 04             	cmp    %ebx,0x4(%esi)
564050:	8b 5d e8             	mov    -0x18(%ebp),%ebx
564053:	75 0b                	jne    0x564060
564055:	8a 46 16             	mov    0x16(%esi),%al
564058:	32 45 ff             	xor    -0x1(%ebp),%al
56405b:	7d 31                	jge    0x56408e
56405d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
564060:	41                   	inc    %ecx
564061:	83 c6 20             	add    $0x20,%esi
564064:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
564067:	7c dd                	jl     0x564046
564069:	8b 4d f4             	mov    -0xc(%ebp),%ecx
56406c:	3b 4d d0             	cmp    -0x30(%ebp),%ecx
56406f:	7c 4f                	jl     0x5640c0
564071:	8b 75 b8             	mov    -0x48(%ebp),%esi
564074:	66 3b d6             	cmp    %si,%dx
564077:	0f 8f 07 01 00 00    	jg     0x564184
56407d:	75 0a                	jne    0x564089
56407f:	66 3b 7d bc          	cmp    -0x44(%ebp),%di
564083:	0f 8d fb 00 00 00    	jge    0x564184
564089:	8b 75 c0             	mov    -0x40(%ebp),%esi
56408c:	eb 38                	jmp    0x5640c6
56408e:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
564091:	7d d6                	jge    0x564069
564093:	0f b7 46 12          	movzwl 0x12(%esi),%eax
564097:	66 3b c2             	cmp    %dx,%ax
56409a:	0f 8c e1 00 00 00    	jl     0x564181
5640a0:	75 2a                	jne    0x5640cc
5640a2:	0f b7 46 10          	movzwl 0x10(%esi),%eax
5640a6:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5640a9:	66 3b c1             	cmp    %cx,%ax
5640ac:	0f 8c cf 00 00 00    	jl     0x564181
5640b2:	75 18                	jne    0x5640cc
5640b4:	66 39 7e 14          	cmp    %di,0x14(%esi)
5640b8:	0f 8e c3 00 00 00    	jle    0x564181
5640be:	eb 0c                	jmp    0x5640cc
5640c0:	8b f1                	mov    %ecx,%esi
5640c2:	41                   	inc    %ecx
5640c3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5640c6:	c1 e6 05             	shl    $0x5,%esi
5640c9:	03 75 e0             	add    -0x20(%ebp),%esi
5640cc:	8b 43 0c             	mov    0xc(%ebx),%eax
5640cf:	8b 4b 08             	mov    0x8(%ebx),%ecx
5640d2:	8b 55 ec             	mov    -0x14(%ebp),%edx
5640d5:	0b 42 f4             	or     -0xc(%edx),%eax
5640d8:	0b 4a f0             	or     -0x10(%edx),%ecx