14022b746:	e8 f5 5a dd ff       	call   0x140001240
14022b74b:	8b c3                	mov    %ebx,%eax
14022b74d:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14022b752:	48 83 c4 20          	add    $0x20,%rsp
14022b756:	41 5e                	pop    %r14
14022b758:	5f                   	pop    %rdi
14022b759:	5e                   	pop    %rsi
14022b75a:	c3                   	ret
14022b75b:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
14022b760:	45 33 d2             	xor    %r10d,%r10d
14022b763:	48 8d 68 ff          	lea    -0x1(%rax),%rbp
14022b767:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
14022b76c:	41 8b 46 08          	mov    0x8(%r14),%eax
14022b770:	48 03 f3             	add    %rbx,%rsi
14022b773:	c1 e0 03             	shl    $0x3,%eax
14022b776:	45 8b da             	mov    %r10d,%r11d
14022b779:	4c 63 f8             	movslq %eax,%r15
14022b77c:	85 db                	test   %ebx,%ebx
14022b77e:	74 46                	je     0x14022b7c6
14022b780:	49 8b 16             	mov    (%r14),%rdx
14022b783:	48 8d 76 ff          	lea    -0x1(%rsi),%rsi
14022b787:	4d 8b c2             	mov    %r10,%r8
14022b78a:	41 0f b6 ca          	movzbl %r10b,%ecx
14022b78e:	49 c1 e8 03          	shr    $0x3,%r8
14022b792:	49 8b c3             	mov    %r11,%rax
14022b795:	49 2b c7             	sub    %r15,%rax
14022b798:	80 e1 07             	and    $0x7,%cl
14022b79b:	48 c1 e8 3f          	shr    $0x3f,%rax
14022b79f:	49 ff c3             	inc    %r11
14022b7a2:	f6 d8                	neg    %al
14022b7a4:	c0 e1 03             	shl    $0x3,%cl
14022b7a7:	4e 8b 0c c2          	mov    (%rdx,%r8,8),%r9
14022b7ab:	49 d3 e9             	shr    %cl,%r9
14022b7ae:	44 22 c8             	and    %al,%r9b
14022b7b1:	49 8b c2             	mov    %r10,%rax
14022b7b4:	48 2b c5             	sub    %rbp,%rax
14022b7b7:	44 88 0e             	mov    %r9b,(%rsi)
14022b7ba:	48 c1 e8 3f          	shr    $0x3f,%rax
14022b7be:	4c 03 d0             	add    %rax,%r10
14022b7c1:	4c 3b db             	cmp    %rbx,%r11
14022b7c4:	72 ba                	jb     0x14022b780
14022b7c6:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14022b7cb:	8b c3                	mov    %ebx,%eax
14022b7cd:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14022b7d2:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
14022b7d7:	48 83 c4 20          	add    $0x20,%rsp
14022b7db:	41 5e                	pop    %r14
14022b7dd:	5f                   	pop    %rdi
14022b7de:	5e                   	pop    %rsi
14022b7df:	c3                   	ret
14022b7e0:	b8 28 00 00 00       	mov    $0x28,%eax
14022b7e5:	e8 f6 ed 0c 00       	call   0x1402fa5e0
14022b7ea:	48 2b e0             	sub    %rax,%rsp
14022b7ed:	45 85 c0             	test   %r8d,%r8d
14022b7f0:	79 0a                	jns    0x14022b7fc
14022b7f2:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14022b7f7:	48 83 c4 28          	add    $0x28,%rsp
14022b7fb:	c3                   	ret
14022b7fc:	45 33 c9             	xor    %r9d,%r9d
14022b7ff:	48 83 c4 28          	add    $0x28,%rsp
14022b803:	e9 98 0b 00 00       	jmp    0x14022c3a0
14022b808:	cc                   	int3
14022b809:	cc                   	int3
14022b80a:	cc                   	int3
14022b80b:	cc                   	int3
14022b80c:	cc                   	int3
14022b80d:	cc                   	int3
14022b80e:	cc                   	int3
14022b80f:	cc                   	int3
14022b810:	4c 8b c9             	mov    %rcx,%r9
14022b813:	44 8b c2             	mov    %edx,%r8d
14022b816:	85 d2                	test   %edx,%edx
14022b818:	78 5d                	js     0x14022b877
14022b81a:	8b c2                	mov    %edx,%eax
14022b81c:	c1 e8 06             	shr    $0x6,%eax
14022b81f:	39 41 08             	cmp    %eax,0x8(%rcx)
14022b822:	7e 53                	jle    0x14022b877
14022b824:	8b c8                	mov    %eax,%ecx
14022b826:	41 83 e0 3f          	and    $0x3f,%r8d
14022b82a:	49 8b 01             	mov    (%r9),%rax
14022b82d:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
14022b831:	48 8b 04 c8          	mov    (%rax,%rcx,8),%rax
14022b835:	4c 0f b3 c0          	btr    %r8,%rax
14022b839:	48 89 02             	mov    %rax,(%rdx)
14022b83c:	49 63 41 08          	movslq 0x8(%r9),%rax
14022b840:	85 c0                	test   %eax,%eax
14022b842:	7e 23                	jle    0x14022b867
14022b844:	49 8b 09             	mov    (%r9),%rcx
14022b847:	4c 8d 04 c1          	lea    (%rcx,%rax,8),%r8
14022b84b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14022b850:	49 83 78 f8 00       	cmpq   $0x0,-0x8(%r8)
14022b855:	4d 8d 40 f8          	lea    -0x8(%r8),%r8
14022b859:	75 06                	jne    0x14022b861
14022b85b:	ff c8                	dec    %eax
14022b85d:	85 c0                	test   %eax,%eax
14022b85f:	7f ef                	jg     0x14022b850
14022b861:	41 89 41 08          	mov    %eax,0x8(%r9)
14022b865:	85 c0                	test   %eax,%eax
14022b867:	75 08                	jne    0x14022b871
14022b869:	41 c7 41 10 00 00 00 	movl   $0x0,0x10(%r9)
14022b870:	00
14022b871:	b8 01 00 00 00       	mov    $0x1,%eax
14022b876:	c3                   	ret
14022b877:	33 c0                	xor    %eax,%eax
14022b879:	c3                   	ret
14022b87a:	cc                   	int3
14022b87b:	cc                   	int3
14022b87c:	cc                   	int3
14022b87d:	cc                   	int3
14022b87e:	cc                   	int3
14022b87f:	cc                   	int3
14022b880:	48 85 c9             	test   %rcx,%rcx
14022b883:	74 78                	je     0x14022b8fd
14022b885:	53                   	push   %rbx
14022b886:	b8 20 00 00 00       	mov    $0x20,%eax
14022b88b:	e8 50 ed 0c 00       	call   0x1402fa5e0
14022b890:	48 2b e0             	sub    %rax,%rsp
14022b893:	48 8b d9             	mov    %rcx,%rbx
14022b896:	48 8b 09             	mov    (%rcx),%rcx
14022b899:	48 85 c9             	test   %rcx,%rcx
14022b89c:	74 32                	je     0x14022b8d0
14022b89e:	8b 43 14             	mov    0x14(%rbx),%eax
14022b8a1:	a8 02                	test   $0x2,%al
14022b8a3:	75 2b                	jne    0x14022b8d0
14022b8a5:	48 63 53 0c          	movslq 0xc(%rbx),%rdx
14022b8a9:	4c 8d 05 48 16 13 00 	lea    0x131648(%rip),%r8        # 0x14035cef8
14022b8b0:	48 c1 e2 03          	shl    $0x3,%rdx
14022b8b4:	a8 08                	test   $0x8,%al
14022b8b6:	74 0d                	je     0x14022b8c5
14022b8b8:	41 b9 cc 00 00 00    	mov    $0xcc,%r9d
14022b8be:	e8 9d 12 01 00       	call   0x14023cb60
14022b8c3:	eb 0b                	jmp    0x14022b8d0
14022b8c5:	41 b9 ce 00 00 00    	mov    $0xce,%r9d
14022b8cb:	e8 50 db ff ff       	call   0x140229420
14022b8d0:	f6 43 14 01          	testb  $0x1,0x14(%rbx)
14022b8d4:	74 22                	je     0x14022b8f8
14022b8d6:	ba 18 00 00 00       	mov    $0x18,%edx
14022b8db:	48 8b cb             	mov    %rbx,%rcx
14022b8de:	e8 5d 59 dd ff       	call   0x140001240
14022b8e3:	41 b8 dc 00 00 00    	mov    $0xdc,%r8d
14022b8e9:	48 8d 15 08 16 13 00 	lea    0x131608(%rip),%rdx        # 0x14035cef8
14022b8f0:	48 8b cb             	mov    %rbx,%rcx
14022b8f3:	e8 18 da ff ff       	call   0x140229310
14022b8f8:	48 83 c4 20          	add    $0x20,%rsp
14022b8fc:	5b                   	pop    %rbx
14022b8fd:	c3                   	ret
14022b8fe:	cc                   	int3
14022b8ff:	cc                   	int3
14022b900:	4c 8b c9             	mov    %rcx,%r9
14022b903:	48 85 c9             	test   %rcx,%rcx
14022b906:	74 7e                	je     0x14022b986
14022b908:	48 85 d2             	test   %rdx,%rdx
14022b90b:	74 73                	je     0x14022b980
14022b90d:	8b 41 10             	mov    0x10(%rcx),%eax
14022b910:	3b 42 10             	cmp    0x10(%rdx),%eax
14022b913:	74 0a                	je     0x14022b91f
14022b915:	85 c0                	test   %eax,%eax
14022b917:	75 67                	jne    0x14022b980
14022b919:	b8 01 00 00 00       	mov    $0x1,%eax
14022b91e:	c3                   	ret
14022b91f:	85 c0                	test   %eax,%eax
14022b921:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
14022b926:	41 8b 41 08          	mov    0x8(%r9),%eax
14022b92a:	41 ba 01 00 00 00    	mov    $0x1,%r10d
14022b930:	44 8b d9             	mov    %ecx,%r11d
14022b933:	45 0f 45 da          	cmovne %r10d,%r11d
14022b937:	44 0f 45 d1          	cmovne %ecx,%r10d
14022b93b:	3b 42 08             	cmp    0x8(%rdx),%eax
14022b93e:	7f 3c                	jg     0x14022b97c
14022b940:	7c 36                	jl     0x14022b978
14022b942:	8d 48 ff             	lea    -0x1(%rax),%ecx
14022b945:	85 c9                	test   %ecx,%ecx
14022b947:	78 2c                	js     0x14022b975
14022b949:	48 8b 02             	mov    (%rdx),%rax
14022b94c:	4d 8b 09             	mov    (%r9),%r9
14022b94f:	48 63 d1             	movslq %ecx,%rdx
14022b952:	4c 2b c8             	sub    %rax,%r9
14022b955:	48 8d 0c d0          	lea    (%rax,%rdx,8),%rcx
14022b959:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14022b960:	49 8b 04 09          	mov    (%r9,%rcx,1),%rax
14022b964:	48 3b 01             	cmp    (%rcx),%rax
14022b967:	77 13                	ja     0x14022b97c
14022b969:	72 0d                	jb     0x14022b978
14022b96b:	48 83 e9 08          	sub    $0x8,%rcx
14022b96f:	48 83 ea 01          	sub    $0x1,%rdx
14022b973:	79 eb                	jns    0x14022b960
14022b975:	33 c0                	xor    %eax,%eax
14022b977:	c3                   	ret
14022b978:	41 8b c3             	mov    %r11d,%eax
14022b97b:	c3                   	ret
14022b97c:	41 8b c2             	mov    %r10d,%eax
14022b97f:	c3                   	ret
14022b980:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14022b985:	c3                   	ret
14022b986:	33 c0                	xor    %eax,%eax
14022b988:	48 85 d2             	test   %rdx,%rdx
14022b98b:	0f 95 c0             	setne  %al
14022b98e:	c3                   	ret
14022b98f:	cc                   	int3
14022b990:	40 53                	rex push %rbx
14022b992:	49 63 d9             	movslq %r9d,%rbx
14022b995:	4d 8b d0             	mov    %r8,%r10
14022b998:	4c 8b da             	mov    %rdx,%r11
14022b99b:	49 3b d0             	cmp    %r8,%rdx
14022b99e:	0f 84 4e 01 00 00    	je     0x14022baf2
14022b9a4:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14022b9a9:	48 8d 71 ff          	lea    -0x1(%rcx),%rsi
14022b9ad:	48 f7 d1             	not    %rcx
14022b9b0:	48 c1 ee 3f          	shr    $0x3f,%rsi
14022b9b4:	48 c1 e9 3f          	shr    $0x3f,%rcx
14022b9b8:	48 23 f1             	and    %rcx,%rsi
14022b9bb:	8b 4a 08             	mov    0x8(%rdx),%ecx
14022b9be:	41 33 48 08          	xor    0x8(%r8),%ecx
14022b9c2:	48 ff ce             	dec    %rsi
14022b9c5:	23 ce                	and    %esi,%ecx
14022b9c7:	31 4a 08             	xor    %ecx,0x8(%rdx)
14022b9ca:	41 31 48 08          	xor    %ecx,0x8(%r8)
14022b9ce:	8b 4a 10             	mov    0x10(%rdx),%ecx
14022b9d1:	66 48 0f 6e e6       	movq   %rsi,%xmm4
14022b9d6:	41 33 48 10          	xor    0x10(%r8),%ecx
14022b9da:	23 ce                	and    %esi,%ecx
14022b9dc:	66 0f 6c e4          	punpcklqdq %xmm4,%xmm4
14022b9e0:	31 4a 10             	xor    %ecx,0x10(%rdx)
14022b9e3:	41 31 48 10          	xor    %ecx,0x10(%r8)
14022b9e7:	8b 52 14             	mov    0x14(%rdx),%edx
14022b9ea:	41 8b 48 14          	mov    0x14(%r8),%ecx
14022b9ee:	48 33 ca             	xor    %rdx,%rcx
14022b9f1:	83 e1 04             	and    $0x4,%ecx
14022b9f4:	48 23 ce             	and    %rsi,%rcx
14022b9f7:	8b c1                	mov    %ecx,%eax
14022b9f9:	33 c2                	xor    %edx,%eax
14022b9fb:	41 89 43 14          	mov    %eax,0x14(%r11)
14022b9ff:	41 31 48 14          	xor    %ecx,0x14(%r8)
14022ba03:	33 c9                	xor    %ecx,%ecx
14022ba05:	8b d1                	mov    %ecx,%edx
14022ba07:	45 85 c9             	test   %r9d,%r9d
14022ba0a:	0f 8e a2 00 00 00    	jle    0x14022bab2
14022ba10:	83 fb 02             	cmp    $0x2,%ebx
14022ba13:	0f 82 99 00 00 00    	jb     0x14022bab2
14022ba19:	4d 8b 08             	mov    (%r8),%r9
14022ba1c:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
14022ba20:	4d 8b 03             	mov    (%r11),%r8
14022ba23:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14022ba28:	48 8d 7b ff          	lea    -0x1(%rbx),%rdi
14022ba2c:	49 8d 3c f9          	lea    (%r9,%rdi,8),%rdi
14022ba30:	49 8d 04 c0          	lea    (%r8,%rax,8),%rax
14022ba34:	4c 3b c8             	cmp    %rax,%r9
14022ba37:	77 05                	ja     0x14022ba3e
14022ba39:	49 3b f8             	cmp    %r8,%rdi
14022ba3c:	73 6f                	jae    0x14022baad
14022ba3e:	4d 3b ca             	cmp    %r10,%r9
14022ba41:	77 05                	ja     0x14022ba48
14022ba43:	49 3b fa             	cmp    %r10,%rdi
14022ba46:	73 65                	jae    0x14022baad
14022ba48:	4d 3b cb             	cmp    %r11,%r9
14022ba4b:	77 05                	ja     0x14022ba52
14022ba4d:	49 3b fb             	cmp    %r11,%rdi
14022ba50:	73 5b                	jae    0x14022baad
14022ba52:	4d 3b c2             	cmp    %r10,%r8
14022ba55:	77 05                	ja     0x14022ba5c
14022ba57:	49 3b c2             	cmp    %r10,%rax
14022ba5a:	73 51                	jae    0x14022baad
14022ba5c:	4d 3b c3             	cmp    %r11,%r8
14022ba5f:	77 05                	ja     0x14022ba66
14022ba61:	49 3b c3             	cmp    %r11,%rax
14022ba64:	73 47                	jae    0x14022baad
14022ba66:	8b c3                	mov    %ebx,%eax
14022ba68:	83 e0 fe             	and    $0xfffffffe,%eax
14022ba6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14022ba70:	f3 42 0f 6f 14 09    	movdqu (%rcx,%r9,1),%xmm2
14022ba76:	83 c2 02             	add    $0x2,%edx
14022ba79:	f3 42 0f 6f 0c 01    	movdqu (%rcx,%r8,1),%xmm1
14022ba7f:	48 8d 49 10          	lea    0x10(%rcx),%rcx
14022ba83:	66 0f 6f da          	movdqa %xmm2,%xmm3
14022ba87:	66 0f ef d9          	pxor   %xmm1,%xmm3
14022ba8b:	66 0f db dc          	pand   %xmm4,%xmm3
14022ba8f:	66 0f 6f c3          	movdqa %xmm3,%xmm0
14022ba93:	66 0f ef da          	pxor   %xmm2,%xmm3
14022ba97:	66 0f ef c1          	pxor   %xmm1,%xmm0
14022ba9b:	f3 42 0f 7f 44 01 f0 	movdqu %xmm0,-0x10(%rcx,%r8,1)
14022baa2:	f3 42 0f 7f 5c 09 f0 	movdqu %xmm3,-0x10(%rcx,%r9,1)
14022baa9:	3b d0                	cmp    %eax,%edx
14022baab:	7c c3                	jl     0x14022ba70
14022baad:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14022bab2:	48 63 c2             	movslq %edx,%rax
14022bab5:	48 3b c3             	cmp    %rbx,%rax
14022bab8:	7d 33                	jge    0x14022baed
14022baba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14022bac0:	49 8b 0b             	mov    (%r11),%rcx
14022bac3:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
14022bac7:	4c 8d 04 c1          	lea    (%rcx,%rax,8),%r8
14022bacb:	49 8b 0a             	mov    (%r10),%rcx
14022bace:	4c 8b ca             	mov    %rdx,%r9
14022bad1:	4c 33 0c c1          	xor    (%rcx,%rax,8),%r9
14022bad5:	4c 23 ce             	and    %rsi,%r9
14022bad8:	49 33 d1             	xor    %r9,%rdx
14022badb:	49 89 10             	mov    %rdx,(%r8)
14022bade:	49 8b 0a             	mov    (%r10),%rcx
14022bae1:	4c 31 0c c1          	xor    %r9,(%rcx,%rax,8)
14022bae5:	48 ff c0             	inc    %rax
14022bae8:	48 3b c3             	cmp    %rbx,%rax
14022baeb:	7c d3                	jl     0x14022bac0
14022baed:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14022baf2:	5b                   	pop    %rbx
14022baf3:	c3                   	ret
14022baf4:	cc                   	int3
14022baf5:	cc                   	int3
14022baf6:	cc                   	int3
14022baf7:	cc                   	int3
14022baf8:	cc                   	int3
14022baf9:	cc                   	int3
14022bafa:	cc                   	int3
14022bafb:	cc                   	int3
14022bafc:	cc                   	int3
14022bafd:	cc                   	int3
14022bafe:	cc                   	int3
14022baff:	cc                   	int3
14022bb00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14022bb05:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14022bb0a:	57                   	push   %rdi
14022bb0b:	b8 20 00 00 00       	mov    $0x20,%eax
14022bb10:	e8 cb ea 0c 00       	call   0x1402fa5e0
14022bb15:	48 2b e0             	sub    %rax,%rsp
14022bb18:	f6 42 14 04          	testb  $0x4,0x14(%rdx)
14022bb1c:	48 8b fa             	mov    %rdx,%rdi
14022bb1f:	48 8b d9             	mov    %rcx,%rbx
14022bb22:	74 05                	je     0x14022bb29
14022bb24:	8b 72 0c             	mov    0xc(%rdx),%esi
14022bb27:	eb 03                	jmp    0x14022bb2c
14022bb29:	8b 72 08             	mov    0x8(%rdx),%esi
14022bb2c:	48 3b df             	cmp    %rdi,%rbx
14022bb2f:	74 4a                	je     0x14022bb7b
14022bb31:	3b 71 0c             	cmp    0xc(%rcx),%esi
14022bb34:	7f 05                	jg     0x14022bb3b
14022bb36:	48 8b c3             	mov    %rbx,%rax
14022bb39:	eb 07                	jmp    0x14022bb42
14022bb3b:	8b d6                	mov    %esi,%edx
14022bb3d:	e8 7e 0b 00 00       	call   0x14022c6c0
14022bb42:	48 85 c0             	test   %rax,%rax
14022bb45:	75 10                	jne    0x14022bb57
14022bb47:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14022bb4c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14022bb51:	48 83 c4 20          	add    $0x20,%rsp
14022bb55:	5f                   	pop    %rdi
14022bb56:	c3                   	ret
14022bb57:	83 7f 08 00          	cmpl   $0x0,0x8(%rdi)
14022bb5b:	7e 12                	jle    0x14022bb6f
14022bb5d:	48 8b 17             	mov    (%rdi),%rdx
14022bb60:	48 8b 0b             	mov    (%rbx),%rcx
14022bb63:	4c 63 c6             	movslq %esi,%r8