1401be556:	48 8b c2             	mov    %rdx,%rax
1401be559:	48 2b c1             	sub    %rcx,%rax
1401be55c:	48 3b f8             	cmp    %rax,%rdi
1401be55f:	77 2f                	ja     0x1401be590
1401be561:	48 8d 04 39          	lea    (%rcx,%rdi,1),%rax
1401be565:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
1401be569:	48 8d 75 d8          	lea    -0x28(%rbp),%rsi
1401be56d:	48 83 fa 0f          	cmp    $0xf,%rdx
1401be571:	48 0f 47 75 d8       	cmova  -0x28(%rbp),%rsi
1401be576:	48 03 f1             	add    %rcx,%rsi
1401be579:	0f ae e8             	lfence
1401be57c:	4c 8b c7             	mov    %rdi,%r8
1401be57f:	49 8b d1             	mov    %r9,%rdx
1401be582:	48 8b ce             	mov    %rsi,%rcx
1401be585:	e8 86 0a d2 00       	call   0x140edf010
1401be58a:	c6 04 3e 00          	movb   $0x0,(%rsi,%rdi,1)
1401be58e:	eb 18                	jmp    0x1401be5a8
1401be590:	0f ae e8             	lfence
1401be593:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401be598:	44 0f b6 c3          	movzbl %bl,%r8d
1401be59c:	48 8b d7             	mov    %rdi,%rdx
1401be59f:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1401be5a3:	e8 d8 a0 fe ff       	call   0x1401a8680
1401be5a8:	41 fe c6             	inc    %r14b
1401be5ab:	41 0f b6 c6          	movzbl %r14b,%eax
1401be5af:	66 41 3b 07          	cmp    (%r15),%ax
1401be5b3:	0f 82 67 ff ff ff    	jb     0x1401be520
1401be5b9:	b9 28 00 00 00       	mov    $0x28,%ecx
1401be5be:	e8 45 cb c5 00       	call   0x140e1b108
1401be5c3:	4c 8b c0             	mov    %rax,%r8
1401be5c6:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1401be5ca:	48 85 c0             	test   %rax,%rax
1401be5cd:	74 44                	je     0x1401be613
1401be5cf:	0f 57 c0             	xorps  %xmm0,%xmm0
1401be5d2:	33 c0                	xor    %eax,%eax
1401be5d4:	41 0f 11 00          	movups %xmm0,(%r8)
1401be5d8:	41 0f 11 40 10       	movups %xmm0,0x10(%r8)
1401be5dd:	49 89 40 20          	mov    %rax,0x20(%r8)
1401be5e1:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1401be5e5:	48 83 7d f0 0f       	cmpq   $0xf,-0x10(%rbp)
1401be5ea:	48 0f 47 4d d8       	cmova  -0x28(%rbp),%rcx
1401be5ef:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
1401be5f3:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
1401be5f7:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
1401be5fb:	0f 28 45 c0          	movaps -0x40(%rbp),%xmm0
1401be5ff:	66 0f 7f 45 c0       	movdqa %xmm0,-0x40(%rbp)
1401be604:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
1401be608:	49 8b c8             	mov    %r8,%rcx
1401be60b:	e8 d0 36 57 00       	call   0x140731ce0
1401be610:	4c 8b e0             	mov    %rax,%r12
1401be613:	4c 89 65 b8          	mov    %r12,-0x48(%rbp)
1401be617:	45 0f b7 0f          	movzwl (%r15),%r9d
1401be61b:	45 0f b6 47 18       	movzbl 0x18(%r15),%r8d
1401be620:	49 8b 45 18          	mov    0x18(%r13),%rax
1401be624:	48 8b 48 18          	mov    0x18(%rax),%rcx
1401be628:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
1401be62c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401be631:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1401be635:	e8 b6 74 ff ff       	call   0x1401b5af0
1401be63a:	90                   	nop
1401be63b:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
1401be63f:	48 83 fa 0f          	cmp    $0xf,%rdx
1401be643:	76 2d                	jbe    0x1401be672
1401be645:	48 ff c2             	inc    %rdx
1401be648:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1401be64c:	48 8b c1             	mov    %rcx,%rax
1401be64f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401be656:	72 15                	jb     0x1401be66d
1401be658:	48 83 c2 27          	add    $0x27,%rdx
1401be65c:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401be660:	48 2b c1             	sub    %rcx,%rax
1401be663:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401be667:	48 83 f8 1f          	cmp    $0x1f,%rax
1401be66b:	77 2e                	ja     0x1401be69b
1401be66d:	e8 d2 ca c5 00       	call   0x140e1b144
1401be672:	b0 01                	mov    $0x1,%al
1401be674:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1401be678:	48 33 cc             	xor    %rsp,%rcx
1401be67b:	e8 80 ce c5 00       	call   0x140e1b500
1401be680:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
1401be687:	00
1401be688:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1401be68f:	41 5f                	pop    %r15
1401be691:	41 5e                	pop    %r14
1401be693:	41 5d                	pop    %r13
1401be695:	41 5c                	pop    %r12
1401be697:	5f                   	pop    %rdi
1401be698:	5e                   	pop    %rsi
1401be699:	5d                   	pop    %rbp
1401be69a:	c3                   	ret
1401be69b:	e8 04 bb c6 00       	call   0x140e2a1a4
1401be6a0:	cc                   	int3
1401be6a1:	e8 ca ee fd ff       	call   0x14019d570
1401be6a6:	cc                   	int3
1401be6a7:	cc                   	int3
1401be6a8:	cc                   	int3
1401be6a9:	cc                   	int3
1401be6aa:	cc                   	int3
1401be6ab:	cc                   	int3
1401be6ac:	cc                   	int3
1401be6ad:	cc                   	int3
1401be6ae:	cc                   	int3
1401be6af:	cc                   	int3
1401be6b0:	40 53                	rex push %rbx
1401be6b2:	41 57                	push   %r15
1401be6b4:	48 83 ec 68          	sub    $0x68,%rsp
1401be6b8:	4c 8b f9             	mov    %rcx,%r15
1401be6bb:	48 8b da             	mov    %rdx,%rbx
1401be6be:	48 8b 0d cb 8b 25 01 	mov    0x1258bcb(%rip),%rcx        # 0x141417290
1401be6c5:	48 85 c9             	test   %rcx,%rcx
1401be6c8:	0f 84 74 01 00 00    	je     0x1401be842
1401be6ce:	e8 5d 6e 65 00       	call   0x140815530
1401be6d3:	84 c0                	test   %al,%al
1401be6d5:	0f 84 67 01 00 00    	je     0x1401be842
1401be6db:	48 63 43 38          	movslq 0x38(%rbx),%rax
1401be6df:	4c 8b 4b 30          	mov    0x30(%rbx),%r9
1401be6e3:	48 89 ac 24 80 00 00 	mov    %rbp,0x80(%rsp)
1401be6ea:	00
1401be6eb:	0f b6 2b             	movzbl (%rbx),%ebp
1401be6ee:	48 89 bc 24 90 00 00 	mov    %rdi,0x90(%rsp)
1401be6f5:	00
1401be6f6:	33 ff                	xor    %edi,%edi
1401be6f8:	4c 89 a4 24 98 00 00 	mov    %r12,0x98(%rsp)
1401be6ff:	00
1401be700:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
1401be706:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1401be70b:	85 c0                	test   %eax,%eax
1401be70d:	75 05                	jne    0x1401be714
1401be70f:	41 8b d4             	mov    %r12d,%edx
1401be712:	eb 24                	jmp    0x1401be738
1401be714:	8b d7                	mov    %edi,%edx
1401be716:	4c 8b c0             	mov    %rax,%r8
1401be719:	85 c0                	test   %eax,%eax
1401be71b:	7e 1b                	jle    0x1401be738
1401be71d:	48 8b c7             	mov    %rdi,%rax
1401be720:	41 0f b6 0c 01       	movzbl (%r9,%rax,1),%ecx
1401be725:	c1 e2 08             	shl    $0x8,%edx
1401be728:	0b d1                	or     %ecx,%edx
1401be72a:	48 83 f8 03          	cmp    $0x3,%rax
1401be72e:	74 08                	je     0x1401be738
1401be730:	48 ff c0             	inc    %rax
1401be733:	49 3b c0             	cmp    %r8,%rax
1401be736:	7c e8                	jl     0x1401be720
1401be738:	49 8b 47 18          	mov    0x18(%r15),%rax
1401be73c:	44 0f b7 73 2a       	movzwl 0x2a(%rbx),%r14d
1401be741:	44 0f b6 43 44       	movzbl 0x44(%rbx),%r8d
1401be746:	45 8b ce             	mov    %r14d,%r9d
1401be749:	4c 89 64 24 50       	mov    %r12,0x50(%rsp)
1401be74e:	48 8b 48 18          	mov    0x18(%rax),%rcx
1401be752:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
1401be757:	8b c2                	mov    %edx,%eax
1401be759:	0f b6 53 2c          	movzbl 0x2c(%rbx),%edx
1401be75d:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1401be762:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1401be767:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
1401be76c:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1401be770:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
1401be777:	00
1401be778:	48 c7 44 24 20 0a 00 	movq   $0xa,0x20(%rsp)
1401be77f:	00 00
1401be781:	e8 7a 62 ff ff       	call   0x1401b4a00
1401be786:	40 84 ed             	test   %bpl,%bpl
1401be789:	0f 84 8c 00 00 00    	je     0x1401be81b
1401be78f:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
1401be796:	00
1401be797:	0f ae e8             	lfence
1401be79a:	0f b7 f5             	movzwl %bp,%esi
1401be79d:	66 03 f6             	add    %si,%si
1401be7a0:	49 8b 47 18          	mov    0x18(%r15),%rax
1401be7a4:	44 0f b6 43 44       	movzbl 0x44(%rbx),%r8d
1401be7a9:	4c 89 64 24 50       	mov    %r12,0x50(%rsp)
1401be7ae:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
1401be7b3:	4c 8b 50 18          	mov    0x18(%rax),%r10
1401be7b7:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401be7bb:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1401be7c0:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
1401be7c5:	48 8b 08             	mov    (%rax),%rcx
1401be7c8:	0f b7 04 39          	movzwl (%rcx,%rdi,1),%eax
1401be7cc:	66 2b c6             	sub    %si,%ax
1401be7cf:	66 83 e8 02          	sub    $0x2,%ax
1401be7d3:	0f b7 c8             	movzwl %ax,%ecx
1401be7d6:	48 8b 43 18          	mov    0x18(%rbx),%rax
1401be7da:	44 0f b6 0c 01       	movzbl (%rcx,%rax,1),%r9d
1401be7df:	0f b6 54 01 02       	movzbl 0x2(%rcx,%rax,1),%edx
1401be7e4:	41 83 e1 7f          	and    $0x7f,%r9d
1401be7e8:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
1401be7ed:	49 8b ca             	mov    %r10,%rcx
1401be7f0:	49 8b 52 28          	mov    0x28(%r10),%rdx
1401be7f4:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
1401be7fb:	00
1401be7fc:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1401be801:	4d 8b ce             	mov    %r14,%r9
1401be804:	e8 f7 61 ff ff       	call   0x1401b4a00
1401be809:	48 8d 7f 02          	lea    0x2(%rdi),%rdi
1401be80d:	48 83 ed 01          	sub    $0x1,%rbp
1401be811:	75 8d                	jne    0x1401be7a0
1401be813:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
1401be81a:	00
1401be81b:	4c 8b a4 24 98 00 00 	mov    0x98(%rsp),%r12
1401be822:	00
1401be823:	b0 01                	mov    $0x1,%al
1401be825:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1401be82c:	00
1401be82d:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
1401be834:	00
1401be835:	4c 8b 74 24 60       	mov    0x60(%rsp),%r14
1401be83a:	48 83 c4 68          	add    $0x68,%rsp
1401be83e:	41 5f                	pop    %r15
1401be840:	5b                   	pop    %rbx
1401be841:	c3                   	ret
1401be842:	b0 01                	mov    $0x1,%al
1401be844:	48 83 c4 68          	add    $0x68,%rsp
1401be848:	41 5f                	pop    %r15
1401be84a:	5b                   	pop    %rbx
1401be84b:	c3                   	ret
1401be84c:	cc                   	int3
1401be84d:	cc                   	int3
1401be84e:	cc                   	int3
1401be84f:	cc                   	int3
1401be850:	4c 8b c2             	mov    %rdx,%r8
1401be853:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1401be857:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1401be85b:	74 0b                	je     0x1401be868
1401be85d:	41 0f b6 00          	movzbl (%r8),%eax
1401be861:	88 02                	mov    %al,(%rdx)
1401be863:	48 ff 41 08          	incq   0x8(%rcx)
1401be867:	c3                   	ret
1401be868:	e9 b3 91 ff ff       	jmp    0x1401b7a20
1401be86d:	cc                   	int3
1401be86e:	cc                   	int3
1401be86f:	cc                   	int3
1401be870:	48 83 ec 78          	sub    $0x78,%rsp
1401be874:	83 79 10 01          	cmpl   $0x1,0x10(%rcx)
1401be878:	75 09                	jne    0x1401be883
1401be87a:	48 8b 41 18          	mov    0x18(%rcx),%rax
1401be87e:	48 83 c4 78          	add    $0x78,%rsp
1401be882:	c3                   	ret
1401be883:	e8 28 fb fe ff       	call   0x1401ae3b0
1401be888:	4c 63 c0             	movslq %eax,%r8
1401be88b:	4c 8d 0d ce 71 de 00 	lea    0xde71ce(%rip),%r9        # 0x140fa5a60
1401be892:	48 8d 15 d7 71 de 00 	lea    0xde71d7(%rip),%rdx        # 0x140fa5a70
1401be899:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401be89e:	e8 0d a6 fe ff       	call   0x1401a8eb0
1401be8a3:	48 8d 15 9e 20 1e 01 	lea    0x11e209e(%rip),%rdx        # 0x1413a0948
1401be8aa:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401be8af:	e8 64 df c5 00       	call   0x140e1c818
1401be8b4:	cc                   	int3
1401be8b5:	cc                   	int3
1401be8b6:	cc                   	int3
1401be8b7:	cc                   	int3
1401be8b8:	cc                   	int3
1401be8b9:	cc                   	int3
1401be8ba:	cc                   	int3
1401be8bb:	cc                   	int3
1401be8bc:	cc                   	int3
1401be8bd:	cc                   	int3
1401be8be:	cc                   	int3
1401be8bf:	cc                   	int3
1401be8c0:	48 8b c4             	mov    %rsp,%rax
1401be8c3:	48 89 50 10          	mov    %rdx,0x10(%rax)
1401be8c7:	4c 89 40 18          	mov    %r8,0x18(%rax)
1401be8cb:	4c 89 48 20          	mov    %r9,0x20(%rax)
1401be8cf:	53                   	push   %rbx
1401be8d0:	55                   	push   %rbp
1401be8d1:	56                   	push   %rsi
1401be8d2:	57                   	push   %rdi
1401be8d3:	48 83 ec 48          	sub    $0x48,%rsp
1401be8d7:	48 8b da             	mov    %rdx,%rbx
1401be8da:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1401be8df:	48 8b f9             	mov    %rcx,%rdi
1401be8e2:	48 8d 70 18          	lea    0x18(%rax),%rsi
1401be8e6:	33 ed                	xor    %ebp,%ebp
1401be8e8:	e8 f3 fb fd ff       	call   0x14019e4e0
1401be8ed:	4c 8b cb             	mov    %rbx,%r9
1401be8f0:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1401be8f5:	48 8d 1d 44 8a 25 01 	lea    0x1258a44(%rip),%rbx        # 0x141417340
1401be8fc:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401be901:	41 b8 00 04 00 00    	mov    $0x400,%r8d
1401be907:	48 8b d3             	mov    %rbx,%rdx
1401be90a:	48 8b 08             	mov    (%rax),%rcx
1401be90d:	48 83 c9 02          	or     $0x2,%rcx
1401be911:	e8 52 0c c7 00       	call   0x140e2f568
1401be916:	0f 57 c0             	xorps  %xmm0,%xmm0
1401be919:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1401be920:	0f 11 07             	movups %xmm0,(%rdi)
1401be923:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
1401be927:	48 89 6f 18          	mov    %rbp,0x18(%rdi)
1401be92b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401be930:	49 ff c0             	inc    %r8
1401be933:	42 38 2c 03          	cmp    %bpl,(%rbx,%r8,1)
1401be937:	75 f7                	jne    0x1401be930
1401be939:	48 8b d3             	mov    %rbx,%rdx
1401be93c:	48 8b cf             	mov    %rdi,%rcx
1401be93f:	e8 bc 84 fd ff       	call   0x140196e00
1401be944:	48 8b c7             	mov    %rdi,%rax
1401be947:	48 83 c4 48          	add    $0x48,%rsp
1401be94b:	5f                   	pop    %rdi
1401be94c:	5e                   	pop    %rsi
1401be94d:	5d                   	pop    %rbp
1401be94e:	5b                   	pop    %rbx
1401be94f:	c3                   	ret
1401be950:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401be955:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1401be95a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401be95f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401be964:	57                   	push   %rdi
1401be965:	48 83 ec 30          	sub    $0x30,%rsp
1401be969:	48 8b d9             	mov    %rcx,%rbx
1401be96c:	33 ff                	xor    %edi,%edi
1401be96e:	48 8b 2a             	mov    (%rdx),%rbp
1401be971:	8b 72 08             	mov    0x8(%rdx),%esi
1401be974:	2b f5                	sub    %ebp,%esi
1401be976:	b9 28 00 00 00       	mov    $0x28,%ecx
1401be97b:	e8 88 c7 c5 00       	call   0x140e1b108
1401be980:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401be985:	48 85 c0             	test   %rax,%rax
1401be988:	74 20                	je     0x1401be9aa
1401be98a:	0f 57 c0             	xorps  %xmm0,%xmm0
1401be98d:	33 c9                	xor    %ecx,%ecx
1401be98f:	0f 11 00             	movups %xmm0,(%rax)
1401be992:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1401be996:	48 89 48 20          	mov    %rcx,0x20(%rax)
1401be99a:	4c 8b c5             	mov    %rbp,%r8
1401be99d:	8b d6                	mov    %esi,%edx
1401be99f:	48 8b c8             	mov    %rax,%rcx
1401be9a2:	e8 49 32 57 00       	call   0x140731bf0
1401be9a7:	48 8b f8             	mov    %rax,%rdi
1401be9aa:	48 89 3b             	mov    %rdi,(%rbx)
1401be9ad:	48 8b c3             	mov    %rbx,%rax
1401be9b0:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1401be9b5:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1401be9ba:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1401be9bf:	48 83 c4 30          	add    $0x30,%rsp
1401be9c3:	5f                   	pop    %rdi
1401be9c4:	c3                   	ret
1401be9c5:	cc                   	int3
1401be9c6:	cc                   	int3
1401be9c7:	cc                   	int3
1401be9c8:	cc                   	int3
1401be9c9:	cc                   	int3
1401be9ca:	cc                   	int3
1401be9cb:	cc                   	int3
1401be9cc:	cc                   	int3
1401be9cd:	cc                   	int3
1401be9ce:	cc                   	int3
1401be9cf:	cc                   	int3
1401be9d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401be9d5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401be9da:	57                   	push   %rdi
1401be9db:	48 83 ec 20          	sub    $0x20,%rsp