14001626f:	8b c3                	mov    %ebx,%eax
140016271:	48 83 c4 20          	add    $0x20,%rsp
140016275:	5b                   	pop    %rbx
140016276:	c3                   	ret
140016277:	4c 8b c9             	mov    %rcx,%r9
14001627a:	4c 2b c1             	sub    %rcx,%r8
14001627d:	43 0f b7 04 08       	movzwl (%r8,%r9,1),%eax
140016282:	66 41 89 01          	mov    %ax,(%r9)
140016286:	4d 8d 49 02          	lea    0x2(%r9),%r9
14001628a:	66 85 c0             	test   %ax,%ax
14001628d:	74 e0                	je     0x14001626f
14001628f:	48 83 ea 01          	sub    $0x1,%rdx
140016293:	75 e8                	jne    0x14001627d
140016295:	48 85 d2             	test   %rdx,%rdx
140016298:	75 d5                	jne    0x14001626f
14001629a:	66 89 19             	mov    %bx,(%rcx)
14001629d:	e8 3a ae 00 00       	call   0x1400210dc
1400162a2:	bb 22 00 00 00       	mov    $0x22,%ebx
1400162a7:	eb bf                	jmp    0x140016268
1400162a9:	cc                   	int3
1400162aa:	cc                   	int3
1400162ab:	cc                   	int3
1400162ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400162b1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400162b6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400162bb:	57                   	push   %rdi
1400162bc:	41 56                	push   %r14
1400162be:	41 57                	push   %r15
1400162c0:	48 83 ec 20          	sub    $0x20,%rsp
1400162c4:	45 33 ff             	xor    %r15d,%r15d
1400162c7:	41 8b e9             	mov    %r9d,%ebp
1400162ca:	49 8b f0             	mov    %r8,%rsi
1400162cd:	48 8b da             	mov    %rdx,%rbx
1400162d0:	44 8b d1             	mov    %ecx,%r10d
1400162d3:	4c 8b da             	mov    %rdx,%r11
1400162d6:	41 8b ff             	mov    %r15d,%edi
1400162d9:	44 38 7c 24 60       	cmp    %r15b,0x60(%rsp)
1400162de:	74 11                	je     0x1400162f1
1400162e0:	41 8d 47 2d          	lea    0x2d(%r15),%eax
1400162e4:	41 f7 da             	neg    %r10d
1400162e7:	66 89 02             	mov    %ax,(%rdx)
1400162ea:	8d 78 d4             	lea    -0x2c(%rax),%edi
1400162ed:	4c 8d 5a 02          	lea    0x2(%rdx),%r11
1400162f1:	4d 8b c3             	mov    %r11,%r8
1400162f4:	33 d2                	xor    %edx,%edx
1400162f6:	41 8b c2             	mov    %r10d,%eax
1400162f9:	f7 f5                	div    %ebp
1400162fb:	41 8b c2             	mov    %r10d,%eax
1400162fe:	4d 8b cb             	mov    %r11,%r9
140016301:	8b ca                	mov    %edx,%ecx
140016303:	33 d2                	xor    %edx,%edx
140016305:	f7 f5                	div    %ebp
140016307:	83 f9 09             	cmp    $0x9,%ecx
14001630a:	49 8d 53 02          	lea    0x2(%r11),%rdx
14001630e:	44 8b d0             	mov    %eax,%r10d
140016311:	b8 57 00 00 00       	mov    $0x57,%eax
140016316:	44 8d 70 d9          	lea    -0x27(%rax),%r14d
14001631a:	66 41 0f 46 c6       	cmovbe %r14w,%ax
14001631f:	48 ff c7             	inc    %rdi
140016322:	66 03 c1             	add    %cx,%ax
140016325:	66 41 89 03          	mov    %ax,(%r11)
140016329:	45 85 d2             	test   %r10d,%r10d
14001632c:	74 08                	je     0x140016336
14001632e:	4c 8b da             	mov    %rdx,%r11
140016331:	48 3b fe             	cmp    %rsi,%rdi
140016334:	72 be                	jb     0x1400162f4
140016336:	48 3b fe             	cmp    %rsi,%rdi
140016339:	72 19                	jb     0x140016354
14001633b:	66 44 89 3b          	mov    %r15w,(%rbx)
14001633f:	e8 98 ad 00 00       	call   0x1400210dc
140016344:	bb 22 00 00 00       	mov    $0x22,%ebx
140016349:	89 18                	mov    %ebx,(%rax)
14001634b:	e8 04 8c ff ff       	call   0x14000ef54
140016350:	8b c3                	mov    %ebx,%eax
140016352:	eb 23                	jmp    0x140016377
140016354:	66 44 89 3a          	mov    %r15w,(%rdx)
140016358:	41 0f b7 00          	movzwl (%r8),%eax
14001635c:	41 0f b7 09          	movzwl (%r9),%ecx
140016360:	66 41 89 01          	mov    %ax,(%r9)
140016364:	49 83 e9 02          	sub    $0x2,%r9
140016368:	66 41 89 08          	mov    %cx,(%r8)
14001636c:	49 83 c0 02          	add    $0x2,%r8
140016370:	4d 3b c1             	cmp    %r9,%r8
140016373:	72 e3                	jb     0x140016358
140016375:	33 c0                	xor    %eax,%eax
140016377:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14001637c:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140016381:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140016386:	48 83 c4 20          	add    $0x20,%rsp
14001638a:	41 5f                	pop    %r15
14001638c:	41 5e                	pop    %r14
14001638e:	5f                   	pop    %rdi
14001638f:	c3                   	ret
140016390:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016395:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14001639a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001639f:	57                   	push   %rdi
1400163a0:	41 56                	push   %r14
1400163a2:	41 57                	push   %r15
1400163a4:	48 83 ec 20          	sub    $0x20,%rsp
1400163a8:	45 33 ff             	xor    %r15d,%r15d
1400163ab:	49 8b f0             	mov    %r8,%rsi
1400163ae:	4c 8b da             	mov    %rdx,%r11
1400163b1:	4c 8b d1             	mov    %rcx,%r10
1400163b4:	48 8b da             	mov    %rdx,%rbx
1400163b7:	41 8b ff             	mov    %r15d,%edi
1400163ba:	44 38 7c 24 60       	cmp    %r15b,0x60(%rsp)
1400163bf:	74 11                	je     0x1400163d2
1400163c1:	41 8d 47 2d          	lea    0x2d(%r15),%eax
1400163c5:	49 f7 da             	neg    %r10
1400163c8:	66 89 02             	mov    %ax,(%rdx)
1400163cb:	8d 78 d4             	lea    -0x2c(%rax),%edi
1400163ce:	48 8d 5a 02          	lea    0x2(%rdx),%rbx
1400163d2:	4c 8b c3             	mov    %rbx,%r8
1400163d5:	41 8b e9             	mov    %r9d,%ebp
1400163d8:	33 d2                	xor    %edx,%edx
1400163da:	49 8b c2             	mov    %r10,%rax
1400163dd:	48 f7 f5             	div    %rbp
1400163e0:	49 8b c2             	mov    %r10,%rax
1400163e3:	4c 8b cb             	mov    %rbx,%r9
1400163e6:	48 8b ca             	mov    %rdx,%rcx
1400163e9:	33 d2                	xor    %edx,%edx
1400163eb:	48 f7 f5             	div    %rbp
1400163ee:	83 f9 09             	cmp    $0x9,%ecx
1400163f1:	48 8d 53 02          	lea    0x2(%rbx),%rdx
1400163f5:	4c 8b d0             	mov    %rax,%r10
1400163f8:	b8 57 00 00 00       	mov    $0x57,%eax
1400163fd:	44 8d 70 d9          	lea    -0x27(%rax),%r14d
140016401:	66 41 0f 46 c6       	cmovbe %r14w,%ax
140016406:	48 ff c7             	inc    %rdi
140016409:	66 03 c1             	add    %cx,%ax
14001640c:	66 89 03             	mov    %ax,(%rbx)
14001640f:	4d 85 d2             	test   %r10,%r10
140016412:	74 08                	je     0x14001641c
140016414:	48 8b da             	mov    %rdx,%rbx
140016417:	48 3b fe             	cmp    %rsi,%rdi
14001641a:	72 bc                	jb     0x1400163d8
14001641c:	48 3b fe             	cmp    %rsi,%rdi
14001641f:	72 19                	jb     0x14001643a
140016421:	66 45 89 3b          	mov    %r15w,(%r11)
140016425:	e8 b2 ac 00 00       	call   0x1400210dc
14001642a:	bb 22 00 00 00       	mov    $0x22,%ebx
14001642f:	89 18                	mov    %ebx,(%rax)
140016431:	e8 1e 8b ff ff       	call   0x14000ef54
140016436:	8b c3                	mov    %ebx,%eax
140016438:	eb 23                	jmp    0x14001645d
14001643a:	66 44 89 3a          	mov    %r15w,(%rdx)
14001643e:	41 0f b7 00          	movzwl (%r8),%eax
140016442:	41 0f b7 09          	movzwl (%r9),%ecx
140016446:	66 41 89 01          	mov    %ax,(%r9)
14001644a:	49 83 e9 02          	sub    $0x2,%r9
14001644e:	66 41 89 08          	mov    %cx,(%r8)
140016452:	49 83 c0 02          	add    $0x2,%r8
140016456:	4d 3b c1             	cmp    %r9,%r8
140016459:	72 e3                	jb     0x14001643e
14001645b:	33 c0                	xor    %eax,%eax
14001645d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140016462:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140016467:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14001646c:	48 83 c4 20          	add    $0x20,%rsp
140016470:	41 5f                	pop    %r15
140016472:	41 5e                	pop    %r14
140016474:	5f                   	pop    %rdi
140016475:	c3                   	ret
140016476:	cc                   	int3
140016477:	cc                   	int3
140016478:	40 53                	rex push %rbx
14001647a:	48 83 ec 30          	sub    $0x30,%rsp
14001647e:	33 c0                	xor    %eax,%eax
140016480:	44 8b d1             	mov    %ecx,%r10d
140016483:	48 85 d2             	test   %rdx,%rdx
140016486:	75 19                	jne    0x1400164a1
140016488:	e8 4f ac 00 00       	call   0x1400210dc
14001648d:	bb 16 00 00 00       	mov    $0x16,%ebx
140016492:	89 18                	mov    %ebx,(%rax)
140016494:	e8 bb 8a ff ff       	call   0x14000ef54
140016499:	8b c3                	mov    %ebx,%eax
14001649b:	48 83 c4 30          	add    $0x30,%rsp
14001649f:	5b                   	pop    %rbx
1400164a0:	c3                   	ret
1400164a1:	4d 85 c0             	test   %r8,%r8
1400164a4:	74 e2                	je     0x140016488
1400164a6:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
1400164ab:	66 89 02             	mov    %ax,(%rdx)
1400164ae:	48 8d 41 01          	lea    0x1(%rcx),%rax
1400164b2:	4c 3b c0             	cmp    %rax,%r8
1400164b5:	77 0c                	ja     0x1400164c3
1400164b7:	e8 20 ac 00 00       	call   0x1400210dc
1400164bc:	bb 22 00 00 00       	mov    $0x22,%ebx
1400164c1:	eb cf                	jmp    0x140016492
1400164c3:	41 8d 41 fe          	lea    -0x2(%r9),%eax
1400164c7:	bb 22 00 00 00       	mov    $0x22,%ebx
1400164cc:	3b c3                	cmp    %ebx,%eax
1400164ce:	77 b8                	ja     0x140016488
1400164d0:	88 4c 24 60          	mov    %cl,0x60(%rsp)
1400164d4:	41 8b ca             	mov    %r10d,%ecx
1400164d7:	48 83 c4 30          	add    $0x30,%rsp
1400164db:	5b                   	pop    %rbx
1400164dc:	e9 cb fd ff ff       	jmp    0x1400162ac
1400164e1:	cc                   	int3
1400164e2:	cc                   	int3
1400164e3:	cc                   	int3
1400164e4:	40 53                	rex push %rbx
1400164e6:	48 83 ec 30          	sub    $0x30,%rsp
1400164ea:	33 c0                	xor    %eax,%eax
1400164ec:	4c 8b d1             	mov    %rcx,%r10
1400164ef:	48 85 d2             	test   %rdx,%rdx
1400164f2:	75 19                	jne    0x14001650d
1400164f4:	e8 e3 ab 00 00       	call   0x1400210dc
1400164f9:	bb 16 00 00 00       	mov    $0x16,%ebx
1400164fe:	89 18                	mov    %ebx,(%rax)
140016500:	e8 4f 8a ff ff       	call   0x14000ef54
140016505:	8b c3                	mov    %ebx,%eax
140016507:	48 83 c4 30          	add    $0x30,%rsp
14001650b:	5b                   	pop    %rbx
14001650c:	c3                   	ret
14001650d:	4d 85 c0             	test   %r8,%r8
140016510:	74 e2                	je     0x1400164f4
140016512:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
140016517:	66 89 02             	mov    %ax,(%rdx)
14001651a:	48 8d 41 01          	lea    0x1(%rcx),%rax
14001651e:	4c 3b c0             	cmp    %rax,%r8
140016521:	77 0c                	ja     0x14001652f
140016523:	e8 b4 ab 00 00       	call   0x1400210dc
140016528:	bb 22 00 00 00       	mov    $0x22,%ebx
14001652d:	eb cf                	jmp    0x1400164fe
14001652f:	41 8d 41 fe          	lea    -0x2(%r9),%eax
140016533:	bb 22 00 00 00       	mov    $0x22,%ebx
140016538:	3b c3                	cmp    %ebx,%eax
14001653a:	77 b8                	ja     0x1400164f4
14001653c:	88 4c 24 60          	mov    %cl,0x60(%rsp)
140016540:	49 8b ca             	mov    %r10,%rcx
140016543:	48 83 c4 30          	add    $0x30,%rsp
140016547:	5b                   	pop    %rbx
140016548:	e9 43 fe ff ff       	jmp    0x140016390
14001654d:	cc                   	int3
14001654e:	cc                   	int3
14001654f:	cc                   	int3
140016550:	48 83 ec 38          	sub    $0x38,%rsp
140016554:	33 c0                	xor    %eax,%eax
140016556:	41 83 f9 0a          	cmp    $0xa,%r9d
14001655a:	75 07                	jne    0x140016563
14001655c:	48 85 c9             	test   %rcx,%rcx
14001655f:	79 02                	jns    0x140016563
140016561:	b0 01                	mov    $0x1,%al
140016563:	88 44 24 20          	mov    %al,0x20(%rsp)
140016567:	e8 78 ff ff ff       	call   0x1400164e4
14001656c:	48 83 c4 38          	add    $0x38,%rsp
140016570:	c3                   	ret
140016571:	cc                   	int3
140016572:	cc                   	int3
140016573:	cc                   	int3
140016574:	48 83 ec 38          	sub    $0x38,%rsp
140016578:	33 c0                	xor    %eax,%eax
14001657a:	41 83 f9 0a          	cmp    $0xa,%r9d
14001657e:	75 06                	jne    0x140016586
140016580:	85 c9                	test   %ecx,%ecx
140016582:	79 02                	jns    0x140016586
140016584:	b0 01                	mov    $0x1,%al
140016586:	88 44 24 20          	mov    %al,0x20(%rsp)
14001658a:	e8 e9 fe ff ff       	call   0x140016478
14001658f:	48 83 c4 38          	add    $0x38,%rsp
140016593:	c3                   	ret
140016594:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
140016599:	4c 8b c9             	mov    %rcx,%r9
14001659c:	48 8b f9             	mov    %rcx,%rdi
14001659f:	33 c9                	xor    %ecx,%ecx
1400165a1:	4d 85 c0             	test   %r8,%r8
1400165a4:	74 2b                	je     0x1400165d1
1400165a6:	48 2b d7             	sub    %rdi,%rdx
1400165a9:	0f b7 04 3a          	movzwl (%rdx,%rdi,1),%eax
1400165ad:	66 89 07             	mov    %ax,(%rdi)
1400165b0:	48 83 c7 02          	add    $0x2,%rdi
1400165b4:	49 ff c8             	dec    %r8
1400165b7:	66 85 c0             	test   %ax,%ax
1400165ba:	74 07                	je     0x1400165c3
1400165bc:	4d 85 c0             	test   %r8,%r8
1400165bf:	75 e8                	jne    0x1400165a9
1400165c1:	eb 0e                	jmp    0x1400165d1
1400165c3:	4d 85 c0             	test   %r8,%r8
1400165c6:	74 09                	je     0x1400165d1
1400165c8:	0f b7 c1             	movzwl %cx,%eax
1400165cb:	49 8b c8             	mov    %r8,%rcx
1400165ce:	66 f3 ab             	rep stos %ax,%es:(%rdi)
1400165d1:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
1400165d6:	49 8b c1             	mov    %r9,%rax
1400165d9:	c3                   	ret
1400165da:	cc                   	int3
1400165db:	cc                   	int3
1400165dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400165e1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400165e6:	57                   	push   %rdi
1400165e7:	48 83 ec 20          	sub    $0x20,%rsp
1400165eb:	c6 41 18 00          	movb   $0x0,0x18(%rcx)
1400165ef:	48 8b f9             	mov    %rcx,%rdi
1400165f2:	48 8d 71 08          	lea    0x8(%rcx),%rsi
1400165f6:	48 85 d2             	test   %rdx,%rdx
1400165f9:	74 05                	je     0x140016600
1400165fb:	0f 10 02             	movups (%rdx),%xmm0
1400165fe:	eb 10                	jmp    0x140016610
140016600:	83 3d 75 ba 03 00 00 	cmpl   $0x0,0x3ba75(%rip)        # 0x14005207c
140016607:	75 0d                	jne    0x140016616
140016609:	0f 10 05 b8 7d 03 00 	movups 0x37db8(%rip),%xmm0        # 0x14004e3c8
140016610:	f3 0f 7f 06          	movdqu %xmm0,(%rsi)
140016614:	eb 4e                	jmp    0x140016664
140016616:	e8 8d a6 00 00       	call   0x140020ca8
14001661b:	48 89 07             	mov    %rax,(%rdi)
14001661e:	48 8b d6             	mov    %rsi,%rdx
140016621:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
140016628:	48 89 0e             	mov    %rcx,(%rsi)
14001662b:	48 8b 88 88 00 00 00 	mov    0x88(%rax),%rcx
140016632:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140016636:	48 8b c8             	mov    %rax,%rcx
140016639:	e8 e6 ad 00 00       	call   0x140021424
14001663e:	48 8b 0f             	mov    (%rdi),%rcx
140016641:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140016645:	e8 46 ae 00 00       	call   0x140021490
14001664a:	48 8b 0f             	mov    (%rdi),%rcx
14001664d:	8b 81 a8 03 00 00    	mov    0x3a8(%rcx),%eax
140016653:	a8 02                	test   $0x2,%al
140016655:	75 0d                	jne    0x140016664
140016657:	83 c8 02             	or     $0x2,%eax
14001665a:	89 81 a8 03 00 00    	mov    %eax,0x3a8(%rcx)
140016660:	c6 47 18 01          	movb   $0x1,0x18(%rdi)
140016664:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140016669:	48 8b c7             	mov    %rdi,%rax
14001666c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140016671:	48 83 c4 20          	add    $0x20,%rsp
140016675:	5f                   	pop    %rdi
140016676:	c3                   	ret
140016677:	cc                   	int3
140016678:	40 55                	rex push %rbp
14001667a:	41 56                	push   %r14
14001667c:	41 57                	push   %r15
14001667e:	48 83 ec 40          	sub    $0x40,%rsp
140016682:	48 8d 6c 24 30       	lea    0x30(%rsp),%rbp
140016687:	48 89 5d 30          	mov    %rbx,0x30(%rbp)
14001668b:	48 89 75 38          	mov    %rsi,0x38(%rbp)
14001668f:	48 89 7d 40          	mov    %rdi,0x40(%rbp)
140016693:	4c 89 65 48          	mov    %r12,0x48(%rbp)
140016697:	48 8b 05 22 7b 03 00 	mov    0x37b22(%rip),%rax        # 0x14004e1c0
14001669e:	48 33 c5             	xor    %rbp,%rax
1400166a1:	48 89 45 08          	mov    %rax,0x8(%rbp)
1400166a5:	45 33 e4             	xor    %r12d,%r12d
1400166a8:	4d 8b f8             	mov    %r8,%r15
1400166ab:	48 8b f2             	mov    %rdx,%rsi
1400166ae:	48 8b f9             	mov    %rcx,%rdi
1400166b1:	48 85 c9             	test   %rcx,%rcx
1400166b4:	75 18                	jne    0x1400166ce
1400166b6:	e8 21 aa 00 00       	call   0x1400210dc