180119629:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18011962e:	4c 8d 45 f7          	lea    -0x9(%rbp),%r8
180119632:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
180119639:	00
18011963a:	c7 45 f7 06 00 00 00 	movl   $0x6,-0x9(%rbp)
180119641:	e8 76 77 f0 ff       	call   0x180020dbc
180119646:	85 c0                	test   %eax,%eax
180119648:	0f 4f 45 2f          	cmovg  0x2f(%rbp),%eax
18011964c:	85 c0                	test   %eax,%eax
18011964e:	78 26                	js     0x180119676
180119650:	8b 55 3f             	mov    0x3f(%rbp),%edx
180119653:	83 fa 02             	cmp    $0x2,%edx
180119656:	72 1e                	jb     0x180119676
180119658:	48 8b 45 47          	mov    0x47(%rbp),%rax
18011965c:	48 8b cf             	mov    %rdi,%rcx
18011965f:	66 89 55 07          	mov    %dx,0x7(%rbp)
180119663:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
180119667:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
18011966b:	c6 45 09 1e          	movb   $0x1e,0x9(%rbp)
18011966f:	e8 f4 fd ff ff       	call   0x180119468
180119674:	8b d8                	mov    %eax,%ebx
180119676:	8b c3                	mov    %ebx,%eax
180119678:	48 8b 4d 4f          	mov    0x4f(%rbp),%rcx
18011967c:	48 33 cc             	xor    %rsp,%rcx
18011967f:	e8 a8 c4 ef ff       	call   0x180015b2c
180119684:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
18011968b:	00
18011968c:	49 8b 5b 20          	mov    0x20(%r11),%rbx
180119690:	49 8b 7b 28          	mov    0x28(%r11),%rdi
180119694:	49 8b e3             	mov    %r11,%rsp
180119697:	5d                   	pop    %rbp
180119698:	c3                   	ret
180119699:	cc                   	int3
18011969a:	cc                   	int3
18011969b:	cc                   	int3
18011969c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801196a1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1801196a6:	56                   	push   %rsi
1801196a7:	57                   	push   %rdi
1801196a8:	41 54                	push   %r12
1801196aa:	41 56                	push   %r14
1801196ac:	41 57                	push   %r15
1801196ae:	48 83 ec 70          	sub    $0x70,%rsp
1801196b2:	48 8b 05 27 b3 08 00 	mov    0x8b327(%rip),%rax        # 0x1801a49e0
1801196b9:	4d 8b f8             	mov    %r8,%r15
1801196bc:	4c 8b f2             	mov    %rdx,%r14
1801196bf:	4c 8d 05 42 40 04 00 	lea    0x44042(%rip),%r8        # 0x18015d708
1801196c6:	4c 8b e1             	mov    %rcx,%r12
1801196c9:	49 8b e9             	mov    %r9,%rbp
1801196cc:	48 8b 70 18          	mov    0x18(%rax),%rsi
1801196d0:	8b 50 20             	mov    0x20(%rax),%edx
1801196d3:	48 8b ce             	mov    %rsi,%rcx
1801196d6:	e8 15 64 f6 ff       	call   0x18007faf0
1801196db:	48 8b d8             	mov    %rax,%rbx
1801196de:	0f 20 df             	mov    %cr3,%rdi
1801196e1:	e8 4e b4 f0 ff       	call   0x180024b34
1801196e6:	84 c0                	test   %al,%al
1801196e8:	74 0d                	je     0x1801196f7
1801196ea:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1801196f1:	00 00 80
1801196f4:	48 0b f8             	or     %rax,%rdi
1801196f7:	8b 5b 0c             	mov    0xc(%rbx),%ebx
1801196fa:	48 03 de             	add    %rsi,%rbx
1801196fd:	74 16                	je     0x180119715
1801196ff:	45 33 c9             	xor    %r9d,%r9d
180119702:	48 8d 94 24 a8 00 00 	lea    0xa8(%rsp),%rdx
180119709:	00
18011970a:	45 33 c0             	xor    %r8d,%r8d
18011970d:	48 8b cb             	mov    %rbx,%rcx
180119710:	e8 77 3e f8 ff       	call   0x18009d58c
180119715:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
18011971c:	00
18011971d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180119722:	49 89 46 18          	mov    %rax,0x18(%r14)
180119726:	48 8d 05 e3 d8 01 00 	lea    0x1d8e3(%rip),%rax        # 0x180137010
18011972d:	49 89 46 20          	mov    %rax,0x20(%r14)
180119731:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
180119736:	49 89 46 28          	mov    %rax,0x28(%r14)
18011973a:	49 89 3e             	mov    %rdi,(%r14)
18011973d:	49 89 5e 10          	mov    %rbx,0x10(%r14)
180119741:	e8 ea a3 01 00       	call   0x180133b30
180119746:	0f 20 c0             	mov    %cr0,%rax
180119749:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
18011974e:	0f 20 e0             	mov    %cr4,%rax
180119751:	48 0f ba f0 0e       	btr    $0xe,%rax
180119756:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18011975b:	48 8d 05 27 bb 01 00 	lea    0x1bb27(%rip),%rax        # 0x180135289
180119762:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
180119767:	e8 98 9a fb ff       	call   0x1800d3204
18011976c:	0f 31                	rdtsc
18011976e:	48 c1 e2 20          	shl    $0x20,%rdx
180119772:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180119777:	48 0b c2             	or     %rdx,%rax
18011977a:	4d 8b cc             	mov    %r12,%r9
18011977d:	48 8b d5             	mov    %rbp,%rdx
180119780:	49 89 46 08          	mov    %rax,0x8(%r14)
180119784:	49 8b cf             	mov    %r15,%rcx
180119787:	e8 e4 ba 01 00       	call   0x180135270
18011978c:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180119791:	0f 22 c0             	mov    %rax,%cr0
180119794:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
180119799:	0f 22 e0             	mov    %rax,%cr4
18011979c:	e8 8b 9c fb ff       	call   0x1800d342c
1801197a1:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1801197a6:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1801197aa:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1801197ae:	49 8b e3             	mov    %r11,%rsp
1801197b1:	41 5f                	pop    %r15
1801197b3:	41 5e                	pop    %r14
1801197b5:	41 5c                	pop    %r12
1801197b7:	5f                   	pop    %rdi
1801197b8:	5e                   	pop    %rsi
1801197b9:	c3                   	ret
1801197ba:	cc                   	int3
1801197bb:	cc                   	int3
1801197bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801197c1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1801197c6:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1801197cb:	45 33 d2             	xor    %r10d,%r10d
1801197ce:	44 8b d9             	mov    %ecx,%r11d
1801197d1:	0f b6 fa             	movzbl %dl,%edi
1801197d4:	49 8b d8             	mov    %r8,%rbx
1801197d7:	84 d2                	test   %dl,%dl
1801197d9:	75 0b                	jne    0x1801197e6
1801197db:	45 89 10             	mov    %r10d,(%r8)
1801197de:	45 89 19             	mov    %r11d,(%r9)
1801197e1:	e9 a5 00 00 00       	jmp    0x18011988b
1801197e6:	41 8b c3             	mov    %r11d,%eax
1801197e9:	0b c7                	or     %edi,%eax
1801197eb:	a8 c0                	test   $0xc0,%al
1801197ed:	0f 85 92 00 00 00    	jne    0x180119885
1801197f3:	49 0f bc cb          	bsf    %r11,%rcx
1801197f7:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
1801197fd:	41 8b d0             	mov    %r8d,%edx
180119800:	0f b6 c1             	movzbl %cl,%eax
180119803:	0f 45 d0             	cmovne %eax,%edx
180119806:	0f be f2             	movsbl %dl,%esi
180119809:	ff c6                	inc    %esi
18011980b:	48 0f bc cf          	bsf    %rdi,%rcx
18011980f:	0f b6 c1             	movzbl %cl,%eax
180119812:	44 0f 45 c0          	cmovne %eax,%r8d
180119816:	41 0f be c0          	movsbl %r8b,%eax
18011981a:	4c 8d 05 df 67 ee ff 	lea    -0x119821(%rip),%r8        # 0x180000000
180119821:	ff c0                	inc    %eax
180119823:	8b d0                	mov    %eax,%edx
180119825:	3b c6                	cmp    %esi,%eax
180119827:	74 28                	je     0x180119851
180119829:	41 0f b7 8c 70 28 d7 	movzwl 0x15d728(%r8,%rsi,2),%ecx
180119830:	15 00
180119832:	41 0f b7 84 40 28 d7 	movzwl 0x15d728(%r8,%rax,2),%eax
180119839:	15 00
18011983b:	03 c8                	add    %eax,%ecx
18011983d:	83 f9 03             	cmp    $0x3,%ecx
180119840:	72 0f                	jb     0x180119851
180119842:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
180119848:	41 c7 01 08 00 00 00 	movl   $0x8,(%r9)
18011984f:	eb 3a                	jmp    0x18011988b
180119851:	41 0f b7 8c 50 10 d7 	movzwl 0x15d710(%r8,%rdx,2),%ecx
180119858:	15 00
18011985a:	66 41 3b 8c 70 10 d7 	cmp    0x15d710(%r8,%rsi,2),%cx
180119861:	15 00
180119863:	76 08                	jbe    0x18011986d
180119865:	83 0b ff             	orl    $0xffffffff,(%rbx)
180119868:	e9 71 ff ff ff       	jmp    0x1801197de
18011986d:	44 8b df             	mov    %edi,%r11d
180119870:	75 08                	jne    0x18011987a
180119872:	44 89 13             	mov    %r10d,(%rbx)
180119875:	e9 64 ff ff ff       	jmp    0x1801197de
18011987a:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
180119880:	e9 59 ff ff ff       	jmp    0x1801197de
180119885:	41 ba 0d 00 00 c0    	mov    $0xc000000d,%r10d
18011988b:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180119890:	41 8b c2             	mov    %r10d,%eax
180119893:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
180119898:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
18011989d:	c3                   	ret
18011989e:	cc                   	int3
18011989f:	cc                   	int3
1801198a0:	40 53                	rex push %rbx
1801198a2:	48 83 ec 20          	sub    $0x20,%rsp
1801198a6:	33 db                	xor    %ebx,%ebx
1801198a8:	44 8b d2             	mov    %edx,%r10d
1801198ab:	8b d3                	mov    %ebx,%edx
1801198ad:	45 84 c9             	test   %r9b,%r9b
1801198b0:	75 05                	jne    0x1801198b7
1801198b2:	8d 43 08             	lea    0x8(%rbx),%eax
1801198b5:	eb 19                	jmp    0x1801198d0
1801198b7:	48 8b 15 9a 69 05 00 	mov    0x5699a(%rip),%rdx        # 0x180170258
1801198be:	48 85 d2             	test   %rdx,%rdx
1801198c1:	75 07                	jne    0x1801198ca
1801198c3:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
1801198c8:	eb 3f                	jmp    0x180119909
1801198ca:	8b 05 38 63 05 00    	mov    0x56338(%rip),%eax        # 0x18016fc08
1801198d0:	4d 85 c0             	test   %r8,%r8
1801198d3:	74 03                	je     0x1801198d8
1801198d5:	41 89 00             	mov    %eax,(%r8)
1801198d8:	44 3b d0             	cmp    %eax,%r10d
1801198db:	73 07                	jae    0x1801198e4
1801198dd:	bb 23 00 00 c0       	mov    $0xc0000023,%ebx
1801198e2:	eb 25                	jmp    0x180119909
1801198e4:	45 84 c9             	test   %r9b,%r9b
1801198e7:	75 18                	jne    0x180119901
1801198e9:	48 85 c9             	test   %rcx,%rcx
1801198ec:	75 07                	jne    0x1801198f5
1801198ee:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
1801198f3:	eb 14                	jmp    0x180119909
1801198f5:	48 8b 05 ac b6 08 00 	mov    0x8b6ac(%rip),%rax        # 0x1801a4fa8
1801198fc:	48 89 01             	mov    %rax,(%rcx)
1801198ff:	eb 08                	jmp    0x180119909
180119901:	44 8b c0             	mov    %eax,%r8d
180119904:	e8 b7 c0 01 00       	call   0x1801359c0
180119909:	8b c3                	mov    %ebx,%eax
18011990b:	48 83 c4 20          	add    $0x20,%rsp
18011990f:	5b                   	pop    %rbx
180119910:	c3                   	ret
180119911:	cc                   	int3
180119912:	cc                   	int3
180119913:	cc                   	int3
180119914:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180119919:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18011991e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180119923:	57                   	push   %rdi
180119924:	48 83 ec 20          	sub    $0x20,%rsp
180119928:	e8 e7 f8 f4 ff       	call   0x180069214
18011992d:	8b f8                	mov    %eax,%edi
18011992f:	e8 98 05 f2 ff       	call   0x180039ecc
180119934:	e8 a3 d1 f0 ff       	call   0x180026adc
180119939:	8b 15 31 b6 08 00    	mov    0x8b631(%rip),%edx        # 0x1801a4f70
18011993f:	4c 8d 05 3e dc f0 ff 	lea    -0xf23c2(%rip),%r8        # 0x180027584
180119946:	48 8b 0d 43 b6 08 00 	mov    0x8b643(%rip),%rcx        # 0x1801a4f90
18011994d:	e8 a2 6e f7 ff       	call   0x1800907f4
180119952:	48 8b 0d 37 b6 08 00 	mov    0x8b637(%rip),%rcx        # 0x1801a4f90
180119959:	8b f0                	mov    %eax,%esi
18011995b:	e8 9c 06 f8 ff       	call   0x180099ffc
180119960:	48 8b 1d 19 b6 08 00 	mov    0x8b619(%rip),%rbx        # 0x1801a4f80
180119967:	48 8d 2d 12 b6 08 00 	lea    0x8b612(%rip),%rbp        # 0x1801a4f80
18011996e:	eb 0b                	jmp    0x18011997b
180119970:	48 8b cb             	mov    %rbx,%rcx
180119973:	48 8b 1b             	mov    (%rbx),%rbx
180119976:	e8 81 06 f8 ff       	call   0x180099ffc
18011997b:	48 3b dd             	cmp    %rbp,%rbx
18011997e:	75 f0                	jne    0x180119970
180119980:	8b 15 82 bf 07 00    	mov    0x7bf82(%rip),%edx        # 0x180195908
180119986:	4c 8d 05 73 00 00 00 	lea    0x73(%rip),%r8        # 0x180119a00
18011998d:	48 8b 0d 7c bf 07 00 	mov    0x7bf7c(%rip),%rcx        # 0x180195910
180119994:	85 ff                	test   %edi,%edi
180119996:	0f 49 fe             	cmovns %esi,%edi
180119999:	e8 56 6e f7 ff       	call   0x1800907f4
18011999e:	48 8b 0d 6b bf 07 00 	mov    0x7bf6b(%rip),%rcx        # 0x180195910
1801199a5:	85 ff                	test   %edi,%edi
1801199a7:	0f 49 f8             	cmovns %eax,%edi
1801199aa:	e8 4d 06 f8 ff       	call   0x180099ffc
1801199af:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1801199b4:	85 ff                	test   %edi,%edi
1801199b6:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1801199bb:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1801199c0:	0f 49 f8             	cmovns %eax,%edi
1801199c3:	8b c7                	mov    %edi,%eax
1801199c5:	48 83 c4 20          	add    $0x20,%rsp
1801199c9:	5f                   	pop    %rdi
1801199ca:	c3                   	ret
1801199cb:	cc                   	int3
1801199cc:	48 83 ec 38          	sub    $0x38,%rsp
1801199d0:	48 8d 05 a1 99 ee ff 	lea    -0x11665f(%rip),%rax        # 0x180003378
1801199d7:	4c 8b c1             	mov    %rcx,%r8
1801199da:	48 8d 0d 2f bf 07 00 	lea    0x7bf2f(%rip),%rcx        # 0x180195910
1801199e1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1801199e6:	4c 8d 4c 24 48       	lea    0x48(%rsp),%r9
1801199eb:	48 8d 15 16 bf 07 00 	lea    0x7bf16(%rip),%rdx        # 0x180195908
1801199f2:	e8 35 6c f7 ff       	call   0x18009062c
1801199f7:	48 83 c4 38          	add    $0x38,%rsp
1801199fb:	c3                   	ret
1801199fc:	cc                   	int3
1801199fd:	cc                   	int3
1801199fe:	cc                   	int3
1801199ff:	cc                   	int3
180119a00:	48 8b c1             	mov    %rcx,%rax
180119a03:	48 ff e0             	rex.W jmp *%rax
180119a06:	cc                   	int3
180119a07:	cc                   	int3
180119a08:	48 8b c4             	mov    %rsp,%rax
180119a0b:	48 89 58 08          	mov    %rbx,0x8(%rax)
180119a0f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180119a13:	48 89 78 18          	mov    %rdi,0x18(%rax)
180119a17:	4c 89 70 20          	mov    %r14,0x20(%rax)
180119a1b:	8b c2                	mov    %edx,%eax
180119a1d:	33 db                	xor    %ebx,%ebx
180119a1f:	48 d1 e8             	shr    $1,%rax
180119a22:	49 8b f8             	mov    %r8,%rdi
180119a25:	4c 8b c9             	mov    %rcx,%r9
180119a28:	d1 ea                	shr    $1,%edx
180119a2a:	bd ff 07 00 00       	mov    $0x7ff,%ebp
180119a2f:	41 be ff 03 00 00    	mov    $0x3ff,%r14d
180119a35:	4c 8d 1c 41          	lea    (%rcx,%rax,2),%r11
180119a39:	41 b8 fd ff 00 00    	mov    $0xfffd,%r8d
180119a3f:	45 33 d2             	xor    %r10d,%r10d
180119a42:	4d 3b cb             	cmp    %r11,%r9
180119a45:	72 0d                	jb     0x180119a54
180119a47:	45 85 d2             	test   %r10d,%r10d
180119a4a:	0f 84 f1 01 00 00    	je     0x180119c41
180119a50:	ff c2                	inc    %edx
180119a52:	eb 3c                	jmp    0x180119a90
180119a54:	41 0f b7 01          	movzwl (%r9),%eax
180119a58:	45 85 d2             	test   %r10d,%r10d
180119a5b:	74 1c                	je     0x180119a79
180119a5d:	8d 88 00 24 ff ff    	lea    -0xdc00(%rax),%ecx
180119a63:	ff c2                	inc    %edx
180119a65:	41 3b ce             	cmp    %r14d,%ecx
180119a68:	49 8d 41 02          	lea    0x2(%r9),%rax
180119a6c:	49 0f 47 c1          	cmova  %r9,%rax
180119a70:	45 0f 46 d0          	cmovbe %r8d,%r10d
180119a74:	4c 8b c8             	mov    %rax,%r9
180119a77:	eb 17                	jmp    0x180119a90
180119a79:	44 8b d0             	mov    %eax,%r10d
180119a7c:	49 83 c1 02          	add    $0x2,%r9
180119a80:	41 8d 82 00 28 ff ff 	lea    -0xd800(%r10),%eax
180119a87:	41 3b c6             	cmp    %r14d,%eax
180119a8a:	0f 86 aa 01 00 00    	jbe    0x180119c3a
180119a90:	41 8d 82 00 28 ff ff 	lea    -0xd800(%r10),%eax
180119a97:	3b c5                	cmp    %ebp,%eax
180119a99:	77 08                	ja     0x180119aa3
180119a9b:	bb 07 01 00 00       	mov    $0x107,%ebx
180119aa0:	45 8b d0             	mov    %r8d,%r10d
180119aa3:	41 83 fa 7f          	cmp    $0x7f,%r10d
180119aa7:	76 0c                	jbe    0x180119ab5
180119aa9:	8d 42 01             	lea    0x1(%rdx),%eax
180119aac:	44 3b d5             	cmp    %ebp,%r10d
180119aaf:	0f 46 c2             	cmovbe %edx,%eax
180119ab2:	8d 50 01             	lea    0x1(%rax),%edx
180119ab5:	49 8b c3             	mov    %r11,%rax
180119ab8:	49 2b c1             	sub    %r9,%rax
180119abb:	48 d1 f8             	sar    $1,%rax
180119abe:	48 83 f8 0d          	cmp    $0xd,%rax
180119ac2:	77 19                	ja     0x180119add
180119ac4:	4d 3b cb             	cmp    %r11,%r9
180119ac7:	0f 83 74 01 00 00    	jae    0x180119c41
180119acd:	45 0f b7 11          	movzwl (%r9),%r10d
180119ad1:	49 83 c1 02          	add    $0x2,%r9
180119ad5:	41 83 fa 7f          	cmp    $0x7f,%r10d
180119ad9:	76 e9                	jbe    0x180119ac4
180119adb:	eb a3                	jmp    0x180119a80
180119add:	4c 8d 40 f9          	lea    -0x7(%rax),%r8
180119ae1:	4f 8d 04 41          	lea    (%r9,%r8,2),%r8
180119ae5:	4d 3b c8             	cmp    %r8,%r9
180119ae8:	0f 83 4b ff ff ff    	jae    0x180119a39
180119aee:	41 0f b7 09          	movzwl (%r9),%ecx
180119af2:	49 83 c1 02          	add    $0x2,%r9
180119af6:	83 f9 7f             	cmp    $0x7f,%ecx
180119af9:	76 1a                	jbe    0x180119b15
180119afb:	3b cd                	cmp    %ebp,%ecx