14054667c:	41 5f                	pop    %r15
14054667e:	41 5e                	pop    %r14
140546680:	41 5d                	pop    %r13
140546682:	41 5c                	pop    %r12
140546684:	5d                   	pop    %rbp
140546685:	c3                   	ret
140546686:	e8 19 3b 8e 00       	call   0x140e2a1a4
14054668b:	90                   	nop
14054668c:	e8 13 3b 8e 00       	call   0x140e2a1a4
140546691:	90                   	nop
140546692:	b9 02 00 00 00       	mov    $0x2,%ecx
140546697:	e8 64 40 24 00       	call   0x14078a700
14054669c:	90                   	nop
14054669d:	b9 02 00 00 00       	mov    $0x2,%ecx
1405466a2:	e8 59 40 24 00       	call   0x14078a700
1405466a7:	90                   	nop
1405466a8:	e8 f7 3a 8e 00       	call   0x140e2a1a4
1405466ad:	90                   	nop
1405466ae:	b9 01 00 00 00       	mov    $0x1,%ecx
1405466b3:	e8 48 40 24 00       	call   0x14078a700
1405466b8:	cc                   	int3
1405466b9:	33 c9                	xor    %ecx,%ecx
1405466bb:	e8 40 40 24 00       	call   0x14078a700
1405466c0:	90                   	nop
1405466c1:	e8 de 3a 8e 00       	call   0x140e2a1a4
1405466c6:	90                   	nop
1405466c7:	e8 d8 3a 8e 00       	call   0x140e2a1a4
1405466cc:	cc                   	int3
1405466cd:	cc                   	int3
1405466ce:	cc                   	int3
1405466cf:	cc                   	int3
1405466d0:	48 83 ec 28          	sub    $0x28,%rsp
1405466d4:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
1405466d8:	75 1a                	jne    0x1405466f4
1405466da:	48 8b 01             	mov    (%rcx),%rax
1405466dd:	48 8b 40 40          	mov    0x40(%rax),%rax
1405466e1:	ff 15 39 d3 a3 00    	call   *0xa3d339(%rip)        # 0x140f83a20
1405466e7:	48 83 38 00          	cmpq   $0x0,(%rax)
1405466eb:	75 07                	jne    0x1405466f4
1405466ed:	b0 01                	mov    $0x1,%al
1405466ef:	48 83 c4 28          	add    $0x28,%rsp
1405466f3:	c3                   	ret
1405466f4:	32 c0                	xor    %al,%al
1405466f6:	48 83 c4 28          	add    $0x28,%rsp
1405466fa:	c3                   	ret
1405466fb:	cc                   	int3
1405466fc:	cc                   	int3
1405466fd:	cc                   	int3
1405466fe:	cc                   	int3
1405466ff:	cc                   	int3
140546700:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140546705:	57                   	push   %rdi
140546706:	48 83 ec 30          	sub    $0x30,%rsp
14054670a:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14054670f:	4c 8b c2             	mov    %rdx,%r8
140546712:	4c 8b 5a 10          	mov    0x10(%rdx),%r11
140546716:	48 8b d9             	mov    %rcx,%rbx
140546719:	4c 8b d2             	mov    %rdx,%r10
14054671c:	76 03                	jbe    0x140546721
14054671e:	4c 8b 12             	mov    (%rdx),%r10
140546721:	33 d2                	xor    %edx,%edx
140546723:	49 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r9
14054672a:	9c f2 cb
14054672d:	4d 85 db             	test   %r11,%r11
140546730:	74 22                	je     0x140546754
140546732:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140546739:	01 00 00
14054673c:	0f 1f 40 00          	nopl   0x0(%rax)
140546740:	41 0f b6 04 12       	movzbl (%r10,%rdx,1),%eax
140546745:	48 ff c2             	inc    %rdx
140546748:	4c 33 c8             	xor    %rax,%r9
14054674b:	4c 0f af c9          	imul   %rcx,%r9
14054674f:	49 3b d3             	cmp    %r11,%rdx
140546752:	72 ec                	jb     0x140546740
140546754:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140546759:	48 8d 4b 58          	lea    0x58(%rbx),%rcx
14054675d:	e8 9e da cc ff       	call   0x140214200
140546762:	48 8b 40 08          	mov    0x8(%rax),%rax
140546766:	48 85 c0             	test   %rax,%rax
140546769:	75 04                	jne    0x14054676f
14054676b:	48 8b 43 60          	mov    0x60(%rbx),%rax
14054676f:	48 3b 43 60          	cmp    0x60(%rbx),%rax
140546773:	75 0d                	jne    0x140546782
140546775:	33 c0                	xor    %eax,%eax
140546777:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14054677c:	48 83 c4 30          	add    $0x30,%rsp
140546780:	5f                   	pop    %rdi
140546781:	c3                   	ret
140546782:	48 8b 40 30          	mov    0x30(%rax),%rax
140546786:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14054678b:	48 83 c4 30          	add    $0x30,%rsp
14054678f:	5f                   	pop    %rdi
140546790:	c3                   	ret
140546791:	cc                   	int3
140546792:	cc                   	int3
140546793:	cc                   	int3
140546794:	cc                   	int3
140546795:	cc                   	int3
140546796:	cc                   	int3
140546797:	cc                   	int3
140546798:	cc                   	int3
140546799:	cc                   	int3
14054679a:	cc                   	int3
14054679b:	cc                   	int3
14054679c:	cc                   	int3
14054679d:	cc                   	int3
14054679e:	cc                   	int3
14054679f:	cc                   	int3
1405467a0:	48 83 ec 18          	sub    $0x18,%rsp
1405467a4:	33 c0                	xor    %eax,%eax
1405467a6:	48 83 c4 18          	add    $0x18,%rsp
1405467aa:	c3                   	ret
1405467ab:	cc                   	int3
1405467ac:	cc                   	int3
1405467ad:	cc                   	int3
1405467ae:	cc                   	int3
1405467af:	cc                   	int3
1405467b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1405467b5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1405467ba:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405467bf:	55                   	push   %rbp
1405467c0:	56                   	push   %rsi
1405467c1:	57                   	push   %rdi
1405467c2:	41 54                	push   %r12
1405467c4:	41 55                	push   %r13
1405467c6:	41 56                	push   %r14
1405467c8:	41 57                	push   %r15
1405467ca:	48 8b ec             	mov    %rsp,%rbp
1405467cd:	48 83 ec 70          	sub    $0x70,%rsp
1405467d1:	49 8b d8             	mov    %r8,%rbx
1405467d4:	48 8b f9             	mov    %rcx,%rdi
1405467d7:	45 33 f6             	xor    %r14d,%r14d
1405467da:	b9 50 00 00 00       	mov    $0x50,%ecx
1405467df:	e8 24 49 8d 00       	call   0x140e1b108
1405467e4:	4c 8b c8             	mov    %rax,%r9
1405467e7:	48 89 45 58          	mov    %rax,0x58(%rbp)
1405467eb:	48 85 c0             	test   %rax,%rax
1405467ee:	74 40                	je     0x140546830
1405467f0:	48 8b 0d 11 b4 ee 00 	mov    0xeeb411(%rip),%rcx        # 0x141431c08
1405467f7:	48 89 4d c8          	mov    %rcx,-0x38(%rbp)
1405467fb:	48 85 c9             	test   %rcx,%rcx
1405467fe:	74 1c                	je     0x14054681c
140546800:	8b 41 10             	mov    0x10(%rcx),%eax
140546803:	ff c0                	inc    %eax
140546805:	89 41 10             	mov    %eax,0x10(%rcx)
140546808:	83 f8 01             	cmp    $0x1,%eax
14054680b:	0f 8e 19 04 00 00    	jle    0x140546c2a
140546811:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140546816:	0f 84 16 04 00 00    	je     0x140546c32
14054681c:	41 b0 01             	mov    $0x1,%r8b
14054681f:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
140546823:	49 8b c9             	mov    %r9,%rcx
140546826:	e8 95 b1 1e 00       	call   0x1407319c0
14054682b:	48 8b f0             	mov    %rax,%rsi
14054682e:	eb 03                	jmp    0x140546833
140546830:	49 8b f6             	mov    %r14,%rsi
140546833:	48 89 75 58          	mov    %rsi,0x58(%rbp)
140546837:	b9 50 00 00 00       	mov    $0x50,%ecx
14054683c:	e8 c7 48 8d 00       	call   0x140e1b108
140546841:	4c 8b c0             	mov    %rax,%r8
140546844:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140546848:	48 85 c0             	test   %rax,%rax
14054684b:	74 3d                	je     0x14054688a
14054684d:	48 8b 8f 90 01 00 00 	mov    0x190(%rdi),%rcx
140546854:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
140546858:	48 85 c9             	test   %rcx,%rcx
14054685b:	74 1c                	je     0x140546879
14054685d:	8b 41 10             	mov    0x10(%rcx),%eax
140546860:	ff c0                	inc    %eax
140546862:	89 41 10             	mov    %eax,0x10(%rcx)
140546865:	83 f8 01             	cmp    $0x1,%eax
140546868:	0f 8e cf 03 00 00    	jle    0x140546c3d
14054686e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140546873:	0f 84 cc 03 00 00    	je     0x140546c45
140546879:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
14054687d:	49 8b c8             	mov    %r8,%rcx
140546880:	e8 ab bf 1e 00       	call   0x140732830
140546885:	4c 8b e0             	mov    %rax,%r12
140546888:	eb 03                	jmp    0x14054688d
14054688a:	4d 8b e6             	mov    %r14,%r12
14054688d:	4c 89 65 f0          	mov    %r12,-0x10(%rbp)
140546891:	4d 85 e4             	test   %r12,%r12
140546894:	74 20                	je     0x1405468b6
140546896:	41 8b 44 24 10       	mov    0x10(%r12),%eax
14054689b:	ff c0                	inc    %eax
14054689d:	41 89 44 24 10       	mov    %eax,0x10(%r12)
1405468a2:	83 f8 01             	cmp    $0x1,%eax
1405468a5:	0f 8e a5 03 00 00    	jle    0x140546c50
1405468ab:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405468b0:	0f 84 a2 03 00 00    	je     0x140546c58
1405468b6:	4c 89 65 c0          	mov    %r12,-0x40(%rbp)
1405468ba:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
1405468be:	ba 01 00 00 00       	mov    $0x1,%edx
1405468c3:	48 8b ce             	mov    %rsi,%rcx
1405468c6:	e8 35 e2 1e 00       	call   0x140734b00
1405468cb:	4d 8b ee             	mov    %r14,%r13
1405468ce:	48 8b cb             	mov    %rbx,%rcx
1405468d1:	e8 1a 15 2a 00       	call   0x1407e7df0
1405468d6:	48 8b 1d 1b ac ee 00 	mov    0xeeac1b(%rip),%rbx        # 0x1414314f8
1405468dd:	48 83 c3 10          	add    $0x10,%rbx
1405468e1:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1405468e5:	4c 89 75 e8          	mov    %r14,-0x18(%rbp)
1405468e9:	48 8b 3b             	mov    (%rbx),%rdi
1405468ec:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
1405468f3:	ff ff 07
1405468f6:	48 39 43 08          	cmp    %rax,0x8(%rbx)
1405468fa:	0f 84 63 03 00 00    	je     0x140546c63
140546900:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
140546904:	4c 89 75 d8          	mov    %r14,-0x28(%rbp)
140546908:	b9 20 00 00 00       	mov    $0x20,%ecx
14054690d:	e8 f6 47 8d 00       	call   0x140e1b108
140546912:	0f 10 45 e0          	movups -0x20(%rbp),%xmm0
140546916:	0f 11 40 10          	movups %xmm0,0x10(%rax)
14054691a:	48 ff 43 08          	incq   0x8(%rbx)
14054691e:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140546922:	48 89 38             	mov    %rdi,(%rax)
140546925:	48 89 48 08          	mov    %rcx,0x8(%rax)
140546929:	48 89 47 08          	mov    %rax,0x8(%rdi)
14054692d:	48 89 01             	mov    %rax,(%rcx)
140546930:	45 8b fe             	mov    %r14d,%r15d
140546933:	48 8b 7d 48          	mov    0x48(%rbp),%rdi
140546937:	44 8b 47 0c          	mov    0xc(%rdi),%r8d
14054693b:	45 85 c0             	test   %r8d,%r8d
14054693e:	0f 8e 63 02 00 00    	jle    0x140546ba7
140546944:	48 8b 07             	mov    (%rdi),%rax
140546947:	4a 8b 34 f0          	mov    (%rax,%r14,8),%rsi
14054694b:	4d 85 f6             	test   %r14,%r14
14054694e:	75 56                	jne    0x1405469a6
140546950:	48 8b 46 18          	mov    0x18(%rsi),%rax
140546954:	83 78 18 11          	cmpl   $0x11,0x18(%rax)
140546958:	0f 85 98 01 00 00    	jne    0x140546af6
14054695e:	4c 8b 6e 20          	mov    0x20(%rsi),%r13
140546962:	49 8b 45 40          	mov    0x40(%r13),%rax
140546966:	83 78 58 01          	cmpl   $0x1,0x58(%rax)
14054696a:	0f 85 86 01 00 00    	jne    0x140546af6
140546970:	48 8b 40 40          	mov    0x40(%rax),%rax
140546974:	44 8b 48 78          	mov    0x78(%rax),%r9d
140546978:	41 8d 40 ff          	lea    -0x1(%r8),%eax
14054697c:	44 3b c8             	cmp    %eax,%r9d
14054697f:	0f 85 59 01 00 00    	jne    0x140546ade
140546985:	4d 8d 45 48          	lea    0x48(%r13),%r8
140546989:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14054698e:	76 03                	jbe    0x140546993
140546990:	4d 8b 00             	mov    (%r8),%r8
140546993:	33 d2                	xor    %edx,%edx
140546995:	48 8b 75 58          	mov    0x58(%rbp),%rsi
140546999:	48 8b ce             	mov    %rsi,%rcx
14054699c:	e8 8f 35 e7 ff       	call   0x1403b9f30
1405469a1:	e9 20 01 00 00       	jmp    0x140546ac6
1405469a6:	49 8b 45 40          	mov    0x40(%r13),%rax
1405469aa:	48 8b 40 48          	mov    0x48(%rax),%rax
1405469ae:	48 8b 40 48          	mov    0x48(%rax),%rax
1405469b2:	4a 8d 1c f0          	lea    (%rax,%r14,8),%rbx
1405469b6:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
1405469ba:	48 8b 53 f8          	mov    -0x8(%rbx),%rdx
1405469be:	48 3b ca             	cmp    %rdx,%rcx
1405469c1:	74 13                	je     0x1405469d6
1405469c3:	41 b1 01             	mov    $0x1,%r9b
1405469c6:	45 33 c0             	xor    %r8d,%r8d
1405469c9:	e8 32 cc 20 00       	call   0x140753600
1405469ce:	84 c0                	test   %al,%al
1405469d0:	0f 84 35 01 00 00    	je     0x140546b0b
1405469d6:	48 c7 45 c0 00 00 00 	movq   $0x0,-0x40(%rbp)
1405469dd:	00
1405469de:	e8 fd da 00 00       	call   0x1405544e0
1405469e3:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
1405469e7:	48 8b 10             	mov    (%rax),%rdx
1405469ea:	48 3b ca             	cmp    %rdx,%rcx
1405469ed:	75 09                	jne    0x1405469f8
1405469ef:	48 8b 07             	mov    (%rdi),%rax
1405469f2:	4a 8d 14 f0          	lea    (%rax,%r14,8),%rdx
1405469f6:	eb 16                	jmp    0x140546a0e
1405469f8:	41 b1 01             	mov    $0x1,%r9b
1405469fb:	45 33 c0             	xor    %r8d,%r8d
1405469fe:	e8 fd cb 20 00       	call   0x140753600
140546a03:	48 8b 0f             	mov    (%rdi),%rcx
140546a06:	4a 8d 14 f1          	lea    (%rcx,%r14,8),%rdx
140546a0a:	84 c0                	test   %al,%al
140546a0c:	74 35                	je     0x140546a43
140546a0e:	48 8b 0a             	mov    (%rdx),%rcx
140546a11:	e8 aa de 1e 00       	call   0x1407348c0
140546a16:	48 8b d8             	mov    %rax,%rbx
140546a19:	48 85 c0             	test   %rax,%rax
140546a1c:	74 1c                	je     0x140546a3a
140546a1e:	8b 40 10             	mov    0x10(%rax),%eax
140546a21:	ff c0                	inc    %eax
140546a23:	89 43 10             	mov    %eax,0x10(%rbx)
140546a26:	83 f8 01             	cmp    $0x1,%eax
140546a29:	0f 8e 4c 02 00 00    	jle    0x140546c7b
140546a2f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140546a34:	0f 84 36 02 00 00    	je     0x140546c70
140546a3a:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
140546a3e:	48 8b fb             	mov    %rbx,%rdi
140546a41:	eb 4a                	jmp    0x140546a8d
140546a43:	48 8b 12             	mov    (%rdx),%rdx
140546a46:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140546a4a:	e8 81 e0 00 00       	call   0x140554ad0
140546a4f:	48 8b 18             	mov    (%rax),%rbx
140546a52:	48 8b fb             	mov    %rbx,%rdi
140546a55:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
140546a59:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140546a60:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140546a64:	48 85 c9             	test   %rcx,%rcx
140546a67:	74 24                	je     0x140546a8d
140546a69:	8b 41 10             	mov    0x10(%rcx),%eax
140546a6c:	ff c8                	dec    %eax
140546a6e:	89 41 10             	mov    %eax,0x10(%rcx)
140546a71:	85 c0                	test   %eax,%eax
140546a73:	7f 18                	jg     0x140546a8d
140546a75:	0f 88 08 02 00 00    	js     0x140546c83
140546a7b:	48 8b 01             	mov    (%rcx),%rax
140546a7e:	ba 01 00 00 00       	mov    $0x1,%edx
140546a83:	48 8b 00             	mov    (%rax),%rax
140546a86:	ff 15 94 cf a3 00    	call   *0xa3cf94(%rip)        # 0x140f83a20
140546a8c:	90                   	nop
140546a8d:	48 8b d3             	mov    %rbx,%rdx
140546a90:	48 8b 47 40          	mov    0x40(%rdi),%rax
140546a94:	48 8b 08             	mov    (%rax),%rcx
140546a97:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140546a9b:	0f 84 ad 00 00 00    	je     0x140546b4e
140546aa1:	48 c7 45 c0 00 00 00 	movq   $0x0,-0x40(%rbp)
140546aa8:	00
140546aa9:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
140546aad:	41 8d 57 ff          	lea    -0x1(%r15),%edx
140546ab1:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140546ab5:	49 8b cc             	mov    %r12,%rcx
140546ab8:	e8 43 e9 1e 00       	call   0x140735400
140546abd:	90                   	nop
140546abe:	48 8b 7d 48          	mov    0x48(%rbp),%rdi
140546ac2:	48 8b 75 58          	mov    0x58(%rbp),%rsi
140546ac6:	41 ff c7             	inc    %r15d
140546ac9:	49 ff c6             	inc    %r14
140546acc:	44 8b 47 0c          	mov    0xc(%rdi),%r8d
140546ad0:	45 3b f8             	cmp    %r8d,%r15d
140546ad3:	0f 8c 6b fe ff ff    	jl     0x140546944
140546ad9:	e9 c9 00 00 00       	jmp    0x140546ba7
140546ade:	41 ff c1             	inc    %r9d
140546ae1:	48 8d 15 d0 6d ac 00 	lea    0xac6dd0(%rip),%rdx        # 0x14100d8b8
140546ae8:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140546aec:	e8 2f de ff ff       	call   0x140544920
140546af1:	e9 ad 00 00 00       	jmp    0x140546ba3
140546af6:	48 8d 15 8b 6d ac 00 	lea    0xac6d8b(%rip),%rdx        # 0x14100d888
140546afd:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140546b01:	e8 1a de ff ff       	call   0x140544920
140546b06:	e9 98 00 00 00       	jmp    0x140546ba3
140546b0b:	33 d2                	xor    %edx,%edx
140546b0d:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140546b11:	e8 3a 97 1f 00       	call   0x140740250
140546b16:	48 8b 43 f8          	mov    -0x8(%rbx),%rax
140546b1a:	8b 48 18             	mov    0x18(%rax),%ecx