1401fd786:	56                   	push   %rsi
1401fd787:	57                   	push   %rdi
1401fd788:	41 56                	push   %r14
1401fd78a:	41 57                	push   %r15
1401fd78c:	48 8b ec             	mov    %rsp,%rbp
1401fd78f:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1401fd796:	48 8b 05 e3 39 10 00 	mov    0x1039e3(%rip),%rax        # 0x140301180
1401fd79d:	48 33 c4             	xor    %rsp,%rax
1401fd7a0:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401fd7a4:	45 33 ff             	xor    %r15d,%r15d
1401fd7a7:	48 8b 01             	mov    (%rcx),%rax
1401fd7aa:	45 33 c9             	xor    %r9d,%r9d
1401fd7ad:	4c 8b c2             	mov    %rdx,%r8
1401fd7b0:	48 8d 55 b8          	lea    -0x48(%rbp),%rdx
1401fd7b4:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
1401fd7bb:	ff 15 6f 56 01 00    	call   *0x1566f(%rip)        # 0x140212e30
1401fd7c1:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1401fd7c5:	48 85 c9             	test   %rcx,%rcx
1401fd7c8:	75 08                	jne    0x1401fd7d2
1401fd7ca:	41 8b ff             	mov    %r15d,%edi
1401fd7cd:	e9 28 01 00 00       	jmp    0x1401fd8fa
1401fd7d2:	0f 57 c0             	xorps  %xmm0,%xmm0
1401fd7d5:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
1401fd7d9:	49 8b ff             	mov    %r15,%rdi
1401fd7dc:	4c 89 7d e0          	mov    %r15,-0x20(%rbp)
1401fd7e0:	be 07 00 00 00       	mov    $0x7,%esi
1401fd7e5:	48 89 75 e8          	mov    %rsi,-0x18(%rbp)
1401fd7e9:	66 44 89 7d d0       	mov    %r15w,-0x30(%rbp)
1401fd7ee:	c6 45 b0 01          	movb   $0x1,-0x50(%rbp)
1401fd7f2:	8d 4e 11             	lea    0x11(%rsi),%ecx
1401fd7f5:	e8 fa 89 f7 ff       	call   0x1401761f4
1401fd7fa:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
1401fd7fe:	48 85 c0             	test   %rax,%rax
1401fd801:	74 1c                	je     0x1401fd81f
1401fd803:	c7 45 b4 08 00 00 00 	movl   $0x8,-0x4c(%rbp)
1401fd80a:	4c 8d 45 b0          	lea    -0x50(%rbp),%r8
1401fd80e:	48 8d 55 b4          	lea    -0x4c(%rbp),%rdx
1401fd812:	48 8b c8             	mov    %rax,%rcx
1401fd815:	e8 f6 0c ff ff       	call   0x1401ee510
1401fd81a:	48 8b d8             	mov    %rax,%rbx
1401fd81d:	eb 03                	jmp    0x1401fd822
1401fd81f:	49 8b df             	mov    %r15,%rbx
1401fd822:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
1401fd826:	48 8b d3             	mov    %rbx,%rdx
1401fd829:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1401fd82d:	e8 42 01 ff ff       	call   0x1401ed974
1401fd832:	84 c0                	test   %al,%al
1401fd834:	74 15                	je     0x1401fd84b
1401fd836:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401fd83a:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1401fd83e:	e8 9d bb e0 ff       	call   0x1400093e0
1401fd843:	48 8b 75 e8          	mov    -0x18(%rbp),%rsi
1401fd847:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
1401fd84b:	e8 10 10 ff ff       	call   0x1401ee860
1401fd850:	4c 8b f0             	mov    %rax,%r14
1401fd853:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1401fd857:	48 83 fe 07          	cmp    $0x7,%rsi
1401fd85b:	48 0f 47 4d d0       	cmova  -0x30(%rbp),%rcx
1401fd860:	48 8b d7             	mov    %rdi,%rdx
1401fd863:	e8 0c af e7 ff       	call   0x140078774
1401fd868:	4c 8b c8             	mov    %rax,%r9
1401fd86b:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
1401fd86f:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
1401fd873:	49 8b ce             	mov    %r14,%rcx
1401fd876:	e8 45 ab e7 ff       	call   0x1400783c0
1401fd87b:	48 8b 78 08          	mov    0x8(%rax),%rdi
1401fd87f:	48 85 ff             	test   %rdi,%rdi
1401fd882:	75 04                	jne    0x1401fd888
1401fd884:	49 8b 7e 08          	mov    0x8(%r14),%rdi
1401fd888:	49 3b 7e 08          	cmp    0x8(%r14),%rdi
1401fd88c:	74 05                	je     0x1401fd893
1401fd88e:	8b 7f 30             	mov    0x30(%rdi),%edi
1401fd891:	eb 03                	jmp    0x1401fd896
1401fd893:	41 8b ff             	mov    %r15d,%edi
1401fd896:	48 85 db             	test   %rbx,%rbx
1401fd899:	74 1c                	je     0x1401fd8b7
1401fd89b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401fd89f:	48 85 c9             	test   %rcx,%rcx
1401fd8a2:	74 0a                	je     0x1401fd8ae
1401fd8a4:	ba 01 00 00 00       	mov    $0x1,%edx
1401fd8a9:	e8 2a 7b e0 ff       	call   0x1400053d8
1401fd8ae:	48 8b cb             	mov    %rbx,%rcx
1401fd8b1:	e8 5a 89 f7 ff       	call   0x140176210
1401fd8b6:	90                   	nop
1401fd8b7:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
1401fd8bb:	48 83 f8 07          	cmp    $0x7,%rax
1401fd8bf:	76 35                	jbe    0x1401fd8f6
1401fd8c1:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
1401fd8c8:	00
1401fd8c9:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1401fd8cd:	48 8b d1             	mov    %rcx,%rdx
1401fd8d0:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1401fd8d6:	72 18                	jb     0x1401fd8f0
1401fd8d8:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401fd8dc:	48 2b d1             	sub    %rcx,%rdx
1401fd8df:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1401fd8e3:	48 83 f8 1f          	cmp    $0x1f,%rax
1401fd8e7:	76 07                	jbe    0x1401fd8f0
1401fd8e9:	ff 15 91 52 01 00    	call   *0x15291(%rip)        # 0x140212b80
1401fd8ef:	cc                   	int3
1401fd8f0:	ff 15 4a 52 01 00    	call   *0x1524a(%rip)        # 0x140212b40
1401fd8f6:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1401fd8fa:	48 85 c9             	test   %rcx,%rcx
1401fd8fd:	74 12                	je     0x1401fd911
1401fd8ff:	4c 8b 01             	mov    (%rcx),%r8
1401fd902:	ba 01 00 00 00       	mov    $0x1,%edx
1401fd907:	49 8b 40 28          	mov    0x28(%r8),%rax
1401fd90b:	ff 15 1f 55 01 00    	call   *0x1551f(%rip)        # 0x140212e30
1401fd911:	8b c7                	mov    %edi,%eax
1401fd913:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401fd917:	48 33 cc             	xor    %rsp,%rcx
1401fd91a:	e8 51 6e 00 00       	call   0x140204770
1401fd91f:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
1401fd926:	00
1401fd927:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1401fd92e:	41 5f                	pop    %r15
1401fd930:	41 5e                	pop    %r14
1401fd932:	5f                   	pop    %rdi
1401fd933:	5e                   	pop    %rsi
1401fd934:	5d                   	pop    %rbp
1401fd935:	c3                   	ret
1401fd936:	90                   	nop
1401fd937:	90                   	nop
1401fd938:	90                   	nop
1401fd939:	90                   	nop
1401fd93a:	90                   	nop
1401fd93b:	90                   	nop
1401fd93c:	90                   	nop
1401fd93d:	90                   	nop
1401fd93e:	90                   	nop
1401fd93f:	90                   	nop
1401fd940:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401fd945:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401fd94a:	55                   	push   %rbp
1401fd94b:	56                   	push   %rsi
1401fd94c:	57                   	push   %rdi
1401fd94d:	48 8b ec             	mov    %rsp,%rbp
1401fd950:	48 83 ec 50          	sub    $0x50,%rsp
1401fd954:	48 8b fa             	mov    %rdx,%rdi
1401fd957:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
1401fd95e:	48 83 22 00          	andq   $0x0,(%rdx)
1401fd962:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
1401fd967:	48 83 62 10 00       	andq   $0x0,0x10(%rdx)
1401fd96c:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
1401fd973:	48 8b 01             	mov    (%rcx),%rax
1401fd976:	45 33 c9             	xor    %r9d,%r9d
1401fd979:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1401fd97d:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
1401fd984:	ff 15 a6 54 01 00    	call   *0x154a6(%rip)        # 0x140212e30
1401fd98a:	48 83 7d e8 00       	cmpq   $0x0,-0x18(%rbp)
1401fd98f:	75 05                	jne    0x1401fd996
1401fd991:	e9 aa 00 00 00       	jmp    0x1401fda40
1401fd996:	c6 45 20 01          	movb   $0x1,0x20(%rbp)
1401fd99a:	c7 45 e0 09 00 00 00 	movl   $0x9,-0x20(%rbp)
1401fd9a1:	4c 8d 45 20          	lea    0x20(%rbp),%r8
1401fd9a5:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1401fd9a9:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1401fd9ad:	e8 52 0a ff ff       	call   0x1401ee404
1401fd9b2:	48 8b 5d f0          	mov    -0x10(%rbp),%rbx
1401fd9b6:	48 8b d3             	mov    %rbx,%rdx
1401fd9b9:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
1401fd9bd:	e8 0a 02 ff ff       	call   0x1401edbcc
1401fd9c2:	84 c0                	test   %al,%al
1401fd9c4:	74 37                	je     0x1401fd9fd
1401fd9c6:	4c 8b 4b 08          	mov    0x8(%rbx),%r9
1401fd9ca:	49 3b f9             	cmp    %r9,%rdi
1401fd9cd:	74 2e                	je     0x1401fd9fd
1401fd9cf:	49 8b 49 08          	mov    0x8(%r9),%rcx
1401fd9d3:	49 2b 09             	sub    (%r9),%rcx
1401fd9d6:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
1401fd9dd:	92 24 49
1401fd9e0:	48 f7 e9             	imul   %rcx
1401fd9e3:	48 c1 fa 04          	sar    $0x4,%rdx
1401fd9e7:	4c 8b c2             	mov    %rdx,%r8
1401fd9ea:	49 c1 e8 3f          	shr    $0x3f,%r8
1401fd9ee:	4c 03 c2             	add    %rdx,%r8
1401fd9f1:	49 8b 11             	mov    (%r9),%rdx
1401fd9f4:	48 8b cf             	mov    %rdi,%rcx
1401fd9f7:	e8 14 04 ff ff       	call   0x1401ede10
1401fd9fc:	90                   	nop
1401fd9fd:	48 85 db             	test   %rbx,%rbx
1401fda00:	74 22                	je     0x1401fda24
1401fda02:	48 8b 73 08          	mov    0x8(%rbx),%rsi
1401fda06:	48 85 f6             	test   %rsi,%rsi
1401fda09:	74 10                	je     0x1401fda1b
1401fda0b:	48 8b ce             	mov    %rsi,%rcx
1401fda0e:	e8 95 f3 fe ff       	call   0x1401ecda8
1401fda13:	48 8b ce             	mov    %rsi,%rcx
1401fda16:	e8 f5 87 f7 ff       	call   0x140176210
1401fda1b:	48 8b cb             	mov    %rbx,%rcx
1401fda1e:	e8 ed 87 f7 ff       	call   0x140176210
1401fda23:	90                   	nop
1401fda24:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
1401fda28:	48 85 c9             	test   %rcx,%rcx
1401fda2b:	74 13                	je     0x1401fda40
1401fda2d:	48 8b 01             	mov    (%rcx),%rax
1401fda30:	ba 01 00 00 00       	mov    $0x1,%edx
1401fda35:	48 8b 40 28          	mov    0x28(%rax),%rax
1401fda39:	ff 15 f1 53 01 00    	call   *0x153f1(%rip)        # 0x140212e30
1401fda3f:	90                   	nop
1401fda40:	48 8b c7             	mov    %rdi,%rax
1401fda43:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1401fda4a:	00
1401fda4b:	48 83 c4 50          	add    $0x50,%rsp
1401fda4f:	5f                   	pop    %rdi
1401fda50:	5e                   	pop    %rsi
1401fda51:	5d                   	pop    %rbp
1401fda52:	c3                   	ret
1401fda53:	90                   	nop
1401fda54:	90                   	nop
1401fda55:	90                   	nop
1401fda56:	90                   	nop
1401fda57:	90                   	nop
1401fda58:	90                   	nop
1401fda59:	90                   	nop
1401fda5a:	90                   	nop
1401fda5b:	90                   	nop
1401fda5c:	90                   	nop
1401fda5d:	90                   	nop
1401fda5e:	90                   	nop
1401fda5f:	90                   	nop
1401fda60:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401fda65:	55                   	push   %rbp
1401fda66:	53                   	push   %rbx
1401fda67:	56                   	push   %rsi
1401fda68:	57                   	push   %rdi
1401fda69:	41 56                	push   %r14
1401fda6b:	48 8b ec             	mov    %rsp,%rbp
1401fda6e:	48 83 ec 50          	sub    $0x50,%rsp
1401fda72:	48 8b f2             	mov    %rdx,%rsi
1401fda75:	c7 45 48 01 00 00 00 	movl   $0x1,0x48(%rbp)
1401fda7c:	0f 57 c0             	xorps  %xmm0,%xmm0
1401fda7f:	0f 11 02             	movups %xmm0,(%rdx)
1401fda82:	45 33 f6             	xor    %r14d,%r14d
1401fda85:	4c 89 72 10          	mov    %r14,0x10(%rdx)
1401fda89:	48 c7 42 18 07 00 00 	movq   $0x7,0x18(%rdx)
1401fda90:	00
1401fda91:	66 44 89 32          	mov    %r14w,(%rdx)
1401fda95:	c7 45 48 01 00 00 00 	movl   $0x1,0x48(%rbp)
1401fda9c:	48 8b 01             	mov    (%rcx),%rax
1401fda9f:	45 33 c9             	xor    %r9d,%r9d
1401fdaa2:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1401fdaa6:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
1401fdaad:	ff 15 7d 53 01 00    	call   *0x1537d(%rip)        # 0x140212e30
1401fdab3:	4c 39 75 e8          	cmp    %r14,-0x18(%rbp)
1401fdab7:	75 05                	jne    0x1401fdabe
1401fdab9:	e9 98 00 00 00       	jmp    0x1401fdb56
1401fdabe:	c6 45 30 01          	movb   $0x1,0x30(%rbp)
1401fdac2:	b9 18 00 00 00       	mov    $0x18,%ecx
1401fdac7:	e8 28 87 f7 ff       	call   0x1401761f4
1401fdacc:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401fdad0:	bf 03 00 00 00       	mov    $0x3,%edi
1401fdad5:	48 85 c0             	test   %rax,%rax
1401fdad8:	74 18                	je     0x1401fdaf2
1401fdada:	89 7d e0             	mov    %edi,-0x20(%rbp)
1401fdadd:	4c 8d 45 30          	lea    0x30(%rbp),%r8
1401fdae1:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1401fdae5:	48 8b c8             	mov    %rax,%rcx
1401fdae8:	e8 23 0a ff ff       	call   0x1401ee510
1401fdaed:	48 8b d8             	mov    %rax,%rbx
1401fdaf0:	eb 03                	jmp    0x1401fdaf5
1401fdaf2:	49 8b de             	mov    %r14,%rbx
1401fdaf5:	48 89 5d 30          	mov    %rbx,0x30(%rbp)
1401fdaf9:	89 7d 48             	mov    %edi,0x48(%rbp)
1401fdafc:	48 8b d3             	mov    %rbx,%rdx
1401fdaff:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
1401fdb03:	e8 6c fe fe ff       	call   0x1401ed974
1401fdb08:	84 c0                	test   %al,%al
1401fdb0a:	74 0d                	je     0x1401fdb19
1401fdb0c:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401fdb10:	48 8b ce             	mov    %rsi,%rcx
1401fdb13:	e8 c8 b8 e0 ff       	call   0x1400093e0
1401fdb18:	90                   	nop
1401fdb19:	48 85 db             	test   %rbx,%rbx
1401fdb1c:	74 1c                	je     0x1401fdb3a
1401fdb1e:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401fdb22:	48 85 c9             	test   %rcx,%rcx
1401fdb25:	74 0a                	je     0x1401fdb31
1401fdb27:	ba 01 00 00 00       	mov    $0x1,%edx
1401fdb2c:	e8 a7 78 e0 ff       	call   0x1400053d8
1401fdb31:	48 8b cb             	mov    %rbx,%rcx
1401fdb34:	e8 d7 86 f7 ff       	call   0x140176210
1401fdb39:	90                   	nop
1401fdb3a:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
1401fdb3e:	48 85 c9             	test   %rcx,%rcx
1401fdb41:	74 13                	je     0x1401fdb56
1401fdb43:	48 8b 01             	mov    (%rcx),%rax
1401fdb46:	ba 01 00 00 00       	mov    $0x1,%edx
1401fdb4b:	48 8b 40 28          	mov    0x28(%rax),%rax
1401fdb4f:	ff 15 db 52 01 00    	call   *0x152db(%rip)        # 0x140212e30
1401fdb55:	90                   	nop
1401fdb56:	48 8b c6             	mov    %rsi,%rax
1401fdb59:	48 83 c4 50          	add    $0x50,%rsp
1401fdb5d:	41 5e                	pop    %r14
1401fdb5f:	5f                   	pop    %rdi
1401fdb60:	5e                   	pop    %rsi
1401fdb61:	5b                   	pop    %rbx
1401fdb62:	5d                   	pop    %rbp
1401fdb63:	c3                   	ret
1401fdb64:	90                   	nop
1401fdb65:	90                   	nop
1401fdb66:	90                   	nop
1401fdb67:	90                   	nop
1401fdb68:	90                   	nop
1401fdb69:	90                   	nop
1401fdb6a:	90                   	nop
1401fdb6b:	90                   	nop
1401fdb6c:	90                   	nop
1401fdb6d:	90                   	nop
1401fdb6e:	90                   	nop
1401fdb6f:	90                   	nop
1401fdb70:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401fdb75:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401fdb7a:	55                   	push   %rbp
1401fdb7b:	56                   	push   %rsi
1401fdb7c:	57                   	push   %rdi
1401fdb7d:	48 8b ec             	mov    %rsp,%rbp
1401fdb80:	48 83 ec 50          	sub    $0x50,%rsp
1401fdb84:	48 8b fa             	mov    %rdx,%rdi
1401fdb87:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
1401fdb8e:	48 83 22 00          	andq   $0x0,(%rdx)
1401fdb92:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
1401fdb97:	48 83 62 10 00       	andq   $0x0,0x10(%rdx)
1401fdb9c:	c7 45 38 01 00 00 00 	movl   $0x1,0x38(%rbp)
1401fdba3:	48 8b 01             	mov    (%rcx),%rax
1401fdba6:	45 33 c9             	xor    %r9d,%r9d
1401fdba9:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1401fdbad:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
1401fdbb4:	ff 15 76 52 01 00    	call   *0x15276(%rip)        # 0x140212e30
1401fdbba:	48 83 7d e8 00       	cmpq   $0x0,-0x18(%rbp)
1401fdbbf:	75 05                	jne    0x1401fdbc6
1401fdbc1:	e9 93 00 00 00       	jmp    0x1401fdc59
1401fdbc6:	c6 45 20 01          	movb   $0x1,0x20(%rbp)
1401fdbca:	c7 45 e0 07 00 00 00 	movl   $0x7,-0x20(%rbp)
1401fdbd1:	4c 8d 45 20          	lea    0x20(%rbp),%r8
1401fdbd5:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1401fdbd9:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1401fdbdd:	e8 22 08 ff ff       	call   0x1401ee404
1401fdbe2:	48 8b 5d f0          	mov    -0x10(%rbp),%rbx
1401fdbe6:	48 8b d3             	mov    %rbx,%rdx
1401fdbe9:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
1401fdbed:	e8 8e 4a ff ff       	call   0x1401f2680
1401fdbf2:	84 c0                	test   %al,%al
1401fdbf4:	74 20                	je     0x1401fdc16
1401fdbf6:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401fdbfa:	48 3b fa             	cmp    %rdx,%rdi
1401fdbfd:	74 17                	je     0x1401fdc16
1401fdbff:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1401fdc03:	4c 2b 02             	sub    (%rdx),%r8
1401fdc06:	49 c1 f8 05          	sar    $0x5,%r8