14019806f:	49 b9 01 00 00 00 01 	movabs $0x100000001,%r9
140198076:	00 00 00
140198079:	c1 e1 08             	shl    $0x8,%ecx
14019807c:	0f 1f 40 00          	nopl   0x0(%rax)
140198080:	0f b6 02             	movzbl (%rdx),%eax
140198083:	4d 8d 52 10          	lea    0x10(%r10),%r10
140198087:	03 c1                	add    %ecx,%eax
140198089:	48 ff c2             	inc    %rdx
14019808c:	c1 e0 08             	shl    $0x8,%eax
14019808f:	41 03 c3             	add    %r11d,%eax
140198092:	49 0f af c1          	imul   %r9,%rax
140198096:	49 89 42 f0          	mov    %rax,-0x10(%r10)
14019809a:	49 89 42 f8          	mov    %rax,-0x8(%r10)
14019809e:	49 3b d0             	cmp    %r8,%rdx
1401980a1:	75 dd                	jne    0x140198080
1401980a3:	48 83 c4 08          	add    $0x8,%rsp
1401980a7:	c3                   	ret
1401980a8:	49 3b d0             	cmp    %r8,%rdx
1401980ab:	0f 84 ad fe ff ff    	je     0x140197f5e
1401980b1:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
1401980b5:	83 f9 01             	cmp    $0x1,%ecx
1401980b8:	75 34                	jne    0x1401980ee
1401980ba:	41 8d 89 00 01 00 00 	lea    0x100(%r9),%ecx
1401980c1:	c1 e1 10             	shl    $0x10,%ecx
1401980c4:	0f 1f 40 00          	nopl   0x0(%rax)
1401980c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401980cf:	00
1401980d0:	0f b6 02             	movzbl (%rdx),%eax
1401980d3:	4d 8d 52 08          	lea    0x8(%r10),%r10
1401980d7:	03 c1                	add    %ecx,%eax
1401980d9:	48 ff c2             	inc    %rdx
1401980dc:	41 89 42 f8          	mov    %eax,-0x8(%r10)
1401980e0:	41 89 42 fc          	mov    %eax,-0x4(%r10)
1401980e4:	49 3b d0             	cmp    %r8,%rdx
1401980e7:	75 e7                	jne    0x1401980d0
1401980e9:	48 83 c4 08          	add    $0x8,%rsp
1401980ed:	c3                   	ret
1401980ee:	c1 e1 08             	shl    $0x8,%ecx
1401980f1:	41 03 c9             	add    %r9d,%ecx
1401980f4:	44 0f b7 4c 24 38    	movzwl 0x38(%rsp),%r9d
1401980fa:	c1 e1 08             	shl    $0x8,%ecx
1401980fd:	0f 1f 00             	nopl   (%rax)
140198100:	0f b6 02             	movzbl (%rdx),%eax
140198103:	4d 8d 52 08          	lea    0x8(%r10),%r10
140198107:	03 c1                	add    %ecx,%eax
140198109:	48 ff c2             	inc    %rdx
14019810c:	c1 e0 08             	shl    $0x8,%eax
14019810f:	41 03 c1             	add    %r9d,%eax
140198112:	41 89 42 f8          	mov    %eax,-0x8(%r10)
140198116:	41 89 42 fc          	mov    %eax,-0x4(%r10)
14019811a:	49 3b d0             	cmp    %r8,%rdx
14019811d:	75 e1                	jne    0x140198100
14019811f:	48 83 c4 08          	add    $0x8,%rsp
140198123:	c3                   	ret
140198124:	49 3b d0             	cmp    %r8,%rdx
140198127:	0f 84 31 fe ff ff    	je     0x140197f5e
14019812d:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
140198131:	83 f9 01             	cmp    $0x1,%ecx
140198134:	75 24                	jne    0x14019815a
140198136:	41 8d 89 00 01 00 00 	lea    0x100(%r9),%ecx
14019813d:	c1 e1 10             	shl    $0x10,%ecx
140198140:	0f b6 02             	movzbl (%rdx),%eax
140198143:	4d 8d 52 04          	lea    0x4(%r10),%r10
140198147:	03 c1                	add    %ecx,%eax
140198149:	48 ff c2             	inc    %rdx
14019814c:	41 89 42 fc          	mov    %eax,-0x4(%r10)
140198150:	49 3b d0             	cmp    %r8,%rdx
140198153:	75 eb                	jne    0x140198140
140198155:	48 83 c4 08          	add    $0x8,%rsp
140198159:	c3                   	ret
14019815a:	c1 e1 08             	shl    $0x8,%ecx
14019815d:	41 03 c9             	add    %r9d,%ecx
140198160:	44 0f b7 4c 24 38    	movzwl 0x38(%rsp),%r9d
140198166:	c1 e1 08             	shl    $0x8,%ecx
140198169:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140198170:	0f b6 02             	movzbl (%rdx),%eax
140198173:	4d 8d 52 04          	lea    0x4(%r10),%r10
140198177:	03 c1                	add    %ecx,%eax
140198179:	48 ff c2             	inc    %rdx
14019817c:	c1 e0 08             	shl    $0x8,%eax
14019817f:	41 03 c1             	add    %r9d,%eax
140198182:	41 89 42 fc          	mov    %eax,-0x4(%r10)
140198186:	49 3b d0             	cmp    %r8,%rdx
140198189:	75 e5                	jne    0x140198170
14019818b:	48 83 c4 08          	add    $0x8,%rsp
14019818f:	c3                   	ret
140198190:	0f b6 41 07          	movzbl 0x7(%rcx),%eax
140198194:	84 c0                	test   %al,%al
140198196:	74 1a                	je     0x1401981b2
140198198:	0f bd d0             	bsr    %eax,%edx
14019819b:	b8 08 00 00 00       	mov    $0x8,%eax
1401981a0:	2b c2                	sub    %edx,%eax
1401981a2:	8b d0                	mov    %eax,%edx
1401981a4:	48 8b 01             	mov    (%rcx),%rax
1401981a7:	48 83 c8 01          	or     $0x1,%rax
1401981ab:	0f b6 ca             	movzbl %dl,%ecx
1401981ae:	48 d3 e0             	shl    %cl,%rax
1401981b1:	c3                   	ret
1401981b2:	48 8b 01             	mov    (%rcx),%rax
1401981b5:	33 d2                	xor    %edx,%edx
1401981b7:	48 83 c8 01          	or     $0x1,%rax
1401981bb:	0f b6 ca             	movzbl %dl,%ecx
1401981be:	48 d3 e0             	shl    %cl,%rax
1401981c1:	c3                   	ret
1401981c2:	cc                   	int3
1401981c3:	cc                   	int3
1401981c4:	cc                   	int3
1401981c5:	cc                   	int3
1401981c6:	cc                   	int3
1401981c7:	cc                   	int3
1401981c8:	cc                   	int3
1401981c9:	cc                   	int3
1401981ca:	cc                   	int3
1401981cb:	cc                   	int3
1401981cc:	cc                   	int3
1401981cd:	cc                   	int3
1401981ce:	cc                   	int3
1401981cf:	cc                   	int3
1401981d0:	4c 8b dc             	mov    %rsp,%r11
1401981d3:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1401981d7:	55                   	push   %rbp
1401981d8:	56                   	push   %rsi
1401981d9:	57                   	push   %rdi
1401981da:	41 54                	push   %r12
1401981dc:	41 55                	push   %r13
1401981de:	41 56                	push   %r14
1401981e0:	41 57                	push   %r15
1401981e2:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1401981e9:	45 33 e4             	xor    %r12d,%r12d
1401981ec:	4c 8d 69 04          	lea    0x4(%rcx),%r13
1401981f0:	48 81 bc 24 00 01 00 	cmpq   $0x5d4,0x100(%rsp)
1401981f7:	00 d4 05 00 00
1401981fc:	49 8b d9             	mov    %r9,%rbx
1401981ff:	4c 8b f1             	mov    %rcx,%r14
140198202:	45 89 63 08          	mov    %r12d,0x8(%r11)
140198206:	44 89 64 24 50       	mov    %r12d,0x50(%rsp)
14019820b:	0f 82 24 06 00 00    	jb     0x140198835
140198211:	8b 84 24 08 01 00 00 	mov    0x108(%rsp),%eax
140198218:	49 8d a9 d4 04 00 00 	lea    0x4d4(%r9),%rbp
14019821f:	89 44 24 48          	mov    %eax,0x48(%rsp)
140198223:	49 83 c1 68          	add    $0x68,%r9
140198227:	48 c7 44 24 40 6c 03 	movq   $0x36c,0x40(%rsp)
14019822e:	00 00
140198230:	49 8d 43 08          	lea    0x8(%r11),%rax
140198234:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
140198239:	48 8b cd             	mov    %rbp,%rcx
14019823c:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140198241:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
140198246:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
14019824b:	4c 8b c3             	mov    %rbx,%r8
14019824e:	ba 00 01 00 00       	mov    $0x100,%edx
140198253:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140198258:	e8 13 a0 ff ff       	call   0x140192270
14019825d:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140198262:	48 83 f8 88          	cmp    $0xffffffffffffff88,%rax
140198266:	0f 87 47 04 00 00    	ja     0x1401986b3
14019826c:	41 8b 0e             	mov    (%r14),%ecx
14019826f:	bf 0b 00 00 00       	mov    $0xb,%edi
140198274:	44 8b 8c 24 e0 00 00 	mov    0xe0(%rsp),%r9d
14019827b:	00
14019827c:	8b 74 24 50          	mov    0x50(%rsp),%esi
140198280:	44 0f b6 f9          	movzbl %cl,%r15d
140198284:	41 ff c7             	inc    %r15d
140198287:	89 8c 24 00 01 00 00 	mov    %ecx,0x100(%rsp)
14019828e:	44 3b ff             	cmp    %edi,%r15d
140198291:	44 89 8c 24 f8 00 00 	mov    %r9d,0xf8(%rsp)
140198298:	00
140198299:	41 0f 42 ff          	cmovb  %r15d,%edi
14019829d:	44 3b cf             	cmp    %edi,%r9d
1401982a0:	0f 87 74 01 00 00    	ja     0x14019841a
1401982a6:	0f 83 64 01 00 00    	jae    0x140198410
1401982ac:	8b d7                	mov    %edi,%edx
1401982ae:	41 2b d1             	sub    %r9d,%edx
1401982b1:	45 8b cc             	mov    %r12d,%r9d
1401982b4:	66 0f 6e ca          	movd   %edx,%xmm1
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)