140077f59:	41 bc 08 00 00 00    	mov    $0x8,%r12d
140077f5f:	4c 2b e6             	sub    %rsi,%r12
140077f62:	49 8b 47 f8          	mov    -0x8(%r15),%rax
140077f66:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140077f6a:	49 8b 07             	mov    (%r15),%rax
140077f6d:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140077f71:	49 83 67 f8 00       	andq   $0x0,-0x8(%r15)
140077f76:	49 83 27 00          	andq   $0x0,(%r15)
140077f7a:	48 8b 06             	mov    (%rsi),%rax
140077f7d:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140077f81:	48 83 26 00          	andq   $0x0,(%rsi)
140077f85:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
140077f8a:	49 89 47 f8          	mov    %rax,-0x8(%r15)
140077f8e:	49 8b 3f             	mov    (%r15),%rdi
140077f91:	49 89 0f             	mov    %rcx,(%r15)
140077f94:	48 85 ff             	test   %rdi,%rdi
140077f97:	74 39                	je     0x140077fd2
140077f99:	41 8b c6             	mov    %r14d,%eax
140077f9c:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
140077fa1:	41 03 c6             	add    %r14d,%eax
140077fa4:	75 2c                	jne    0x140077fd2
140077fa6:	48 8b 07             	mov    (%rdi),%rax
140077fa9:	48 8b cf             	mov    %rdi,%rcx
140077fac:	48 8b 00             	mov    (%rax),%rax
140077faf:	ff 15 83 4c a9 00    	call   *0xa94c83(%rip)        # 0x140b0cc38
140077fb5:	41 8b c6             	mov    %r14d,%eax
140077fb8:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
140077fbd:	41 03 c6             	add    %r14d,%eax
140077fc0:	75 10                	jne    0x140077fd2
140077fc2:	48 8b 07             	mov    (%rdi),%rax
140077fc5:	48 8b cf             	mov    %rdi,%rcx
140077fc8:	48 8b 40 08          	mov    0x8(%rax),%rax
140077fcc:	ff 15 66 4c a9 00    	call   *0xa94c66(%rip)        # 0x140b0cc38
140077fd2:	4f 8d 04 2f          	lea    (%r15,%r13,1),%r8
140077fd6:	49 c1 f8 04          	sar    $0x4,%r8
140077fda:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140077fde:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
140077fe2:	33 d2                	xor    %edx,%edx
140077fe4:	48 8b ce             	mov    %rsi,%rcx
140077fe7:	e8 d4 45 00 00       	call   0x14007c5c0
140077fec:	90                   	nop
140077fed:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140077ff1:	48 85 c9             	test   %rcx,%rcx
140077ff4:	74 3e                	je     0x140078034
140077ff6:	41 8b c6             	mov    %r14d,%eax
140077ff9:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140077ffe:	41 03 c6             	add    %r14d,%eax
140078001:	75 31                	jne    0x140078034
140078003:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
140078007:	48 8b 07             	mov    (%rdi),%rax
14007800a:	48 8b cf             	mov    %rdi,%rcx
14007800d:	48 8b 00             	mov    (%rax),%rax
140078010:	ff 15 22 4c a9 00    	call   *0xa94c22(%rip)        # 0x140b0cc38
140078016:	41 8b c6             	mov    %r14d,%eax
140078019:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
14007801e:	41 03 c6             	add    %r14d,%eax
140078021:	75 11                	jne    0x140078034
140078023:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140078027:	48 8b 01             	mov    (%rcx),%rax
14007802a:	48 8b 40 08          	mov    0x8(%rax),%rax
14007802e:	ff 15 04 4c a9 00    	call   *0xa94c04(%rip)        # 0x140b0cc38
140078034:	49 83 ef 10          	sub    $0x10,%r15
140078038:	4b 8d 04 27          	lea    (%r15,%r12,1),%rax
14007803c:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140078040:	48 83 f8 20          	cmp    $0x20,%rax
140078044:	0f 8d 18 ff ff ff    	jge    0x140077f62
14007804a:	e9 24 fe ff ff       	jmp    0x140077e73
14007804f:	48 83 eb 10          	sub    $0x10,%rbx
140078053:	0f 57 c0             	xorps  %xmm0,%xmm0
140078056:	f3 0f 7f 45 d0       	movdqu %xmm0,-0x30(%rbp)
14007805b:	48 8b 43 08          	mov    0x8(%rbx),%rax
14007805f:	48 85 c0             	test   %rax,%rax
140078062:	74 04                	je     0x140078068
140078064:	f0 ff 40 08          	lock incl 0x8(%rax)
140078068:	48 8b 03             	mov    (%rbx),%rax
14007806b:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
14007806f:	48 8b 43 08          	mov    0x8(%rbx),%rax
140078073:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140078077:	66 0f 7f 45 f0       	movdqa %xmm0,-0x10(%rbp)
14007807c:	48 8b 45 c8          	mov    -0x38(%rbp),%rax
140078080:	48 85 c0             	test   %rax,%rax
140078083:	74 04                	je     0x140078089
140078085:	f0 ff 40 08          	lock incl 0x8(%rax)
140078089:	0f 28 45 c0          	movaps -0x40(%rbp),%xmm0
14007808d:	66 0f 7f 45 f0       	movdqa %xmm0,-0x10(%rbp)
140078092:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140078096:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14007809a:	e8 6d 46 ff ff       	call   0x14006c70c
14007809f:	49 8b cc             	mov    %r12,%rcx
1400780a2:	84 c0                	test   %al,%al
1400780a4:	0f 84 6b fd ff ff    	je     0x140077e15
1400780aa:	48 8b d3             	mov    %rbx,%rdx
1400780ad:	e8 32 e2 f8 ff       	call   0x1400062e4
1400780b2:	4c 8b e3             	mov    %rbx,%r12
1400780b5:	eb 98                	jmp    0x14007804f
1400780b7:	cc                   	int3
1400780b8:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400780bd:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400780c2:	53                   	push   %rbx
1400780c3:	56                   	push   %rsi
1400780c4:	57                   	push   %rdi
1400780c5:	41 54                	push   %r12
1400780c7:	41 55                	push   %r13
1400780c9:	41 56                	push   %r14
1400780cb:	41 57                	push   %r15
1400780cd:	48 83 ec 60          	sub    $0x60,%rsp
1400780d1:	49 8b f1             	mov    %r9,%rsi
1400780d4:	4d 8b e0             	mov    %r8,%r12
1400780d7:	48 8b da             	mov    %rdx,%rbx
1400780da:	4c 8b f9             	mov    %rcx,%r15
1400780dd:	48 89 94 24 a8 00 00 	mov    %rdx,0xa8(%rsp)
1400780e4:	00
1400780e5:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1400780ea:	48 8d 41 08          	lea    0x8(%rcx),%rax
1400780ee:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
1400780f5:	00
1400780f6:	4c 8b 09             	mov    (%rcx),%r9
1400780f9:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400780fe:	48 8b 38             	mov    (%rax),%rdi
140078101:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140078106:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14007810a:	49 8b c8             	mov    %r8,%rcx
14007810d:	48 2b cf             	sub    %rdi,%rcx
140078110:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140078117:	aa aa 2a
14007811a:	48 f7 e9             	imul   %rcx
14007811d:	48 c1 fa 03          	sar    $0x3,%rdx
140078121:	48 8b c2             	mov    %rdx,%rax
140078124:	48 c1 e8 3f          	shr    $0x3f,%rax
140078128:	48 03 d0             	add    %rax,%rdx
14007812b:	48 85 f6             	test   %rsi,%rsi
14007812e:	0f 84 90 01 00 00    	je     0x1400782c4
140078134:	48 3b f2             	cmp    %rdx,%rsi
140078137:	0f 86 97 01 00 00    	jbe    0x1400782d4
14007813d:	48 8b cf             	mov    %rdi,%rcx
140078140:	49 2b c9             	sub    %r9,%rcx
140078143:	48 c1 f9 04          	sar    $0x4,%rcx
140078147:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
14007814e:	aa aa aa
140078151:	48 0f af ca          	imul   %rdx,%rcx
140078155:	49 be 55 55 55 55 55 	movabs $0x555555555555555,%r14
14007815c:	55 55 05
14007815f:	49 8b c6             	mov    %r14,%rax
140078162:	48 2b c1             	sub    %rcx,%rax
140078165:	48 3b f0             	cmp    %rax,%rsi
140078168:	0f 87 0f 03 00 00    	ja     0x14007847d
14007816e:	4c 8d 14 31          	lea    (%rcx,%rsi,1),%r10
140078172:	4c 89 54 24 30       	mov    %r10,0x30(%rsp)
140078177:	4d 2b c1             	sub    %r9,%r8
14007817a:	49 c1 f8 04          	sar    $0x4,%r8
14007817e:	4c 0f af c2          	imul   %rdx,%r8
140078182:	49 8b c8             	mov    %r8,%rcx
140078185:	48 d1 e9             	shr    $1,%rcx
140078188:	49 8b c6             	mov    %r14,%rax
14007818b:	48 2b c1             	sub    %rcx,%rax
14007818e:	4c 3b c0             	cmp    %rax,%r8
140078191:	77 0b                	ja     0x14007819e
140078193:	4e 8d 34 01          	lea    (%rcx,%r8,1),%r14
140078197:	4d 3b f2             	cmp    %r10,%r14
14007819a:	4d 0f 42 f2          	cmovb  %r10,%r14
14007819e:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
1400781a3:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400781a8:	e8 e7 53 fd ff       	call   0x14004d594
1400781ad:	4c 8b e8             	mov    %rax,%r13
1400781b0:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1400781b5:	48 8b c3             	mov    %rbx,%rax
1400781b8:	48 2b 44 24 20       	sub    0x20(%rsp),%rax
1400781bd:	48 c1 f8 04          	sar    $0x4,%rax
1400781c1:	48 b9 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rcx
1400781c8:	aa aa aa
1400781cb:	48 0f af c1          	imul   %rcx,%rax
1400781cf:	48 8d 0c 30          	lea    (%rax,%rsi,1),%rcx
1400781d3:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
1400781d7:	48 c1 e1 04          	shl    $0x4,%rcx
1400781db:	49 03 cd             	add    %r13,%rcx
1400781de:	48 89 8c 24 a8 00 00 	mov    %rcx,0xa8(%rsp)
1400781e5:	00
1400781e6:	48 89 8c 24 b8 00 00 	mov    %rcx,0xb8(%rsp)
1400781ed:	00
1400781ee:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
1400781f2:	48 c1 e2 04          	shl    $0x4,%rdx
1400781f6:	49 03 d5             	add    %r13,%rdx
1400781f9:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
1400781fe:	48 8b ce             	mov    %rsi,%rcx
140078201:	48 89 8c 24 a0 00 00 	mov    %rcx,0xa0(%rsp)
140078208:	00
140078209:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
14007820e:	48 8b c2             	mov    %rdx,%rax
140078211:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
140078216:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
14007821b:	48 85 c9             	test   %rcx,%rcx
14007821e:	74 32                	je     0x140078252
140078220:	49 8b d4             	mov    %r12,%rdx
140078223:	48 8b c8             	mov    %rax,%rcx
140078226:	e8 19 6d fc ff       	call   0x14003ef44
14007822b:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140078230:	48 83 c0 30          	add    $0x30,%rax
140078234:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140078239:	49 83 c4 30          	add    $0x30,%r12
14007823d:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140078244:	00
140078245:	48 ff c9             	dec    %rcx
140078248:	48 89 8c 24 a0 00 00 	mov    %rcx,0xa0(%rsp)
14007824f:	00
140078250:	eb c9                	jmp    0x14007821b
140078252:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140078257:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
14007825e:	00
14007825f:	48 83 fe 01          	cmp    $0x1,%rsi
140078263:	75 1a                	jne    0x14007827f
140078265:	48 3b df             	cmp    %rdi,%rbx
140078268:	75 15                	jne    0x14007827f
14007826a:	4d 8b cf             	mov    %r15,%r9
14007826d:	4d 8b c5             	mov    %r13,%r8
140078270:	48 8b d7             	mov    %rdi,%rdx
140078273:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140078278:	e8 17 46 fd ff       	call   0x14004c894
14007827d:	eb 32                	jmp    0x1400782b1
14007827f:	4d 8b cf             	mov    %r15,%r9
140078282:	4d 8b c5             	mov    %r13,%r8
140078285:	48 8b d3             	mov    %rbx,%rdx
140078288:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
14007828d:	e8 22 7a fd ff       	call   0x14004fcb4
140078292:	4c 89 ac 24 b8 00 00 	mov    %r13,0xb8(%rsp)
140078299:	00
14007829a:	4d 8b cf             	mov    %r15,%r9
14007829d:	4c 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%r8
1400782a4:	00
1400782a5:	48 8b d7             	mov    %rdi,%rdx
1400782a8:	48 8b cb             	mov    %rbx,%rcx
1400782ab:	e8 04 7a fd ff       	call   0x14004fcb4
1400782b0:	90                   	nop
1400782b1:	4d 8b ce             	mov    %r14,%r9
1400782b4:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
1400782b9:	49 8b d5             	mov    %r13,%rdx
1400782bc:	49 8b cf             	mov    %r15,%rcx
1400782bf:	e8 98 54 fd ff       	call   0x14004d75c
1400782c4:	48 83 c4 60          	add    $0x60,%rsp
1400782c8:	41 5f                	pop    %r15
1400782ca:	41 5e                	pop    %r14
1400782cc:	41 5d                	pop    %r13
1400782ce:	41 5c                	pop    %r12
1400782d0:	5f                   	pop    %rdi
1400782d1:	5e                   	pop    %rsi
1400782d2:	5b                   	pop    %rbx
1400782d3:	c3                   	ret
1400782d4:	48 8b c7             	mov    %rdi,%rax
1400782d7:	48 2b c3             	sub    %rbx,%rax
1400782da:	48 c1 f8 04          	sar    $0x4,%rax
1400782de:	48 b9 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rcx
1400782e5:	aa aa aa
1400782e8:	48 0f af c1          	imul   %rcx,%rax
1400782ec:	48 8d 0c 76          	lea    (%rsi,%rsi,2),%rcx
1400782f0:	48 c1 e1 04          	shl    $0x4,%rcx
1400782f4:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400782f9:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
1400782fe:	48 3b f0             	cmp    %rax,%rsi
140078301:	0f 83 d5 00 00 00    	jae    0x1400783dc
140078307:	4c 8b f7             	mov    %rdi,%r14
14007830a:	4c 2b f1             	sub    %rcx,%r14
14007830d:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140078312:	4c 8b ef             	mov    %rdi,%r13
140078315:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
14007831a:	4c 3b f7             	cmp    %rdi,%r14
14007831d:	74 28                	je     0x140078347
14007831f:	4d 8b e6             	mov    %r14,%r12
140078322:	49 8b d4             	mov    %r12,%rdx
140078325:	49 8b cd             	mov    %r13,%rcx
140078328:	e8 a7 6c fc ff       	call   0x14003efd4
14007832d:	49 83 c5 30          	add    $0x30,%r13
140078331:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
140078336:	49 83 c4 30          	add    $0x30,%r12
14007833a:	4c 3b e7             	cmp    %rdi,%r12
14007833d:	75 e3                	jne    0x140078322
14007833f:	4c 8b a4 24 b0 00 00 	mov    0xb0(%rsp),%r12
140078346:	00
140078347:	4d 89 6f 08          	mov    %r13,0x8(%r15)
14007834b:	4c 3b f3             	cmp    %rbx,%r14
14007834e:	74 22                	je     0x140078372
140078350:	4c 8b 64 24 28       	mov    0x28(%rsp),%r12
140078355:	49 83 ee 30          	sub    $0x30,%r14
140078359:	4b 8d 0c 34          	lea    (%r12,%r14,1),%rcx
14007835d:	49 8b d6             	mov    %r14,%rdx
140078360:	e8 6f 6b fd ff       	call   0x14004eed4
140078365:	4c 3b f3             	cmp    %rbx,%r14
140078368:	75 eb                	jne    0x140078355
14007836a:	4c 8b a4 24 b0 00 00 	mov    0xb0(%rsp),%r12
140078371:	00
140078372:	48 8b fb             	mov    %rbx,%rdi
140078375:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
14007837a:	4c 03 f3             	add    %rbx,%r14
14007837d:	49 3b de             	cmp    %r14,%rbx
140078380:	74 24                	je     0x1400783a6
140078382:	4c 8b 07             	mov    (%rdi),%r8
140078385:	4d 8b 40 08          	mov    0x8(%r8),%r8
140078389:	48 8b d7             	mov    %rdi,%rdx
14007838c:	48 8b cf             	mov    %rdi,%rcx
14007838f:	e8 98 62 fa ff       	call   0x14001e62c
140078394:	48 8b 0f             	mov    (%rdi),%rcx
140078397:	ff 15 23 45 a9 00    	call   *0xa94523(%rip)        # 0x140b0c8c0
14007839d:	48 83 c7 30          	add    $0x30,%rdi
1400783a1:	49 3b fe             	cmp    %r14,%rdi
1400783a4:	75 dc                	jne    0x140078382
1400783a6:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
1400783ab:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1400783b0:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
1400783b5:	48 85 f6             	test   %rsi,%rsi
1400783b8:	74 1d                	je     0x1400783d7
1400783ba:	49 8b d4             	mov    %r12,%rdx
1400783bd:	48 8b cb             	mov    %rbx,%rcx
1400783c0:	e8 7f 6b fc ff       	call   0x14003ef44
1400783c5:	48 83 c3 30          	add    $0x30,%rbx
1400783c9:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1400783ce:	49 83 c4 30          	add    $0x30,%r12
1400783d2:	48 ff ce             	dec    %rsi
1400783d5:	eb de                	jmp    0x1400783b5
1400783d7:	e9 9c 00 00 00       	jmp    0x140078478
1400783dc:	4c 8d 34 19          	lea    (%rcx,%rbx,1),%r14
1400783e0:	4c 89 b4 24 b8 00 00 	mov    %r14,0xb8(%rsp)
1400783e7:	00
1400783e8:	4c 8b eb             	mov    %rbx,%r13
1400783eb:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
1400783f0:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
1400783f5:	48 3b df             	cmp    %rdi,%rbx
1400783f8:	74 1d                	je     0x140078417
1400783fa:	49 8b d5             	mov    %r13,%rdx
1400783fd:	49 8b ce             	mov    %r14,%rcx
140078400:	e8 cf 6b fc ff       	call   0x14003efd4
140078405:	49 83 c6 30          	add    $0x30,%r14
140078409:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
14007840e:	49 83 c5 30          	add    $0x30,%r13
140078412:	4c 3b ef             	cmp    %rdi,%r13
140078415:	75 e3                	jne    0x1400783fa
140078417:	4d 89 77 08          	mov    %r14,0x8(%r15)
14007841b:	4c 8b f3             	mov    %rbx,%r14
14007841e:	48 3b df             	cmp    %rdi,%rbx
140078421:	74 24                	je     0x140078447
140078423:	4d 8b 06             	mov    (%r14),%r8
140078426:	4d 8b 40 08          	mov    0x8(%r8),%r8
14007842a:	49 8b d6             	mov    %r14,%rdx
14007842d:	49 8b ce             	mov    %r14,%rcx
140078430:	e8 f7 61 fa ff       	call   0x14001e62c
140078435:	49 8b 0e             	mov    (%r14),%rcx
140078438:	ff 15 82 44 a9 00    	call   *0xa94482(%rip)        # 0x140b0c8c0
14007843e:	49 83 c6 30          	add    $0x30,%r14
140078442:	4c 3b f7             	cmp    %rdi,%r14
140078445:	75 dc                	jne    0x140078423
140078447:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
14007844c:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140078451:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)