1400e95c3:	3d 03 40 00 80       	cmp    $0x80004003,%eax
1400e95c8:	75 71                	jne    0x1400e963b
1400e95ca:	48 8b cf             	mov    %rdi,%rcx
1400e95cd:	e8 7a d0 09 00       	call   0x14018664c
1400e95d2:	8b 54 24 20          	mov    0x20(%rsp),%edx
1400e95d6:	ff c2                	inc    %edx
1400e95d8:	b8 02 00 00 00       	mov    $0x2,%eax
1400e95dd:	48 f7 e2             	mul    %rdx
1400e95e0:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
1400e95e7:	48 0f 40 c3          	cmovo  %rbx,%rax
1400e95eb:	48 8b c8             	mov    %rax,%rcx
1400e95ee:	e8 25 d3 09 00       	call   0x140186918
1400e95f3:	48 8b f8             	mov    %rax,%rdi
1400e95f6:	44 8b 44 24 20       	mov    0x20(%rsp),%r8d
1400e95fb:	41 ff c0             	inc    %r8d
1400e95fe:	33 d2                	xor    %edx,%edx
1400e9600:	48 8b c8             	mov    %rax,%rcx
1400e9603:	e8 68 f4 09 00       	call   0x140188a70
1400e9608:	41 b9 00 00 04 00    	mov    $0x40000,%r9d
1400e960e:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1400e9613:	48 8b d7             	mov    %rdi,%rdx
1400e9616:	48 8b ce             	mov    %rsi,%rcx
1400e9619:	ff 15 b1 4e 11 00    	call   *0x114eb1(%rip)        # 0x1401fe4d0
1400e961f:	85 c0                	test   %eax,%eax
1400e9621:	75 18                	jne    0x1400e963b
1400e9623:	48 ff c3             	inc    %rbx
1400e9626:	66 83 3c 5f 00       	cmpw   $0x0,(%rdi,%rbx,2)
1400e962b:	75 f6                	jne    0x1400e9623
1400e962d:	4c 8b c3             	mov    %rbx,%r8
1400e9630:	48 8b d7             	mov    %rdi,%rdx
1400e9633:	48 8b cd             	mov    %rbp,%rcx
1400e9636:	e8 15 cc fd ff       	call   0x1400c6250
1400e963b:	48 85 ff             	test   %rdi,%rdi
1400e963e:	74 09                	je     0x1400e9649
1400e9640:	48 8b cf             	mov    %rdi,%rcx
1400e9643:	e8 04 d0 09 00       	call   0x14018664c
1400e9648:	90                   	nop
1400e9649:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400e964e:	e8 6d cb fd ff       	call   0x1400c61c0
1400e9653:	b0 01                	mov    $0x1,%al
1400e9655:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1400e965a:	48 33 cc             	xor    %rsp,%rcx
1400e965d:	e8 6e cc 09 00       	call   0x1401862d0
1400e9662:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1400e9669:	00
1400e966a:	48 83 c4 50          	add    $0x50,%rsp
1400e966e:	5f                   	pop    %rdi
1400e966f:	5e                   	pop    %rsi
1400e9670:	5d                   	pop    %rbp
1400e9671:	c3                   	ret
1400e9672:	cc                   	int3
1400e9673:	cc                   	int3
1400e9674:	cc                   	int3
1400e9675:	cc                   	int3
1400e9676:	cc                   	int3
1400e9677:	cc                   	int3
1400e9678:	cc                   	int3
1400e9679:	cc                   	int3
1400e967a:	cc                   	int3
1400e967b:	cc                   	int3
1400e967c:	cc                   	int3
1400e967d:	cc                   	int3
1400e967e:	cc                   	int3
1400e967f:	cc                   	int3
1400e9680:	b8 06 00 00 00       	mov    $0x6,%eax
1400e9685:	c3                   	ret
1400e9686:	cc                   	int3
1400e9687:	cc                   	int3
1400e9688:	cc                   	int3
1400e9689:	cc                   	int3
1400e968a:	cc                   	int3
1400e968b:	cc                   	int3
1400e968c:	cc                   	int3
1400e968d:	cc                   	int3
1400e968e:	cc                   	int3
1400e968f:	cc                   	int3
1400e9690:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400e9695:	55                   	push   %rbp
1400e9696:	56                   	push   %rsi
1400e9697:	57                   	push   %rdi
1400e9698:	41 56                	push   %r14
1400e969a:	41 57                	push   %r15
1400e969c:	48 83 ec 40          	sub    $0x40,%rsp
1400e96a0:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1400e96a7:	00
1400e96a8:	49 8b f1             	mov    %r9,%rsi
1400e96ab:	4d 8b f8             	mov    %r8,%r15
1400e96ae:	48 8b ea             	mov    %rdx,%rbp
1400e96b1:	4c 8b f1             	mov    %rcx,%r14
1400e96b4:	49 8b d8             	mov    %r8,%rbx
1400e96b7:	48 85 ff             	test   %rdi,%rdi
1400e96ba:	0f 84 88 00 00 00    	je     0x1400e9748
1400e96c0:	48 3b de             	cmp    %rsi,%rbx
1400e96c3:	0f 84 7f 00 00 00    	je     0x1400e9748
1400e96c9:	48 8d 84 24 80 00 00 	lea    0x80(%rsp),%rax
1400e96d0:	00
1400e96d1:	4c 8b ce             	mov    %rsi,%r9
1400e96d4:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1400e96d9:	4c 8b c3             	mov    %rbx,%r8
1400e96dc:	48 8d 84 24 92 00 00 	lea    0x92(%rsp),%rax
1400e96e3:	00
1400e96e4:	48 8b d5             	mov    %rbp,%rdx
1400e96e7:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400e96ec:	49 8b ce             	mov    %r14,%rcx
1400e96ef:	48 8d 84 24 90 00 00 	lea    0x90(%rsp),%rax
1400e96f6:	00
1400e96f7:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400e96fc:	48 8d 84 24 88 00 00 	lea    0x88(%rsp),%rax
1400e9703:	00
1400e9704:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400e9709:	e8 32 02 00 00       	call   0x1400e9940
1400e970e:	85 c0                	test   %eax,%eax
1400e9710:	75 24                	jne    0x1400e9736
1400e9712:	48 8d 84 24 92 00 00 	lea    0x92(%rsp),%rax
1400e9719:	00
1400e971a:	48 39 84 24 80 00 00 	cmp    %rax,0x80(%rsp)
1400e9721:	00
1400e9722:	75 03                	jne    0x1400e9727
1400e9724:	48 ff cf             	dec    %rdi
1400e9727:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
1400e972e:	00
1400e972f:	48 85 ff             	test   %rdi,%rdi
1400e9732:	75 8c                	jne    0x1400e96c0
1400e9734:	eb 12                	jmp    0x1400e9748
1400e9736:	83 f8 03             	cmp    $0x3,%eax
1400e9739:	75 0d                	jne    0x1400e9748
1400e973b:	48 2b f3             	sub    %rbx,%rsi
1400e973e:	48 3b fe             	cmp    %rsi,%rdi
1400e9741:	48 0f 42 f7          	cmovb  %rdi,%rsi
1400e9745:	48 03 de             	add    %rsi,%rbx
1400e9748:	49 2b df             	sub    %r15,%rbx
1400e974b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1400e9750:	48 3b d8             	cmp    %rax,%rbx
1400e9753:	0f 4f d8             	cmovg  %eax,%ebx
1400e9756:	8b c3                	mov    %ebx,%eax
1400e9758:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1400e975d:	48 83 c4 40          	add    $0x40,%rsp
1400e9761:	41 5f                	pop    %r15
1400e9763:	41 5e                	pop    %r14
1400e9765:	5f                   	pop    %rdi
1400e9766:	5e                   	pop    %rsi
1400e9767:	5d                   	pop    %rbp
1400e9768:	c3                   	ret
1400e9769:	cc                   	int3
1400e976a:	cc                   	int3
1400e976b:	cc                   	int3
1400e976c:	cc                   	int3
1400e976d:	cc                   	int3
1400e976e:	cc                   	int3
1400e976f:	cc                   	int3
1400e9770:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400e9775:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400e977a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400e977f:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400e9784:	57                   	push   %rdi
1400e9785:	41 54                	push   %r12
1400e9787:	41 55                	push   %r13
1400e9789:	41 56                	push   %r14
1400e978b:	41 57                	push   %r15
1400e978d:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
1400e9792:	33 ed                	xor    %ebp,%ebp
1400e9794:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400e9799:	4d 8b e9             	mov    %r9,%r13
1400e979c:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1400e97a1:	4c 8b e2             	mov    %rdx,%r12
1400e97a4:	4d 89 06             	mov    %r8,(%r14)
1400e97a7:	48 89 03             	mov    %rax,(%rbx)
1400e97aa:	49 8b 06             	mov    (%r14),%rax
1400e97ad:	49 3b c1             	cmp    %r9,%rax
1400e97b0:	0f 84 4e 01 00 00    	je     0x1400e9904
1400e97b6:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
1400e97bb:	44 8d 4d 01          	lea    0x1(%rbp),%r9d
1400e97bf:	48 8b 3b             	mov    (%rbx),%rdi
1400e97c2:	41 bb 00 28 00 00    	mov    $0x2800,%r11d
1400e97c8:	41 b8 ff 03 00 00    	mov    $0x3ff,%r8d
1400e97ce:	41 ba 00 24 00 00    	mov    $0x2400,%r10d
1400e97d4:	49 3b ff             	cmp    %r15,%rdi
1400e97d7:	0f 84 27 01 00 00    	je     0x1400e9904
1400e97dd:	41 0f b7 14 24       	movzwl (%r12),%edx
1400e97e2:	40 32 f6             	xor    %sil,%sil
1400e97e5:	0f b7 08             	movzwl (%rax),%ecx
1400e97e8:	66 44 3b ca          	cmp    %dx,%r9w
1400e97ec:	73 1d                	jae    0x1400e980b
1400e97ee:	41 8d 04 0a          	lea    (%r10,%rcx,1),%eax
1400e97f2:	66 41 3b c0          	cmp    %r8w,%ax
1400e97f6:	0f 87 2f 01 00 00    	ja     0x1400e992b
1400e97fc:	8b c2                	mov    %edx,%eax
1400e97fe:	81 e9 00 dc 00 00    	sub    $0xdc00,%ecx
1400e9804:	c1 e0 0a             	shl    $0xa,%eax
1400e9807:	0b c1                	or     %ecx,%eax
1400e9809:	eb 17                	jmp    0x1400e9822
1400e980b:	8b c1                	mov    %ecx,%eax
1400e980d:	66 41 03 cb          	add    %r11w,%cx
1400e9811:	66 41 3b c8          	cmp    %r8w,%cx
1400e9815:	77 0b                	ja     0x1400e9822
1400e9817:	c1 e0 0a             	shl    $0xa,%eax
1400e981a:	40 b6 01             	mov    $0x1,%sil
1400e981d:	2d 00 00 5f 03       	sub    $0x35f0000,%eax
1400e9822:	3d 80 00 00 00       	cmp    $0x80,%eax
1400e9827:	73 0c                	jae    0x1400e9835
1400e9829:	44 0f b6 c0          	movzbl %al,%r8d
1400e982d:	44 8b d5             	mov    %ebp,%r10d
1400e9830:	44 8b dd             	mov    %ebp,%r11d
1400e9833:	eb 4d                	jmp    0x1400e9882
1400e9835:	44 8b c0             	mov    %eax,%r8d
1400e9838:	3d 00 08 00 00       	cmp    $0x800,%eax
1400e983d:	73 10                	jae    0x1400e984f
1400e983f:	41 c1 e8 06          	shr    $0x6,%r8d
1400e9843:	45 8b d1             	mov    %r9d,%r10d
1400e9846:	41 80 c8 c0          	or     $0xc0,%r8b
1400e984a:	45 8b d9             	mov    %r9d,%r11d
1400e984d:	eb 33                	jmp    0x1400e9882
1400e984f:	3d 00 00 01 00       	cmp    $0x10000,%eax
1400e9854:	73 13                	jae    0x1400e9869
1400e9856:	41 c1 e8 0c          	shr    $0xc,%r8d
1400e985a:	41 ba 02 00 00 00    	mov    $0x2,%r10d
1400e9860:	41 80 c8 e0          	or     $0xe0,%r8b
1400e9864:	45 8b da             	mov    %r10d,%r11d
1400e9867:	eb 19                	jmp    0x1400e9882
1400e9869:	41 c1 e8 12          	shr    $0x12,%r8d
1400e986d:	41 ba 03 00 00 00    	mov    $0x3,%r10d
1400e9873:	44 0f b6 de          	movzbl %sil,%r11d
1400e9877:	41 80 c8 f0          	or     $0xf0,%r8b
1400e987b:	41 83 f3 01          	xor    $0x1,%r11d
1400e987f:	45 03 db             	add    %r11d,%r11d
1400e9882:	45 8d 4b 01          	lea    0x1(%r11),%r9d
1400e9886:	49 8b d7             	mov    %r15,%rdx
1400e9889:	48 2b d7             	sub    %rdi,%rdx
1400e988c:	41 8b c9             	mov    %r9d,%ecx
1400e988f:	48 3b d1             	cmp    %rcx,%rdx
1400e9892:	7c 70                	jl     0x1400e9904
1400e9894:	49 83 06 02          	addq   $0x2,(%r14)
1400e9898:	40 84 f6             	test   %sil,%sil
1400e989b:	75 06                	jne    0x1400e98a3
1400e989d:	41 83 fa 03          	cmp    $0x3,%r10d
1400e98a1:	73 0c                	jae    0x1400e98af
1400e98a3:	48 8b 0b             	mov    (%rbx),%rcx
1400e98a6:	45 8b cb             	mov    %r11d,%r9d
1400e98a9:	44 88 01             	mov    %r8b,(%rcx)
1400e98ac:	48 ff 03             	incq   (%rbx)
1400e98af:	45 85 c9             	test   %r9d,%r9d
1400e98b2:	74 2d                	je     0x1400e98e1
1400e98b4:	47 8d 04 52          	lea    (%r10,%r10,2),%r8d
1400e98b8:	45 03 c0             	add    %r8d,%r8d
1400e98bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400e98c0:	41 83 e8 06          	sub    $0x6,%r8d
1400e98c4:	8b d0                	mov    %eax,%edx
1400e98c6:	41 8b c8             	mov    %r8d,%ecx
1400e98c9:	41 ff c9             	dec    %r9d
1400e98cc:	d3 ea                	shr    %cl,%edx
1400e98ce:	48 8b 0b             	mov    (%rbx),%rcx
1400e98d1:	80 e2 3f             	and    $0x3f,%dl
1400e98d4:	80 ca 80             	or     $0x80,%dl
1400e98d7:	88 11                	mov    %dl,(%rcx)
1400e98d9:	48 ff 03             	incq   (%rbx)
1400e98dc:	45 85 c9             	test   %r9d,%r9d
1400e98df:	7f df                	jg     0x1400e98c0
1400e98e1:	c1 e8 0a             	shr    $0xa,%eax
1400e98e4:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400e98ea:	40 84 f6             	test   %sil,%sil
1400e98ed:	41 8b c9             	mov    %r9d,%ecx
1400e98f0:	0f 45 c8             	cmovne %eax,%ecx
1400e98f3:	66 41 89 0c 24       	mov    %cx,(%r12)
1400e98f8:	49 8b 06             	mov    (%r14),%rax
1400e98fb:	49 3b c5             	cmp    %r13,%rax
1400e98fe:	0f 85 bb fe ff ff    	jne    0x1400e97bf
1400e9904:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400e9909:	49 3b 06             	cmp    (%r14),%rax
1400e990c:	40 0f 94 c5          	sete   %bpl
1400e9910:	8b c5                	mov    %ebp,%eax
1400e9912:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400e9917:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400e991c:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400e9921:	41 5f                	pop    %r15
1400e9923:	41 5e                	pop    %r14
1400e9925:	41 5d                	pop    %r13
1400e9927:	41 5c                	pop    %r12
1400e9929:	5f                   	pop    %rdi
1400e992a:	c3                   	ret
1400e992b:	b8 02 00 00 00       	mov    $0x2,%eax
1400e9930:	eb e0                	jmp    0x1400e9912
1400e9932:	cc                   	int3
1400e9933:	cc                   	int3
1400e9934:	cc                   	int3
1400e9935:	cc                   	int3
1400e9936:	cc                   	int3
1400e9937:	cc                   	int3
1400e9938:	cc                   	int3
1400e9939:	cc                   	int3
1400e993a:	cc                   	int3
1400e993b:	cc                   	int3
1400e993c:	cc                   	int3
1400e993d:	cc                   	int3
1400e993e:	cc                   	int3
1400e993f:	cc                   	int3
1400e9940:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400e9945:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400e994a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400e994f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400e9954:	41 54                	push   %r12
1400e9956:	41 55                	push   %r13
1400e9958:	41 56                	push   %r14
1400e995a:	41 57                	push   %r15
1400e995c:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400e9961:	45 33 f6             	xor    %r14d,%r14d
1400e9964:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400e9969:	4d 8b e9             	mov    %r9,%r13
1400e996c:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400e9971:	4d 8b e0             	mov    %r8,%r12
1400e9974:	4c 8b fa             	mov    %rdx,%r15
1400e9977:	4c 89 07             	mov    %r8,(%rdi)
1400e997a:	48 89 06             	mov    %rax,(%rsi)
1400e997d:	4c 8b 17             	mov    (%rdi),%r10
1400e9980:	4d 3b d1             	cmp    %r9,%r10
1400e9983:	0f 84 df 01 00 00    	je     0x1400e9b68
1400e9989:	41 8d 56 01          	lea    0x1(%r14),%edx
1400e998d:	41 b9 00 d8 00 00    	mov    $0xd800,%r9d
1400e9993:	41 bb ff 03 00 00    	mov    $0x3ff,%r11d
1400e9999:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400e99a0:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400e99a5:	48 39 06             	cmp    %rax,(%rsi)
1400e99a8:	0f 84 ba 01 00 00    	je     0x1400e9b68
1400e99ae:	66 41 83 3f 01       	cmpw   $0x1,(%r15)
1400e99b3:	41 0f b6 02          	movzbl (%r10),%eax
1400e99b7:	76 2e                	jbe    0x1400e99e7
1400e99b9:	8d 48 80             	lea    -0x80(%rax),%ecx
1400e99bc:	83 f9 3f             	cmp    $0x3f,%ecx
1400e99bf:	0f 87 d6 01 00 00    	ja     0x1400e9b9b
1400e99c5:	49 8d 4a 01          	lea    0x1(%r10),%rcx
1400e99c9:	66 83 e0 3f          	and    $0x3f,%ax
1400e99cd:	48 89 0f             	mov    %rcx,(%rdi)
1400e99d0:	48 8b 0e             	mov    (%rsi),%rcx
1400e99d3:	66 41 0b 07          	or     (%r15),%ax
1400e99d7:	66 89 01             	mov    %ax,(%rcx)
1400e99da:	48 83 06 02          	addq   $0x2,(%rsi)
1400e99de:	66 41 89 17          	mov    %dx,(%r15)
1400e99e2:	e9 75 01 00 00       	jmp    0x1400e9b5c
1400e99e7:	3d 80 00 00 00       	cmp    $0x80,%eax
1400e99ec:	73 15                	jae    0x1400e9a03
1400e99ee:	49 8d 52 01          	lea    0x1(%r10),%rdx
1400e99f2:	41 8b de             	mov    %r14d,%ebx
1400e99f5:	48 89 17             	mov    %rdx,(%rdi)
1400e99f8:	41 8b ee             	mov    %r14d,%ebp
1400e99fb:	4d 8b e2             	mov    %r10,%r12
1400e99fe:	e9 ca 00 00 00       	jmp    0x1400e9acd
1400e9a03:	3d c0 00 00 00       	cmp    $0xc0,%eax
1400e9a08:	0f 82 86 01 00 00    	jb     0x1400e9b94
1400e9a0e:	3d e0 00 00 00       	cmp    $0xe0,%eax
1400e9a13:	73 13                	jae    0x1400e9a28
1400e9a15:	83 e0 1f             	and    $0x1f,%eax