1400171f2:	41 0f b7 08          	movzwl (%r8),%ecx
1400171f6:	66 41 3b d5          	cmp    %r13w,%dx
1400171fa:	8b c7                	mov    %edi,%eax
1400171fc:	0f 94 c0             	sete   %al
1400171ff:	41 03 c7             	add    %r15d,%eax
140017202:	2b d8                	sub    %eax,%ebx
140017204:	66 41 3b cc          	cmp    %r12w,%cx
140017208:	74 bb                	je     0x1400171c5
14001720a:	0f b7 c9             	movzwl %cx,%ecx
14001720d:	eb 93                	jmp    0x1400171a2
14001720f:	45 8b c2             	mov    %r10d,%r8d
140017212:	41 83 c9 ff          	or     $0xffffffff,%r9d
140017216:	41 8b da             	mov    %r10d,%ebx
140017219:	4a 8d 14 46          	lea    (%rsi,%r8,2),%rdx
14001721d:	66 44 39 32          	cmp    %r14w,(%rdx)
140017221:	75 10                	jne    0x140017233
140017223:	48 8b c2             	mov    %rdx,%rax
140017226:	41 03 df             	add    %r15d,%ebx
140017229:	48 8d 40 02          	lea    0x2(%rax),%rax
14001722d:	66 44 39 30          	cmp    %r14w,(%rax)
140017231:	74 f3                	je     0x140017226
140017233:	41 03 df             	add    %r15d,%ebx
140017236:	45 85 db             	test   %r11d,%r11d
140017239:	75 18                	jne    0x140017253
14001723b:	48 63 cb             	movslq %ebx,%rcx
14001723e:	eb 0c                	jmp    0x14001724c
140017240:	0f b7 04 4e          	movzwl (%rsi,%rcx,2),%eax
140017244:	66 89 44 4e 02       	mov    %ax,0x2(%rsi,%rcx,2)
140017249:	49 2b cf             	sub    %r15,%rcx
14001724c:	49 3b c8             	cmp    %r8,%rcx
14001724f:	7d ef                	jge    0x140017240
140017251:	eb 03                	jmp    0x140017256
140017253:	45 03 df             	add    %r15d,%r11d
140017256:	66 c7 02 31 00       	movw   $0x31,(%rdx)
14001725b:	45 85 c9             	test   %r9d,%r9d
14001725e:	44 0f 48 cb          	cmovs  %ebx,%r9d
140017262:	43 8d 1c 0f          	lea    (%r15,%r9,1),%ebx
140017266:	eb 06                	jmp    0x14001726e
140017268:	41 bc 2d 00 00 00    	mov    $0x2d,%r12d
14001726e:	48 63 c3             	movslq %ebx,%rax
140017271:	66 44 39 74 46 fe    	cmp    %r14w,-0x2(%rsi,%rax,2)
140017277:	75 14                	jne    0x14001728d
140017279:	48 ff c8             	dec    %rax
14001727c:	48 8d 04 46          	lea    (%rsi,%rax,2),%rax
140017280:	41 2b df             	sub    %r15d,%ebx
140017283:	48 8d 40 fe          	lea    -0x2(%rax),%rax
140017287:	66 44 39 30          	cmp    %r14w,(%rax)
14001728b:	74 f3                	je     0x140017280
14001728d:	48 63 c3             	movslq %ebx,%rax
140017290:	44 8d 53 01          	lea    0x1(%rbx),%r10d
140017294:	66 44 39 6c 46 fe    	cmp    %r13w,-0x2(%rsi,%rax,2)
14001729a:	44 0f 45 d3          	cmovne %ebx,%r10d
14001729e:	45 85 db             	test   %r11d,%r11d
1400172a1:	0f 84 1f 01 00 00    	je     0x1400173c6
1400172a7:	44 3b d5             	cmp    %ebp,%r10d
1400172aa:	0f 8d 27 01 00 00    	jge    0x1400173d7
1400172b0:	49 63 c2             	movslq %r10d,%rax
1400172b3:	41 ff c2             	inc    %r10d
1400172b6:	66 c7 04 46 45 00    	movw   $0x45,(%rsi,%rax,2)
1400172bc:	45 85 db             	test   %r11d,%r11d
1400172bf:	79 17                	jns    0x1400172d8
1400172c1:	44 3b d5             	cmp    %ebp,%r10d
1400172c4:	0f 8d 0d 01 00 00    	jge    0x1400173d7
1400172ca:	49 63 c2             	movslq %r10d,%rax
1400172cd:	45 03 d7             	add    %r15d,%r10d
1400172d0:	41 f7 db             	neg    %r11d
1400172d3:	66 44 89 24 46       	mov    %r12w,(%rsi,%rax,2)
1400172d8:	41 83 fb 64          	cmp    $0x64,%r11d
1400172dc:	0f 8c 85 00 00 00    	jl     0x140017367
1400172e2:	41 8d 42 02          	lea    0x2(%r10),%eax
1400172e6:	3b c5                	cmp    %ebp,%eax
1400172e8:	0f 8d e9 00 00 00    	jge    0x1400173d7
1400172ee:	49 63 ca             	movslq %r10d,%rcx
1400172f1:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
1400172f6:	41 f7 eb             	imul   %r11d
1400172f9:	45 03 d7             	add    %r15d,%r10d
1400172fc:	c1 fa 05             	sar    $0x5,%edx
1400172ff:	8b c2                	mov    %edx,%eax
140017301:	4d 63 c2             	movslq %r10d,%r8
140017304:	c1 e8 1f             	shr    $0x1f,%eax
140017307:	45 03 d7             	add    %r15d,%r10d
14001730a:	03 d0                	add    %eax,%edx
14001730c:	b8 67 66 66 66       	mov    $0x66666667,%eax
140017311:	66 41 03 d6          	add    %r14w,%dx
140017315:	66 89 14 4e          	mov    %dx,(%rsi,%rcx,2)
140017319:	41 f7 eb             	imul   %r11d
14001731c:	b8 67 66 66 66       	mov    $0x66666667,%eax
140017321:	44 8b ca             	mov    %edx,%r9d
140017324:	41 c1 f9 02          	sar    $0x2,%r9d
140017328:	41 8b c9             	mov    %r9d,%ecx
14001732b:	c1 e9 1f             	shr    $0x1f,%ecx
14001732e:	44 03 c9             	add    %ecx,%r9d
140017331:	41 f7 e9             	imul   %r9d
140017334:	41 8b c9             	mov    %r9d,%ecx
140017337:	c1 fa 02             	sar    $0x2,%edx
14001733a:	8b c2                	mov    %edx,%eax
14001733c:	c1 e8 1f             	shr    $0x1f,%eax
14001733f:	03 d0                	add    %eax,%edx
140017341:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140017344:	03 c0                	add    %eax,%eax
140017346:	2b c8                	sub    %eax,%ecx
140017348:	41 0f b7 c1          	movzwl %r9w,%eax
14001734c:	66 41 c1 e1 02       	shl    $0x2,%r9w
140017351:	66 41 03 ce          	add    %r14w,%cx
140017355:	66 41 03 c1          	add    %r9w,%ax
140017359:	66 42 89 0c 46       	mov    %cx,(%rsi,%r8,2)
14001735e:	66 03 c0             	add    %ax,%ax
140017361:	66 44 2b d8          	sub    %ax,%r11w
140017365:	eb 50                	jmp    0x1400173b7
140017367:	41 83 fb 0a          	cmp    $0xa,%r11d
14001736b:	7c 45                	jl     0x1400173b2
14001736d:	45 8d 42 01          	lea    0x1(%r10),%r8d
140017371:	44 3b c5             	cmp    %ebp,%r8d
140017374:	7d 61                	jge    0x1400173d7
140017376:	49 63 ca             	movslq %r10d,%rcx
140017379:	b8 67 66 66 66       	mov    $0x66666667,%eax
14001737e:	41 f7 eb             	imul   %r11d
140017381:	4d 63 d0             	movslq %r8d,%r10
140017384:	c1 fa 02             	sar    $0x2,%edx
140017387:	8b c2                	mov    %edx,%eax
140017389:	c1 e8 1f             	shr    $0x1f,%eax
14001738c:	03 d0                	add    %eax,%edx
14001738e:	41 8d 04 16          	lea    (%r14,%rdx,1),%eax
140017392:	66 89 04 4e          	mov    %ax,(%rsi,%rcx,2)
140017396:	0f b7 c2             	movzwl %dx,%eax
140017399:	66 c1 e2 02          	shl    $0x2,%dx
14001739d:	66 03 c2             	add    %dx,%ax
1400173a0:	66 03 c0             	add    %ax,%ax
1400173a3:	66 44 2b d8          	sub    %ax,%r11w
1400173a7:	66 45 03 de          	add    %r14w,%r11w
1400173ab:	66 46 89 1c 56       	mov    %r11w,(%rsi,%r10,2)
1400173b0:	eb 11                	jmp    0x1400173c3
1400173b2:	44 3b d5             	cmp    %ebp,%r10d
1400173b5:	7d 20                	jge    0x1400173d7
1400173b7:	49 63 ca             	movslq %r10d,%rcx
1400173ba:	66 45 03 de          	add    %r14w,%r11w
1400173be:	66 44 89 1c 4e       	mov    %r11w,(%rsi,%rcx,2)
1400173c3:	45 03 d7             	add    %r15d,%r10d
1400173c6:	44 3b d5             	cmp    %ebp,%r10d
1400173c9:	7d 0c                	jge    0x1400173d7
1400173cb:	49 63 ca             	movslq %r10d,%rcx
1400173ce:	41 8b c2             	mov    %r10d,%eax
1400173d1:	66 89 3c 4e          	mov    %di,(%rsi,%rcx,2)
1400173d5:	eb 05                	jmp    0x1400173dc
1400173d7:	66 89 3e             	mov    %di,(%rsi)
1400173da:	33 c0                	xor    %eax,%eax
1400173dc:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400173e1:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1400173e6:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1400173eb:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
1400173f0:	48 83 c4 30          	add    $0x30,%rsp
1400173f4:	41 5f                	pop    %r15
1400173f6:	41 5e                	pop    %r14
1400173f8:	41 5d                	pop    %r13
1400173fa:	41 5c                	pop    %r12
1400173fc:	5f                   	pop    %rdi
1400173fd:	c3                   	ret
1400173fe:	90                   	nop
1400173ff:	90                   	nop
140017400:	48 8d 05 a9 1f 0c 00 	lea    0xc1fa9(%rip),%rax        # 0x1400d93b0
140017407:	c3                   	ret
140017408:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14001740d:	56                   	push   %rsi
14001740e:	57                   	push   %rdi
14001740f:	41 56                	push   %r14
140017411:	48 83 ec 70          	sub    $0x70,%rsp
140017415:	48 8b 05 a4 b2 0a 00 	mov    0xab2a4(%rip),%rax        # 0x1400c26c0
14001741c:	48 33 c4             	xor    %rsp,%rax
14001741f:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140017424:	48 8b fa             	mov    %rdx,%rdi
140017427:	48 8b d9             	mov    %rcx,%rbx
14001742a:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14001742f:	45 33 f6             	xor    %r14d,%r14d
140017432:	4c 39 72 08          	cmp    %r14,0x8(%rdx)
140017436:	75 2b                	jne    0x140017463
140017438:	0f 57 c0             	xorps  %xmm0,%xmm0
14001743b:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140017440:	66 0f 6f 0d 18 cd 08 	movdqa 0x8cd18(%rip),%xmm1        # 0x1400a4160
140017447:	00
140017448:	66 44 89 74 24 40    	mov    %r14w,0x40(%rsp)
14001744e:	0f 10 44 24 40       	movups 0x40(%rsp),%xmm0
140017453:	0f 11 01             	movups %xmm0,(%rcx)
140017456:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
14001745a:	c6 41 20 01          	movb   $0x1,0x20(%rcx)
14001745e:	e9 34 01 00 00       	jmp    0x140017597
140017463:	48 81 7a 08 ff ff ff 	cmpq   $0x7fffffff,0x8(%rdx)
14001746a:	7f
14001746b:	0f 87 47 01 00 00    	ja     0x1400175b8
140017471:	eb 09                	jmp    0x14001747c
140017473:	44 88 73 20          	mov    %r14b,0x20(%rbx)
140017477:	e9 1b 01 00 00       	jmp    0x140017597
14001747c:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
140017481:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140017486:	44 8b 4a 08          	mov    0x8(%rdx),%r9d
14001748a:	4c 8b 02             	mov    (%rdx),%r8
14001748d:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140017492:	e8 2d f0 ff ff       	call   0x1400164c4
140017497:	48 63 f0             	movslq %eax,%rsi
14001749a:	85 c0                	test   %eax,%eax
14001749c:	7e d5                	jle    0x140017473
14001749e:	0f 57 c0             	xorps  %xmm0,%xmm0
1400174a1:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
1400174a6:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
1400174ab:	48 c7 44 24 58 07 00 	movq   $0x7,0x58(%rsp)
1400174b2:	00 00
1400174b4:	66 44 89 74 24 40    	mov    %r14w,0x40(%rsp)
1400174ba:	48 8b d6             	mov    %rsi,%rdx
1400174bd:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400174c2:	e8 b1 b7 ff ff       	call   0x140012c78
1400174c7:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400174cc:	48 83 7c 24 58 07    	cmpq   $0x7,0x58(%rsp)
1400174d2:	48 0f 47 44 24 40    	cmova  0x40(%rsp),%rax
1400174d8:	89 74 24 28          	mov    %esi,0x28(%rsp)
1400174dc:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400174e1:	44 8b 4f 08          	mov    0x8(%rdi),%r9d
1400174e5:	4c 8b 07             	mov    (%rdi),%r8
1400174e8:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
1400174ed:	e8 d2 ef ff ff       	call   0x1400164c4
1400174f2:	85 c0                	test   %eax,%eax
1400174f4:	7f 44                	jg     0x14001753a
1400174f6:	44 88 73 20          	mov    %r14b,0x20(%rbx)
1400174fa:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400174ff:	48 83 f8 07          	cmp    $0x7,%rax
140017503:	0f 86 8e 00 00 00    	jbe    0x140017597
140017509:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14001750e:	48 8b d1             	mov    %rcx,%rdx
140017511:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140017518:	00
140017519:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14001751f:	72 11                	jb     0x140017532
140017521:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140017525:	48 2b d1             	sub    %rcx,%rdx
140017528:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14001752c:	48 83 f8 1f          	cmp    $0x1f,%rax
140017530:	77 53                	ja     0x140017585
140017532:	ff 15 70 80 05 00    	call   *0x58070(%rip)        # 0x14006f5a8
140017538:	eb 5d                	jmp    0x140017597
14001753a:	0f 10 44 24 40       	movups 0x40(%rsp),%xmm0
14001753f:	0f 11 03             	movups %xmm0,(%rbx)
140017542:	0f 10 4c 24 50       	movups 0x50(%rsp),%xmm1
140017547:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
14001754b:	c6 43 20 01          	movb   $0x1,0x20(%rbx)
14001754f:	eb 46                	jmp    0x140017597
140017551:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140017556:	48 83 f8 07          	cmp    $0x7,%rax
14001755a:	76 36                	jbe    0x140017592
14001755c:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140017561:	48 8b d1             	mov    %rcx,%rdx
140017564:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14001756b:	00
14001756c:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140017572:	72 18                	jb     0x14001758c
140017574:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140017578:	48 2b d1             	sub    %rcx,%rdx
14001757b:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14001757f:	48 83 f8 1f          	cmp    $0x1f,%rax
140017583:	76 07                	jbe    0x14001758c
140017585:	ff 15 ed 7e 05 00    	call   *0x57eed(%rip)        # 0x14006f478
14001758b:	cc                   	int3
14001758c:	ff 15 16 80 05 00    	call   *0x58016(%rip)        # 0x14006f5a8
140017592:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140017597:	48 8b c3             	mov    %rbx,%rax
14001759a:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14001759f:	48 33 cc             	xor    %rsp,%rcx
1400175a2:	e8 99 24 05 00       	call   0x140069a40
1400175a7:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
1400175ae:	00
1400175af:	48 83 c4 70          	add    $0x70,%rsp
1400175b3:	41 5e                	pop    %r14
1400175b5:	5f                   	pop    %rdi
1400175b6:	5e                   	pop    %rsi
1400175b7:	c3                   	ret
1400175b8:	b9 8e 36 00 02       	mov    $0x200368e,%ecx
1400175bd:	e8 8a a3 fe ff       	call   0x14000194c
1400175c2:	e9 ac fe ff ff       	jmp    0x140017473
1400175c7:	cc                   	int3
1400175c8:	90                   	nop
1400175c9:	90                   	nop
1400175ca:	90                   	nop
1400175cb:	90                   	nop
1400175cc:	90                   	nop
1400175cd:	90                   	nop
1400175ce:	90                   	nop
1400175cf:	90                   	nop
1400175d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400175d5:	57                   	push   %rdi
1400175d6:	48 83 ec 20          	sub    $0x20,%rsp
1400175da:	48 8b f9             	mov    %rcx,%rdi
1400175dd:	8b da                	mov    %edx,%ebx
1400175df:	48 83 c1 08          	add    $0x8,%rcx
1400175e3:	e8 c8 05 00 00       	call   0x140017bb0
1400175e8:	f6 c3 01             	test   $0x1,%bl
1400175eb:	74 08                	je     0x1400175f5
1400175ed:	48 8b cf             	mov    %rdi,%rcx
1400175f0:	e8 eb e2 03 00       	call   0x1400558e0
1400175f5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400175fa:	48 8b c7             	mov    %rdi,%rax
1400175fd:	48 83 c4 20          	add    $0x20,%rsp
140017601:	5f                   	pop    %rdi
140017602:	c3                   	ret
140017603:	90                   	nop
140017604:	90                   	nop
140017605:	90                   	nop
140017606:	90                   	nop
140017607:	90                   	nop
140017608:	90                   	nop
140017609:	90                   	nop
14001760a:	90                   	nop
14001760b:	90                   	nop
14001760c:	90                   	nop
14001760d:	90                   	nop
14001760e:	90                   	nop
14001760f:	90                   	nop
140017610:	4d 85 c0             	test   %r8,%r8
140017613:	0f 84 c8 00 00 00    	je     0x1400176e1
140017619:	48 8b c4             	mov    %rsp,%rax
14001761c:	48 89 58 08          	mov    %rbx,0x8(%rax)
140017620:	48 89 68 10          	mov    %rbp,0x10(%rax)
140017624:	48 89 70 20          	mov    %rsi,0x20(%rax)
140017628:	4c 89 40 18          	mov    %r8,0x18(%rax)
14001762c:	57                   	push   %rdi
14001762d:	41 56                	push   %r14
14001762f:	41 57                	push   %r15
140017631:	48 83 ec 40          	sub    $0x40,%rsp
140017635:	49 8b f0             	mov    %r8,%rsi
140017638:	4c 8b f2             	mov    %rdx,%r14
14001763b:	48 8b f9             	mov    %rcx,%rdi
14001763e:	45 33 ff             	xor    %r15d,%r15d
140017641:	48 8d 69 20          	lea    0x20(%rcx),%rbp
140017645:	48 89 68 d8          	mov    %rbp,-0x28(%rax)
140017649:	48 8b cd             	mov    %rbp,%rcx
14001764c:	e8 07 71 04 00       	call   0x14005e758
140017651:	c6 44 24 38 01       	movb   $0x1,0x38(%rsp)
140017656:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
14001765a:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
14001765e:	48 3b 5f 18          	cmp    0x18(%rdi),%rbx
140017662:	74 4c                	je     0x1400176b0
140017664:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140017669:	4c 89 3b             	mov    %r15,(%rbx)
14001766c:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
140017670:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140017674:	0f 57 c0             	xorps  %xmm0,%xmm0
140017677:	0f 11 01             	movups %xmm0,(%rcx)
14001767a:	4c 89 79 10          	mov    %r15,0x10(%rcx)
14001767e:	4c 89 79 18          	mov    %r15,0x18(%rcx)
140017682:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140017686:	49 ff c0             	inc    %r8
140017689:	66 46 39 3c 46       	cmp    %r15w,(%rsi,%r8,2)
14001768e:	75 f6                	jne    0x140017686
140017690:	48 8b d6             	mov    %rsi,%rdx