14010824b:	0f 84 a5 00 00 00    	je     0x1401082f6
140108251:	41 8b 00             	mov    (%r8),%eax
140108254:	89 02                	mov    %eax,(%rdx)
140108256:	41 8b 40 04          	mov    0x4(%r8),%eax
14010825a:	89 42 04             	mov    %eax,0x4(%rdx)
14010825d:	41 8b 40 08          	mov    0x8(%r8),%eax
140108261:	89 42 08             	mov    %eax,0x8(%rdx)
140108264:	33 c0                	xor    %eax,%eax
140108266:	48 89 42 10          	mov    %rax,0x10(%rdx)
14010826a:	48 89 42 20          	mov    %rax,0x20(%rdx)
14010826e:	48 89 42 28          	mov    %rax,0x28(%rdx)
140108272:	41 0f 10 40 10       	movups 0x10(%r8),%xmm0
140108277:	0f 11 42 10          	movups %xmm0,0x10(%rdx)
14010827b:	41 0f 10 48 20       	movups 0x20(%r8),%xmm1
140108280:	0f 11 4a 20          	movups %xmm1,0x20(%rdx)
140108284:	49 89 40 20          	mov    %rax,0x20(%r8)
140108288:	49 c7 40 28 0f 00 00 	movq   $0xf,0x28(%r8)
14010828f:	00
140108290:	41 88 40 10          	mov    %al,0x10(%r8)
140108294:	48 89 42 30          	mov    %rax,0x30(%rdx)
140108298:	48 89 42 40          	mov    %rax,0x40(%rdx)
14010829c:	48 89 42 48          	mov    %rax,0x48(%rdx)
1401082a0:	41 0f 10 40 30       	movups 0x30(%r8),%xmm0
1401082a5:	0f 11 42 30          	movups %xmm0,0x30(%rdx)
1401082a9:	41 0f 10 48 40       	movups 0x40(%r8),%xmm1
1401082ae:	0f 11 4a 40          	movups %xmm1,0x40(%rdx)
1401082b2:	49 89 40 40          	mov    %rax,0x40(%r8)
1401082b6:	49 c7 40 48 0f 00 00 	movq   $0xf,0x48(%r8)
1401082bd:	00
1401082be:	41 88 40 30          	mov    %al,0x30(%r8)
1401082c2:	48 89 42 50          	mov    %rax,0x50(%rdx)
1401082c6:	48 89 42 60          	mov    %rax,0x60(%rdx)
1401082ca:	48 89 42 68          	mov    %rax,0x68(%rdx)
1401082ce:	41 0f 10 40 50       	movups 0x50(%r8),%xmm0
1401082d3:	0f 11 42 50          	movups %xmm0,0x50(%rdx)
1401082d7:	41 0f 10 48 60       	movups 0x60(%r8),%xmm1
1401082dc:	0f 11 4a 60          	movups %xmm1,0x60(%rdx)
1401082e0:	49 89 40 60          	mov    %rax,0x60(%r8)
1401082e4:	49 c7 40 68 0f 00 00 	movq   $0xf,0x68(%r8)
1401082eb:	00
1401082ec:	41 88 40 50          	mov    %al,0x50(%r8)
1401082f0:	48 83 41 08 70       	addq   $0x70,0x8(%rcx)
1401082f5:	c3                   	ret
1401082f6:	e9 d5 03 00 00       	jmp    0x1401086d0
1401082fb:	cc                   	int3
1401082fc:	cc                   	int3
1401082fd:	cc                   	int3
1401082fe:	cc                   	int3
1401082ff:	cc                   	int3
140108300:	40 53                	rex push %rbx
140108302:	48 83 ec 20          	sub    $0x20,%rsp
140108306:	4c 39 41 10          	cmp    %r8,0x10(%rcx)
14010830a:	49 8b d8             	mov    %r8,%rbx
14010830d:	48 0f 42 59 10       	cmovb  0x10(%rcx),%rbx
140108312:	48 83 79 18 10       	cmpq   $0x10,0x18(%rcx)
140108317:	72 03                	jb     0x14010831c
140108319:	48 8b 09             	mov    (%rcx),%rcx
14010831c:	b8 16 00 00 00       	mov    $0x16,%eax
140108321:	48 8d 15 18 00 13 00 	lea    0x130018(%rip),%rdx        # 0x140238340
140108328:	48 3b d8             	cmp    %rax,%rbx
14010832b:	4c 8b c3             	mov    %rbx,%r8
14010832e:	4c 0f 47 c0          	cmova  %rax,%r8
140108332:	e8 39 0a 08 00       	call   0x140188d70
140108337:	85 c0                	test   %eax,%eax
140108339:	75 1a                	jne    0x140108355
14010833b:	48 83 fb 16          	cmp    $0x16,%rbx
14010833f:	73 0b                	jae    0x14010834c
140108341:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140108346:	48 83 c4 20          	add    $0x20,%rsp
14010834a:	5b                   	pop    %rbx
14010834b:	c3                   	ret
14010834c:	33 c0                	xor    %eax,%eax
14010834e:	48 83 fb 16          	cmp    $0x16,%rbx
140108352:	0f 97 c0             	seta   %al
140108355:	48 83 c4 20          	add    $0x20,%rsp
140108359:	5b                   	pop    %rbx
14010835a:	c3                   	ret
14010835b:	cc                   	int3
14010835c:	cc                   	int3
14010835d:	cc                   	int3
14010835e:	cc                   	int3
14010835f:	cc                   	int3
140108360:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140108365:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14010836a:	57                   	push   %rdi
14010836b:	48 83 ec 30          	sub    $0x30,%rsp
14010836f:	48 8b 1a             	mov    (%rdx),%rbx
140108372:	0f 57 c0             	xorps  %xmm0,%xmm0
140108375:	48 8b f2             	mov    %rdx,%rsi
140108378:	48 8b f9             	mov    %rcx,%rdi
14010837b:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
140108381:	48 85 db             	test   %rbx,%rbx
140108384:	74 3a                	je     0x1401083c0
140108386:	b9 18 00 00 00       	mov    $0x18,%ecx
14010838b:	e8 60 df 07 00       	call   0x1401862f0
140108390:	0f 57 c0             	xorps  %xmm0,%xmm0
140108393:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140108398:	48 8d 0d 41 18 13 00 	lea    0x131841(%rip),%rcx        # 0x140239be0
14010839f:	0f 11 00             	movups %xmm0,(%rax)
1401083a2:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%rax)
1401083a9:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%rax)
1401083b0:	48 89 08             	mov    %rcx,(%rax)
1401083b3:	48 89 58 10          	mov    %rbx,0x10(%rax)
1401083b7:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
1401083be:	eb 0a                	jmp    0x1401083ca
1401083c0:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1401083c5:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1401083ca:	48 89 1f             	mov    %rbx,(%rdi)
1401083cd:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1401083d1:	48 89 47 08          	mov    %rax,0x8(%rdi)
1401083d5:	48 85 db             	test   %rbx,%rbx
1401083d8:	74 2c                	je     0x140108406
1401083da:	be ff ff ff ff       	mov    $0xffffffff,%esi
1401083df:	8b c6                	mov    %esi,%eax
1401083e1:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1401083e6:	83 f8 01             	cmp    $0x1,%eax
1401083e9:	75 1b                	jne    0x140108406
1401083eb:	48 8b 03             	mov    (%rbx),%rax
1401083ee:	48 8b cb             	mov    %rbx,%rcx
1401083f1:	ff 10                	call   *(%rax)
1401083f3:	f0 0f c1 73 0c       	lock xadd %esi,0xc(%rbx)
1401083f8:	83 fe 01             	cmp    $0x1,%esi
1401083fb:	75 09                	jne    0x140108406
1401083fd:	48 8b 03             	mov    (%rbx),%rax
140108400:	48 8b cb             	mov    %rbx,%rcx
140108403:	ff 50 08             	call   *0x8(%rax)
140108406:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14010840b:	48 8b c7             	mov    %rdi,%rax
14010840e:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140108413:	48 83 c4 30          	add    $0x30,%rsp
140108417:	5f                   	pop    %rdi
140108418:	c3                   	ret
140108419:	cc                   	int3
14010841a:	cc                   	int3
14010841b:	cc                   	int3
14010841c:	cc                   	int3
14010841d:	cc                   	int3
14010841e:	cc                   	int3
14010841f:	cc                   	int3
140108420:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140108425:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14010842a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14010842f:	57                   	push   %rdi
140108430:	41 54                	push   %r12
140108432:	41 55                	push   %r13
140108434:	41 56                	push   %r14
140108436:	41 57                	push   %r15
140108438:	48 83 ec 40          	sub    $0x40,%rsp
14010843c:	49 8b d8             	mov    %r8,%rbx
14010843f:	4c 8b fa             	mov    %rdx,%r15
140108442:	48 8b e9             	mov    %rcx,%rbp
140108445:	4d 8b 50 10          	mov    0x10(%r8),%r10
140108449:	49 83 78 18 10       	cmpq   $0x10,0x18(%r8)
14010844e:	72 03                	jb     0x140108453
140108450:	4d 8b 00             	mov    (%r8),%r8
140108453:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14010845a:	9c f2 cb
14010845d:	45 33 ed             	xor    %r13d,%r13d
140108460:	45 8b cd             	mov    %r13d,%r9d
140108463:	4d 85 d2             	test   %r10,%r10
140108466:	74 2c                	je     0x140108494
140108468:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14010846f:	01 00 00
140108472:	0f 1f 40 00          	nopl   0x0(%rax)
140108476:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14010847d:	00 00 00
140108480:	43 0f b6 04 01       	movzbl (%r9,%r8,1),%eax
140108485:	48 33 f8             	xor    %rax,%rdi
140108488:	48 0f af f9          	imul   %rcx,%rdi
14010848c:	49 ff c1             	inc    %r9
14010848f:	4d 3b ca             	cmp    %r10,%r9
140108492:	72 ec                	jb     0x140108480
140108494:	4c 8b cf             	mov    %rdi,%r9
140108497:	4c 8b c3             	mov    %rbx,%r8
14010849a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14010849f:	48 8b cd             	mov    %rbp,%rcx
1401084a2:	e8 c9 68 fc ff       	call   0x1400ced70
1401084a7:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1401084ac:	48 85 c0             	test   %rax,%rax
1401084af:	74 0c                	je     0x1401084bd
1401084b1:	49 89 07             	mov    %rax,(%r15)
1401084b4:	45 88 6f 08          	mov    %r13b,0x8(%r15)
1401084b8:	e9 dc 01 00 00       	jmp    0x140108699
1401084bd:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
1401084c4:	33 33 03
1401084c7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
1401084cb:	0f 84 eb 01 00 00    	je     0x1401086bc
1401084d1:	4c 8d 65 08          	lea    0x8(%rbp),%r12
1401084d5:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
1401084da:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1401084df:	b9 50 00 00 00       	mov    $0x50,%ecx
1401084e4:	e8 07 de 07 00       	call   0x1401862f0
1401084e9:	4c 8b f0             	mov    %rax,%r14
1401084ec:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1401084f1:	48 8b d3             	mov    %rbx,%rdx
1401084f4:	48 8d 48 10          	lea    0x10(%rax),%rcx
1401084f8:	e8 e3 db fb ff       	call   0x1400c60e0
1401084fd:	4d 89 6e 30          	mov    %r13,0x30(%r14)
140108501:	4d 89 6e 40          	mov    %r13,0x40(%r14)
140108505:	4d 89 6e 48          	mov    %r13,0x48(%r14)
140108509:	0f 10 43 20          	movups 0x20(%rbx),%xmm0
14010850d:	41 0f 11 46 30       	movups %xmm0,0x30(%r14)
140108512:	0f 10 4b 30          	movups 0x30(%rbx),%xmm1
140108516:	41 0f 11 4e 40       	movups %xmm1,0x40(%r14)
14010851b:	4c 89 6b 30          	mov    %r13,0x30(%rbx)
14010851f:	48 c7 43 38 0f 00 00 	movq   $0xf,0x38(%rbx)
140108526:	00
140108527:	c6 43 20 00          	movb   $0x0,0x20(%rbx)
14010852b:	4c 8b 4d 10          	mov    0x10(%rbp),%r9
14010852f:	49 8d 49 01          	lea    0x1(%r9),%rcx
140108533:	0f 57 c0             	xorps  %xmm0,%xmm0
140108536:	48 85 c9             	test   %rcx,%rcx
140108539:	78 07                	js     0x140108542
14010853b:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140108540:	eb 15                	jmp    0x140108557
140108542:	48 8b c1             	mov    %rcx,%rax
140108545:	48 d1 e8             	shr    $1,%rax
140108548:	83 e1 01             	and    $0x1,%ecx
14010854b:	48 0b c1             	or     %rcx,%rax
14010854e:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140108553:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140108557:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
14010855b:	0f 57 c9             	xorps  %xmm1,%xmm1
14010855e:	48 85 c9             	test   %rcx,%rcx
140108561:	78 07                	js     0x14010856a
140108563:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140108568:	eb 15                	jmp    0x14010857f
14010856a:	48 8b c1             	mov    %rcx,%rax
14010856d:	48 d1 e8             	shr    $1,%rax
140108570:	83 e1 01             	and    $0x1,%ecx
140108573:	48 0b c1             	or     %rcx,%rax
140108576:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
14010857b:	f3 0f 58 c9          	addss  %xmm1,%xmm1
14010857f:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140108583:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
140108587:	0f 97 c0             	seta   %al
14010858a:	84 c0                	test   %al,%al
14010858c:	0f 84 ab 00 00 00    	je     0x14010863d
140108592:	48 8b cd             	mov    %rbp,%rcx
140108595:	e8 36 5b fc ff       	call   0x1400ce0d0
14010859a:	48 8b 45 30          	mov    0x30(%rbp),%rax
14010859e:	48 23 c7             	and    %rdi,%rax
1401085a1:	48 03 c0             	add    %rax,%rax
1401085a4:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1401085a8:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
1401085ad:	49 8b 0c 24          	mov    (%r12),%rcx
1401085b1:	48 3b d9             	cmp    %rcx,%rbx
1401085b4:	75 0c                	jne    0x1401085c2
1401085b6:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401085bb:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1401085c0:	eb 6c                	jmp    0x14010862e
1401085c2:	4c 8b 2c c2          	mov    (%rdx,%rax,8),%r13
1401085c6:	4d 8b 66 20          	mov    0x20(%r14),%r12
1401085ca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401085d0:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1401085d4:	48 8b 42 10          	mov    0x10(%rdx),%rax
1401085d8:	48 83 7a 18 10       	cmpq   $0x10,0x18(%rdx)
1401085dd:	72 03                	jb     0x1401085e2
1401085df:	48 8b 12             	mov    (%rdx),%rdx
1401085e2:	49 8d 4e 10          	lea    0x10(%r14),%rcx
1401085e6:	49 83 7e 28 10       	cmpq   $0x10,0x28(%r14)
1401085eb:	72 04                	jb     0x1401085f1
1401085ed:	49 8b 4e 10          	mov    0x10(%r14),%rcx
1401085f1:	4c 3b e0             	cmp    %rax,%r12
1401085f4:	75 0c                	jne    0x140108602
1401085f6:	4d 8b c4             	mov    %r12,%r8
1401085f9:	e8 72 07 08 00       	call   0x140188d70
1401085fe:	85 c0                	test   %eax,%eax
140108600:	74 0b                	je     0x14010860d
140108602:	49 3b dd             	cmp    %r13,%rbx
140108605:	74 15                	je     0x14010861c
140108607:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14010860b:	eb c3                	jmp    0x1401085d0
14010860d:	48 8b 03             	mov    (%rbx),%rax
140108610:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140108615:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14010861a:	eb 0e                	jmp    0x14010862a
14010861c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140108621:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140108628:	00 00
14010862a:	4c 8d 65 08          	lea    0x8(%rbp),%r12
14010862e:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140108633:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140108639:	4c 8b 4d 10          	mov    0x10(%rbp),%r9
14010863d:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140108642:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140108646:	49 8d 41 01          	lea    0x1(%r9),%rax
14010864a:	48 89 45 10          	mov    %rax,0x10(%rbp)
14010864e:	49 89 16             	mov    %rdx,(%r14)
140108651:	4d 89 46 08          	mov    %r8,0x8(%r14)
140108655:	4d 89 30             	mov    %r14,(%r8)
140108658:	4c 89 72 08          	mov    %r14,0x8(%rdx)
14010865c:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140108660:	48 8b 45 30          	mov    0x30(%rbp),%rax
140108664:	48 23 c7             	and    %rdi,%rax
140108667:	48 03 c0             	add    %rax,%rax
14010866a:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
14010866e:	4d 3b 0c 24          	cmp    (%r12),%r9
140108672:	75 06                	jne    0x14010867a
140108674:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
140108678:	eb 12                	jmp    0x14010868c
14010867a:	4c 3b ca             	cmp    %rdx,%r9
14010867d:	75 06                	jne    0x140108685
14010867f:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
140108683:	eb 0c                	jmp    0x140108691
140108685:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
14010868a:	75 05                	jne    0x140108691
14010868c:	4c 89 74 c1 08       	mov    %r14,0x8(%rcx,%rax,8)
140108691:	4d 89 37             	mov    %r14,(%r15)
140108694:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140108699:	49 8b c7             	mov    %r15,%rax
14010869c:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1401086a1:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1401086a6:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
1401086ad:	00
1401086ae:	48 83 c4 40          	add    $0x40,%rsp
1401086b2:	41 5f                	pop    %r15
1401086b4:	41 5e                	pop    %r14
1401086b6:	41 5d                	pop    %r13
1401086b8:	41 5c                	pop    %r12
1401086ba:	5f                   	pop    %rdi
1401086bb:	c3                   	ret
1401086bc:	48 8d 0d 05 12 13 00 	lea    0x131205(%rip),%rcx        # 0x1402398c8
1401086c3:	e8 bc e5 05 00       	call   0x140166c84
1401086c8:	cc                   	int3
1401086c9:	cc                   	int3
1401086ca:	cc                   	int3
1401086cb:	cc                   	int3
1401086cc:	cc                   	int3
1401086cd:	cc                   	int3
1401086ce:	cc                   	int3
1401086cf:	cc                   	int3
1401086d0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401086d5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401086da:	57                   	push   %rdi
1401086db:	41 54                	push   %r12
1401086dd:	41 57                	push   %r15
1401086df:	48 83 ec 20          	sub    $0x20,%rsp
1401086e3:	4c 8b ca             	mov    %rdx,%r9
1401086e6:	4c 8b fa             	mov    %rdx,%r15
1401086e9:	49 ba 25 49 92 24 49 	movabs $0x4924924924924925,%r10
1401086f0:	92 24 49
1401086f3:	48 8b f9             	mov    %rcx,%rdi
1401086f6:	4d 8b e0             	mov    %r8,%r12
1401086f9:	49 8b c2             	mov    %r10,%rax
1401086fc:	4c 8b 01             	mov    (%rcx),%r8
1401086ff:	48 bb 49 92 24 49 92 	movabs $0x249249249249249,%rbx
140108706:	24 49 02
140108709:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14010870d:	4d 2b c8             	sub    %r8,%r9