14069de4b:	ff 15 cf 5b 8e 00    	call   *0x8e5bcf(%rip)        # 0x140f83a20
14069de51:	90                   	nop
14069de52:	48 8b 0f             	mov    (%rdi),%rcx
14069de55:	48 85 c9             	test   %rcx,%rcx
14069de58:	74 20                	je     0x14069de7a
14069de5a:	8b 41 10             	mov    0x10(%rcx),%eax
14069de5d:	ff c8                	dec    %eax
14069de5f:	89 41 10             	mov    %eax,0x10(%rcx)
14069de62:	85 c0                	test   %eax,%eax
14069de64:	7f 14                	jg     0x14069de7a
14069de66:	78 21                	js     0x14069de89
14069de68:	48 8b 01             	mov    (%rcx),%rax
14069de6b:	ba 01 00 00 00       	mov    $0x1,%edx
14069de70:	48 8b 00             	mov    (%rax),%rax
14069de73:	ff 15 a7 5b 8e 00    	call   *0x8e5ba7(%rip)        # 0x140f83a20
14069de79:	90                   	nop
14069de7a:	32 c0                	xor    %al,%al
14069de7c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14069de81:	48 83 c4 20          	add    $0x20,%rsp
14069de85:	5f                   	pop    %rdi
14069de86:	5e                   	pop    %rsi
14069de87:	5d                   	pop    %rbp
14069de88:	c3                   	ret
14069de89:	b9 02 00 00 00       	mov    $0x2,%ecx
14069de8e:	e8 6d c8 0e 00       	call   0x14078a700
14069de93:	90                   	nop
14069de94:	b9 02 00 00 00       	mov    $0x2,%ecx
14069de99:	e8 62 c8 0e 00       	call   0x14078a700
14069de9e:	90                   	nop
14069de9f:	b9 02 00 00 00       	mov    $0x2,%ecx
14069dea4:	e8 57 c8 0e 00       	call   0x14078a700
14069dea9:	90                   	nop
14069deaa:	b9 02 00 00 00       	mov    $0x2,%ecx
14069deaf:	e8 4c c8 0e 00       	call   0x14078a700
14069deb4:	cc                   	int3
14069deb5:	cc                   	int3
14069deb6:	cc                   	int3
14069deb7:	cc                   	int3
14069deb8:	cc                   	int3
14069deb9:	cc                   	int3
14069deba:	cc                   	int3
14069debb:	cc                   	int3
14069debc:	cc                   	int3
14069debd:	cc                   	int3
14069debe:	cc                   	int3
14069debf:	cc                   	int3
14069dec0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14069dec5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14069deca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14069decf:	57                   	push   %rdi
14069ded0:	41 54                	push   %r12
14069ded2:	41 55                	push   %r13
14069ded4:	41 56                	push   %r14
14069ded6:	41 57                	push   %r15
14069ded8:	48 83 ec 30          	sub    $0x30,%rsp
14069dedc:	49 8b f0             	mov    %r8,%rsi
14069dedf:	4c 8b f2             	mov    %rdx,%r14
14069dee2:	48 8b e9             	mov    %rcx,%rbp
14069dee5:	45 0f b6 28          	movzbl (%r8),%r13d
14069dee9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14069def0:	9c f2 cb
14069def3:	4c 33 e8             	xor    %rax,%r13
14069def6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14069defd:	01 00 00
14069df00:	4c 0f af e9          	imul   %rcx,%r13
14069df04:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
14069df09:	4c 33 e8             	xor    %rax,%r13
14069df0c:	4c 0f af e9          	imul   %rcx,%r13
14069df10:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
14069df15:	4c 33 e8             	xor    %rax,%r13
14069df18:	4c 0f af e9          	imul   %rcx,%r13
14069df1c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
14069df21:	4c 33 e8             	xor    %rax,%r13
14069df24:	4c 0f af e9          	imul   %rcx,%r13
14069df28:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14069df2d:	4c 33 e8             	xor    %rax,%r13
14069df30:	4c 0f af e9          	imul   %rcx,%r13
14069df34:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
14069df39:	4c 33 e8             	xor    %rax,%r13
14069df3c:	4c 0f af e9          	imul   %rcx,%r13
14069df40:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
14069df45:	4c 33 e8             	xor    %rax,%r13
14069df48:	4c 0f af e9          	imul   %rcx,%r13
14069df4c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
14069df51:	4c 33 e8             	xor    %rax,%r13
14069df54:	4c 0f af e9          	imul   %rcx,%r13
14069df58:	49 8b cd             	mov    %r13,%rcx
14069df5b:	48 23 4d 30          	and    0x30(%rbp),%rcx
14069df5f:	48 03 c9             	add    %rcx,%rcx
14069df62:	48 8b 45 18          	mov    0x18(%rbp),%rax
14069df66:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14069df6b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
14069df6f:	4c 8b 22             	mov    (%rdx),%r12
14069df72:	49 3b dc             	cmp    %r12,%rbx
14069df75:	75 08                	jne    0x14069df7f
14069df77:	49 8b dc             	mov    %r12,%rbx
14069df7a:	4d 8b fc             	mov    %r12,%r15
14069df7d:	eb 4e                	jmp    0x14069dfcd
14069df7f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
14069df83:	49 8b 00             	mov    (%r8),%rax
14069df86:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14069df8a:	74 13                	je     0x14069df9f
14069df8c:	0f 1f 40 00          	nopl   0x0(%rax)
14069df90:	48 3b d9             	cmp    %rcx,%rbx
14069df93:	74 32                	je     0x14069dfc7
14069df95:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14069df99:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14069df9d:	75 f1                	jne    0x14069df90
14069df9f:	49 89 1e             	mov    %rbx,(%r14)
14069dfa2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
14069dfa7:	49 8b c6             	mov    %r14,%rax
14069dfaa:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14069dfaf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14069dfb4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14069dfb9:	48 83 c4 30          	add    $0x30,%rsp
14069dfbd:	41 5f                	pop    %r15
14069dfbf:	41 5e                	pop    %r14
14069dfc1:	41 5d                	pop    %r13
14069dfc3:	41 5c                	pop    %r12
14069dfc5:	5f                   	pop    %rdi
14069dfc6:	c3                   	ret
14069dfc7:	4c 8b e3             	mov    %rbx,%r12
14069dfca:	4c 8b fb             	mov    %rbx,%r15
14069dfcd:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
14069dfd4:	66 66 06
14069dfd7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14069dfdb:	0f 84 c9 01 00 00    	je     0x14069e1aa
14069dfe1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14069dfe6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14069dfed:	00 00
14069dfef:	b9 28 00 00 00       	mov    $0x28,%ecx
14069dff4:	e8 0f d1 77 00       	call   0x140e1b108
14069dff9:	48 8b f8             	mov    %rax,%rdi
14069dffc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14069e001:	48 8b 0e             	mov    (%rsi),%rcx
14069e004:	48 89 48 10          	mov    %rcx,0x10(%rax)
14069e008:	33 c0                	xor    %eax,%eax
14069e00a:	48 89 47 18          	mov    %rax,0x18(%rdi)
14069e00e:	48 89 47 20          	mov    %rax,0x20(%rdi)
14069e012:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14069e016:	48 83 c1 01          	add    $0x1,%rcx
14069e01a:	0f 57 c0             	xorps  %xmm0,%xmm0
14069e01d:	78 07                	js     0x14069e026
14069e01f:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14069e024:	eb 15                	jmp    0x14069e03b
14069e026:	48 8b c1             	mov    %rcx,%rax
14069e029:	48 d1 e8             	shr    $1,%rax
14069e02c:	83 e1 01             	and    $0x1,%ecx
14069e02f:	48 0b c1             	or     %rcx,%rax
14069e032:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14069e037:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14069e03b:	48 8b 75 38          	mov    0x38(%rbp),%rsi
14069e03f:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
14069e044:	0f 57 d2             	xorps  %xmm2,%xmm2
14069e047:	48 85 f6             	test   %rsi,%rsi
14069e04a:	78 07                	js     0x14069e053
14069e04c:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
14069e051:	eb 18                	jmp    0x14069e06b
14069e053:	48 8b ce             	mov    %rsi,%rcx
14069e056:	48 d1 e9             	shr    $1,%rcx
14069e059:	48 8b c6             	mov    %rsi,%rax
14069e05c:	83 e0 01             	and    $0x1,%eax
14069e05f:	48 0b c8             	or     %rax,%rcx
14069e062:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
14069e067:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14069e06b:	0f 28 c8             	movaps %xmm0,%xmm1
14069e06e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14069e072:	0f 2f cb             	comiss %xmm3,%xmm1
14069e075:	0f 86 c7 00 00 00    	jbe    0x14069e142
14069e07b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14069e07f:	e8 9c 30 79 00       	call   0x140e31120
14069e084:	33 c9                	xor    %ecx,%ecx
14069e086:	f3 0f 10 0d d6 05 91 	movss  0x9105d6(%rip),%xmm1        # 0x140fae664
14069e08d:	00
14069e08e:	0f 2f c1             	comiss %xmm1,%xmm0
14069e091:	72 16                	jb     0x14069e0a9
14069e093:	f3 0f 5c c1          	subss  %xmm1,%xmm0
14069e097:	0f 2f c1             	comiss %xmm1,%xmm0
14069e09a:	73 0d                	jae    0x14069e0a9
14069e09c:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14069e0a3:	00 00 80
14069e0a6:	48 8b c8             	mov    %rax,%rcx
14069e0a9:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14069e0ae:	48 03 c1             	add    %rcx,%rax
14069e0b1:	b9 08 00 00 00       	mov    $0x8,%ecx
14069e0b6:	48 3b c1             	cmp    %rcx,%rax
14069e0b9:	48 0f 47 c8          	cmova  %rax,%rcx
14069e0bd:	48 3b f1             	cmp    %rcx,%rsi
14069e0c0:	73 19                	jae    0x14069e0db
14069e0c2:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
14069e0c9:	73 0d                	jae    0x14069e0d8
14069e0cb:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
14069e0d2:	00
14069e0d3:	48 3b f1             	cmp    %rcx,%rsi
14069e0d6:	73 03                	jae    0x14069e0db
14069e0d8:	48 8b f1             	mov    %rcx,%rsi
14069e0db:	48 8b d6             	mov    %rsi,%rdx
14069e0de:	48 8b cd             	mov    %rbp,%rcx
14069e0e1:	e8 6a 72 f7 ff       	call   0x140615350
14069e0e6:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14069e0ea:	49 23 cd             	and    %r13,%rcx
14069e0ed:	48 03 c9             	add    %rcx,%rcx
14069e0f0:	48 8b 55 18          	mov    0x18(%rbp),%rdx
14069e0f4:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14069e0f9:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14069e0fd:	48 3b c3             	cmp    %rbx,%rax
14069e100:	75 0b                	jne    0x14069e10d
14069e102:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14069e109:	00 00
14069e10b:	eb 28                	jmp    0x14069e135
14069e10d:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14069e111:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14069e115:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14069e119:	74 17                	je     0x14069e132
14069e11b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14069e120:	48 8b d8             	mov    %rax,%rbx
14069e123:	48 3b c2             	cmp    %rdx,%rax
14069e126:	74 4e                	je     0x14069e176
14069e128:	48 8b 40 08          	mov    0x8(%rax),%rax
14069e12c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14069e130:	75 ee                	jne    0x14069e120
14069e132:	48 8b 18             	mov    (%rax),%rbx
14069e135:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14069e13a:	4c 8b fb             	mov    %rbx,%r15
14069e13d:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14069e142:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14069e146:	48 ff 45 10          	incq   0x10(%rbp)
14069e14a:	4c 89 27             	mov    %r12,(%rdi)
14069e14d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
14069e151:	48 89 3a             	mov    %rdi,(%rdx)
14069e154:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14069e158:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
14069e15c:	48 8b 45 30          	mov    0x30(%rbp),%rax
14069e160:	49 23 c5             	and    %r13,%rax
14069e163:	48 03 c0             	add    %rax,%rax
14069e166:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14069e16a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
14069e16e:	75 16                	jne    0x14069e186
14069e170:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14069e174:	eb 22                	jmp    0x14069e198
14069e176:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14069e17b:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14069e182:	00 00
14069e184:	eb b4                	jmp    0x14069e13a
14069e186:	4d 3b c7             	cmp    %r15,%r8
14069e189:	75 06                	jne    0x14069e191
14069e18b:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14069e18f:	eb 0c                	jmp    0x14069e19d
14069e191:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
14069e196:	75 05                	jne    0x14069e19d
14069e198:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14069e19d:	49 89 3e             	mov    %rdi,(%r14)
14069e1a0:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
14069e1a5:	e9 fd fd ff ff       	jmp    0x14069dfa7
14069e1aa:	48 8d 0d ef 02 91 00 	lea    0x9102ef(%rip),%rcx        # 0x140fae4a0
14069e1b1:	e8 fe d1 75 00       	call   0x140dfb3b4
14069e1b6:	cc                   	int3
14069e1b7:	cc                   	int3
14069e1b8:	cc                   	int3
14069e1b9:	cc                   	int3
14069e1ba:	cc                   	int3
14069e1bb:	cc                   	int3
14069e1bc:	cc                   	int3
14069e1bd:	cc                   	int3
14069e1be:	cc                   	int3
14069e1bf:	cc                   	int3
14069e1c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14069e1c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14069e1ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14069e1cf:	57                   	push   %rdi
14069e1d0:	41 54                	push   %r12
14069e1d2:	41 55                	push   %r13
14069e1d4:	41 56                	push   %r14
14069e1d6:	41 57                	push   %r15
14069e1d8:	48 83 ec 40          	sub    $0x40,%rsp
14069e1dc:	49 8b d8             	mov    %r8,%rbx
14069e1df:	4c 8b fa             	mov    %rdx,%r15
14069e1e2:	4c 8b e9             	mov    %rcx,%r13
14069e1e5:	4d 8b 48 10          	mov    0x10(%r8),%r9
14069e1e9:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14069e1ee:	76 03                	jbe    0x14069e1f3
14069e1f0:	4d 8b 00             	mov    (%r8),%r8
14069e1f3:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14069e1fa:	9c f2 cb
14069e1fd:	45 33 e4             	xor    %r12d,%r12d
14069e200:	41 8b d4             	mov    %r12d,%edx
14069e203:	4d 85 c9             	test   %r9,%r9
14069e206:	74 2c                	je     0x14069e234
14069e208:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14069e20f:	01 00 00
14069e212:	0f 1f 40 00          	nopl   0x0(%rax)
14069e216:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14069e21d:	00 00 00
14069e220:	41 0f b6 04 10       	movzbl (%r8,%rdx,1),%eax
14069e225:	48 33 f8             	xor    %rax,%rdi
14069e228:	48 0f af f9          	imul   %rcx,%rdi
14069e22c:	48 ff c2             	inc    %rdx
14069e22f:	49 3b d1             	cmp    %r9,%rdx
14069e232:	72 ec                	jb     0x14069e220
14069e234:	4c 8b cf             	mov    %rdi,%r9
14069e237:	4c 8b c3             	mov    %rbx,%r8
14069e23a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14069e23f:	49 8b cd             	mov    %r13,%rcx
14069e242:	e8 b9 5f b7 ff       	call   0x140214200
14069e247:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
14069e24c:	48 85 c0             	test   %rax,%rax
14069e24f:	74 0c                	je     0x14069e25d
14069e251:	49 89 07             	mov    %rax,(%r15)
14069e254:	45 88 67 08          	mov    %r12b,0x8(%r15)
14069e258:	e9 14 02 00 00       	jmp    0x14069e471
14069e25d:	48 b8 8e e3 38 8e e3 	movabs $0x38e38e38e38e38e,%rax
14069e264:	38 8e 03
14069e267:	49 39 45 10          	cmp    %rax,0x10(%r13)
14069e26b:	0f 84 23 02 00 00    	je     0x14069e494
14069e271:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14069e275:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14069e27a:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
14069e27f:	b9 48 00 00 00       	mov    $0x48,%ecx
14069e284:	e8 7f ce 77 00       	call   0x140e1b108
14069e289:	48 8b f0             	mov    %rax,%rsi
14069e28c:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14069e291:	48 8b d3             	mov    %rbx,%rdx
14069e294:	48 8d 48 10          	lea    0x10(%rax),%rcx
14069e298:	e8 a3 a7 b0 ff       	call   0x1401a8a40
14069e29d:	4c 89 66 30          	mov    %r12,0x30(%rsi)
14069e2a1:	4c 89 66 38          	mov    %r12,0x38(%rsi)
14069e2a5:	4c 89 66 40          	mov    %r12,0x40(%rsi)
14069e2a9:	49 8b 4d 10          	mov    0x10(%r13),%rcx
14069e2ad:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
14069e2b3:	48 83 c1 01          	add    $0x1,%rcx
14069e2b7:	0f 57 c0             	xorps  %xmm0,%xmm0
14069e2ba:	78 07                	js     0x14069e2c3
14069e2bc:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14069e2c1:	eb 15                	jmp    0x14069e2d8
14069e2c3:	48 8b c1             	mov    %rcx,%rax
14069e2c6:	48 d1 e8             	shr    $1,%rax
14069e2c9:	83 e1 01             	and    $0x1,%ecx
14069e2cc:	48 0b c1             	or     %rcx,%rax
14069e2cf:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14069e2d4:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14069e2d8:	49 8b 5d 38          	mov    0x38(%r13),%rbx
14069e2dc:	0f 57 d2             	xorps  %xmm2,%xmm2
14069e2df:	48 85 db             	test   %rbx,%rbx
14069e2e2:	78 07                	js     0x14069e2eb
14069e2e4:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
14069e2e9:	eb 18                	jmp    0x14069e303
14069e2eb:	48 8b cb             	mov    %rbx,%rcx
14069e2ee:	48 d1 e9             	shr    $1,%rcx
14069e2f1:	48 8b c3             	mov    %rbx,%rax
14069e2f4:	83 e0 01             	and    $0x1,%eax