4015d2:	09 d7                	or     %edx,%edi
4015d4:	8d 8c 29 14 43 01 a3 	lea    -0x5cfebcec(%ecx,%ebp,1),%ecx
4015db:	31 c7                	xor    %eax,%edi
4015dd:	8b 6e 34             	mov    0x34(%esi),%ebp
4015e0:	01 f9                	add    %edi,%ecx
4015e2:	bf ff ff ff ff       	mov    $0xffffffff,%edi
4015e7:	c1 c1 0f             	rol    $0xf,%ecx
4015ea:	31 c7                	xor    %eax,%edi
4015ec:	01 d1                	add    %edx,%ecx
4015ee:	09 cf                	or     %ecx,%edi
4015f0:	8d 9c 2b a1 11 08 4e 	lea    0x4e0811a1(%ebx,%ebp,1),%ebx
4015f7:	31 d7                	xor    %edx,%edi
4015f9:	8b 6e 10             	mov    0x10(%esi),%ebp
4015fc:	01 fb                	add    %edi,%ebx
4015fe:	bf ff ff ff ff       	mov    $0xffffffff,%edi
401603:	c1 c3 15             	rol    $0x15,%ebx
401606:	31 d7                	xor    %edx,%edi
401608:	01 cb                	add    %ecx,%ebx
40160a:	09 df                	or     %ebx,%edi
40160c:	8d 84 28 82 7e 53 f7 	lea    -0x8ac817e(%eax,%ebp,1),%eax
401613:	31 cf                	xor    %ecx,%edi
401615:	8b 6e 2c             	mov    0x2c(%esi),%ebp
401618:	01 f8                	add    %edi,%eax
40161a:	bf ff ff ff ff       	mov    $0xffffffff,%edi
40161f:	c1 c0 06             	rol    $0x6,%eax
401622:	31 cf                	xor    %ecx,%edi
401624:	01 d8                	add    %ebx,%eax
401626:	09 c7                	or     %eax,%edi
401628:	8d 94 2a 35 f2 3a bd 	lea    -0x42c50dcb(%edx,%ebp,1),%edx
40162f:	31 df                	xor    %ebx,%edi
401631:	8b 6e 08             	mov    0x8(%esi),%ebp
401634:	01 fa                	add    %edi,%edx
401636:	bf ff ff ff ff       	mov    $0xffffffff,%edi
40163b:	c1 c2 0a             	rol    $0xa,%edx
40163e:	31 df                	xor    %ebx,%edi
401640:	01 c2                	add    %eax,%edx
401642:	09 d7                	or     %edx,%edi
401644:	8d 8c 29 bb d2 d7 2a 	lea    0x2ad7d2bb(%ecx,%ebp,1),%ecx
40164b:	31 c7                	xor    %eax,%edi
40164d:	8b 6e 24             	mov    0x24(%esi),%ebp
401650:	01 f9                	add    %edi,%ecx
401652:	bf ff ff ff ff       	mov    $0xffffffff,%edi
401657:	c1 c1 0f             	rol    $0xf,%ecx
40165a:	31 c7                	xor    %eax,%edi
40165c:	01 d1                	add    %edx,%ecx
40165e:	09 cf                	or     %ecx,%edi
401660:	8d 9c 2b 91 d3 86 eb 	lea    -0x14792c6f(%ebx,%ebp,1),%ebx
401667:	31 d7                	xor    %edx,%edi
401669:	8b 6c 24 18          	mov    0x18(%esp),%ebp
40166d:	01 fb                	add    %edi,%ebx
40166f:	83 c6 40             	add    $0x40,%esi
401672:	c1 c3 15             	rol    $0x15,%ebx
401675:	8b 7d 00             	mov    0x0(%ebp),%edi
401678:	01 cb                	add    %ecx,%ebx
40167a:	01 f8                	add    %edi,%eax
40167c:	8b 7d 04             	mov    0x4(%ebp),%edi
40167f:	01 fb                	add    %edi,%ebx
401681:	8b 7d 08             	mov    0x8(%ebp),%edi
401684:	01 f9                	add    %edi,%ecx
401686:	8b 7d 0c             	mov    0xc(%ebp),%edi
401689:	01 fa                	add    %edi,%edx
40168b:	89 45 00             	mov    %eax,0x0(%ebp)
40168e:	89 5d 04             	mov    %ebx,0x4(%ebp)
401691:	8b 3c 24             	mov    (%esp),%edi
401694:	89 4d 08             	mov    %ecx,0x8(%ebp)
401697:	89 55 0c             	mov    %edx,0xc(%ebp)
40169a:	39 f7                	cmp    %esi,%edi
40169c:	0f 83 82 f9 ff ff    	jae    0x401024
4016a2:	58                   	pop    %eax
4016a3:	5b                   	pop    %ebx
4016a4:	5d                   	pop    %ebp
4016a5:	5f                   	pop    %edi
4016a6:	5e                   	pop    %esi
4016a7:	c3                   	ret
4016a8:	cc                   	int3
4016a9:	cc                   	int3
4016aa:	cc                   	int3
4016ab:	cc                   	int3
4016ac:	cc                   	int3
4016ad:	cc                   	int3
4016ae:	cc                   	int3
4016af:	cc                   	int3
4016b0:	cc                   	int3
4016b1:	cc                   	int3
4016b2:	cc                   	int3
4016b3:	cc                   	int3
4016b4:	cc                   	int3
4016b5:	cc                   	int3
4016b6:	cc                   	int3
4016b7:	cc                   	int3
4016b8:	cc                   	int3
4016b9:	cc                   	int3
4016ba:	cc                   	int3
4016bb:	cc                   	int3
4016bc:	cc                   	int3
4016bd:	cc                   	int3
4016be:	cc                   	int3
4016bf:	cc                   	int3
4016c0:	55                   	push   %ebp
4016c1:	53                   	push   %ebx
4016c2:	56                   	push   %esi
4016c3:	57                   	push   %edi
4016c4:	31 d2                	xor    %edx,%edx
4016c6:	9c                   	pushf
4016c7:	58                   	pop    %eax
4016c8:	89 c1                	mov    %eax,%ecx
4016ca:	35 00 00 20 00       	xor    $0x200000,%eax
4016cf:	50                   	push   %eax
4016d0:	9d                   	popf
4016d1:	9c                   	pushf
4016d2:	58                   	pop    %eax
4016d3:	31 c1                	xor    %eax,%ecx
4016d5:	31 c0                	xor    %eax,%eax
4016d7:	8b 74 24 14          	mov    0x14(%esp),%esi
4016db:	89 46 08             	mov    %eax,0x8(%esi)
4016de:	0f ba e1 15          	bt     $0x15,%ecx
4016e2:	0f 83 aa 01 00 00    	jae    0x401892
4016e8:	0f a2                	cpuid
4016ea:	89 c7                	mov    %eax,%edi
4016ec:	31 c0                	xor    %eax,%eax
4016ee:	81 fb 47 65 6e 75    	cmp    $0x756e6547,%ebx
4016f4:	0f 95 c0             	setne  %al
4016f7:	89 c5                	mov    %eax,%ebp
4016f9:	81 fa 69 6e 65 49    	cmp    $0x49656e69,%edx
4016ff:	0f 95 c0             	setne  %al
401702:	09 c5                	or     %eax,%ebp
401704:	81 f9 6e 74 65 6c    	cmp    $0x6c65746e,%ecx
40170a:	0f 95 c0             	setne  %al
40170d:	09 c5                	or     %eax,%ebp
40170f:	0f 84 90 00 00 00    	je     0x4017a5
401715:	81 fb 41 75 74 68    	cmp    $0x68747541,%ebx
40171b:	0f 95 c0             	setne  %al
40171e:	89 c6                	mov    %eax,%esi
401720:	81 fa 65 6e 74 69    	cmp    $0x69746e65,%edx
401726:	0f 95 c0             	setne  %al
401729:	09 c6                	or     %eax,%esi
40172b:	81 f9 63 41 4d 44    	cmp    $0x444d4163,%ecx
401731:	0f 95 c0             	setne  %al
401734:	09 c6                	or     %eax,%esi
401736:	0f 85 69 00 00 00    	jne    0x4017a5
40173c:	b8 00 00 00 80       	mov    $0x80000000,%eax
401741:	0f a2                	cpuid
401743:	3d 01 00 00 80       	cmp    $0x80000001,%eax
401748:	0f 82 57 00 00 00    	jb     0x4017a5
40174e:	89 c6                	mov    %eax,%esi
401750:	b8 01 00 00 80       	mov    $0x80000001,%eax
401755:	0f a2                	cpuid
401757:	09 cd                	or     %ecx,%ebp
401759:	81 e5 01 08 00 00    	and    $0x801,%ebp
40175f:	81 fe 08 00 00 80    	cmp    $0x80000008,%esi
401765:	0f 82 3a 00 00 00    	jb     0x4017a5
40176b:	b8 08 00 00 80       	mov    $0x80000008,%eax
401770:	0f a2                	cpuid
401772:	0f b6 f1             	movzbl %cl,%esi
401775:	46                   	inc    %esi
401776:	b8 01 00 00 00       	mov    $0x1,%eax
40177b:	31 c9                	xor    %ecx,%ecx
40177d:	0f a2                	cpuid
40177f:	0f ba e2 1c          	bt     $0x1c,%edx
401783:	0f 83 a2 00 00 00    	jae    0x40182b
401789:	c1 eb 10             	shr    $0x10,%ebx
40178c:	81 e3 ff 00 00 00    	and    $0xff,%ebx
401792:	39 f3                	cmp    %esi,%ebx
401794:	0f 87 91 00 00 00    	ja     0x40182b
40179a:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
4017a0:	e9 86 00 00 00       	jmp    0x40182b
4017a5:	83 ff 04             	cmp    $0x4,%edi
4017a8:	be ff ff ff ff       	mov    $0xffffffff,%esi
4017ad:	0f 82 17 00 00 00    	jb     0x4017ca
4017b3:	b8 04 00 00 00       	mov    $0x4,%eax
4017b8:	b9 00 00 00 00       	mov    $0x0,%ecx
4017bd:	0f a2                	cpuid
4017bf:	89 c6                	mov    %eax,%esi
4017c1:	c1 ee 0e             	shr    $0xe,%esi
4017c4:	81 e6 ff 0f 00 00    	and    $0xfff,%esi
4017ca:	b8 01 00 00 00       	mov    $0x1,%eax
4017cf:	31 c9                	xor    %ecx,%ecx
4017d1:	0f a2                	cpuid
4017d3:	81 e2 ff ff ef bf    	and    $0xbfefffff,%edx
4017d9:	83 fd 00             	cmp    $0x0,%ebp
4017dc:	0f 85 18 00 00 00    	jne    0x4017fa
4017e2:	81 ca 00 00 00 40    	or     $0x40000000,%edx
4017e8:	80 e4 0f             	and    $0xf,%ah
4017eb:	80 fc 0f             	cmp    $0xf,%ah
4017ee:	0f 85 06 00 00 00    	jne    0x4017fa
4017f4:	81 ca 00 00 10 00    	or     $0x100000,%edx
4017fa:	0f ba e2 1c          	bt     $0x1c,%edx
4017fe:	0f 83 27 00 00 00    	jae    0x40182b
401804:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
40180a:	83 fe 00             	cmp    $0x0,%esi
40180d:	0f 84 18 00 00 00    	je     0x40182b
401813:	81 ca 00 00 00 10    	or     $0x10000000,%edx
401819:	c1 eb 10             	shr    $0x10,%ebx
40181c:	80 fb 01             	cmp    $0x1,%bl
40181f:	0f 87 06 00 00 00    	ja     0x40182b
401825:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
40182b:	81 e5 00 08 00 00    	and    $0x800,%ebp
401831:	81 e1 ff f7 ff ff    	and    $0xfffff7ff,%ecx
401837:	89 d6                	mov    %edx,%esi
401839:	09 cd                	or     %ecx,%ebp
40183b:	83 ff 07             	cmp    $0x7,%edi
40183e:	8b 7c 24 14          	mov    0x14(%esp),%edi
401842:	0f 82 0c 00 00 00    	jb     0x401854
401848:	b8 07 00 00 00       	mov    $0x7,%eax
40184d:	31 c9                	xor    %ecx,%ecx
40184f:	0f a2                	cpuid
401851:	89 5f 08             	mov    %ebx,0x8(%edi)
401854:	0f ba e5 1b          	bt     $0x1b,%ebp
401858:	0f 83 26 00 00 00    	jae    0x401884
40185e:	31 c9                	xor    %ecx,%ecx
401860:	0f 01 d0             	xgetbv
401863:	83 e0 06             	and    $0x6,%eax
401866:	83 f8 06             	cmp    $0x6,%eax
401869:	0f 84 1f 00 00 00    	je     0x40188e
40186f:	83 f8 02             	cmp    $0x2,%eax
401872:	0f 84 0c 00 00 00    	je     0x401884
401878:	81 e5 fd ff ff fd    	and    $0xfdfffffd,%ebp
40187e:	81 e6 ff ff ff fe    	and    $0xfeffffff,%esi
401884:	81 e5 ff e7 ff ef    	and    $0xefffe7ff,%ebp
40188a:	83 67 08 df          	andl   $0xffffffdf,0x8(%edi)
40188e:	89 f0                	mov    %esi,%eax
401890:	89 ea                	mov    %ebp,%edx
401892:	5f                   	pop    %edi
401893:	5e                   	pop    %esi
401894:	5b                   	pop    %ebx
401895:	5d                   	pop    %ebp
401896:	c3                   	ret
401897:	90                   	nop
401898:	90                   	nop
401899:	90                   	nop
40189a:	90                   	nop
40189b:	90                   	nop
40189c:	90                   	nop
40189d:	90                   	nop
40189e:	90                   	nop
40189f:	90                   	nop
4018a0:	31 c0                	xor    %eax,%eax
4018a2:	31 d2                	xor    %edx,%edx
4018a4:	8d 0d a0 73 71 00    	lea    0x7173a0,%ecx
4018aa:	0f ba 21 04          	btl    $0x4,(%ecx)
4018ae:	0f 83 02 00 00 00    	jae    0x4018b6
4018b4:	0f 31                	rdtsc
4018b6:	c3                   	ret
4018b7:	90                   	nop
4018b8:	90                   	nop
4018b9:	90                   	nop
4018ba:	90                   	nop
4018bb:	90                   	nop
4018bc:	90                   	nop
4018bd:	90                   	nop
4018be:	90                   	nop
4018bf:	90                   	nop
4018c0:	8d 0d a0 73 71 00    	lea    0x7173a0,%ecx
4018c6:	0f ba 21 04          	btl    $0x4,(%ecx)
4018ca:	0f 83 2b 00 00 00    	jae    0x4018fb
4018d0:	0e                   	push   %cs
4018d1:	90                   	nop
4018d2:	58                   	pop    %eax
4018d3:	90                   	nop
4018d4:	83 e0 03             	and    $0x3,%eax
4018d7:	0f 85 1e 00 00 00    	jne    0x4018fb
4018dd:	9c                   	pushf
4018de:	58                   	pop    %eax
4018df:	0f ba e0 09          	bt     $0x9,%eax
4018e3:	0f 83 12 00 00 00    	jae    0x4018fb
4018e9:	0f 31                	rdtsc
4018eb:	52                   	push   %edx
4018ec:	50                   	push   %eax
4018ed:	f4                   	hlt
4018ee:	0f 31                	rdtsc
4018f0:	2b 04 24             	sub    (%esp),%eax
4018f3:	1b 54 24 04          	sbb    0x4(%esp),%edx
4018f7:	83 c4 08             	add    $0x8,%esp
4018fa:	c3                   	ret
4018fb:	31 c0                	xor    %eax,%eax
4018fd:	31 d2                	xor    %edx,%edx
4018ff:	c3                   	ret
401900:	9c                   	pushf
401901:	58                   	pop    %eax
401902:	0f ba e0 09          	bt     $0x9,%eax
401906:	0f 83 32 00 00 00    	jae    0x40193e
40190c:	8b 44 24 04          	mov    0x4(%esp),%eax
401910:	8b 4c 24 08          	mov    0x8(%esp),%ecx
401914:	1e                   	push   %ds
401915:	8e d8                	mov    %eax,%ds
401917:	90                   	nop
401918:	31 c0                	xor    %eax,%eax
40191a:	8b 11                	mov    (%ecx),%edx
40191c:	e9 0f 00 00 00       	jmp    0x401930
401921:	90                   	nop
401922:	90                   	nop
401923:	90                   	nop
401924:	90                   	nop
401925:	90                   	nop
401926:	90                   	nop
401927:	90                   	nop
401928:	90                   	nop
401929:	90                   	nop
40192a:	90                   	nop
40192b:	90                   	nop
40192c:	90                   	nop
40192d:	90                   	nop
40192e:	90                   	nop
40192f:	90                   	nop
401930:	40                   	inc    %eax
401931:	3b 11                	cmp    (%ecx),%edx
401933:	0f 84 f7 ff ff ff    	je     0x401930
401939:	90                   	nop
40193a:	90                   	nop
40193b:	90                   	nop
40193c:	1f                   	pop    %ds
40193d:	c3                   	ret
40193e:	31 c0                	xor    %eax,%eax
401940:	31 d2                	xor    %edx,%edx
401942:	c3                   	ret
401943:	90                   	nop
401944:	90                   	nop
401945:	90                   	nop
401946:	90                   	nop
401947:	90                   	nop
401948:	90                   	nop
401949:	90                   	nop
40194a:	90                   	nop
40194b:	90                   	nop
40194c:	90                   	nop
40194d:	90                   	nop
40194e:	90                   	nop
40194f:	90                   	nop
401950:	31 c0                	xor    %eax,%eax
401952:	31 d2                	xor    %edx,%edx
401954:	8d 0d a0 73 71 00    	lea    0x7173a0,%ecx
40195a:	8b 09                	mov    (%ecx),%ecx
40195c:	0f ba 21 01          	btl    $0x1,(%ecx)
401960:	0f 83 46 00 00 00    	jae    0x4019ac
401966:	81 e1 00 00 00 05    	and    $0x5000000,%ecx
40196c:	81 f9 00 00 00 05    	cmp    $0x5000000,%ecx
401972:	0f 85 20 00 00 00    	jne    0x401998
401978:	66 0f ef c0          	pxor   %xmm0,%xmm0
40197c:	66 0f ef c9          	pxor   %xmm1,%xmm1
401980:	66 0f ef d2          	pxor   %xmm2,%xmm2
401984:	66 0f ef db          	pxor   %xmm3,%xmm3
401988:	66 0f ef e4          	pxor   %xmm4,%xmm4
40198c:	66 0f ef ed          	pxor   %xmm5,%xmm5
401990:	66 0f ef f6          	pxor   %xmm6,%xmm6
401994:	66 0f ef ff          	pxor   %xmm7,%xmm7
401998:	d9 ee                	fldz
40199a:	d9 ee                	fldz
40199c:	d9 ee                	fldz
40199e:	d9 ee                	fldz
4019a0:	d9 ee                	fldz