1401842d4:	48 c1 f8 04          	sar    $0x4,%rax
1401842d8:	48 85 c0             	test   %rax,%rax
1401842db:	0f 84 82 00 00 00    	je     0x140184363
1401842e1:	8b fb                	mov    %ebx,%edi
1401842e3:	49 2b c8             	sub    %r8,%rcx
1401842e6:	48 c1 f9 04          	sar    $0x4,%rcx
1401842ea:	48 3b d9             	cmp    %rcx,%rbx
1401842ed:	0f 83 b9 00 00 00    	jae    0x1401843ac
1401842f3:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
1401842f7:	4a 8b 0c 07          	mov    (%rdi,%r8,1),%rcx
1401842fb:	e8 70 8e 00 00       	call   0x14018d170
140184300:	90                   	nop
140184301:	48 8b d0             	mov    %rax,%rdx
140184304:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140184308:	e8 fb 7b e9 ff       	call   0x14001bf08
14018430d:	90                   	nop
14018430e:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
140184312:	48 83 f8 07          	cmp    $0x7,%rax
140184316:	76 2e                	jbe    0x140184346
140184318:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14018431f:	00
140184320:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140184324:	48 8b d1             	mov    %rcx,%rdx
140184327:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14018432d:	72 11                	jb     0x140184340
14018432f:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140184333:	48 2b d1             	sub    %rcx,%rdx
140184336:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14018433a:	48 83 f8 1f          	cmp    $0x1f,%rax
14018433e:	77 6c                	ja     0x1401843ac
140184340:	ff 15 7a 85 98 00    	call   *0x98857a(%rip)        # 0x140b0c8c0
140184346:	48 ff c3             	inc    %rbx
140184349:	48 83 c7 10          	add    $0x10,%rdi
14018434d:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140184351:	4d 8b 06             	mov    (%r14),%r8
140184354:	48 8b c1             	mov    %rcx,%rax
140184357:	49 2b c0             	sub    %r8,%rax
14018435a:	48 c1 f8 04          	sar    $0x4,%rax
14018435e:	48 3b d8             	cmp    %rax,%rbx
140184361:	72 80                	jb     0x1401842e3
140184363:	45 33 c0             	xor    %r8d,%r8d
140184366:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
14018436a:	48 8b ce             	mov    %rsi,%rcx
14018436d:	e8 22 81 01 00       	call   0x14019c494
140184372:	90                   	nop
140184373:	48 8b 45 c8          	mov    -0x38(%rbp),%rax
140184377:	48 83 f8 07          	cmp    $0x7,%rax
14018437b:	76 3c                	jbe    0x1401843b9
14018437d:	48 8b 4d b0          	mov    -0x50(%rbp),%rcx
140184381:	48 8b d1             	mov    %rcx,%rdx
140184384:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14018438b:	00
14018438c:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140184392:	72 1f                	jb     0x1401843b3
140184394:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140184398:	48 2b d1             	sub    %rcx,%rdx
14018439b:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14018439f:	48 83 f8 1f          	cmp    $0x1f,%rax
1401843a3:	76 0e                	jbe    0x1401843b3
1401843a5:	ff 15 ed 85 98 00    	call   *0x9885ed(%rip)        # 0x140b0c998
1401843ab:	90                   	nop
1401843ac:	ff 15 e6 85 98 00    	call   *0x9885e6(%rip)        # 0x140b0c998
1401843b2:	90                   	nop
1401843b3:	ff 15 07 85 98 00    	call   *0x988507(%rip)        # 0x140b0c8c0
1401843b9:	48 8b c6             	mov    %rsi,%rax
1401843bc:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401843c0:	48 33 cc             	xor    %rsp,%rcx
1401843c3:	e8 18 b2 96 00       	call   0x140aef5e0
1401843c8:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1401843cf:	00
1401843d0:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1401843d4:	49 8b 73 38          	mov    0x38(%r11),%rsi
1401843d8:	49 8b e3             	mov    %r11,%rsp
1401843db:	41 5e                	pop    %r14
1401843dd:	5f                   	pop    %rdi
1401843de:	5d                   	pop    %rbp
1401843df:	c3                   	ret
1401843e0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401843e5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401843ea:	57                   	push   %rdi
1401843eb:	41 54                	push   %r12
1401843ed:	41 55                	push   %r13
1401843ef:	41 56                	push   %r14
1401843f1:	41 57                	push   %r15
1401843f3:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1401843fa:	48 8b 05 3f ac b3 00 	mov    0xb3ac3f(%rip),%rax        # 0x140cbf040
140184401:	48 33 c4             	xor    %rsp,%rax
140184404:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
14018440b:	00
14018440c:	48 8b f1             	mov    %rcx,%rsi
14018440f:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
140184414:	e8 4b fe ff ff       	call   0x140184264
140184419:	0f 57 c0             	xorps  %xmm0,%xmm0
14018441c:	0f 11 44 24 38       	movups %xmm0,0x38(%rsp)
140184421:	45 33 db             	xor    %r11d,%r11d
140184424:	45 8b d3             	mov    %r11d,%r10d
140184427:	4c 89 5c 24 48       	mov    %r11,0x48(%rsp)
14018442c:	45 8d 43 07          	lea    0x7(%r11),%r8d
140184430:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
140184435:	66 44 89 5c 24 38    	mov    %r11w,0x38(%rsp)
14018443b:	48 8b 5e 30          	mov    0x30(%rsi),%rbx
14018443f:	45 8d 7b 01          	lea    0x1(%r11),%r15d
140184443:	49 83 ce ff          	or     $0xffffffffffffffff,%r14
140184447:	48 3b 5e 38          	cmp    0x38(%rsi),%rbx
14018444b:	0f 84 96 00 00 00    	je     0x1401844e7
140184451:	48 8b d3             	mov    %rbx,%rdx
140184454:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140184459:	e8 56 89 e9 ff       	call   0x14001cdb4
14018445e:	8a 86 b3 00 00 00    	mov    0xb3(%rsi),%al
140184464:	f6 d8                	neg    %al
140184466:	45 1b c0             	sbb    %r8d,%r8d
140184469:	41 83 c0 03          	add    $0x3,%r8d
14018446d:	45 8a cf             	mov    %r15b,%r9b
140184470:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140184475:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14018447a:	e8 05 78 00 00       	call   0x14018bc84
14018447f:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140184484:	45 33 db             	xor    %r11d,%r11d
140184487:	48 85 c9             	test   %rcx,%rcx
14018448a:	74 43                	je     0x1401844cf
14018448c:	41 8b c6             	mov    %r14d,%eax
14018448f:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140184494:	41 03 c6             	add    %r14d,%eax
140184497:	75 36                	jne    0x1401844cf
140184499:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
14018449e:	48 8b 07             	mov    (%rdi),%rax
1401844a1:	48 8b cf             	mov    %rdi,%rcx
1401844a4:	48 8b 00             	mov    (%rax),%rax
1401844a7:	ff 15 8b 87 98 00    	call   *0x98878b(%rip)        # 0x140b0cc38
1401844ad:	41 8b c6             	mov    %r14d,%eax
1401844b0:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1401844b5:	41 03 c6             	add    %r14d,%eax
1401844b8:	75 12                	jne    0x1401844cc
1401844ba:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1401844bf:	48 8b 01             	mov    (%rcx),%rax
1401844c2:	48 8b 40 08          	mov    0x8(%rax),%rax
1401844c6:	ff 15 6c 87 98 00    	call   *0x98876c(%rip)        # 0x140b0cc38
1401844cc:	45 33 db             	xor    %r11d,%r11d
1401844cf:	48 83 c3 10          	add    $0x10,%rbx
1401844d3:	48 3b 5e 38          	cmp    0x38(%rsi),%rbx
1401844d7:	0f 85 74 ff ff ff    	jne    0x140184451
1401844dd:	4c 8b 54 24 48       	mov    0x48(%rsp),%r10
1401844e2:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1401844e7:	48 8d 7c 24 78       	lea    0x78(%rsp),%rdi
1401844ec:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
1401844f1:	4c 8b ac 24 90 00 00 	mov    0x90(%rsp),%r13
1401844f8:	00
1401844f9:	49 83 fd 07          	cmp    $0x7,%r13
1401844fd:	49 0f 47 fc          	cmova  %r12,%rdi
140184501:	48 8d 74 24 38       	lea    0x38(%rsp),%rsi
140184506:	49 83 f8 07          	cmp    $0x7,%r8
14018450a:	48 0f 47 74 24 38    	cmova  0x38(%rsp),%rsi
140184510:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
140184517:	00
140184518:	4d 3b ca             	cmp    %r10,%r9
14018451b:	0f 87 be 01 00 00    	ja     0x1401846df
140184521:	49 8b c2             	mov    %r10,%rax
140184524:	49 2b c1             	sub    %r9,%rax
140184527:	4d 85 c9             	test   %r9,%r9
14018452a:	75 08                	jne    0x140184534
14018452c:	49 8b d3             	mov    %r11,%rdx
14018452f:	e9 ae 01 00 00       	jmp    0x1401846e2
140184534:	48 ff c0             	inc    %rax
140184537:	48 8d 04 46          	lea    (%rsi,%rax,2),%rax
14018453b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140184540:	48 8b d6             	mov    %rsi,%rdx
140184543:	0f b7 0f             	movzwl (%rdi),%ecx
140184546:	48 2b c2             	sub    %rdx,%rax
140184549:	48 d1 f8             	sar    $1,%rax
14018454c:	4d 8b eb             	mov    %r11,%r13
14018454f:	74 16                	je     0x140184567
140184551:	eb 0c                	jmp    0x14018455f
140184553:	49 3b c7             	cmp    %r15,%rax
140184556:	74 0f                	je     0x140184567
140184558:	49 2b c7             	sub    %r15,%rax
14018455b:	48 83 c2 02          	add    $0x2,%rdx
14018455f:	66 39 0a             	cmp    %cx,(%rdx)
140184562:	75 ef                	jne    0x140184553
140184564:	4c 8b ea             	mov    %rdx,%r13
140184567:	49 8b d5             	mov    %r13,%rdx
14018456a:	4d 85 ed             	test   %r13,%r13
14018456d:	0f 84 5f 01 00 00    	je     0x1401846d2
140184573:	4d 8b c3             	mov    %r11,%r8
140184576:	44 89 5c 24 30       	mov    %r11d,0x30(%rsp)
14018457b:	48 8b c2             	mov    %rdx,%rax
14018457e:	48 8b cf             	mov    %rdi,%rcx
140184581:	44 39 1d f0 5c ba 00 	cmp    %r11d,0xba5cf0(%rip)        # 0x140d2a278
140184588:	74 35                	je     0x1401845bf
14018458a:	49 83 f9 10          	cmp    $0x10,%r9
14018458e:	72 2f                	jb     0x1401845bf
140184590:	41 bb 10 00 00 00    	mov    $0x10,%r11d
140184596:	c5 fe 6f 09          	vmovdqu (%rcx),%ymm1
14018459a:	c5 f5 75 08          	vpcmpeqw (%rax),%ymm1,%ymm1
14018459e:	c5 fd d7 d9          	vpmovmskb %ymm1,%ebx
1401845a2:	83 fb ff             	cmp    $0xffffffff,%ebx
1401845a5:	75 1e                	jne    0x1401845c5
1401845a7:	49 83 c0 10          	add    $0x10,%r8
1401845ab:	49 83 c3 10          	add    $0x10,%r11
1401845af:	48 83 c0 20          	add    $0x20,%rax
1401845b3:	48 83 c1 20          	add    $0x20,%rcx
1401845b7:	4d 3b d9             	cmp    %r9,%r11
1401845ba:	76 da                	jbe    0x140184596
1401845bc:	c5 f8 77             	vzeroupper
1401845bf:	4d 8d 58 08          	lea    0x8(%r8),%r11
1401845c3:	eb 5a                	jmp    0x14018461f
1401845c5:	f7 d3                	not    %ebx
1401845c7:	0f bc c3             	bsf    %ebx,%eax
1401845ca:	d1 e8                	shr    $1,%eax
1401845cc:	49 8d 0c 00          	lea    (%r8,%rax,1),%rcx
1401845d0:	49 03 c0             	add    %r8,%rax
1401845d3:	0f b7 04 47          	movzwl (%rdi,%rax,2),%eax
1401845d7:	66 41 39 44 4d 00    	cmp    %ax,0x0(%r13,%rcx,2)
1401845dd:	1b c0                	sbb    %eax,%eax
1401845df:	83 e0 fe             	and    $0xfffffffe,%eax
1401845e2:	41 03 c7             	add    %r15d,%eax
1401845e5:	c5 f8 77             	vzeroupper
1401845e8:	45 33 db             	xor    %r11d,%r11d
1401845eb:	e9 bb 00 00 00       	jmp    0x1401846ab
1401845f0:	f3 0f 6f 09          	movdqu (%rcx),%xmm1
1401845f4:	f3 0f 6f 00          	movdqu (%rax),%xmm0
1401845f8:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
1401845fc:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
140184600:	c7 44 24 30 ff ff 00 	movl   $0xffff,0x30(%rsp)
140184607:	00
140184608:	66 3b 5c 24 30       	cmp    0x30(%rsp),%bx
14018460d:	75 3d                	jne    0x14018464c
14018460f:	49 83 c0 08          	add    $0x8,%r8
140184613:	49 83 c3 08          	add    $0x8,%r11
140184617:	48 83 c0 10          	add    $0x10,%rax
14018461b:	48 83 c1 10          	add    $0x10,%rcx
14018461f:	4d 3b d9             	cmp    %r9,%r11
140184622:	76 cc                	jbe    0x1401845f0
140184624:	4d 8d 58 04          	lea    0x4(%r8),%r11
140184628:	4d 3b d9             	cmp    %r9,%r11
14018462b:	77 4b                	ja     0x140184678
14018462d:	48 8b 18             	mov    (%rax),%rbx
140184630:	48 8b 01             	mov    (%rcx),%rax
140184633:	48 3b d8             	cmp    %rax,%rbx
140184636:	74 3d                	je     0x140184675
140184638:	48 33 c3             	xor    %rbx,%rax
14018463b:	48 0f bc c0          	bsf    %rax,%rax
14018463f:	c1 e8 04             	shr    $0x4,%eax
140184642:	8b c8                	mov    %eax,%ecx
140184644:	49 03 c0             	add    %r8,%rax
140184647:	49 03 c8             	add    %r8,%rcx
14018464a:	eb 12                	jmp    0x14018465e
14018464c:	0f b7 c3             	movzwl %bx,%eax
14018464f:	f7 d0                	not    %eax
140184651:	0f bc c8             	bsf    %eax,%ecx
140184654:	d1 e9                	shr    $1,%ecx
140184656:	8b c1                	mov    %ecx,%eax
140184658:	49 03 c8             	add    %r8,%rcx
14018465b:	49 03 c0             	add    %r8,%rax
14018465e:	0f b7 04 47          	movzwl (%rdi,%rax,2),%eax
140184662:	66 41 39 44 4d 00    	cmp    %ax,0x0(%r13,%rcx,2)
140184668:	1b c0                	sbb    %eax,%eax
14018466a:	83 e0 fe             	and    $0xfffffffe,%eax
14018466d:	41 03 c7             	add    %r15d,%eax
140184670:	e9 73 ff ff ff       	jmp    0x1401845e8
140184675:	4d 8b c3             	mov    %r11,%r8
140184678:	4d 3b c1             	cmp    %r9,%r8
14018467b:	73 28                	jae    0x1401846a5
14018467d:	4a 8d 04 45 00 00 00 	lea    0x0(,%r8,2),%rax
140184684:	00
140184685:	49 03 c5             	add    %r13,%rax
140184688:	48 8b cf             	mov    %rdi,%rcx
14018468b:	49 2b cd             	sub    %r13,%rcx
14018468e:	44 0f b7 18          	movzwl (%rax),%r11d
140184692:	66 44 3b 1c 01       	cmp    (%rcx,%rax,1),%r11w
140184697:	75 cf                	jne    0x140184668
140184699:	4d 03 c7             	add    %r15,%r8
14018469c:	48 83 c0 02          	add    $0x2,%rax
1401846a0:	4d 3b c1             	cmp    %r9,%r8
1401846a3:	72 e9                	jb     0x14018468e
1401846a5:	45 33 db             	xor    %r11d,%r11d
1401846a8:	41 8b c3             	mov    %r11d,%eax
1401846ab:	85 c0                	test   %eax,%eax
1401846ad:	74 0e                	je     0x1401846bd
1401846af:	48 83 c2 02          	add    $0x2,%rdx
1401846b3:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1401846b8:	e9 86 fe ff ff       	jmp    0x140184543
1401846bd:	48 2b d6             	sub    %rsi,%rdx
1401846c0:	48 d1 fa             	sar    $1,%rdx
1401846c3:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1401846c8:	4c 8b ac 24 90 00 00 	mov    0x90(%rsp),%r13
1401846cf:	00
1401846d0:	eb 10                	jmp    0x1401846e2
1401846d2:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1401846d7:	4c 8b ac 24 90 00 00 	mov    0x90(%rsp),%r13
1401846de:	00
1401846df:	49 8b d6             	mov    %r14,%rdx
1401846e2:	49 8d 0c 11          	lea    (%r9,%rdx,1),%rcx
1401846e6:	0f 57 c0             	xorps  %xmm0,%xmm0
1401846e9:	0f 11 44 24 58       	movups %xmm0,0x58(%rsp)
1401846ee:	4c 89 5c 24 68       	mov    %r11,0x68(%rsp)
1401846f3:	4c 89 5c 24 70       	mov    %r11,0x70(%rsp)
1401846f8:	4c 3b d1             	cmp    %rcx,%r10
1401846fb:	0f 82 68 01 00 00    	jb     0x140184869
140184701:	4c 2b d1             	sub    %rcx,%r10
140184704:	4d 3b d6             	cmp    %r14,%r10
140184707:	4d 0f 42 f2          	cmovb  %r10,%r14
14018470b:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
140184710:	49 83 f8 07          	cmp    $0x7,%r8
140184714:	48 0f 47 44 24 38    	cmova  0x38(%rsp),%rax
14018471a:	48 8d 14 48          	lea    (%rax,%rcx,2),%rdx
14018471e:	4d 8b c6             	mov    %r14,%r8
140184721:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140184726:	e8 f5 f6 e7 ff       	call   0x140003e20
14018472b:	33 c9                	xor    %ecx,%ecx
14018472d:	8b d9                	mov    %ecx,%ebx
14018472f:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140184734:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140184739:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
14018473e:	4d 85 f6             	test   %r14,%r14
140184741:	74 2f                	je     0x140184772
140184743:	49 3b ce             	cmp    %r14,%rcx
140184746:	77 5b                	ja     0x1401847a3
140184748:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
14018474d:	48 83 fe 07          	cmp    $0x7,%rsi
140184751:	48 0f 47 cf          	cmova  %rdi,%rcx
140184755:	0f b7 0c 59          	movzwl (%rcx,%rbx,2),%ecx
140184759:	ff 15 69 83 98 00    	call   *0x988369(%rip)        # 0x140b0cac8
14018475f:	33 c9                	xor    %ecx,%ecx
140184761:	85 c0                	test   %eax,%eax
140184763:	74 0a                	je     0x14018476f
140184765:	49 03 df             	add    %r15,%rbx
140184768:	49 3b de             	cmp    %r14,%rbx
14018476b:	72 db                	jb     0x140184748
14018476d:	eb 03                	jmp    0x140184772
14018476f:	44 8a f9             	mov    %cl,%r15b
140184772:	bb 00 10 00 00       	mov    $0x1000,%ebx
140184777:	41 be 07 00 00 00    	mov    $0x7,%r14d
14018477d:	49 3b f6             	cmp    %r14,%rsi
140184780:	76 32                	jbe    0x1401847b4
140184782:	48 8d 04 75 02 00 00 	lea    0x2(,%rsi,2),%rax
140184789:	00
14018478a:	48 8b cf             	mov    %rdi,%rcx
14018478d:	48 3b c3             	cmp    %rbx,%rax
140184790:	72 18                	jb     0x1401847aa
140184792:	48 8b 7f f8          	mov    -0x8(%rdi),%rdi
140184796:	48 2b cf             	sub    %rdi,%rcx
140184799:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14018479d:	48 83 f8 1f          	cmp    $0x1f,%rax
1401847a1:	76 07                	jbe    0x1401847aa
1401847a3:	ff 15 ef 81 98 00    	call   *0x9881ef(%rip)        # 0x140b0c998
1401847a9:	cc                   	int3
1401847aa:	48 8b cf             	mov    %rdi,%rcx
1401847ad:	ff 15 0d 81 98 00    	call   *0x98810d(%rip)        # 0x140b0c8c0
1401847b3:	90                   	nop
1401847b4:	48 8b 44 24 50       	mov    0x50(%rsp),%rax