14023127f:	48 2b d8             	sub    %rax,%rbx
140231282:	41 0f b7 04 31       	movzwl (%r9,%rsi,1),%eax
140231287:	66 89 44 3b fe       	mov    %ax,-0x2(%rbx,%rdi,1)
14023128c:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140231291:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140231296:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14023129b:	c3                   	ret
14023129c:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1402312a1:	41 80 c1 30          	add    $0x30,%r9b
1402312a5:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1402312aa:	44 88 0f             	mov    %r9b,(%rdi)
1402312ad:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
1402312b2:	c3                   	ret
1402312b3:	cc                   	int3
1402312b4:	cc                   	int3
1402312b5:	cc                   	int3
1402312b6:	cc                   	int3
1402312b7:	cc                   	int3
1402312b8:	cc                   	int3
1402312b9:	cc                   	int3
1402312ba:	cc                   	int3
1402312bb:	cc                   	int3
1402312bc:	cc                   	int3
1402312bd:	cc                   	int3
1402312be:	cc                   	int3
1402312bf:	cc                   	int3
1402312c0:	48 83 ec 08          	sub    $0x8,%rsp
1402312c4:	4c 8b ca             	mov    %rdx,%r9
1402312c7:	85 c9                	test   %ecx,%ecx
1402312c9:	75 15                	jne    0x1402312e0
1402312cb:	48 b8 30 30 30 30 30 	movabs $0x3030303030303030,%rax
1402312d2:	30 30 30
1402312d5:	48 89 02             	mov    %rax,(%rdx)
1402312d8:	88 42 08             	mov    %al,0x8(%rdx)
1402312db:	48 83 c4 08          	add    $0x8,%rsp
1402312df:	c3                   	ret
1402312e0:	48 89 1c 24          	mov    %rbx,(%rsp)
1402312e4:	4c 8d 52 05          	lea    0x5(%rdx),%r10
1402312e8:	48 8d 1d 61 d7 d7 00 	lea    0xd7d761(%rip),%rbx        # 0x140faea50
1402312ef:	41 bb 02 00 00 00    	mov    $0x2,%r11d
1402312f5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1402312fc:	00 00 00 00
140231300:	b8 59 17 b7 d1       	mov    $0xd1b71759,%eax
140231305:	4d 8d 52 fc          	lea    -0x4(%r10),%r10
140231309:	f7 e1                	mul    %ecx
14023130b:	c1 ea 0d             	shr    $0xd,%edx
14023130e:	69 c2 10 27 00 00    	imul   $0x2710,%edx,%eax
140231314:	2b c8                	sub    %eax,%ecx
140231316:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
14023131b:	44 8b c1             	mov    %ecx,%r8d
14023131e:	8b ca                	mov    %edx,%ecx
140231320:	41 f7 e0             	mul    %r8d
140231323:	c1 ea 05             	shr    $0x5,%edx
140231326:	6b c2 64             	imul   $0x64,%edx,%eax
140231329:	44 2b c0             	sub    %eax,%r8d
14023132c:	45 03 c0             	add    %r8d,%r8d
14023132f:	41 0f b7 04 18       	movzwl (%r8,%rbx,1),%eax
140231334:	66 41 89 42 06       	mov    %ax,0x6(%r10)
140231339:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
14023133c:	0f b7 04 18          	movzwl (%rax,%rbx,1),%eax
140231340:	66 41 89 42 04       	mov    %ax,0x4(%r10)
140231345:	49 83 eb 01          	sub    $0x1,%r11
140231349:	75 b5                	jne    0x140231300
14023134b:	48 8b 1c 24          	mov    (%rsp),%rbx
14023134f:	80 c1 30             	add    $0x30,%cl
140231352:	41 88 09             	mov    %cl,(%r9)
140231355:	48 83 c4 08          	add    $0x8,%rsp
140231359:	c3                   	ret
14023135a:	cc                   	int3
14023135b:	cc                   	int3
14023135c:	cc                   	int3
14023135d:	cc                   	int3
14023135e:	cc                   	int3
14023135f:	cc                   	int3
140231360:	40 53                	rex push %rbx
140231362:	55                   	push   %rbp
140231363:	56                   	push   %rsi
140231364:	57                   	push   %rdi
140231365:	41 54                	push   %r12
140231367:	41 55                	push   %r13
140231369:	41 56                	push   %r14
14023136b:	41 57                	push   %r15
14023136d:	48 83 ec 68          	sub    $0x68,%rsp
140231371:	48 8b 05 88 7b 18 01 	mov    0x1187b88(%rip),%rax        # 0x1413b8f00
140231378:	48 33 c4             	xor    %rsp,%rax
14023137b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140231380:	8b b4 24 d0 00 00 00 	mov    0xd0(%rsp),%esi
140231387:	49 8b e8             	mov    %r8,%rbp
14023138a:	66 49 0f 7e d8       	movq   %xmm3,%r8
14023138f:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140231394:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
140231399:	48 8b fa             	mov    %rdx,%rdi
14023139c:	48 8b d9             	mov    %rcx,%rbx
14023139f:	4d 85 c0             	test   %r8,%r8
1402313a2:	75 52                	jne    0x1402313f6
1402313a4:	33 c0                	xor    %eax,%eax
1402313a6:	85 f6                	test   %esi,%esi
1402313a8:	0f 95 c0             	setne  %al
1402313ab:	ff c0                	inc    %eax
1402313ad:	03 c6                	add    %esi,%eax
1402313af:	48 63 c8             	movslq %eax,%rcx
1402313b2:	48 8b c5             	mov    %rbp,%rax
1402313b5:	48 2b c2             	sub    %rdx,%rax
1402313b8:	48 3b c1             	cmp    %rcx,%rax
1402313bb:	0f 8c 42 05 00 00    	jl     0x140231903
1402313c1:	48 ff c7             	inc    %rdi
1402313c4:	c6 02 30             	movb   $0x30,(%rdx)
1402313c7:	85 f6                	test   %esi,%esi
1402313c9:	74 19                	je     0x1402313e4
1402313cb:	c6 07 2e             	movb   $0x2e,(%rdi)
1402313ce:	44 8b c6             	mov    %esi,%r8d
1402313d1:	48 ff c7             	inc    %rdi
1402313d4:	ba 30 00 00 00       	mov    $0x30,%edx
1402313d9:	48 8b cf             	mov    %rdi,%rcx
1402313dc:	e8 cf e2 ca 00       	call   0x140edf6b0
1402313e1:	48 03 fe             	add    %rsi,%rdi
1402313e4:	48 89 3b             	mov    %rdi,(%rbx)
1402313e7:	48 8b c3             	mov    %rbx,%rax
1402313ea:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%rbx)
1402313f1:	e9 1c 05 00 00       	jmp    0x140231912
1402313f6:	4d 8b e0             	mov    %r8,%r12
1402313f9:	48 8d 1d 00 ec dc ff 	lea    -0x231400(%rip),%rbx        # 0x140000000
140231400:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140231407:	ff 0f 00
14023140a:	49 c1 e8 34          	shr    $0x34,%r8
14023140e:	4c 23 e0             	and    %rax,%r12
140231411:	45 85 c0             	test   %r8d,%r8d
140231414:	75 12                	jne    0x140231428
140231416:	c7 44 24 24 ce fb ff 	movl   $0xfffffbce,0x24(%rsp)
14023141d:	ff
14023141e:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140231423:	e9 ef 01 00 00       	jmp    0x140231617
140231428:	4d 8b d4             	mov    %r12,%r10
14023142b:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
140231430:	41 81 c0 cd fb ff ff 	add    $0xfffffbcd,%r8d
140231437:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
14023143e:	00 10 00
140231441:	4c 0b d0             	or     %rax,%r10
140231444:	44 89 44 24 24       	mov    %r8d,0x24(%rsp)
140231449:	4c 89 54 24 38       	mov    %r10,0x38(%rsp)
14023144e:	4d 8b e2             	mov    %r10,%r12
140231451:	41 83 f8 cc          	cmp    $0xffffffcc,%r8d
140231455:	0f 8c bc 01 00 00    	jl     0x140231617
14023145b:	45 85 c0             	test   %r8d,%r8d
14023145e:	79 11                	jns    0x140231471
140231460:	45 33 c9             	xor    %r9d,%r9d
140231463:	41 bd 78 00 00 00    	mov    $0x78,%r13d
140231469:	41 bf 01 00 00 00    	mov    $0x1,%r15d
14023146f:	eb 3c                	jmp    0x1402314ad
140231471:	45 8d 48 0f          	lea    0xf(%r8),%r9d
140231475:	44 89 44 24 24       	mov    %r8d,0x24(%rsp)
14023147a:	41 c1 e9 04          	shr    $0x4,%r9d
14023147e:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
140231483:	41 69 c9 10 44 13 00 	imul   $0x134410,%r9d,%ecx
14023148a:	45 8b e9             	mov    %r9d,%r13d
14023148d:	41 c1 e5 04          	shl    $0x4,%r13d
140231491:	41 83 c5 78          	add    $0x78,%r13d
140231495:	c1 e9 12             	shr    $0x12,%ecx
140231498:	83 c1 19             	add    $0x19,%ecx
14023149b:	f7 e1                	mul    %ecx
14023149d:	44 8b fa             	mov    %edx,%r15d
1402314a0:	41 d1 ef             	shr    $1,%r15d
1402314a3:	41 83 ef 01          	sub    $0x1,%r15d
1402314a7:	0f 88 6a 01 00 00    	js     0x140231617
1402314ad:	0f ae e8             	lfence
1402314b0:	4d 8b da             	mov    %r10,%r11
1402314b3:	41 8b c9             	mov    %r9d,%ecx
1402314b6:	49 c1 e3 08          	shl    $0x8,%r11
1402314ba:	45 2b e8             	sub    %r8d,%r13d
1402314bd:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
1402314c2:	41 83 ed 78          	sub    $0x78,%r13d
1402314c6:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1402314cb:	4d 8b e2             	mov    %r10,%r12
1402314ce:	44 89 44 24 24       	mov    %r8d,0x24(%rsp)
1402314d3:	0f b7 84 4b 20 eb fa 	movzwl 0xfaeb20(%rbx,%rcx,2),%eax
1402314da:	00
1402314db:	41 03 c7             	add    %r15d,%eax
1402314de:	48 98                	cltq
1402314e0:	4c 8d 14 40          	lea    (%rax,%rax,2),%r10
1402314e4:	4a 8b 84 d3 00 51 1c 	mov    0x11c5100(%rbx,%r10,8),%rax
1402314eb:	01
1402314ec:	49 f7 e3             	mul    %r11
1402314ef:	4a 8b 84 d3 08 51 1c 	mov    0x11c5108(%rbx,%r10,8),%rax
1402314f6:	01
1402314f7:	48 8b ca             	mov    %rdx,%rcx
1402314fa:	49 f7 e3             	mul    %r11
1402314fd:	4c 8b c0             	mov    %rax,%r8
140231500:	4c 8b ca             	mov    %rdx,%r9
140231503:	4a 8b 84 d3 10 51 1c 	mov    0x11c5110(%rbx,%r10,8),%rax
14023150a:	01
14023150b:	49 03 c8             	add    %r8,%rcx
14023150e:	49 f7 e3             	mul    %r11
140231511:	49 3b c8             	cmp    %r8,%rcx
140231514:	41 8b cd             	mov    %r13d,%ecx
140231517:	4c 8b f0             	mov    %rax,%r14
14023151a:	4d 13 f1             	adc    %r9,%r14
14023151d:	49 b9 31 30 95 f8 88 	movabs $0x31680a88f8953031,%r9
140231524:	0a 68 31
140231527:	4c 3b f0             	cmp    %rax,%r14
14023152a:	49 8b c1             	mov    %r9,%rax
14023152d:	48 83 d2 00          	adc    $0x0,%rdx
140231531:	49 0f ad d6          	shrd   %cl,%rdx,%r14
140231535:	4c 8b c2             	mov    %rdx,%r8
140231538:	49 f7 e6             	mul    %r14
14023153b:	49 d3 e8             	shr    %cl,%r8
14023153e:	48 b8 97 a5 b4 36 41 	movabs $0x89705f4136b4a597,%rax
140231545:	5f 70 89
140231548:	48 8b ca             	mov    %rdx,%rcx
14023154b:	49 f7 e6             	mul    %r14
14023154e:	4c 8b d0             	mov    %rax,%r10
140231551:	48 8b da             	mov    %rdx,%rbx
140231554:	49 8b c1             	mov    %r9,%rax
140231557:	49 f7 e0             	mul    %r8
14023155a:	4c 8b c8             	mov    %rax,%r9
14023155d:	4c 8b da             	mov    %rdx,%r11
140231560:	48 b8 97 a5 b4 36 41 	movabs $0x89705f4136b4a597,%rax
140231567:	5f 70 89
14023156a:	49 f7 e0             	mul    %r8
14023156d:	4d 8d 04 09          	lea    (%r9,%rcx,1),%r8
140231571:	4b 8d 0c 10          	lea    (%r8,%r10,1),%rcx
140231575:	49 3b ca             	cmp    %r10,%rcx
140231578:	48 83 d0 00          	adc    $0x0,%rax
14023157c:	4d 3b c1             	cmp    %r9,%r8
14023157f:	49 13 c3             	adc    %r11,%rax
140231582:	48 03 c3             	add    %rbx,%rax
140231585:	48 c1 e8 1d          	shr    $0x1d,%rax
140231589:	69 c0 00 ca 9a 3b    	imul   $0x3b9aca00,%eax,%eax
14023158f:	44 2b f0             	sub    %eax,%r14d
140231592:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
140231597:	84 c0                	test   %al,%al
140231599:	74 26                	je     0x1402315c1
14023159b:	48 8b c5             	mov    %rbp,%rax
14023159e:	48 2b c7             	sub    %rdi,%rax
1402315a1:	48 83 f8 09          	cmp    $0x9,%rax
1402315a5:	0f 8c 58 03 00 00    	jl     0x140231903
1402315ab:	48 8b d7             	mov    %rdi,%rdx
1402315ae:	41 8b ce             	mov    %r14d,%ecx
1402315b1:	e8 0a fd ff ff       	call   0x1402312c0
1402315b6:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
1402315bb:	48 83 c7 09          	add    $0x9,%rdi
1402315bf:	eb 37                	jmp    0x1402315f8
1402315c1:	45 85 f6             	test   %r14d,%r14d
1402315c4:	74 32                	je     0x1402315f8
1402315c6:	41 8b ce             	mov    %r14d,%ecx
1402315c9:	e8 82 5d 00 00       	call   0x140237350
1402315ce:	48 8b cd             	mov    %rbp,%rcx
1402315d1:	8b d8                	mov    %eax,%ebx
1402315d3:	48 2b cf             	sub    %rdi,%rcx
1402315d6:	48 3b cb             	cmp    %rbx,%rcx
1402315d9:	0f 8c 24 03 00 00    	jl     0x140231903
1402315df:	0f ae e8             	lfence
1402315e2:	4c 8b c7             	mov    %rdi,%r8
1402315e5:	41 8b d6             	mov    %r14d,%edx
1402315e8:	8b c8                	mov    %eax,%ecx
1402315ea:	e8 c1 fb ff ff       	call   0x1402311b0
1402315ef:	b0 01                	mov    $0x1,%al
1402315f1:	48 03 fb             	add    %rbx,%rdi
1402315f4:	88 44 24 20          	mov    %al,0x20(%rsp)
1402315f8:	41 83 ef 01          	sub    $0x1,%r15d
1402315fc:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140231601:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140231606:	48 8d 1d f3 e9 dc ff 	lea    -0x23160d(%rip),%rbx        # 0x140000000
14023160d:	0f 89 c0 fe ff ff    	jns    0x1402314d3
140231613:	84 c0                	test   %al,%al
140231615:	75 0f                	jne    0x140231626
140231617:	48 3b fd             	cmp    %rbp,%rdi
14023161a:	0f 84 e3 02 00 00    	je     0x140231903
140231620:	c6 07 30             	movb   $0x30,(%rdi)
140231623:	48 ff c7             	inc    %rdi
140231626:	85 f6                	test   %esi,%esi
140231628:	74 0f                	je     0x140231639
14023162a:	48 3b fd             	cmp    %rbp,%rdi
14023162d:	0f 84 d0 02 00 00    	je     0x140231903
140231633:	c6 07 2e             	movb   $0x2e,(%rdi)
140231636:	48 ff c7             	inc    %rdi
140231639:	44 8b 6c 24 24       	mov    0x24(%rsp),%r13d
14023163e:	45 85 ed             	test   %r13d,%r13d
140231641:	0f 89 86 02 00 00    	jns    0x1402318cd
140231647:	0f ae e8             	lfence
14023164a:	41 8b c5             	mov    %r13d,%eax
14023164d:	33 db                	xor    %ebx,%ebx
14023164f:	99                   	cltd
140231650:	83 e2 0f             	and    $0xf,%edx
140231653:	03 c2                	add    %edx,%eax
140231655:	c1 f8 04             	sar    $0x4,%eax
140231658:	f7 d8                	neg    %eax
14023165a:	4c 63 c8             	movslq %eax,%r9
14023165d:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
140231662:	f7 e6                	mul    %esi
140231664:	4d 8b f9             	mov    %r9,%r15
140231667:	8b c2                	mov    %edx,%eax
140231669:	48 8d 15 90 e9 dc ff 	lea    -0x231670(%rip),%rdx        # 0x140000000
140231670:	d1 e8                	shr    $1,%eax
140231672:	89 44 24 30          	mov    %eax,0x30(%rsp)
140231676:	8d 48 01             	lea    0x1(%rax),%ecx
140231679:	41 0f b6 84 11 30 ec 	movzbl 0xfaec30(%r9,%rdx,1),%eax
140231680:	fa 00
140231682:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
140231686:	3b c8                	cmp    %eax,%ecx
140231688:	0f 86 3f 02 00 00    	jbe    0x1402318cd
14023168e:	85 c0                	test   %eax,%eax
140231690:	74 46                	je     0x1402316d8
140231692:	0f ae e8             	lfence
140231695:	41 0f b6 9c 11 30 ec 	movzbl 0xfaec30(%r9,%rdx,1),%ebx
14023169c:	fa 00
14023169e:	48 8b c5             	mov    %rbp,%rax
1402316a1:	48 2b c7             	sub    %rdi,%rax
1402316a4:	8d 14 db             	lea    (%rbx,%rbx,8),%edx
1402316a7:	44 8b f2             	mov    %edx,%r14d
1402316aa:	49 3b c6             	cmp    %r14,%rax
1402316ad:	0f 8c 50 02 00 00    	jl     0x140231903
1402316b3:	85 d2                	test   %edx,%edx
1402316b5:	74 17                	je     0x1402316ce
1402316b7:	45 8b c6             	mov    %r14d,%r8d
1402316ba:	ba 30 00 00 00       	mov    $0x30,%edx
1402316bf:	48 8b cf             	mov    %rdi,%rcx
1402316c2:	e8 e9 df ca 00       	call   0x140edf6b0
1402316c7:	8b 4c 24 24          	mov    0x24(%rsp),%ecx
1402316cb:	45 8b cf             	mov    %r15d,%r9d
1402316ce:	49 03 fe             	add    %r14,%rdi
1402316d1:	48 8d 15 28 e9 dc ff 	lea    -0x2316d8(%rip),%rdx        # 0x140000000
1402316d8:	3b d9                	cmp    %ecx,%ebx
1402316da:	0f 83 12 02 00 00    	jae    0x1402318f2
1402316e0:	4c 8b f5             	mov    %rbp,%r14
1402316e3:	4c 2b f7             	sub    %rdi,%r14
1402316e6:	41 0f b6 84 17 30 ec 	movzbl 0xfaec30(%r15,%rdx,1),%eax
1402316ed:	fa 00
1402316ef:	42 0f b7 8c 7a a0 eb 	movzwl 0xfaeba0(%rdx,%r15,2),%ecx
1402316f6:	fa 00
1402316f8:	2b c8                	sub    %eax,%ecx
1402316fa:	42 0f b7 84 7a a2 eb 	movzwl 0xfaeba2(%rdx,%r15,2),%eax
140231701:	fa 00
140231703:	03 cb                	add    %ebx,%ecx
140231705:	3b c8                	cmp    %eax,%ecx
140231707:	0f 83 ae 01 00 00    	jae    0x1402318bb
14023170d:	0f ae e8             	lfence
140231710:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
140231714:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14023171a:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
14023171e:	45 2b c1             	sub    %r9d,%r8d
140231721:	41 c1 e0 04          	shl    $0x4,%r8d
140231725:	48 8d 92 c0 c3 1c 01 	lea    0x11cc3c0(%rdx),%rdx
14023172c:	49 8b cc             	mov    %r12,%rcx
14023172f:	45 2b c5             	sub    %r13d,%r8d
140231732:	48 c1 e1 08          	shl    $0x8,%rcx
140231736:	e8 e5 61 00 00       	call   0x140237920
14023173b:	44 8b c8             	mov    %eax,%r9d
14023173e:	3b 5c 24 30          	cmp    0x30(%rsp),%ebx
140231742:	73 49                	jae    0x14023178d
140231744:	49 83 fe 09          	cmp    $0x9,%r14