14001747e:	48 8b d0             	mov    %rax,%rdx
140017481:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140017485:	74 7b                	je     0x140017502
140017487:	33 c0                	xor    %eax,%eax
140017489:	48 85 d2             	test   %rdx,%rdx
14001748c:	74 6c                	je     0x1400174fa
14001748e:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
140017492:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140017498:	76 3b                	jbe    0x1400174d5
14001749a:	48 83 fd 01          	cmp    $0x1,%rbp
14001749e:	76 49                	jbe    0x1400174e9
1400174a0:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
1400174a6:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
1400174ac:	8b c1                	mov    %ecx,%eax
1400174ae:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
1400174b2:	c1 e8 0a             	shr    $0xa,%eax
1400174b5:	48 ff cd             	dec    %rbp
1400174b8:	66 41 0b c0          	or     %r8w,%ax
1400174bc:	66 89 03             	mov    %ax,(%rbx)
1400174bf:	b8 ff 03 00 00       	mov    $0x3ff,%eax
1400174c4:	66 23 c8             	and    %ax,%cx
1400174c7:	48 83 c3 02          	add    $0x2,%rbx
1400174cb:	b8 00 dc 00 00       	mov    $0xdc00,%eax
1400174d0:	66 0b c8             	or     %ax,%cx
1400174d3:	33 c0                	xor    %eax,%eax
1400174d5:	66 89 0b             	mov    %cx,(%rbx)
1400174d8:	48 03 fa             	add    %rdx,%rdi
1400174db:	48 83 c3 02          	add    $0x2,%rbx
1400174df:	48 83 ed 01          	sub    $0x1,%rbp
1400174e3:	0f 85 58 ff ff ff    	jne    0x140017441
1400174e9:	49 2b de             	sub    %r14,%rbx
1400174ec:	49 89 3f             	mov    %rdi,(%r15)
1400174ef:	48 d1 fb             	sar    $1,%rbx
1400174f2:	48 8b c3             	mov    %rbx,%rax
1400174f5:	e9 8c 00 00 00       	jmp    0x140017586
1400174fa:	48 8b f8             	mov    %rax,%rdi
1400174fd:	66 89 03             	mov    %ax,(%rbx)
140017500:	eb e7                	jmp    0x1400174e9
140017502:	49 89 3f             	mov    %rdi,(%r15)
140017505:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
14001750a:	41 c7 45 2c 2a 00 00 	movl   $0x2a,0x2c(%r13)
140017511:	00
140017512:	eb 6e                	jmp    0x140017582
140017514:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
14001751b:	00
14001751c:	48 8b d8             	mov    %rax,%rbx
14001751f:	38 07                	cmp    %al,(%rdi)
140017521:	75 08                	jne    0x14001752b
140017523:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140017529:	eb 1c                	jmp    0x140017547
14001752b:	38 47 01             	cmp    %al,0x1(%rdi)
14001752e:	75 08                	jne    0x140017538
140017530:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140017536:	eb 0f                	jmp    0x140017547
140017538:	8a 47 02             	mov    0x2(%rdi),%al
14001753b:	f6 d8                	neg    %al
14001753d:	4d 1b c0             	sbb    %r8,%r8
140017540:	49 f7 d8             	neg    %r8
140017543:	49 83 c0 03          	add    $0x3,%r8
140017547:	4d 8b cc             	mov    %r12,%r9
14001754a:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14001754f:	48 8b d7             	mov    %rdi,%rdx
140017552:	33 c9                	xor    %ecx,%ecx
140017554:	e8 e3 30 00 00       	call   0x14001a63c
140017559:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14001755d:	74 18                	je     0x140017577
14001755f:	48 85 c0             	test   %rax,%rax
140017562:	74 8e                	je     0x1400174f2
140017564:	48 83 f8 04          	cmp    $0x4,%rax
140017568:	75 03                	jne    0x14001756d
14001756a:	48 ff c3             	inc    %rbx
14001756d:	48 03 f8             	add    %rax,%rdi
140017570:	48 ff c3             	inc    %rbx
140017573:	33 c0                	xor    %eax,%eax
140017575:	eb a8                	jmp    0x14001751f
140017577:	c6 45 30 01          	movb   $0x1,0x30(%rbp)
14001757b:	c7 45 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rbp)
140017582:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140017586:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14001758b:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140017590:	48 83 c4 30          	add    $0x30,%rsp
140017594:	41 5f                	pop    %r15
140017596:	41 5e                	pop    %r14
140017598:	41 5d                	pop    %r13
14001759a:	41 5c                	pop    %r12
14001759c:	5f                   	pop    %rdi
14001759d:	c3                   	ret
14001759e:	cc                   	int3
14001759f:	cc                   	int3
1400175a0:	66 89 4c 24 08       	mov    %cx,0x8(%rsp)
1400175a5:	48 83 ec 28          	sub    $0x28,%rsp
1400175a9:	e8 6a 32 00 00       	call   0x14001a818
1400175ae:	85 c0                	test   %eax,%eax
1400175b0:	74 1f                	je     0x1400175d1
1400175b2:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
1400175b7:	ba 01 00 00 00       	mov    $0x1,%edx
1400175bc:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400175c1:	e8 c2 32 00 00       	call   0x14001a888
1400175c6:	85 c0                	test   %eax,%eax
1400175c8:	74 07                	je     0x1400175d1
1400175ca:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax
1400175cf:	eb 05                	jmp    0x1400175d6
1400175d1:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400175d6:	48 83 c4 28          	add    $0x28,%rsp
1400175da:	c3                   	ret
1400175db:	cc                   	int3
1400175dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400175e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400175e6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400175eb:	57                   	push   %rdi
1400175ec:	48 83 ec 20          	sub    $0x20,%rsp
1400175f0:	83 7c 24 50 00       	cmpl   $0x0,0x50(%rsp)
1400175f5:	41 8b f9             	mov    %r9d,%edi
1400175f8:	41 8b f0             	mov    %r8d,%esi
1400175fb:	48 8b da             	mov    %rdx,%rbx
1400175fe:	48 8b e9             	mov    %rcx,%rbp
140017601:	75 0b                	jne    0x14001760e
140017603:	80 3a 35             	cmpb   $0x35,(%rdx)
140017606:	0f 9d c0             	setge  %al
140017609:	e9 89 00 00 00       	jmp    0x140017697
14001760e:	e8 61 19 00 00       	call   0x140018f74
140017613:	85 c0                	test   %eax,%eax
140017615:	75 30                	jne    0x140017647
140017617:	80 3b 35             	cmpb   $0x35,(%rbx)
14001761a:	8d 48 01             	lea    0x1(%rax),%ecx
14001761d:	7f 0a                	jg     0x140017629
14001761f:	7c 74                	jl     0x140017695
140017621:	48 8d 43 01          	lea    0x1(%rbx),%rax
140017625:	85 ff                	test   %edi,%edi
140017627:	75 07                	jne    0x140017630
140017629:	8a c1                	mov    %cl,%al
14001762b:	eb 6a                	jmp    0x140017697
14001762d:	48 03 c1             	add    %rcx,%rax
140017630:	8a 10                	mov    (%rax),%dl
140017632:	80 fa 30             	cmp    $0x30,%dl
140017635:	74 f6                	je     0x14001762d
140017637:	84 d2                	test   %dl,%dl
140017639:	75 ee                	jne    0x140017629
14001763b:	48 3b dd             	cmp    %rbp,%rbx
14001763e:	74 55                	je     0x140017695
140017640:	8a 43 ff             	mov    -0x1(%rbx),%al
140017643:	22 c1                	and    %cl,%al
140017645:	eb 50                	jmp    0x140017697
140017647:	3d 00 02 00 00       	cmp    $0x200,%eax
14001764c:	75 21                	jne    0x14001766f
14001764e:	b9 01 00 00 00       	mov    $0x1,%ecx
140017653:	85 ff                	test   %edi,%edi
140017655:	74 0f                	je     0x140017666
140017657:	eb 03                	jmp    0x14001765c
140017659:	48 03 d9             	add    %rcx,%rbx
14001765c:	8a 03                	mov    (%rbx),%al
14001765e:	3c 30                	cmp    $0x30,%al
140017660:	74 f7                	je     0x140017659
140017662:	84 c0                	test   %al,%al
140017664:	74 05                	je     0x14001766b
140017666:	83 fe 2d             	cmp    $0x2d,%esi
140017669:	75 be                	jne    0x140017629
14001766b:	32 c9                	xor    %cl,%cl
14001766d:	eb ba                	jmp    0x140017629
14001766f:	3d 00 01 00 00       	cmp    $0x100,%eax
140017674:	75 1f                	jne    0x140017695
140017676:	b9 01 00 00 00       	mov    $0x1,%ecx
14001767b:	85 ff                	test   %edi,%edi
14001767d:	74 0f                	je     0x14001768e
14001767f:	eb 03                	jmp    0x140017684
140017681:	48 03 d9             	add    %rcx,%rbx
140017684:	8a 03                	mov    (%rbx),%al
140017686:	3c 30                	cmp    $0x30,%al
140017688:	74 f7                	je     0x140017681
14001768a:	84 c0                	test   %al,%al
14001768c:	74 dd                	je     0x14001766b
14001768e:	83 fe 2d             	cmp    $0x2d,%esi
140017691:	74 96                	je     0x140017629
140017693:	eb d6                	jmp    0x14001766b
140017695:	32 c0                	xor    %al,%al
140017697:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001769c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400176a1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400176a6:	48 83 c4 20          	add    $0x20,%rsp
1400176aa:	5f                   	pop    %rdi
1400176ab:	c3                   	ret
1400176ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400176b1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400176b6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400176bb:	57                   	push   %rdi
1400176bc:	48 83 ec 30          	sub    $0x30,%rsp
1400176c0:	49 8b f9             	mov    %r9,%rdi
1400176c3:	48 8b f1             	mov    %rcx,%rsi
1400176c6:	48 85 c9             	test   %rcx,%rcx
1400176c9:	75 32                	jne    0x1400176fd
1400176cb:	bb 16 00 00 00       	mov    $0x16,%ebx
1400176d0:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400176d5:	45 33 c9             	xor    %r9d,%r9d
1400176d8:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400176dd:	45 33 c0             	xor    %r8d,%r8d
1400176e0:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400176e6:	33 d2                	xor    %edx,%edx
1400176e8:	33 c9                	xor    %ecx,%ecx
1400176ea:	89 58 2c             	mov    %ebx,0x2c(%rax)
1400176ed:	c6 40 30 01          	movb   $0x1,0x30(%rax)
1400176f1:	e8 02 46 ff ff       	call   0x14000bcf8
1400176f6:	8b c3                	mov    %ebx,%eax
1400176f8:	e9 aa 00 00 00       	jmp    0x1400177a7
1400176fd:	48 85 d2             	test   %rdx,%rdx
140017700:	74 c9                	je     0x1400176cb
140017702:	33 c0                	xor    %eax,%eax
140017704:	c6 01 00             	movb   $0x0,(%rcx)
140017707:	45 85 c0             	test   %r8d,%r8d
14001770a:	41 0f 4f c0          	cmovg  %r8d,%eax
14001770e:	ff c0                	inc    %eax
140017710:	48 98                	cltq
140017712:	48 3b d0             	cmp    %rax,%rdx
140017715:	77 07                	ja     0x14001771e
140017717:	bb 22 00 00 00       	mov    $0x22,%ebx
14001771c:	eb b2                	jmp    0x1400176d0
14001771e:	48 85 ff             	test   %rdi,%rdi
140017721:	74 a8                	je     0x1400176cb
140017723:	49 8b 49 08          	mov    0x8(%r9),%rcx
140017727:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14001772b:	48 8b d1             	mov    %rcx,%rdx
14001772e:	c6 06 30             	movb   $0x30,(%rsi)
140017731:	eb 15                	jmp    0x140017748
140017733:	8a 02                	mov    (%rdx),%al
140017735:	84 c0                	test   %al,%al
140017737:	74 05                	je     0x14001773e
140017739:	48 ff c2             	inc    %rdx
14001773c:	eb 02                	jmp    0x140017740
14001773e:	b0 30                	mov    $0x30,%al
140017740:	88 03                	mov    %al,(%rbx)
140017742:	48 ff c3             	inc    %rbx
140017745:	41 ff c8             	dec    %r8d
140017748:	45 85 c0             	test   %r8d,%r8d
14001774b:	7f e6                	jg     0x140017733
14001774d:	c6 03 00             	movb   $0x0,(%rbx)
140017750:	78 2b                	js     0x14001777d
140017752:	8b 44 24 68          	mov    0x68(%rsp),%eax
140017756:	44 8b 4c 24 60       	mov    0x60(%rsp),%r9d
14001775b:	44 8b 07             	mov    (%rdi),%r8d
14001775e:	89 44 24 20          	mov    %eax,0x20(%rsp)
140017762:	e8 75 fe ff ff       	call   0x1400175dc
140017767:	84 c0                	test   %al,%al
140017769:	74 12                	je     0x14001777d
14001776b:	eb 03                	jmp    0x140017770
14001776d:	c6 03 30             	movb   $0x30,(%rbx)
140017770:	48 ff cb             	dec    %rbx
140017773:	8a 03                	mov    (%rbx),%al
140017775:	3c 39                	cmp    $0x39,%al
140017777:	74 f4                	je     0x14001776d
140017779:	fe c0                	inc    %al
14001777b:	88 03                	mov    %al,(%rbx)
14001777d:	80 3e 31             	cmpb   $0x31,(%rsi)
140017780:	75 05                	jne    0x140017787
140017782:	ff 47 04             	incl   0x4(%rdi)
140017785:	eb 1e                	jmp    0x1400177a5
140017787:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14001778b:	49 ff c0             	inc    %r8
14001778e:	41 80 7c 30 01 00    	cmpb   $0x0,0x1(%r8,%rsi,1)
140017794:	75 f5                	jne    0x14001778b
140017796:	49 ff c0             	inc    %r8
140017799:	48 8d 56 01          	lea    0x1(%rsi),%rdx
14001779d:	48 8b ce             	mov    %rsi,%rcx
1400177a0:	e8 1b 55 00 00       	call   0x14001ccc0
1400177a5:	33 c0                	xor    %eax,%eax
1400177a7:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400177ac:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400177b1:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400177b6:	48 83 c4 30          	add    $0x30,%rsp
1400177ba:	5f                   	pop    %rdi
1400177bb:	c3                   	ret
1400177bc:	cc                   	int3
1400177bd:	cc                   	int3
1400177be:	cc                   	int3
1400177bf:	cc                   	int3
1400177c0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1400177c5:	53                   	push   %rbx
1400177c6:	55                   	push   %rbp
1400177c7:	56                   	push   %rsi
1400177c8:	57                   	push   %rdi
1400177c9:	41 54                	push   %r12
1400177cb:	41 56                	push   %r14
1400177cd:	41 57                	push   %r15
1400177cf:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
1400177d6:	44 8b 11             	mov    (%rcx),%r10d
1400177d9:	4c 8b fa             	mov    %rdx,%r15
1400177dc:	48 8b f1             	mov    %rcx,%rsi
1400177df:	45 85 d2             	test   %r10d,%r10d
1400177e2:	0f 84 60 04 00 00    	je     0x140017c48
1400177e8:	8b 3a                	mov    (%rdx),%edi
1400177ea:	85 ff                	test   %edi,%edi
1400177ec:	0f 84 56 04 00 00    	je     0x140017c48
1400177f2:	41 ff ca             	dec    %r10d
1400177f5:	8d 6f ff             	lea    -0x1(%rdi),%ebp
1400177f8:	85 ed                	test   %ebp,%ebp
1400177fa:	0f 85 fb 00 00 00    	jne    0x1400178fb
140017800:	44 8b 62 04          	mov    0x4(%rdx),%r12d
140017804:	33 ed                	xor    %ebp,%ebp
140017806:	41 83 fc 01          	cmp    $0x1,%r12d
14001780a:	75 26                	jne    0x140017832
14001780c:	8b 59 04             	mov    0x4(%rcx),%ebx
14001780f:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140017814:	48 83 c1 04          	add    $0x4,%rcx
140017818:	89 2e                	mov    %ebp,(%rsi)
14001781a:	45 33 c9             	xor    %r9d,%r9d
14001781d:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140017821:	ba cc 01 00 00       	mov    $0x1cc,%edx
140017826:	e8 c1 16 00 00       	call   0x140018eec
14001782b:	8b c3                	mov    %ebx,%eax
14001782d:	e9 18 04 00 00       	jmp    0x140017c4a
140017832:	45 85 d2             	test   %r10d,%r10d
140017835:	75 3d                	jne    0x140017874
140017837:	8b 79 04             	mov    0x4(%rcx),%edi
14001783a:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001783f:	89 29                	mov    %ebp,(%rcx)
140017841:	45 33 c9             	xor    %r9d,%r9d
140017844:	48 83 c1 04          	add    $0x4,%rcx
140017848:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001784c:	ba cc 01 00 00       	mov    $0x1cc,%edx
140017851:	e8 96 16 00 00       	call   0x140018eec
140017856:	33 d2                	xor    %edx,%edx
140017858:	8b c7                	mov    %edi,%eax
14001785a:	41 f7 f4             	div    %r12d
14001785d:	8b c7                	mov    %edi,%eax
14001785f:	85 d2                	test   %edx,%edx
140017861:	89 56 04             	mov    %edx,0x4(%rsi)
140017864:	40 0f 95 c5          	setne  %bpl
140017868:	33 d2                	xor    %edx,%edx
14001786a:	41 f7 f4             	div    %r12d
14001786d:	89 2e                	mov    %ebp,(%rsi)
14001786f:	e9 d6 03 00 00       	jmp    0x140017c4a
140017874:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001787a:	4c 8b f5             	mov    %rbp,%r14
14001787d:	48 8b fd             	mov    %rbp,%rdi
140017880:	45 3b d7             	cmp    %r15d,%r10d
140017883:	74 3b                	je     0x1400178c0
140017885:	4d 8b cc             	mov    %r12,%r9
140017888:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14001788f:	00
140017890:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
140017895:	33 d2                	xor    %edx,%edx
140017897:	48 c1 e7 20          	shl    $0x20,%rdi
14001789b:	45 03 d7             	add    %r15d,%r10d
14001789e:	4c 0b c7             	or     %rdi,%r8
1400178a1:	49 c1 e6 20          	shl    $0x20,%r14
1400178a5:	49 8b c0             	mov    %r8,%rax
1400178a8:	49 f7 f1             	div    %r9
1400178ab:	33 d2                	xor    %edx,%edx
1400178ad:	8b c8                	mov    %eax,%ecx
1400178af:	49 8b c0             	mov    %r8,%rax
1400178b2:	49 f7 f1             	div    %r9
1400178b5:	4c 03 f1             	add    %rcx,%r14