41f883:	52                   	push   %edx
41f884:	6a 00                	push   $0x0
41f886:	51                   	push   %ecx
41f887:	e8 7e ff ff ff       	call   0x41f80a
41f88c:	83 c4 0c             	add    $0xc,%esp
41f88f:	8b 45 08             	mov    0x8(%ebp),%eax
41f892:	8b 7d fc             	mov    -0x4(%ebp),%edi
41f895:	8b e5                	mov    %ebp,%esp
41f897:	5d                   	pop    %ebp
41f898:	c3                   	ret
41f899:	6a 0c                	push   $0xc
41f89b:	68 10 d9 42 00       	push   $0x42d910
41f8a0:	e8 e7 fc ff ff       	call   0x41f58c
41f8a5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41f8a9:	66 0f 28 c1          	movapd %xmm1,%xmm0
41f8ad:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
41f8b4:	eb 23                	jmp    0x41f8d9
41f8b6:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f8b9:	8b 00                	mov    (%eax),%eax
41f8bb:	8b 00                	mov    (%eax),%eax
41f8bd:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
41f8c2:	74 0a                	je     0x41f8ce
41f8c4:	3d 1d 00 00 c0       	cmp    $0xc000001d,%eax
41f8c9:	74 03                	je     0x41f8ce
41f8cb:	33 c0                	xor    %eax,%eax
41f8cd:	c3                   	ret
41f8ce:	33 c0                	xor    %eax,%eax
41f8d0:	40                   	inc    %eax
41f8d1:	c3                   	ret
41f8d2:	8b 65 e8             	mov    -0x18(%ebp),%esp
41f8d5:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41f8d9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41f8e0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f8e3:	e8 e9 fc ff ff       	call   0x41f5d1
41f8e8:	c3                   	ret
41f8e9:	8b ff                	mov    %edi,%edi
41f8eb:	55                   	push   %ebp
41f8ec:	8b ec                	mov    %esp,%ebp
41f8ee:	83 ec 18             	sub    $0x18,%esp
41f8f1:	33 c0                	xor    %eax,%eax
41f8f3:	53                   	push   %ebx
41f8f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f8f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f8fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f8fd:	53                   	push   %ebx
41f8fe:	9c                   	pushf
41f8ff:	58                   	pop    %eax
41f900:	8b c8                	mov    %eax,%ecx
41f902:	35 00 00 20 00       	xor    $0x200000,%eax
41f907:	50                   	push   %eax
41f908:	9d                   	popf
41f909:	9c                   	pushf
41f90a:	5a                   	pop    %edx
41f90b:	2b d1                	sub    %ecx,%edx
41f90d:	74 1f                	je     0x41f92e
41f90f:	51                   	push   %ecx
41f910:	9d                   	popf
41f911:	33 c0                	xor    %eax,%eax
41f913:	0f a2                	cpuid
41f915:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f918:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41f91b:	89 55 ec             	mov    %edx,-0x14(%ebp)
41f91e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41f921:	b8 01 00 00 00       	mov    $0x1,%eax
41f926:	0f a2                	cpuid
41f928:	89 55 fc             	mov    %edx,-0x4(%ebp)
41f92b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f92e:	5b                   	pop    %ebx
41f92f:	f7 45 fc 00 00 00 04 	testl  $0x4000000,-0x4(%ebp)
41f936:	74 0e                	je     0x41f946
41f938:	e8 5c ff ff ff       	call   0x41f899
41f93d:	85 c0                	test   %eax,%eax
41f93f:	74 05                	je     0x41f946
41f941:	33 c0                	xor    %eax,%eax
41f943:	40                   	inc    %eax
41f944:	eb 02                	jmp    0x41f948
41f946:	33 c0                	xor    %eax,%eax
41f948:	5b                   	pop    %ebx
41f949:	c9                   	leave
41f94a:	c3                   	ret
41f94b:	e8 99 ff ff ff       	call   0x41f8e9
41f950:	a3 d8 08 45 00       	mov    %eax,0x4508d8
41f955:	33 c0                	xor    %eax,%eax
41f957:	c3                   	ret
41f958:	8b ff                	mov    %edi,%edi
41f95a:	55                   	push   %ebp
41f95b:	8b ec                	mov    %esp,%ebp
41f95d:	51                   	push   %ecx
41f95e:	56                   	push   %esi
41f95f:	8b 75 0c             	mov    0xc(%ebp),%esi
41f962:	56                   	push   %esi
41f963:	e8 4f 50 00 00       	call   0x4249b7
41f968:	89 45 0c             	mov    %eax,0xc(%ebp)
41f96b:	8b 46 0c             	mov    0xc(%esi),%eax
41f96e:	59                   	pop    %ecx
41f96f:	a8 82                	test   $0x82,%al
41f971:	75 17                	jne    0x41f98a
41f973:	e8 26 ef ff ff       	call   0x41e89e
41f978:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41f97e:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
41f982:	83 c8 ff             	or     $0xffffffff,%eax
41f985:	e9 2f 01 00 00       	jmp    0x41fab9
41f98a:	a8 40                	test   $0x40,%al
41f98c:	74 0d                	je     0x41f99b
41f98e:	e8 0b ef ff ff       	call   0x41e89e
41f993:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41f999:	eb e3                	jmp    0x41f97e
41f99b:	53                   	push   %ebx
41f99c:	33 db                	xor    %ebx,%ebx
41f99e:	a8 01                	test   $0x1,%al
41f9a0:	74 16                	je     0x41f9b8
41f9a2:	89 5e 04             	mov    %ebx,0x4(%esi)
41f9a5:	a8 10                	test   $0x10,%al
41f9a7:	0f 84 87 00 00 00    	je     0x41fa34
41f9ad:	8b 4e 08             	mov    0x8(%esi),%ecx
41f9b0:	83 e0 fe             	and    $0xfffffffe,%eax
41f9b3:	89 0e                	mov    %ecx,(%esi)
41f9b5:	89 46 0c             	mov    %eax,0xc(%esi)
41f9b8:	8b 46 0c             	mov    0xc(%esi),%eax
41f9bb:	83 e0 ef             	and    $0xffffffef,%eax
41f9be:	83 c8 02             	or     $0x2,%eax
41f9c1:	89 46 0c             	mov    %eax,0xc(%esi)
41f9c4:	89 5e 04             	mov    %ebx,0x4(%esi)
41f9c7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41f9ca:	a9 0c 01 00 00       	test   $0x10c,%eax
41f9cf:	75 2c                	jne    0x41f9fd
41f9d1:	e8 a2 15 00 00       	call   0x420f78
41f9d6:	83 c0 20             	add    $0x20,%eax
41f9d9:	3b f0                	cmp    %eax,%esi
41f9db:	74 0c                	je     0x41f9e9
41f9dd:	e8 96 15 00 00       	call   0x420f78
41f9e2:	83 c0 40             	add    $0x40,%eax
41f9e5:	3b f0                	cmp    %eax,%esi
41f9e7:	75 0d                	jne    0x41f9f6
41f9e9:	ff 75 0c             	push   0xc(%ebp)
41f9ec:	e8 62 4f 00 00       	call   0x424953
41f9f1:	59                   	pop    %ecx
41f9f2:	85 c0                	test   %eax,%eax
41f9f4:	75 07                	jne    0x41f9fd
41f9f6:	56                   	push   %esi
41f9f7:	e8 0e 4f 00 00       	call   0x42490a
41f9fc:	59                   	pop    %ecx
41f9fd:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
41fa04:	57                   	push   %edi
41fa05:	0f 84 80 00 00 00    	je     0x41fa8b
41fa0b:	8b 46 08             	mov    0x8(%esi),%eax
41fa0e:	8b 3e                	mov    (%esi),%edi
41fa10:	8d 48 01             	lea    0x1(%eax),%ecx
41fa13:	89 0e                	mov    %ecx,(%esi)
41fa15:	8b 4e 18             	mov    0x18(%esi),%ecx
41fa18:	2b f8                	sub    %eax,%edi
41fa1a:	49                   	dec    %ecx
41fa1b:	3b fb                	cmp    %ebx,%edi
41fa1d:	89 4e 04             	mov    %ecx,0x4(%esi)
41fa20:	7e 1d                	jle    0x41fa3f
41fa22:	57                   	push   %edi
41fa23:	50                   	push   %eax
41fa24:	ff 75 0c             	push   0xc(%ebp)
41fa27:	e8 02 4e 00 00       	call   0x42482e
41fa2c:	83 c4 0c             	add    $0xc,%esp
41fa2f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41fa32:	eb 4d                	jmp    0x41fa81
41fa34:	83 c8 20             	or     $0x20,%eax
41fa37:	89 46 0c             	mov    %eax,0xc(%esi)
41fa3a:	83 c8 ff             	or     $0xffffffff,%eax
41fa3d:	eb 79                	jmp    0x41fab8
41fa3f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fa42:	83 f9 ff             	cmp    $0xffffffff,%ecx
41fa45:	74 1b                	je     0x41fa62
41fa47:	83 f9 fe             	cmp    $0xfffffffe,%ecx
41fa4a:	74 16                	je     0x41fa62
41fa4c:	8b c1                	mov    %ecx,%eax
41fa4e:	83 e0 1f             	and    $0x1f,%eax
41fa51:	8b d1                	mov    %ecx,%edx
41fa53:	c1 fa 05             	sar    $0x5,%edx
41fa56:	c1 e0 06             	shl    $0x6,%eax
41fa59:	03 04 95 a0 f7 44 00 	add    0x44f7a0(,%edx,4),%eax
41fa60:	eb 05                	jmp    0x41fa67
41fa62:	b8 c8 fe 42 00       	mov    $0x42fec8,%eax
41fa67:	f6 40 04 20          	testb  $0x20,0x4(%eax)
41fa6b:	74 14                	je     0x41fa81
41fa6d:	6a 02                	push   $0x2
41fa6f:	53                   	push   %ebx
41fa70:	53                   	push   %ebx
41fa71:	51                   	push   %ecx
41fa72:	e8 6b 45 00 00       	call   0x423fe2
41fa77:	23 c2                	and    %edx,%eax
41fa79:	83 c4 10             	add    $0x10,%esp
41fa7c:	83 f8 ff             	cmp    $0xffffffff,%eax
41fa7f:	74 25                	je     0x41faa6
41fa81:	8b 46 08             	mov    0x8(%esi),%eax
41fa84:	8a 4d 08             	mov    0x8(%ebp),%cl
41fa87:	88 08                	mov    %cl,(%eax)
41fa89:	eb 16                	jmp    0x41faa1
41fa8b:	33 ff                	xor    %edi,%edi
41fa8d:	47                   	inc    %edi
41fa8e:	57                   	push   %edi
41fa8f:	8d 45 08             	lea    0x8(%ebp),%eax
41fa92:	50                   	push   %eax
41fa93:	ff 75 0c             	push   0xc(%ebp)
41fa96:	e8 93 4d 00 00       	call   0x42482e
41fa9b:	83 c4 0c             	add    $0xc,%esp
41fa9e:	89 45 fc             	mov    %eax,-0x4(%ebp)
41faa1:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41faa4:	74 09                	je     0x41faaf
41faa6:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
41faaa:	83 c8 ff             	or     $0xffffffff,%eax
41faad:	eb 08                	jmp    0x41fab7
41faaf:	8b 45 08             	mov    0x8(%ebp),%eax
41fab2:	25 ff 00 00 00       	and    $0xff,%eax
41fab7:	5f                   	pop    %edi
41fab8:	5b                   	pop    %ebx
41fab9:	5e                   	pop    %esi
41faba:	c9                   	leave
41fabb:	c3                   	ret
41fabc:	8b ff                	mov    %edi,%edi
41fabe:	55                   	push   %ebp
41fabf:	8b ec                	mov    %esp,%ebp
41fac1:	8b 45 08             	mov    0x8(%ebp),%eax
41fac4:	a3 6c ee 44 00       	mov    %eax,0x44ee6c
41fac9:	5d                   	pop    %ebp
41faca:	c3                   	ret
41facb:	8b ff                	mov    %edi,%edi
41facd:	55                   	push   %ebp
41face:	8b ec                	mov    %esp,%ebp
41fad0:	81 ec 28 03 00 00    	sub    $0x328,%esp
41fad6:	a1 98 f2 42 00       	mov    0x42f298,%eax
41fadb:	33 c5                	xor    %ebp,%eax
41fadd:	89 45 fc             	mov    %eax,-0x4(%ebp)
41fae0:	83 a5 d8 fc ff ff 00 	andl   $0x0,-0x328(%ebp)
41fae7:	53                   	push   %ebx
41fae8:	6a 4c                	push   $0x4c
41faea:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
41faf0:	6a 00                	push   $0x0
41faf2:	50                   	push   %eax
41faf3:	e8 08 a7 ff ff       	call   0x41a200
41faf8:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
41fafe:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
41fb04:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
41fb0a:	83 c4 0c             	add    $0xc,%esp
41fb0d:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
41fb13:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
41fb19:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
41fb1f:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
41fb25:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
41fb2b:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
41fb31:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
41fb37:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
41fb3e:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
41fb45:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
41fb4c:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
41fb53:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
41fb5a:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
41fb61:	9c                   	pushf
41fb62:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
41fb68:	8b 45 04             	mov    0x4(%ebp),%eax
41fb6b:	8d 4d 04             	lea    0x4(%ebp),%ecx
41fb6e:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
41fb75:	00 01 00
41fb78:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
41fb7e:	89 8d f4 fd ff ff    	mov    %ecx,-0x20c(%ebp)
41fb84:	8b 49 fc             	mov    -0x4(%ecx),%ecx
41fb87:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
41fb8d:	c7 85 d8 fc ff ff 17 	movl   $0xc0000417,-0x328(%ebp)
41fb94:	04 00 c0
41fb97:	c7 85 dc fc ff ff 01 	movl   $0x1,-0x324(%ebp)
41fb9e:	00 00 00
41fba1:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
41fba7:	ff 15 a4 a1 42 00    	call   *0x42a1a4
41fbad:	6a 00                	push   $0x0
41fbaf:	8b d8                	mov    %eax,%ebx
41fbb1:	ff 15 a8 a1 42 00    	call   *0x42a1a8
41fbb7:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
41fbbd:	50                   	push   %eax
41fbbe:	ff 15 ac a1 42 00    	call   *0x42a1ac
41fbc4:	85 c0                	test   %eax,%eax
41fbc6:	75 0c                	jne    0x41fbd4
41fbc8:	85 db                	test   %ebx,%ebx
41fbca:	75 08                	jne    0x41fbd4
41fbcc:	6a 02                	push   $0x2
41fbce:	e8 16 4e 00 00       	call   0x4249e9
41fbd3:	59                   	pop    %ecx
41fbd4:	68 17 04 00 c0       	push   $0xc0000417
41fbd9:	ff 15 18 a2 42 00    	call   *0x42a218
41fbdf:	50                   	push   %eax
41fbe0:	ff 15 b0 a1 42 00    	call   *0x42a1b0
41fbe6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41fbe9:	33 cd                	xor    %ebp,%ecx
41fbeb:	5b                   	pop    %ebx
41fbec:	e8 dd e5 ff ff       	call   0x41e1ce
41fbf1:	c9                   	leave
41fbf2:	c3                   	ret
41fbf3:	8b ff                	mov    %edi,%edi
41fbf5:	55                   	push   %ebp
41fbf6:	8b ec                	mov    %esp,%ebp
41fbf8:	ff 35 6c ee 44 00    	push   0x44ee6c
41fbfe:	e8 55 e6 ff ff       	call   0x41e258
41fc03:	59                   	pop    %ecx
41fc04:	85 c0                	test   %eax,%eax
41fc06:	74 03                	je     0x41fc0b
41fc08:	5d                   	pop    %ebp
41fc09:	ff e0                	jmp    *%eax
41fc0b:	6a 02                	push   $0x2
41fc0d:	e8 d7 4d 00 00       	call   0x4249e9
41fc12:	59                   	pop    %ecx
41fc13:	5d                   	pop    %ebp
41fc14:	e9 b2 fe ff ff       	jmp    0x41facb
41fc19:	8b ff                	mov    %edi,%edi
41fc1b:	55                   	push   %ebp
41fc1c:	8b ec                	mov    %esp,%ebp
41fc1e:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
41fc22:	74 06                	je     0x41fc2a
41fc24:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41fc28:	74 1a                	je     0x41fc44
41fc2a:	50                   	push   %eax
41fc2b:	ff 75 08             	push   0x8(%ebp)
41fc2e:	e8 be 4d 00 00       	call   0x4249f1
41fc33:	59                   	pop    %ecx
41fc34:	59                   	pop    %ecx
41fc35:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41fc3a:	66 3b c1             	cmp    %cx,%ax
41fc3d:	75 05                	jne    0x41fc44
41fc3f:	83 0e ff             	orl    $0xffffffff,(%esi)
41fc42:	5d                   	pop    %ebp
41fc43:	c3                   	ret
41fc44:	ff 06                	incl   (%esi)
41fc46:	5d                   	pop    %ebp
41fc47:	c3                   	ret
41fc48:	8b ff                	mov    %edi,%edi
41fc4a:	55                   	push   %ebp
41fc4b:	8b ec                	mov    %esp,%ebp
41fc4d:	56                   	push   %esi
41fc4e:	8b f0                	mov    %eax,%esi
41fc50:	eb 14                	jmp    0x41fc66
41fc52:	ff 75 08             	push   0x8(%ebp)
41fc55:	8b 45 10             	mov    0x10(%ebp),%eax
41fc58:	ff 4d 0c             	decl   0xc(%ebp)
41fc5b:	e8 b9 ff ff ff       	call   0x41fc19
41fc60:	83 3e ff             	cmpl   $0xffffffff,(%esi)
41fc63:	59                   	pop    %ecx
41fc64:	74 06                	je     0x41fc6c
41fc66:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41fc6a:	7f e6                	jg     0x41fc52
41fc6c:	5e                   	pop    %esi
41fc6d:	5d                   	pop    %ebp
41fc6e:	c3                   	ret
41fc6f:	8b ff                	mov    %edi,%edi
41fc71:	55                   	push   %ebp
41fc72:	8b ec                	mov    %esp,%ebp
41fc74:	f6 47 0c 40          	testb  $0x40,0xc(%edi)