14001be14:	53                   	push   %rbx
14001be15:	56                   	push   %rsi
14001be16:	57                   	push   %rdi
14001be17:	41 56                	push   %r14
14001be19:	48 8d 68 c9          	lea    -0x37(%rax),%rbp
14001be1d:	48 81 ec e0 00 00 00 	sub    $0xe0,%rsp
14001be24:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
14001be28:	48 8b 05 91 37 01 00 	mov    0x13791(%rip),%rax        # 0x14002f5c0
14001be2f:	48 33 c4             	xor    %rsp,%rax
14001be32:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
14001be36:	8b f2                	mov    %edx,%esi
14001be38:	4c 8b f1             	mov    %rcx,%r14
14001be3b:	ba c0 ff 00 00       	mov    $0xffc0,%edx
14001be40:	b9 80 1f 00 00       	mov    $0x1f80,%ecx
14001be45:	41 8b f9             	mov    %r9d,%edi
14001be48:	49 8b d8             	mov    %r8,%rbx
14001be4b:	e8 20 06 00 00       	call   0x14001c470
14001be50:	8b 4d 5f             	mov    0x5f(%rbp),%ecx
14001be53:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14001be58:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
14001be5d:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
14001be63:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14001be68:	f2 0f 11 44 24 40    	movsd  %xmm0,0x40(%rsp)
14001be6e:	e8 e1 fe ff ff       	call   0x14001bd54
14001be73:	f2 0f 10 75 77       	movsd  0x77(%rbp),%xmm6
14001be78:	85 c0                	test   %eax,%eax
14001be7a:	75 40                	jne    0x14001bebc
14001be7c:	83 7d 7f 02          	cmpl   $0x2,0x7f(%rbp)
14001be80:	75 11                	jne    0x14001be93
14001be82:	8b 45 bf             	mov    -0x41(%rbp),%eax
14001be85:	83 e0 e3             	and    $0xffffffe3,%eax
14001be88:	f2 0f 11 75 af       	movsd  %xmm6,-0x51(%rbp)
14001be8d:	83 c8 03             	or     $0x3,%eax
14001be90:	89 45 bf             	mov    %eax,-0x41(%rbp)
14001be93:	44 8b 45 5f          	mov    0x5f(%rbp),%r8d
14001be97:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14001be9c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14001bea1:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
14001bea6:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
14001beaa:	44 8b ce             	mov    %esi,%r9d
14001bead:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14001beb2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001beb7:	e8 34 02 00 00       	call   0x14001c0f0
14001bebc:	e8 33 34 ff ff       	call   0x14000f2f4
14001bec1:	84 c0                	test   %al,%al
14001bec3:	74 34                	je     0x14001bef9
14001bec5:	85 ff                	test   %edi,%edi
14001bec7:	74 30                	je     0x14001bef9
14001bec9:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
14001bece:	4d 8b c6             	mov    %r14,%r8
14001bed1:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
14001bed7:	8b cf                	mov    %edi,%ecx
14001bed9:	f2 0f 10 5d 6f       	movsd  0x6f(%rbp),%xmm3
14001bede:	8b 55 67             	mov    0x67(%rbp),%edx
14001bee1:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14001bee6:	f2 0f 11 44 24 28    	movsd  %xmm0,0x28(%rsp)
14001beec:	f2 0f 11 74 24 20    	movsd  %xmm6,0x20(%rsp)
14001bef2:	e8 f5 fd ff ff       	call   0x14001bcec
14001bef7:	eb 1c                	jmp    0x14001bf15
14001bef9:	8b cf                	mov    %edi,%ecx
14001befb:	e8 20 05 00 00       	call   0x14001c420
14001bf00:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
14001bf05:	ba c0 ff 00 00       	mov    $0xffc0,%edx
14001bf0a:	e8 61 05 00 00       	call   0x14001c470
14001bf0f:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
14001bf15:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
14001bf19:	48 33 cc             	xor    %rsp,%rcx
14001bf1c:	e8 8f 06 00 00       	call   0x14001c5b0
14001bf21:	0f 28 b4 24 d0 00 00 	movaps 0xd0(%rsp),%xmm6
14001bf28:	00
14001bf29:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
14001bf30:	41 5e                	pop    %r14
14001bf32:	5f                   	pop    %rdi
14001bf33:	5e                   	pop    %rsi
14001bf34:	5b                   	pop    %rbx
14001bf35:	5d                   	pop    %rbp
14001bf36:	c3                   	ret
14001bf37:	cc                   	int3
14001bf38:	48 b8 00 00 00 00 00 	movabs $0x8000000000000,%rax
14001bf3f:	00 08 00
14001bf42:	48 0b c8             	or     %rax,%rcx
14001bf45:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14001bf4a:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14001bf50:	c3                   	ret
14001bf51:	cc                   	int3
14001bf52:	cc                   	int3
14001bf53:	cc                   	int3
14001bf54:	cc                   	int3
14001bf55:	cc                   	int3
14001bf56:	cc                   	int3
14001bf57:	cc                   	int3
14001bf58:	cc                   	int3
14001bf59:	cc                   	int3
14001bf5a:	cc                   	int3
14001bf5b:	cc                   	int3
14001bf5c:	cc                   	int3
14001bf5d:	cc                   	int3
14001bf5e:	cc                   	int3
14001bf5f:	cc                   	int3
14001bf60:	40 53                	rex push %rbx
14001bf62:	48 83 ec 10          	sub    $0x10,%rsp
14001bf66:	45 33 c0             	xor    %r8d,%r8d
14001bf69:	33 c9                	xor    %ecx,%ecx
14001bf6b:	44 89 05 46 62 01 00 	mov    %r8d,0x16246(%rip)        # 0x1400321b8
14001bf72:	45 8d 48 01          	lea    0x1(%r8),%r9d
14001bf76:	41 8b c1             	mov    %r9d,%eax
14001bf79:	0f a2                	cpuid
14001bf7b:	89 04 24             	mov    %eax,(%rsp)
14001bf7e:	b8 00 10 00 18       	mov    $0x18001000,%eax
14001bf83:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
14001bf87:	23 c8                	and    %eax,%ecx
14001bf89:	89 5c 24 04          	mov    %ebx,0x4(%rsp)
14001bf8d:	89 54 24 0c          	mov    %edx,0xc(%rsp)
14001bf91:	3b c8                	cmp    %eax,%ecx
14001bf93:	75 2c                	jne    0x14001bfc1
14001bf95:	33 c9                	xor    %ecx,%ecx
14001bf97:	0f 01 d0             	xgetbv
14001bf9a:	48 c1 e2 20          	shl    $0x20,%rdx
14001bf9e:	48 0b d0             	or     %rax,%rdx
14001bfa1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14001bfa6:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14001bfab:	44 8b 05 06 62 01 00 	mov    0x16206(%rip),%r8d        # 0x1400321b8
14001bfb2:	24 06                	and    $0x6,%al
14001bfb4:	3c 06                	cmp    $0x6,%al
14001bfb6:	45 0f 44 c1          	cmove  %r9d,%r8d
14001bfba:	44 89 05 f7 61 01 00 	mov    %r8d,0x161f7(%rip)        # 0x1400321b8
14001bfc1:	44 89 05 f4 61 01 00 	mov    %r8d,0x161f4(%rip)        # 0x1400321bc
14001bfc8:	33 c0                	xor    %eax,%eax
14001bfca:	48 83 c4 10          	add    $0x10,%rsp
14001bfce:	5b                   	pop    %rbx
14001bfcf:	c3                   	ret
14001bfd0:	48 83 ec 38          	sub    $0x38,%rsp
14001bfd4:	48 8d 05 d5 f8 00 00 	lea    0xf8d5(%rip),%rax        # 0x14002b8b0
14001bfdb:	41 b9 1b 00 00 00    	mov    $0x1b,%r9d
14001bfe1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001bfe6:	e8 05 00 00 00       	call   0x14001bff0
14001bfeb:	48 83 c4 38          	add    $0x38,%rsp
14001bfef:	c3                   	ret
14001bff0:	48 8b c4             	mov    %rsp,%rax
14001bff3:	48 83 ec 68          	sub    $0x68,%rsp
14001bff7:	0f 29 70 e8          	movaps %xmm6,-0x18(%rax)
14001bffb:	0f 28 f1             	movaps %xmm1,%xmm6
14001bffe:	41 8b d1             	mov    %r9d,%edx
14001c001:	0f 28 d8             	movaps %xmm0,%xmm3
14001c004:	41 83 e8 01          	sub    $0x1,%r8d
14001c008:	74 2a                	je     0x14001c034
14001c00a:	41 83 f8 01          	cmp    $0x1,%r8d
14001c00e:	75 69                	jne    0x14001c079
14001c010:	44 89 40 d8          	mov    %r8d,-0x28(%rax)
14001c014:	0f 57 d2             	xorps  %xmm2,%xmm2
14001c017:	f2 0f 11 50 d0       	movsd  %xmm2,-0x30(%rax)
14001c01c:	45 8b c8             	mov    %r8d,%r9d
14001c01f:	f2 0f 11 40 c8       	movsd  %xmm0,-0x38(%rax)
14001c024:	c7 40 c0 21 00 00 00 	movl   $0x21,-0x40(%rax)
14001c02b:	c7 40 b8 08 00 00 00 	movl   $0x8,-0x48(%rax)
14001c032:	eb 2d                	jmp    0x14001c061
14001c034:	c7 44 24 40 01 00 00 	movl   $0x1,0x40(%rsp)
14001c03b:	00
14001c03c:	0f 57 c0             	xorps  %xmm0,%xmm0
14001c03f:	f2 0f 11 44 24 38    	movsd  %xmm0,0x38(%rsp)
14001c045:	41 b9 02 00 00 00    	mov    $0x2,%r9d
14001c04b:	f2 0f 11 5c 24 30    	movsd  %xmm3,0x30(%rsp)
14001c051:	c7 44 24 28 22 00 00 	movl   $0x22,0x28(%rsp)
14001c058:	00
14001c059:	c7 44 24 20 04 00 00 	movl   $0x4,0x20(%rsp)
14001c060:	00
14001c061:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
14001c068:	00
14001c069:	f2 0f 11 74 24 78    	movsd  %xmm6,0x78(%rsp)
14001c06f:	4c 8b 44 24 78       	mov    0x78(%rsp),%r8
14001c074:	e8 97 fd ff ff       	call   0x14001be10
14001c079:	0f 28 c6             	movaps %xmm6,%xmm0
14001c07c:	0f 28 74 24 50       	movaps 0x50(%rsp),%xmm6
14001c081:	48 83 c4 68          	add    $0x68,%rsp
14001c085:	c3                   	ret
14001c086:	cc                   	int3
14001c087:	cc                   	int3
14001c088:	cc                   	int3
14001c089:	cc                   	int3
14001c08a:	cc                   	int3
14001c08b:	cc                   	int3
14001c08c:	cc                   	int3
14001c08d:	cc                   	int3
14001c08e:	cc                   	int3
14001c08f:	cc                   	int3
14001c090:	cc                   	int3
14001c091:	cc                   	int3
14001c092:	cc                   	int3
14001c093:	cc                   	int3
14001c094:	cc                   	int3
14001c095:	cc                   	int3
14001c096:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14001c09d:	00 00 00
14001c0a0:	48 83 ec 08          	sub    $0x8,%rsp
14001c0a4:	0f ae 1c 24          	stmxcsr (%rsp)
14001c0a8:	8b 04 24             	mov    (%rsp),%eax
14001c0ab:	48 83 c4 08          	add    $0x8,%rsp
14001c0af:	c3                   	ret
14001c0b0:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
14001c0b4:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
14001c0b9:	c3                   	ret
14001c0ba:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
14001c0bf:	b9 c0 ff ff ff       	mov    $0xffffffc0,%ecx
14001c0c4:	21 4c 24 08          	and    %ecx,0x8(%rsp)
14001c0c8:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
14001c0cd:	c3                   	ret
14001c0ce:	66 0f 2e 05 ea f7 00 	ucomisd 0xf7ea(%rip),%xmm0        # 0x14002b8c0
14001c0d5:	00
14001c0d6:	73 14                	jae    0x14001c0ec
14001c0d8:	66 0f 2e 05 e8 f7 00 	ucomisd 0xf7e8(%rip),%xmm0        # 0x14002b8c8
14001c0df:	00
14001c0e0:	76 0a                	jbe    0x14001c0ec
14001c0e2:	f2 48 0f 2d c8       	cvtsd2si %xmm0,%rcx
14001c0e7:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
14001c0ec:	c3                   	ret
14001c0ed:	cc                   	int3
14001c0ee:	cc                   	int3
14001c0ef:	cc                   	int3
14001c0f0:	48 83 ec 48          	sub    $0x48,%rsp
14001c0f4:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
14001c0f9:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14001c0fe:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14001c103:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14001c108:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14001c10d:	e8 06 00 00 00       	call   0x14001c118
14001c112:	48 83 c4 48          	add    $0x48,%rsp
14001c116:	c3                   	ret
14001c117:	cc                   	int3
14001c118:	48 8b c4             	mov    %rsp,%rax
14001c11b:	48 89 58 10          	mov    %rbx,0x10(%rax)
14001c11f:	48 89 70 18          	mov    %rsi,0x18(%rax)
14001c123:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001c127:	48 89 48 08          	mov    %rcx,0x8(%rax)
14001c12b:	55                   	push   %rbp
14001c12c:	48 8b ec             	mov    %rsp,%rbp
14001c12f:	48 83 ec 20          	sub    $0x20,%rsp
14001c133:	48 8b da             	mov    %rdx,%rbx
14001c136:	41 8b f1             	mov    %r9d,%esi
14001c139:	33 d2                	xor    %edx,%edx
14001c13b:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
14001c140:	89 51 04             	mov    %edx,0x4(%rcx)
14001c143:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c147:	89 50 08             	mov    %edx,0x8(%rax)
14001c14a:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c14e:	89 50 0c             	mov    %edx,0xc(%rax)
14001c151:	41 f6 c0 10          	test   $0x10,%r8b
14001c155:	74 0d                	je     0x14001c164
14001c157:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c15b:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
14001c160:	83 48 04 01          	orl    $0x1,0x4(%rax)
14001c164:	41 f6 c0 02          	test   $0x2,%r8b
14001c168:	74 0d                	je     0x14001c177
14001c16a:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c16e:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
14001c173:	83 48 04 02          	orl    $0x2,0x4(%rax)
14001c177:	41 f6 c0 01          	test   $0x1,%r8b
14001c17b:	74 0d                	je     0x14001c18a
14001c17d:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c181:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
14001c186:	83 48 04 04          	orl    $0x4,0x4(%rax)
14001c18a:	41 f6 c0 04          	test   $0x4,%r8b
14001c18e:	74 0d                	je     0x14001c19d
14001c190:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c194:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
14001c199:	83 48 04 08          	orl    $0x8,0x4(%rax)
14001c19d:	41 f6 c0 08          	test   $0x8,%r8b
14001c1a1:	74 0d                	je     0x14001c1b0
14001c1a3:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c1a7:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
14001c1ac:	83 48 04 10          	orl    $0x10,0x4(%rax)
14001c1b0:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c1b4:	48 8b 03             	mov    (%rbx),%rax
14001c1b7:	48 c1 e8 07          	shr    $0x7,%rax
14001c1bb:	c1 e0 04             	shl    $0x4,%eax
14001c1be:	f7 d0                	not    %eax
14001c1c0:	33 41 08             	xor    0x8(%rcx),%eax
14001c1c3:	83 e0 10             	and    $0x10,%eax
14001c1c6:	31 41 08             	xor    %eax,0x8(%rcx)
14001c1c9:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c1cd:	48 8b 03             	mov    (%rbx),%rax
14001c1d0:	48 c1 e8 09          	shr    $0x9,%rax
14001c1d4:	c1 e0 03             	shl    $0x3,%eax
14001c1d7:	f7 d0                	not    %eax
14001c1d9:	33 41 08             	xor    0x8(%rcx),%eax
14001c1dc:	83 e0 08             	and    $0x8,%eax
14001c1df:	31 41 08             	xor    %eax,0x8(%rcx)
14001c1e2:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c1e6:	48 8b 03             	mov    (%rbx),%rax
14001c1e9:	48 c1 e8 0a          	shr    $0xa,%rax
14001c1ed:	c1 e0 02             	shl    $0x2,%eax
14001c1f0:	f7 d0                	not    %eax
14001c1f2:	33 41 08             	xor    0x8(%rcx),%eax
14001c1f5:	83 e0 04             	and    $0x4,%eax
14001c1f8:	31 41 08             	xor    %eax,0x8(%rcx)
14001c1fb:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c1ff:	48 8b 03             	mov    (%rbx),%rax
14001c202:	48 c1 e8 0b          	shr    $0xb,%rax
14001c206:	03 c0                	add    %eax,%eax
14001c208:	f7 d0                	not    %eax
14001c20a:	33 41 08             	xor    0x8(%rcx),%eax
14001c20d:	83 e0 02             	and    $0x2,%eax
14001c210:	31 41 08             	xor    %eax,0x8(%rcx)
14001c213:	8b 03                	mov    (%rbx),%eax
14001c215:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c219:	48 c1 e8 0c          	shr    $0xc,%rax
14001c21d:	f7 d0                	not    %eax
14001c21f:	33 41 08             	xor    0x8(%rcx),%eax
14001c222:	83 e0 01             	and    $0x1,%eax
14001c225:	31 41 08             	xor    %eax,0x8(%rcx)
14001c228:	e8 df 02 00 00       	call   0x14001c50c
14001c22d:	48 8b d0             	mov    %rax,%rdx
14001c230:	a8 01                	test   $0x1,%al
14001c232:	74 08                	je     0x14001c23c
14001c234:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c238:	83 49 0c 10          	orl    $0x10,0xc(%rcx)
14001c23c:	f6 c2 04             	test   $0x4,%dl
14001c23f:	74 08                	je     0x14001c249
14001c241:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14001c245:	83 49 0c 08          	orl    $0x8,0xc(%rcx)
14001c249:	f6 c2 08             	test   $0x8,%dl
14001c24c:	74 08                	je     0x14001c256
14001c24e:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c252:	83 48 0c 04          	orl    $0x4,0xc(%rax)
14001c256:	f6 c2 10             	test   $0x10,%dl
14001c259:	74 08                	je     0x14001c263
14001c25b:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c25f:	83 48 0c 02          	orl    $0x2,0xc(%rax)
14001c263:	f6 c2 20             	test   $0x20,%dl
14001c266:	74 08                	je     0x14001c270
14001c268:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c26c:	83 48 0c 01          	orl    $0x1,0xc(%rax)
14001c270:	8b 03                	mov    (%rbx),%eax
14001c272:	b9 00 60 00 00       	mov    $0x6000,%ecx
14001c277:	48 23 c1             	and    %rcx,%rax
14001c27a:	74 3e                	je     0x14001c2ba
14001c27c:	48 3d 00 20 00 00    	cmp    $0x2000,%rax
14001c282:	74 26                	je     0x14001c2aa
14001c284:	48 3d 00 40 00 00    	cmp    $0x4000,%rax
14001c28a:	74 0e                	je     0x14001c29a
14001c28c:	48 3b c1             	cmp    %rcx,%rax
14001c28f:	75 30                	jne    0x14001c2c1
14001c291:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c295:	83 08 03             	orl    $0x3,(%rax)
14001c298:	eb 27                	jmp    0x14001c2c1
14001c29a:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c29e:	83 20 fe             	andl   $0xfffffffe,(%rax)
14001c2a1:	48 8b 45 10          	mov    0x10(%rbp),%rax
14001c2a5:	83 08 02             	orl    $0x2,(%rax)
14001c2a8:	eb 17                	jmp    0x14001c2c1
14001c2aa:	48 8b 45 10          	mov    0x10(%rbp),%rax