140657d78:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140657d7c:	48 8b 45 30          	mov    0x30(%rbp),%rax
140657d80:	49 23 c5             	and    %r13,%rax
140657d83:	48 03 c0             	add    %rax,%rax
140657d86:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140657d8a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140657d8e:	75 16                	jne    0x140657da6
140657d90:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140657d94:	eb 22                	jmp    0x140657db8
140657d96:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140657d9b:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657da2:	00 00
140657da4:	eb b4                	jmp    0x140657d5a
140657da6:	4d 3b c7             	cmp    %r15,%r8
140657da9:	75 06                	jne    0x140657db1
140657dab:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140657daf:	eb 0c                	jmp    0x140657dbd
140657db1:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140657db6:	75 05                	jne    0x140657dbd
140657db8:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140657dbd:	49 89 3e             	mov    %rdi,(%r14)
140657dc0:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140657dc5:	e9 fd fd ff ff       	jmp    0x140657bc7
140657dca:	48 8d 0d cf 66 95 00 	lea    0x9566cf(%rip),%rcx        # 0x140fae4a0
140657dd1:	e8 de 35 7a 00       	call   0x140dfb3b4
140657dd6:	cc                   	int3
140657dd7:	cc                   	int3
140657dd8:	cc                   	int3
140657dd9:	cc                   	int3
140657dda:	cc                   	int3
140657ddb:	cc                   	int3
140657ddc:	cc                   	int3
140657ddd:	cc                   	int3
140657dde:	cc                   	int3
140657ddf:	cc                   	int3
140657de0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140657de5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140657dea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140657def:	57                   	push   %rdi
140657df0:	41 54                	push   %r12
140657df2:	41 55                	push   %r13
140657df4:	41 56                	push   %r14
140657df6:	41 57                	push   %r15
140657df8:	48 83 ec 30          	sub    $0x30,%rsp
140657dfc:	49 8b f0             	mov    %r8,%rsi
140657dff:	4c 8b f2             	mov    %rdx,%r14
140657e02:	48 8b e9             	mov    %rcx,%rbp
140657e05:	45 0f b6 28          	movzbl (%r8),%r13d
140657e09:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140657e10:	9c f2 cb
140657e13:	4c 33 e8             	xor    %rax,%r13
140657e16:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140657e1d:	01 00 00
140657e20:	4c 0f af e9          	imul   %rcx,%r13
140657e24:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140657e29:	4c 33 e8             	xor    %rax,%r13
140657e2c:	4c 0f af e9          	imul   %rcx,%r13
140657e30:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140657e35:	4c 33 e8             	xor    %rax,%r13
140657e38:	4c 0f af e9          	imul   %rcx,%r13
140657e3c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140657e41:	4c 33 e8             	xor    %rax,%r13
140657e44:	4c 0f af e9          	imul   %rcx,%r13
140657e48:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140657e4d:	4c 33 e8             	xor    %rax,%r13
140657e50:	4c 0f af e9          	imul   %rcx,%r13
140657e54:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140657e59:	4c 33 e8             	xor    %rax,%r13
140657e5c:	4c 0f af e9          	imul   %rcx,%r13
140657e60:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140657e65:	4c 33 e8             	xor    %rax,%r13
140657e68:	4c 0f af e9          	imul   %rcx,%r13
140657e6c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140657e71:	4c 33 e8             	xor    %rax,%r13
140657e74:	4c 0f af e9          	imul   %rcx,%r13
140657e78:	49 8b cd             	mov    %r13,%rcx
140657e7b:	48 23 4d 30          	and    0x30(%rbp),%rcx
140657e7f:	48 03 c9             	add    %rcx,%rcx
140657e82:	48 8b 45 18          	mov    0x18(%rbp),%rax
140657e86:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140657e8b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140657e8f:	4c 8b 22             	mov    (%rdx),%r12
140657e92:	49 3b dc             	cmp    %r12,%rbx
140657e95:	75 08                	jne    0x140657e9f
140657e97:	49 8b dc             	mov    %r12,%rbx
140657e9a:	4d 8b fc             	mov    %r12,%r15
140657e9d:	eb 4e                	jmp    0x140657eed
140657e9f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140657ea3:	49 8b 00             	mov    (%r8),%rax
140657ea6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140657eaa:	74 13                	je     0x140657ebf
140657eac:	0f 1f 40 00          	nopl   0x0(%rax)
140657eb0:	48 3b d9             	cmp    %rcx,%rbx
140657eb3:	74 32                	je     0x140657ee7
140657eb5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140657eb9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140657ebd:	75 f1                	jne    0x140657eb0
140657ebf:	49 89 1e             	mov    %rbx,(%r14)
140657ec2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140657ec7:	49 8b c6             	mov    %r14,%rax
140657eca:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140657ecf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140657ed4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140657ed9:	48 83 c4 30          	add    $0x30,%rsp
140657edd:	41 5f                	pop    %r15
140657edf:	41 5e                	pop    %r14
140657ee1:	41 5d                	pop    %r13
140657ee3:	41 5c                	pop    %r12
140657ee5:	5f                   	pop    %rdi
140657ee6:	c3                   	ret
140657ee7:	4c 8b e3             	mov    %rbx,%r12
140657eea:	4c 8b fb             	mov    %rbx,%r15
140657eed:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140657ef4:	ff ff 07
140657ef7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140657efb:	0f 84 c1 01 00 00    	je     0x1406580c2
140657f01:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140657f06:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657f0d:	00 00
140657f0f:	b9 20 00 00 00       	mov    $0x20,%ecx
140657f14:	e8 ef 31 7c 00       	call   0x140e1b108
140657f19:	48 8b f8             	mov    %rax,%rdi
140657f1c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140657f21:	48 8b 0e             	mov    (%rsi),%rcx
140657f24:	48 89 48 10          	mov    %rcx,0x10(%rax)
140657f28:	c7 40 18 00 00 00 00 	movl   $0x0,0x18(%rax)
140657f2f:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140657f33:	48 83 c1 01          	add    $0x1,%rcx
140657f37:	0f 57 c0             	xorps  %xmm0,%xmm0
140657f3a:	78 07                	js     0x140657f43
140657f3c:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140657f41:	eb 15                	jmp    0x140657f58
140657f43:	48 8b c1             	mov    %rcx,%rax
140657f46:	48 d1 e8             	shr    $1,%rax
140657f49:	83 e1 01             	and    $0x1,%ecx
140657f4c:	48 0b c1             	or     %rcx,%rax
140657f4f:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140657f54:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140657f58:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140657f5c:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140657f61:	0f 57 d2             	xorps  %xmm2,%xmm2
140657f64:	48 85 f6             	test   %rsi,%rsi
140657f67:	78 07                	js     0x140657f70
140657f69:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140657f6e:	eb 18                	jmp    0x140657f88
140657f70:	48 8b ce             	mov    %rsi,%rcx
140657f73:	48 d1 e9             	shr    $1,%rcx
140657f76:	48 8b c6             	mov    %rsi,%rax
140657f79:	83 e0 01             	and    $0x1,%eax
140657f7c:	48 0b c8             	or     %rax,%rcx
140657f7f:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140657f84:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140657f88:	0f 28 c8             	movaps %xmm0,%xmm1
140657f8b:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140657f8f:	0f 2f cb             	comiss %xmm3,%xmm1
140657f92:	0f 86 c2 00 00 00    	jbe    0x14065805a
140657f98:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140657f9c:	e8 7f 91 7d 00       	call   0x140e31120
140657fa1:	33 c9                	xor    %ecx,%ecx
140657fa3:	f3 0f 10 0d b9 66 95 	movss  0x9566b9(%rip),%xmm1        # 0x140fae664
140657faa:	00
140657fab:	0f 2f c1             	comiss %xmm1,%xmm0
140657fae:	72 16                	jb     0x140657fc6
140657fb0:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140657fb4:	0f 2f c1             	comiss %xmm1,%xmm0
140657fb7:	73 0d                	jae    0x140657fc6
140657fb9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140657fc0:	00 00 80
140657fc3:	48 8b c8             	mov    %rax,%rcx
140657fc6:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140657fcb:	48 03 c1             	add    %rcx,%rax
140657fce:	b9 08 00 00 00       	mov    $0x8,%ecx
140657fd3:	48 3b c1             	cmp    %rcx,%rax
140657fd6:	48 0f 47 c8          	cmova  %rax,%rcx
140657fda:	48 3b f1             	cmp    %rcx,%rsi
140657fdd:	73 19                	jae    0x140657ff8
140657fdf:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140657fe6:	73 0d                	jae    0x140657ff5
140657fe8:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140657fef:	00
140657ff0:	48 3b f1             	cmp    %rcx,%rsi
140657ff3:	73 03                	jae    0x140657ff8
140657ff5:	48 8b f1             	mov    %rcx,%rsi
140657ff8:	48 8b d6             	mov    %rsi,%rdx
140657ffb:	48 8b cd             	mov    %rbp,%rcx
140657ffe:	e8 8d 36 00 00       	call   0x14065b690
140658003:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140658007:	49 23 cd             	and    %r13,%rcx
14065800a:	48 03 c9             	add    %rcx,%rcx
14065800d:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140658011:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140658016:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14065801a:	48 3b c3             	cmp    %rbx,%rax
14065801d:	75 0b                	jne    0x14065802a
14065801f:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140658026:	00 00
140658028:	eb 23                	jmp    0x14065804d
14065802a:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14065802e:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140658032:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140658036:	74 12                	je     0x14065804a
140658038:	48 8b d8             	mov    %rax,%rbx
14065803b:	48 3b c2             	cmp    %rdx,%rax
14065803e:	74 4e                	je     0x14065808e
140658040:	48 8b 40 08          	mov    0x8(%rax),%rax
140658044:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140658048:	75 ee                	jne    0x140658038
14065804a:	48 8b 18             	mov    (%rax),%rbx
14065804d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140658052:	4c 8b fb             	mov    %rbx,%r15
140658055:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14065805a:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14065805e:	48 ff 45 10          	incq   0x10(%rbp)
140658062:	4c 89 27             	mov    %r12,(%rdi)
140658065:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140658069:	48 89 3a             	mov    %rdi,(%rdx)
14065806c:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140658070:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140658074:	48 8b 45 30          	mov    0x30(%rbp),%rax
140658078:	49 23 c5             	and    %r13,%rax
14065807b:	48 03 c0             	add    %rax,%rax
14065807e:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140658082:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140658086:	75 16                	jne    0x14065809e
140658088:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14065808c:	eb 22                	jmp    0x1406580b0
14065808e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140658093:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14065809a:	00 00
14065809c:	eb b4                	jmp    0x140658052
14065809e:	4d 3b c7             	cmp    %r15,%r8
1406580a1:	75 06                	jne    0x1406580a9
1406580a3:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406580a7:	eb 0c                	jmp    0x1406580b5
1406580a9:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1406580ae:	75 05                	jne    0x1406580b5
1406580b0:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1406580b5:	49 89 3e             	mov    %rdi,(%r14)
1406580b8:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1406580bd:	e9 05 fe ff ff       	jmp    0x140657ec7
1406580c2:	48 8d 0d d7 63 95 00 	lea    0x9563d7(%rip),%rcx        # 0x140fae4a0
1406580c9:	e8 e6 32 7a 00       	call   0x140dfb3b4
1406580ce:	cc                   	int3
1406580cf:	cc                   	int3
1406580d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406580d5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406580da:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406580df:	57                   	push   %rdi
1406580e0:	41 54                	push   %r12
1406580e2:	41 55                	push   %r13
1406580e4:	41 56                	push   %r14
1406580e6:	41 57                	push   %r15
1406580e8:	48 83 ec 30          	sub    $0x30,%rsp
1406580ec:	4d 8b e8             	mov    %r8,%r13
1406580ef:	4c 8b f2             	mov    %rdx,%r14
1406580f2:	48 8b f1             	mov    %rcx,%rsi
1406580f5:	45 0f b6 20          	movzbl (%r8),%r12d
1406580f9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140658100:	9c f2 cb
140658103:	4c 33 e0             	xor    %rax,%r12
140658106:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14065810d:	01 00 00
140658110:	4c 0f af e1          	imul   %rcx,%r12
140658114:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140658119:	4c 33 e0             	xor    %rax,%r12
14065811c:	4c 0f af e1          	imul   %rcx,%r12
140658120:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140658125:	4c 33 e0             	xor    %rax,%r12
140658128:	4c 0f af e1          	imul   %rcx,%r12
14065812c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140658131:	4c 33 e0             	xor    %rax,%r12
140658134:	4c 0f af e1          	imul   %rcx,%r12
140658138:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14065813d:	4c 33 e0             	xor    %rax,%r12
140658140:	4c 0f af e1          	imul   %rcx,%r12
140658144:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140658149:	4c 33 e0             	xor    %rax,%r12
14065814c:	4c 0f af e1          	imul   %rcx,%r12
140658150:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140658155:	4c 33 e0             	xor    %rax,%r12
140658158:	4c 0f af e1          	imul   %rcx,%r12
14065815c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140658161:	4c 33 e0             	xor    %rax,%r12
140658164:	4c 0f af e1          	imul   %rcx,%r12
140658168:	49 8b cc             	mov    %r12,%rcx
14065816b:	48 23 4e 30          	and    0x30(%rsi),%rcx
14065816f:	48 03 c9             	add    %rcx,%rcx
140658172:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140658176:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
14065817b:	48 8d 46 08          	lea    0x8(%rsi),%rax
14065817f:	4c 8b 38             	mov    (%rax),%r15
140658182:	49 3b df             	cmp    %r15,%rbx
140658185:	75 08                	jne    0x14065818f
140658187:	49 8b df             	mov    %r15,%rbx
14065818a:	49 8b ef             	mov    %r15,%rbp
14065818d:	eb 52                	jmp    0x1406581e1
14065818f:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
140658193:	49 8b 00             	mov    (%r8),%rax
140658196:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14065819a:	74 13                	je     0x1406581af
14065819c:	0f 1f 40 00          	nopl   0x0(%rax)
1406581a0:	48 3b d9             	cmp    %rcx,%rbx
1406581a3:	74 32                	je     0x1406581d7
1406581a5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406581a9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1406581ad:	75 f1                	jne    0x1406581a0
1406581af:	49 89 1e             	mov    %rbx,(%r14)
1406581b2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
1406581b7:	49 8b c6             	mov    %r14,%rax
1406581ba:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1406581bf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1406581c4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1406581c9:	48 83 c4 30          	add    $0x30,%rsp
1406581cd:	41 5f                	pop    %r15
1406581cf:	41 5e                	pop    %r14
1406581d1:	41 5d                	pop    %r13
1406581d3:	41 5c                	pop    %r12
1406581d5:	5f                   	pop    %rdi
1406581d6:	c3                   	ret
1406581d7:	4c 8b fb             	mov    %rbx,%r15
1406581da:	48 8b eb             	mov    %rbx,%rbp
1406581dd:	48 8d 46 08          	lea    0x8(%rsi),%rax
1406581e1:	48 b9 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rcx
1406581e8:	ff ff 07
1406581eb:	48 39 4e 10          	cmp    %rcx,0x10(%rsi)
1406581ef:	0f 84 3c 01 00 00    	je     0x140658331
1406581f5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406581fa:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140658201:	00 00
140658203:	b9 20 00 00 00       	mov    $0x20,%ecx
140658208:	e8 fb 2e 7c 00       	call   0x140e1b108
14065820d:	48 8b f8             	mov    %rax,%rdi
140658210:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140658215:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140658219:	48 89 48 10          	mov    %rcx,0x10(%rax)
14065821d:	45 33 ed             	xor    %r13d,%r13d
140658220:	44 89 68 18          	mov    %r13d,0x18(%rax)
140658224:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140658228:	48 83 c1 01          	add    $0x1,%rcx
14065822c:	0f 57 c0             	xorps  %xmm0,%xmm0
14065822f:	78 07                	js     0x140658238
140658231:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140658236:	eb 15                	jmp    0x14065824d
140658238:	48 8b c1             	mov    %rcx,%rax
14065823b:	48 d1 e8             	shr    $1,%rax
14065823e:	83 e1 01             	and    $0x1,%ecx
140658241:	48 0b c1             	or     %rcx,%rax
140658244:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140658249:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14065824d:	48 8b 4e 38          	mov    0x38(%rsi),%rcx