1401982b8:	66 0f 70 c9 00       	pshufd $0x0,%xmm1,%xmm1
1401982bd:	85 f6                	test   %esi,%esi
1401982bf:	0f 84 f8 00 00 00    	je     0x1401983bd
1401982c5:	83 fe 08             	cmp    $0x8,%esi
1401982c8:	0f 82 b5 00 00 00    	jb     0x140198383
1401982ce:	0f 54 0d bb cf 1a 00 	andps  0x1acfbb(%rip),%xmm1        # 0x140345290
1401982d5:	0f 57 c0             	xorps  %xmm0,%xmm0
1401982d8:	66 0f 67 c9          	packuswb %xmm1,%xmm1
1401982dc:	44 8b c6             	mov    %esi,%r8d
1401982df:	66 0f 67 c9          	packuswb %xmm1,%xmm1
1401982e3:	41 83 e0 f8          	and    $0xfffffff8,%r8d
1401982e7:	66 0f 7f 8c 24 80 00 	movdqa %xmm1,0x80(%rsp)
1401982ee:	00 00
1401982f0:	44 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10d
1401982f7:	00
1401982f8:	66 0f 7f 84 24 90 00 	movdqa %xmm0,0x90(%rsp)
1401982ff:	00 00
140198301:	44 8b 9c 24 90 00 00 	mov    0x90(%rsp),%r11d
140198308:	00
140198309:	66 0f 7f 44 24 60    	movdqa %xmm0,0x60(%rsp)
14019830f:	44 8b 64 24 60       	mov    0x60(%rsp),%r12d
140198314:	0f 1f 40 00          	nopl   0x0(%rax)
140198318:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14019831f:	00
140198320:	66 41 0f 6e 1c 29    	movd   (%r9,%rbp,1),%xmm3
140198326:	41 8d 41 04          	lea    0x4(%r9),%eax
14019832a:	66 0f 6f d3          	movdqa %xmm3,%xmm2
14019832e:	66 41 0f 6e c3       	movd   %r11d,%xmm0
140198333:	66 0f 74 d0          	pcmpeqb %xmm0,%xmm2
140198337:	66 41 0f 6e ca       	movd   %r10d,%xmm1
14019833c:	0f 55 d1             	andnps %xmm1,%xmm2
14019833f:	66 41 0f 6e e4       	movd   %r12d,%xmm4
140198344:	0f 56 d4             	orps   %xmm4,%xmm2
140198347:	66 41 0f 6e c3       	movd   %r11d,%xmm0
14019834c:	66 0f fc d3          	paddb  %xmm3,%xmm2
140198350:	66 41 0f 6e ca       	movd   %r10d,%xmm1
140198355:	66 41 0f 7e 14 29    	movd   %xmm2,(%r9,%rbp,1)
14019835b:	41 83 c1 08          	add    $0x8,%r9d
14019835f:	66 0f 6e 14 28       	movd   (%rax,%rbp,1),%xmm2
140198364:	66 0f 6f da          	movdqa %xmm2,%xmm3
140198368:	66 0f 74 d8          	pcmpeqb %xmm0,%xmm3
14019836c:	0f 55 d9             	andnps %xmm1,%xmm3
14019836f:	0f 56 dc             	orps   %xmm4,%xmm3
140198372:	66 0f fc da          	paddb  %xmm2,%xmm3
140198376:	66 0f 7e 1c 28       	movd   %xmm3,(%rax,%rbp,1)
14019837b:	45 3b c8             	cmp    %r8d,%r9d
14019837e:	72 a0                	jb     0x140198320
140198380:	45 33 e4             	xor    %r12d,%r12d
140198383:	44 3b ce             	cmp    %esi,%r9d
140198386:	73 35                	jae    0x1401983bd
140198388:	45 8b c1             	mov    %r9d,%r8d
14019838b:	8b c6                	mov    %esi,%eax
14019838d:	4c 03 c5             	add    %rbp,%r8
140198390:	41 2b c1             	sub    %r9d,%eax
140198393:	44 8b c8             	mov    %eax,%r9d
140198396:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14019839d:	00 00 00
1401983a0:	41 0f b6 00          	movzbl (%r8),%eax
1401983a4:	4d 8d 40 01          	lea    0x1(%r8),%r8
1401983a8:	84 c0                	test   %al,%al
1401983aa:	0f b6 ca             	movzbl %dl,%ecx
1401983ad:	41 0f 44 cc          	cmove  %r12d,%ecx
1401983b1:	02 c8                	add    %al,%cl
1401983b3:	41 88 48 ff          	mov    %cl,-0x1(%r8)
1401983b7:	49 83 e9 01          	sub    $0x1,%r9
1401983bb:	75 e3                	jne    0x1401983a0
1401983bd:	44 8b c7             	mov    %edi,%r8d
1401983c0:	3b fa                	cmp    %edx,%edi
1401983c2:	76 24                	jbe    0x1401983e8
1401983c4:	4c 8d 0c bb          	lea    (%rbx,%rdi,4),%r9
1401983c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401983cf:	00
1401983d0:	41 8b c0             	mov    %r8d,%eax
1401983d3:	4d 8d 49 fc          	lea    -0x4(%r9),%r9
1401983d7:	2b c2                	sub    %edx,%eax
1401983d9:	41 ff c8             	dec    %r8d
1401983dc:	8b 0c 83             	mov    (%rbx,%rax,4),%ecx
1401983df:	41 89 49 04          	mov    %ecx,0x4(%r9)
1401983e3:	44 3b c2             	cmp    %edx,%r8d
1401983e6:	77 e8                	ja     0x1401983d0
1401983e8:	85 d2                	test   %edx,%edx
1401983ea:	74 24                	je     0x140198410
1401983ec:	48 8d 04 95 00 00 00 	lea    0x0(,%rdx,4),%rax
1401983f3:	00
1401983f4:	33 d2                	xor    %edx,%edx
1401983f6:	48 8d 0c 18          	lea    (%rax,%rbx,1),%rcx
1401983fa:	4c 8b c0             	mov    %rax,%r8
1401983fd:	48 2b c8             	sub    %rax,%rcx
140198400:	49 83 e0 fc          	and    $0xfffffffffffffffc,%r8
140198404:	48 83 c1 04          	add    $0x4,%rcx
140198408:	e8 51 46 16 00       	call   0x1402fca5e
14019840d:	0f 1f 00             	nopl   (%rax)
140198410:	44 8b cf             	mov    %edi,%r9d
140198413:	89 bc 24 f8 00 00 00 	mov    %edi,0xf8(%rsp)
14019841a:	44 89 8c 24 e0 00 00 	mov    %r9d,0xe0(%rsp)
140198421:	00
140198422:	45 3b cf             	cmp    %r15d,%r9d
140198425:	0f 87 0a 04 00 00    	ja     0x140198835
14019842b:	c6 84 24 01 01 00 00 	movb   $0x0,0x101(%rsp)
140198432:	00
140198433:	44 8d 56 fd          	lea    -0x3(%rsi),%r10d
140198437:	44 88 8c 24 02 01 00 	mov    %r9b,0x102(%rsp)
14019843e:	00
14019843f:	8b 84 24 00 01 00 00 	mov    0x100(%rsp),%eax
140198446:	41 89 06             	mov    %eax,(%r14)
140198449:	45 33 f6             	xor    %r14d,%r14d
14019844c:	41 8d 41 01          	lea    0x1(%r9),%eax
140198450:	41 8b d6             	mov    %r14d,%edx
140198453:	85 c0                	test   %eax,%eax
140198455:	7e 1a                	jle    0x140198471
140198457:	48 8b cb             	mov    %rbx,%rcx
14019845a:	44 8b c0             	mov    %eax,%r8d
14019845d:	0f 1f 00             	nopl   (%rax)
140198460:	8b c2                	mov    %edx,%eax
140198462:	03 11                	add    (%rcx),%edx
140198464:	89 41 34             	mov    %eax,0x34(%rcx)
140198467:	48 8d 49 04          	lea    0x4(%rcx),%rcx
14019846b:	49 83 e8 01          	sub    $0x1,%r8
14019846f:	75 ef                	jne    0x140198460
140198471:	45 8b c6             	mov    %r14d,%r8d
140198474:	45 85 d2             	test   %r10d,%r10d
140198477:	0f 8e 9d 00 00 00    	jle    0x14019851a
14019847d:	4c 8d 8b d5 04 00 00 	lea    0x4d5(%rbx),%r9
140198484:	0f 1f 40 00          	nopl   0x0(%rax)
140198488:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14019848f:	00
140198490:	41 0f b6 41 ff       	movzbl -0x1(%r9),%eax
140198495:	4d 8d 49 04          	lea    0x4(%r9),%r9
140198499:	48 8d 0c 83          	lea    (%rbx,%rax,4),%rcx
14019849d:	8b 44 83 34          	mov    0x34(%rbx,%rax,4),%eax
1401984a1:	44 88 84 18 d4 03 00 	mov    %r8b,0x3d4(%rax,%rbx,1)
1401984a8:	00
1401984a9:	ff 41 34             	incl   0x34(%rcx)
1401984ac:	41 8d 48 01          	lea    0x1(%r8),%ecx
1401984b0:	41 0f b6 41 fc       	movzbl -0x4(%r9),%eax
1401984b5:	48 8d 14 83          	lea    (%rbx,%rax,4),%rdx
1401984b9:	8b 44 83 34          	mov    0x34(%rbx,%rax,4),%eax
1401984bd:	88 8c 18 d4 03 00 00 	mov    %cl,0x3d4(%rax,%rbx,1)
1401984c4:	41 8d 48 02          	lea    0x2(%r8),%ecx
1401984c8:	ff 42 34             	incl   0x34(%rdx)
1401984cb:	41 0f b6 41 fd       	movzbl -0x3(%r9),%eax
1401984d0:	48 8d 14 83          	lea    (%rbx,%rax,4),%rdx
1401984d4:	8b 44 83 34          	mov    0x34(%rbx,%rax,4),%eax
1401984d8:	88 8c 18 d4 03 00 00 	mov    %cl,0x3d4(%rax,%rbx,1)
1401984df:	41 8d 48 03          	lea    0x3(%r8),%ecx
1401984e3:	ff 42 34             	incl   0x34(%rdx)
1401984e6:	41 83 c0 04          	add    $0x4,%r8d
1401984ea:	41 0f b6 41 fe       	movzbl -0x2(%r9),%eax
1401984ef:	48 8d 14 83          	lea    (%rbx,%rax,4),%rdx
1401984f3:	8b 44 83 34          	mov    0x34(%rbx,%rax,4),%eax
1401984f7:	88 8c 18 d4 03 00 00 	mov    %cl,0x3d4(%rax,%rbx,1)
1401984fe:	ff 42 34             	incl   0x34(%rdx)
140198501:	45 3b c2             	cmp    %r10d,%r8d
140198504:	7c 8a                	jl     0x140198490
140198506:	44 8b 8c 24 e0 00 00 	mov    0xe0(%rsp),%r9d
14019850d:	00
14019850e:	8b 74 24 50          	mov    0x50(%rsp),%esi
140198512:	44 89 8c 24 f8 00 00 	mov    %r9d,0xf8(%rsp)
140198519:	00
14019851a:	44 3b c6             	cmp    %esi,%r8d
14019851d:	7d 36                	jge    0x140198555
14019851f:	90                   	nop
140198520:	49 63 c0             	movslq %r8d,%rax
140198523:	0f b6 8c 18 d4 04 00 	movzbl 0x4d4(%rax,%rbx,1),%ecx
14019852a:	00
14019852b:	8b 44 8b 34          	mov    0x34(%rbx,%rcx,4),%eax
14019852f:	44 88 84 18 d4 03 00 	mov    %r8b,0x3d4(%rax,%rbx,1)
140198536:	00
140198537:	41 ff c0             	inc    %r8d
14019853a:	ff 44 8b 34          	incl   0x34(%rbx,%rcx,4)
14019853e:	44 3b 44 24 50       	cmp    0x50(%rsp),%r8d
140198543:	7c db                	jl     0x140198520
140198545:	44 8b 8c 24 e0 00 00 	mov    0xe0(%rsp),%r9d
14019854c:	00
14019854d:	44 89 8c 24 f8 00 00 	mov    %r9d,0xf8(%rsp)
140198554:	00
140198555:	8b 2b                	mov    (%rbx),%ebp
140198557:	41 8d 49 01          	lea    0x1(%r9),%ecx
14019855b:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140198561:	41 8b c6             	mov    %r14d,%eax
140198564:	89 44 24 50          	mov    %eax,0x50(%rsp)
140198568:	41 3b cc             	cmp    %r12d,%ecx
14019856b:	0f 86 42 01 00 00    	jbe    0x1401986b3
140198571:	48 8d 4b 04          	lea    0x4(%rbx),%rcx
140198575:	49 bb 01 00 01 00 01 	movabs $0x1000100010001,%r11
14019857c:	00 01 00
14019857f:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140198584:	0f 1f 40 00          	nopl   0x0(%rax)
140198588:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14019858f:	00
140198590:	48 63 31             	movslq (%rcx),%rsi
140198593:	bf 01 00 00 00       	mov    $0x1,%edi
140198598:	41 8b cc             	mov    %r12d,%ecx
14019859b:	4c 63 d0             	movslq %eax,%r10
14019859e:	d3 e7                	shl    %cl,%edi
1401985a0:	41 0f b6 d1          	movzbl %r9b,%edx
1401985a4:	d1 ff                	sar    $1,%edi
1401985a6:	41 2a d4             	sub    %r12b,%dl
1401985a9:	8b cf                	mov    %edi,%ecx
1401985ab:	fe c2                	inc    %dl
1401985ad:	4c 8b c6             	mov    %rsi,%r8
1401985b0:	83 e9 01             	sub    $0x1,%ecx
1401985b3:	0f 84 20 02 00 00    	je     0x1401987d9
1401985b9:	83 e9 01             	sub    $0x1,%ecx
1401985bc:	0f 84 af 01 00 00    	je     0x140198771
1401985c2:	83 e9 02             	sub    $0x2,%ecx
1401985c5:	0f 84 4a 01 00 00    	je     0x140198715
1401985cb:	83 f9 04             	cmp    $0x4,%ecx
1401985ce:	0f 84 e9 00 00 00    	je     0x1401986bd
1401985d4:	4c 63 df             	movslq %edi,%r11
1401985d7:	85 f6                	test   %esi,%esi
1401985d9:	0f 8e 9d 00 00 00    	jle    0x14019867c
1401985df:	4e 8d 14 55 10 00 00 	lea    0x10(,%r10,2),%r10
1401985e6:	00
1401985e7:	4c 63 fd             	movslq %ebp,%r15
1401985ea:	4d 03 d5             	add    %r13,%r10
1401985ed:	4b 8d 34 1b          	lea    (%r11,%r11,1),%rsi
1401985f1:	4d 8b ce             	mov    %r14,%r9
1401985f4:	4c 03 fb             	add    %rbx,%r15
1401985f7:	44 0f b6 f2          	movzbl %dl,%r14d
1401985fb:	48 b8 01 00 01 00 01 	movabs $0x1000100010001,%rax
140198602:	00 01 00
140198605:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14019860c:	00 00 00 00
140198610:	43 0f b6 8c 39 d4 03 	movzbl 0x3d4(%r9,%r15,1),%ecx
140198617:	00 00
140198619:	48 c1 e1 08          	shl    $0x8,%rcx
14019861d:	49 03 ce             	add    %r14,%rcx
140198620:	48 0f af c8          	imul   %rax,%rcx
140198624:	85 ff                	test   %edi,%edi
140198626:	7e 3b                	jle    0x140198663
140198628:	49 8d 53 ff          	lea    -0x1(%r11),%rdx
14019862c:	49 8b c2             	mov    %r10,%rax
14019862f:	48 c1 ea 04          	shr    $0x4,%rdx
140198633:	48 ff c2             	inc    %rdx
140198636:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14019863d:	00 00 00
140198640:	48 89 48 f0          	mov    %rcx,-0x10(%rax)
140198644:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
140198648:	48 89 08             	mov    %rcx,(%rax)
14019864b:	48 89 48 08          	mov    %rcx,0x8(%rax)
14019864f:	48 8d 40 20          	lea    0x20(%rax),%rax
140198653:	48 83 ea 01          	sub    $0x1,%rdx
140198657:	75 e7                	jne    0x140198640
140198659:	48 b8 01 00 01 00 01 	movabs $0x1000100010001,%rax
140198660:	00 01 00
140198663:	4c 03 d6             	add    %rsi,%r10
140198666:	49 ff c1             	inc    %r9
140198669:	4d 3b c8             	cmp    %r8,%r9
14019866c:	7c a2                	jl     0x140198610
14019866e:	44 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%r9d
140198675:	00
140198676:	41 8b f0             	mov    %r8d,%esi
140198679:	45 33 f6             	xor    %r14d,%r14d
14019867c:	49 bb 01 00 01 00 01 	movabs $0x1000100010001,%r11
140198683:	00 01 00
140198686:	8b 44 24 50          	mov    0x50(%rsp),%eax
14019868a:	41 8d 51 01          	lea    0x1(%r9),%edx
14019868e:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140198693:	03 ee                	add    %esi,%ebp
140198695:	0f af fe             	imul   %esi,%edi
140198698:	48 83 c1 04          	add    $0x4,%rcx
14019869c:	41 ff c4             	inc    %r12d
14019869f:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
1401986a4:	03 c7                	add    %edi,%eax
1401986a6:	89 44 24 50          	mov    %eax,0x50(%rsp)
1401986aa:	44 3b e2             	cmp    %edx,%r12d
1401986ad:	0f 82 dd fe ff ff    	jb     0x140198590
1401986b3:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1401986b8:	e9 7f 01 00 00       	jmp    0x14019883c
1401986bd:	85 f6                	test   %esi,%esi
1401986bf:	7e c5                	jle    0x140198686
1401986c1:	44 0f b6 ca          	movzbl %dl,%r9d
1401986c5:	49 8b ce             	mov    %r14,%rcx
1401986c8:	4a 8d 14 55 00 00 00 	lea    0x0(,%r10,2),%rdx
1401986cf:	00
1401986d0:	4c 63 d5             	movslq %ebp,%r10
1401986d3:	49 03 d5             	add    %r13,%rdx
1401986d6:	4c 03 d3             	add    %rbx,%r10
1401986d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401986e0:	42 0f b6 84 11 d4 03 	movzbl 0x3d4(%rcx,%r10,1),%eax
1401986e7:	00 00
1401986e9:	48 8d 52 10          	lea    0x10(%rdx),%rdx
1401986ed:	48 c1 e0 08          	shl    $0x8,%rax
1401986f1:	48 ff c1             	inc    %rcx
1401986f4:	49 03 c1             	add    %r9,%rax
1401986f7:	49 0f af c3          	imul   %r11,%rax
1401986fb:	48 89 42 f0          	mov    %rax,-0x10(%rdx)
1401986ff:	48 89 42 f8          	mov    %rax,-0x8(%rdx)
140198703:	49 3b c8             	cmp    %r8,%rcx
140198706:	7c d8                	jl     0x1401986e0
140198708:	44 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%r9d
14019870f:	00
140198710:	e9 71 ff ff ff       	jmp    0x140198686
140198715:	85 f6                	test   %esi,%esi
140198717:	0f 8e 69 ff ff ff    	jle    0x140198686
14019871d:	44 0f b6 ca          	movzbl %dl,%r9d
140198721:	49 8b ce             	mov    %r14,%rcx
140198724:	4a 8d 14 55 00 00 00 	lea    0x0(,%r10,2),%rdx
14019872b:	00
14019872c:	4c 63 d5             	movslq %ebp,%r10
14019872f:	49 03 d5             	add    %r13,%rdx
140198732:	4c 03 d3             	add    %rbx,%r10
140198735:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14019873c:	00 00 00 00
140198740:	42 0f b6 84 11 d4 03 	movzbl 0x3d4(%rcx,%r10,1),%eax
140198747:	00 00
140198749:	48 8d 52 08          	lea    0x8(%rdx),%rdx
14019874d:	48 c1 e0 08          	shl    $0x8,%rax
140198751:	48 ff c1             	inc    %rcx
140198754:	49 03 c1             	add    %r9,%rax
140198757:	49 0f af c3          	imul   %r11,%rax
14019875b:	48 89 42 f8          	mov    %rax,-0x8(%rdx)
14019875f:	49 3b c8             	cmp    %r8,%rcx
140198762:	7c dc                	jl     0x140198740
140198764:	44 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%r9d
14019876b:	00
14019876c:	e9 15 ff ff ff       	jmp    0x140198686
140198771:	85 f6                	test   %esi,%esi
140198773:	0f 8e 0d ff ff ff    	jle    0x140198686
140198779:	88 94 24 00 01 00 00 	mov    %dl,0x100(%rsp)
140198780:	49 8b ce             	mov    %r14,%rcx
140198783:	4a 8d 14 55 00 00 00 	lea    0x0(,%r10,2),%rdx
14019878a:	00
14019878b:	4c 63 cd             	movslq %ebp,%r9
14019878e:	49 03 d5             	add    %r13,%rdx
140198791:	4c 03 cb             	add    %rbx,%r9
140198794:	0f 1f 40 00          	nopl   0x0(%rax)
140198798:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14019879f:	00
1401987a0:	42 0f b6 84 09 d4 03 	movzbl 0x3d4(%rcx,%r9,1),%eax
1401987a7:	00 00
1401987a9:	48 8d 52 04          	lea    0x4(%rdx),%rdx
1401987ad:	88 84 24 01 01 00 00 	mov    %al,0x101(%rsp)
1401987b4:	48 ff c1             	inc    %rcx
1401987b7:	0f b7 84 24 00 01 00 	movzwl 0x100(%rsp),%eax
1401987be:	00
1401987bf:	66 89 42 fc          	mov    %ax,-0x4(%rdx)
1401987c3:	66 89 42 fe          	mov    %ax,-0x2(%rdx)
1401987c7:	49 3b c8             	cmp    %r8,%rcx
1401987ca:	7c d4                	jl     0x1401987a0
1401987cc:	44 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%r9d
1401987d3:	00
1401987d4:	e9 ad fe ff ff       	jmp    0x140198686
1401987d9:	85 f6                	test   %esi,%esi
1401987db:	0f 8e a5 fe ff ff    	jle    0x140198686
1401987e1:	88 94 24 e0 00 00 00 	mov    %dl,0xe0(%rsp)
1401987e8:	49 8b ce             	mov    %r14,%rcx
1401987eb:	4a 8d 14 55 00 00 00 	lea    0x0(,%r10,2),%rdx
1401987f2:	00