140002103:	31 c0                	xor    %eax,%eax
140002105:	48 89 47 08          	mov    %rax,0x8(%rdi)
140002109:	0f a2                	cpuid
14000210b:	41 89 c3             	mov    %eax,%r11d
14000210e:	31 c0                	xor    %eax,%eax
140002110:	81 fb 47 65 6e 75    	cmp    $0x756e6547,%ebx
140002116:	0f 95 c0             	setne  %al
140002119:	41 89 c1             	mov    %eax,%r9d
14000211c:	81 fa 69 6e 65 49    	cmp    $0x49656e69,%edx
140002122:	0f 95 c0             	setne  %al
140002125:	41 09 c1             	or     %eax,%r9d
140002128:	81 f9 6e 74 65 6c    	cmp    $0x6c65746e,%ecx
14000212e:	0f 95 c0             	setne  %al
140002131:	41 09 c1             	or     %eax,%r9d
140002134:	0f 84 87 00 00 00    	je     0x1400021c1
14000213a:	81 fb 41 75 74 68    	cmp    $0x68747541,%ebx
140002140:	0f 95 c0             	setne  %al
140002143:	41 89 c2             	mov    %eax,%r10d
140002146:	81 fa 65 6e 74 69    	cmp    $0x69746e65,%edx
14000214c:	0f 95 c0             	setne  %al
14000214f:	41 09 c2             	or     %eax,%r10d
140002152:	81 f9 63 41 4d 44    	cmp    $0x444d4163,%ecx
140002158:	0f 95 c0             	setne  %al
14000215b:	41 09 c2             	or     %eax,%r10d
14000215e:	75 61                	jne    0x1400021c1
140002160:	b8 00 00 00 80       	mov    $0x80000000,%eax
140002165:	0f a2                	cpuid
140002167:	3d 01 00 00 80       	cmp    $0x80000001,%eax
14000216c:	72 53                	jb     0x1400021c1
14000216e:	41 89 c2             	mov    %eax,%r10d
140002171:	b8 01 00 00 80       	mov    $0x80000001,%eax
140002176:	0f a2                	cpuid
140002178:	41 09 c9             	or     %ecx,%r9d
14000217b:	41 81 e1 01 08 00 00 	and    $0x801,%r9d
140002182:	41 81 fa 08 00 00 80 	cmp    $0x80000008,%r10d
140002189:	72 36                	jb     0x1400021c1
14000218b:	b8 08 00 00 80       	mov    $0x80000008,%eax
140002190:	0f a2                	cpuid
140002192:	4c 0f b6 d1          	movzbq %cl,%r10
140002196:	49 ff c2             	inc    %r10
140002199:	b8 01 00 00 00       	mov    $0x1,%eax
14000219e:	0f a2                	cpuid
1400021a0:	0f ba e2 1c          	bt     $0x1c,%edx
1400021a4:	0f 83 ac 00 00 00    	jae    0x140002256
1400021aa:	c1 eb 10             	shr    $0x10,%ebx
1400021ad:	44 38 d3             	cmp    %r10b,%bl
1400021b0:	0f 87 a0 00 00 00    	ja     0x140002256
1400021b6:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
1400021bc:	e9 95 00 00 00       	jmp    0x140002256
1400021c1:	41 83 fb 04          	cmp    $0x4,%r11d
1400021c5:	41 ba ff ff ff ff    	mov    $0xffffffff,%r10d
1400021cb:	72 1a                	jb     0x1400021e7
1400021cd:	b8 04 00 00 00       	mov    $0x4,%eax
1400021d2:	b9 00 00 00 00       	mov    $0x0,%ecx
1400021d7:	0f a2                	cpuid
1400021d9:	41 89 c2             	mov    %eax,%r10d
1400021dc:	41 c1 ea 0e          	shr    $0xe,%r10d
1400021e0:	41 81 e2 ff 0f 00 00 	and    $0xfff,%r10d
1400021e7:	b8 01 00 00 00       	mov    $0x1,%eax
1400021ec:	0f a2                	cpuid
1400021ee:	66 0f 6e c0          	movd   %eax,%xmm0
1400021f2:	81 e2 ff ff ef bf    	and    $0xbfefffff,%edx
1400021f8:	41 83 f9 00          	cmp    $0x0,%r9d
1400021fc:	75 32                	jne    0x140002230
1400021fe:	81 ca 00 00 00 40    	or     $0x40000000,%edx
140002204:	80 e4 0f             	and    $0xf,%ah
140002207:	80 fc 0f             	cmp    $0xf,%ah
14000220a:	75 06                	jne    0x140002212
14000220c:	81 ca 00 00 10 00    	or     $0x100000,%edx
140002212:	80 fc 06             	cmp    $0x6,%ah
140002215:	75 19                	jne    0x140002230
140002217:	25 f0 0f ff 0f       	and    $0xfff0ff0,%eax
14000221c:	3d 70 06 05 00       	cmp    $0x50670,%eax
140002221:	74 07                	je     0x14000222a
140002223:	3d 50 06 08 00       	cmp    $0x80650,%eax
140002228:	75 06                	jne    0x140002230
14000222a:	81 e1 ff ff ff fb    	and    $0xfbffffff,%ecx
140002230:	0f ba e2 1c          	bt     $0x1c,%edx
140002234:	73 20                	jae    0x140002256
140002236:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
14000223c:	41 83 fa 00          	cmp    $0x0,%r10d
140002240:	74 14                	je     0x140002256
140002242:	81 ca 00 00 00 10    	or     $0x10000000,%edx
140002248:	c1 eb 10             	shr    $0x10,%ebx
14000224b:	80 fb 01             	cmp    $0x1,%bl
14000224e:	77 06                	ja     0x140002256
140002250:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
140002256:	41 81 e1 00 08 00 00 	and    $0x800,%r9d
14000225d:	81 e1 ff f7 ff ff    	and    $0xfffff7ff,%ecx
140002263:	41 09 c9             	or     %ecx,%r9d
140002266:	41 89 d2             	mov    %edx,%r10d
140002269:	41 83 fb 07          	cmp    $0x7,%r11d
14000226d:	72 32                	jb     0x1400022a1
14000226f:	b8 07 00 00 00       	mov    $0x7,%eax
140002274:	31 c9                	xor    %ecx,%ecx
140002276:	0f a2                	cpuid
140002278:	41 0f ba e1 1a       	bt     $0x1a,%r9d
14000227d:	72 06                	jb     0x140002285
14000227f:	81 e3 ff ff f7 ff    	and    $0xfff7ffff,%ebx
140002285:	66 0f 7e c0          	movd   %xmm0,%eax
140002289:	25 f0 0f ff 0f       	and    $0xfff0ff0,%eax
14000228e:	3d 50 06 05 00       	cmp    $0x50650,%eax
140002293:	75 06                	jne    0x14000229b
140002295:	81 e3 ff ff fe ff    	and    $0xfffeffff,%ebx
14000229b:	89 5f 08             	mov    %ebx,0x8(%rdi)
14000229e:	89 4f 0c             	mov    %ecx,0xc(%rdi)
1400022a1:	41 0f ba e1 1b       	bt     $0x1b,%r9d
1400022a6:	73 20                	jae    0x1400022c8
1400022a8:	31 c9                	xor    %ecx,%ecx
1400022aa:	0f 01 d0             	xgetbv
1400022ad:	25 e6 00 00 00       	and    $0xe6,%eax
1400022b2:	3d e6 00 00 00       	cmp    $0xe6,%eax
1400022b7:	74 1f                	je     0x1400022d8
1400022b9:	81 67 08 ff ff de 3f 	andl   $0x3fdeffff,0x8(%rdi)
1400022c0:	83 e0 06             	and    $0x6,%eax
1400022c3:	83 f8 06             	cmp    $0x6,%eax
1400022c6:	74 10                	je     0x1400022d8
1400022c8:	b8 ff e7 ff ef       	mov    $0xefffe7ff,%eax
1400022cd:	41 21 c1             	and    %eax,%r9d
1400022d0:	b8 df ff de 3f       	mov    $0x3fdeffdf,%eax
1400022d5:	21 47 08             	and    %eax,0x8(%rdi)
1400022d8:	49 c1 e1 20          	shl    $0x20,%r9
1400022dc:	44 89 d0             	mov    %r10d,%eax
1400022df:	4c 89 c3             	mov    %r8,%rbx
1400022e2:	4c 09 c8             	or     %r9,%rax
1400022e5:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
1400022ea:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1400022ef:	f3 c3                	repz ret
1400022f1:	90                   	nop
1400022f2:	90                   	nop
1400022f3:	90                   	nop
1400022f4:	90                   	nop
1400022f5:	90                   	nop
1400022f6:	90                   	nop
1400022f7:	90                   	nop
1400022f8:	90                   	nop
1400022f9:	90                   	nop
1400022fa:	90                   	nop
1400022fb:	90                   	nop
1400022fc:	90                   	nop
1400022fd:	90                   	nop
1400022fe:	90                   	nop
1400022ff:	90                   	nop
140002300:	48 31 c0             	xor    %rax,%rax
140002303:	48 83 fa 0f          	cmp    $0xf,%rdx
140002307:	73 17                	jae    0x140002320
140002309:	48 83 fa 00          	cmp    $0x0,%rdx
14000230d:	74 0c                	je     0x14000231b
14000230f:	88 01                	mov    %al,(%rcx)
140002311:	48 83 ea 01          	sub    $0x1,%rdx
140002315:	48 8d 49 01          	lea    0x1(%rcx),%rcx
140002319:	75 f4                	jne    0x14000230f
14000231b:	f3 c3                	repz ret
14000231d:	90                   	nop
14000231e:	90                   	nop
14000231f:	90                   	nop
140002320:	48 f7 c1 07 00 00 00 	test   $0x7,%rcx
140002327:	74 0c                	je     0x140002335
140002329:	88 01                	mov    %al,(%rcx)
14000232b:	48 8d 52 ff          	lea    -0x1(%rdx),%rdx
14000232f:	48 8d 49 01          	lea    0x1(%rcx),%rcx
140002333:	eb eb                	jmp    0x140002320
140002335:	48 89 01             	mov    %rax,(%rcx)
140002338:	48 8d 52 f8          	lea    -0x8(%rdx),%rdx
14000233c:	48 f7 c2 f8 ff ff ff 	test   $0xfffffffffffffff8,%rdx
140002343:	48 8d 49 08          	lea    0x8(%rcx),%rcx
140002347:	75 ec                	jne    0x140002335
140002349:	48 83 fa 00          	cmp    $0x0,%rdx
14000234d:	75 c0                	jne    0x14000230f
14000234f:	f3 c3                	repz ret
140002351:	90                   	nop
140002352:	90                   	nop
140002353:	90                   	nop
140002354:	90                   	nop
140002355:	90                   	nop
140002356:	90                   	nop
140002357:	90                   	nop
140002358:	90                   	nop
140002359:	90                   	nop
14000235a:	90                   	nop
14000235b:	90                   	nop
14000235c:	90                   	nop
14000235d:	90                   	nop
14000235e:	90                   	nop
14000235f:	90                   	nop
140002360:	48 31 c0             	xor    %rax,%rax
140002363:	4d 31 d2             	xor    %r10,%r10
140002366:	49 83 f8 00          	cmp    $0x0,%r8
14000236a:	74 41                	je     0x1400023ad
14000236c:	49 83 f8 10          	cmp    $0x10,%r8
140002370:	75 1e                	jne    0x140002390
140002372:	4c 8b 11             	mov    (%rcx),%r10
140002375:	4c 8b 59 08          	mov    0x8(%rcx),%r11
140002379:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14000237f:	4c 33 12             	xor    (%rdx),%r10
140002382:	4c 33 5a 08          	xor    0x8(%rdx),%r11
140002386:	4d 09 da             	or     %r11,%r10
140002389:	49 0f 45 c0          	cmovne %r8,%rax
14000238d:	f3 c3                	repz ret
14000238f:	90                   	nop
140002390:	44 8a 11             	mov    (%rcx),%r10b
140002393:	48 8d 49 01          	lea    0x1(%rcx),%rcx
140002397:	44 32 12             	xor    (%rdx),%r10b
14000239a:	48 8d 52 01          	lea    0x1(%rdx),%rdx
14000239e:	44 08 d0             	or     %r10b,%al
1400023a1:	49 ff c8             	dec    %r8
1400023a4:	75 ea                	jne    0x140002390
1400023a6:	48 f7 d8             	neg    %rax
1400023a9:	48 c1 e8 3f          	shr    $0x3f,%rax
1400023ad:	f3 c3                	repz ret
1400023af:	90                   	nop
1400023b0:	66 0f ef c0          	pxor   %xmm0,%xmm0
1400023b4:	66 0f ef c9          	pxor   %xmm1,%xmm1
1400023b8:	66 0f ef d2          	pxor   %xmm2,%xmm2
1400023bc:	66 0f ef db          	pxor   %xmm3,%xmm3
1400023c0:	66 0f ef e4          	pxor   %xmm4,%xmm4
1400023c4:	66 0f ef ed          	pxor   %xmm5,%xmm5
1400023c8:	48 31 c9             	xor    %rcx,%rcx
1400023cb:	48 31 d2             	xor    %rdx,%rdx
1400023ce:	4d 31 c0             	xor    %r8,%r8
1400023d1:	4d 31 c9             	xor    %r9,%r9
1400023d4:	4d 31 d2             	xor    %r10,%r10
1400023d7:	4d 31 db             	xor    %r11,%r11
1400023da:	48 8d 44 24 08       	lea    0x8(%rsp),%rax
1400023df:	f3 c3                	repz ret
1400023e1:	90                   	nop
1400023e2:	90                   	nop
1400023e3:	90                   	nop
1400023e4:	90                   	nop
1400023e5:	90                   	nop
1400023e6:	90                   	nop
1400023e7:	90                   	nop
1400023e8:	90                   	nop
1400023e9:	90                   	nop
1400023ea:	90                   	nop
1400023eb:	90                   	nop
1400023ec:	90                   	nop
1400023ed:	90                   	nop
1400023ee:	90                   	nop
1400023ef:	90                   	nop
1400023f0:	49 89 ca             	mov    %rcx,%r10
1400023f3:	48 89 d1             	mov    %rdx,%rcx
1400023f6:	49 89 d3             	mov    %rdx,%r11
1400023f9:	0f 31                	rdtsc
1400023fb:	41 89 c0             	mov    %eax,%r8d
1400023fe:	41 b9 00 00 00 00    	mov    $0x0,%r9d
140002404:	41 0f ae 3a          	clflush (%r10)
140002408:	f0 45 01 0a          	lock add %r9d,(%r10)
14000240c:	eb 02                	jmp    0x140002410
14000240e:	90                   	nop
14000240f:	90                   	nop
140002410:	0f 31                	rdtsc
140002412:	89 c2                	mov    %eax,%edx
140002414:	44 29 c0             	sub    %r8d,%eax
140002417:	41 89 d0             	mov    %edx,%r8d
14000241a:	41 89 c1             	mov    %eax,%r9d
14000241d:	41 0f ae 3a          	clflush (%r10)
140002421:	f0 41 01 02          	lock add %eax,(%r10)
140002425:	4d 8d 52 04          	lea    0x4(%r10),%r10
140002429:	48 83 e9 01          	sub    $0x1,%rcx
14000242d:	75 e1                	jne    0x140002410
14000242f:	4c 89 d8             	mov    %r11,%rax
140002432:	f3 c3                	repz ret
140002434:	90                   	nop
140002435:	90                   	nop
140002436:	90                   	nop
140002437:	90                   	nop
140002438:	90                   	nop
140002439:	90                   	nop
14000243a:	90                   	nop
14000243b:	90                   	nop
14000243c:	90                   	nop
14000243d:	90                   	nop
14000243e:	90                   	nop
14000243f:	90                   	nop
140002440:	49 89 ca             	mov    %rcx,%r10
140002443:	48 89 d1             	mov    %rdx,%rcx
140002446:	4d 89 c3             	mov    %r8,%r11
140002449:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14000244e:	0f 31                	rdtsc
140002450:	41 89 c0             	mov    %eax,%r8d
140002453:	41 b9 00 00 00 00    	mov    $0x0,%r9d
140002459:	41 0f ae 3a          	clflush (%r10)
14000245d:	f0 45 01 0a          	lock add %r9d,(%r10)
140002461:	0f 31                	rdtsc
140002463:	89 c2                	mov    %eax,%edx
140002465:	44 29 c0             	sub    %r8d,%eax
140002468:	41 89 d0             	mov    %edx,%r8d
14000246b:	41 89 c1             	mov    %eax,%r9d
14000246e:	41 0f ae 3a          	clflush (%r10)
140002472:	f0 41 01 02          	lock add %eax,(%r10)
140002476:	49 83 eb 01          	sub    $0x1,%r11
14000247a:	74 21                	je     0x14000249d
14000247c:	0f 31                	rdtsc
14000247e:	89 c2                	mov    %eax,%edx
140002480:	44 29 c0             	sub    %r8d,%eax
140002483:	41 89 d0             	mov    %edx,%r8d
140002486:	44 39 c8             	cmp    %r9d,%eax
140002489:	41 89 c1             	mov    %eax,%r9d
14000248c:	ba 00 00 00 00       	mov    $0x0,%edx
140002491:	0f 95 c2             	setne  %dl
140002494:	48 29 d1             	sub    %rdx,%rcx
140002497:	4d 8d 14 92          	lea    (%r10,%rdx,4),%r10
14000249b:	75 d1                	jne    0x14000246e
14000249d:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
1400024a2:	48 29 c8             	sub    %rcx,%rax
1400024a5:	f3 c3                	repz ret
1400024a7:	90                   	nop
1400024a8:	90                   	nop
1400024a9:	90                   	nop
1400024aa:	90                   	nop
1400024ab:	90                   	nop
1400024ac:	90                   	nop
1400024ad:	90                   	nop
1400024ae:	90                   	nop
1400024af:	90                   	nop
1400024b0:	48 31 c0             	xor    %rax,%rax
1400024b3:	48 83 fa 00          	cmp    $0x0,%rdx
1400024b7:	74 4a                	je     0x140002503
1400024b9:	41 bb 08 00 00 00    	mov    $0x8,%r11d
1400024bf:	49 0f c7 f2          	rdrand %r10
1400024c3:	72 0b                	jb     0x1400024d0
1400024c5:	49 ff cb             	dec    %r11
1400024c8:	75 f5                	jne    0x1400024bf
1400024ca:	eb 37                	jmp    0x140002503
1400024cc:	90                   	nop
1400024cd:	90                   	nop
1400024ce:	90                   	nop
1400024cf:	90                   	nop
1400024d0:	48 83 fa 08          	cmp    $0x8,%rdx
1400024d4:	72 1a                	jb     0x1400024f0
1400024d6:	4c 89 11             	mov    %r10,(%rcx)
1400024d9:	48 8d 49 08          	lea    0x8(%rcx),%rcx
1400024dd:	48 83 c0 08          	add    $0x8,%rax
1400024e1:	48 83 ea 08          	sub    $0x8,%rdx
1400024e5:	74 1c                	je     0x140002503
1400024e7:	41 bb 08 00 00 00    	mov    $0x8,%r11d
1400024ed:	eb d0                	jmp    0x1400024bf
1400024ef:	90                   	nop
1400024f0:	44 88 11             	mov    %r10b,(%rcx)
1400024f3:	48 8d 49 01          	lea    0x1(%rcx),%rcx
1400024f7:	48 ff c0             	inc    %rax
1400024fa:	49 c1 ea 08          	shr    $0x8,%r10
1400024fe:	48 ff ca             	dec    %rdx
140002501:	75 ed                	jne    0x1400024f0
140002503:	4d 31 d2             	xor    %r10,%r10
140002506:	f3 c3                	repz ret
140002508:	90                   	nop
140002509:	90                   	nop
14000250a:	90                   	nop