4037de:	e8 e1 fe ff ff       	call   0x4036c4
4037e3:	8b e5                	mov    %ebp,%esp
4037e5:	5d                   	pop    %ebp
4037e6:	c3                   	ret
4037e7:	55                   	push   %ebp
4037e8:	8b ec                	mov    %esp,%ebp
4037ea:	83 25 14 3e 42 00 00 	andl   $0x0,0x423e14
4037f1:	83 ec 28             	sub    $0x28,%esp
4037f4:	53                   	push   %ebx
4037f5:	33 db                	xor    %ebx,%ebx
4037f7:	43                   	inc    %ebx
4037f8:	09 1d 10 30 42 00    	or     %ebx,0x423010
4037fe:	6a 0a                	push   $0xa
403800:	e8 8f 06 00 00       	call   0x403e94
403805:	85 c0                	test   %eax,%eax
403807:	0f 84 6d 01 00 00    	je     0x40397a
40380d:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
403811:	33 c0                	xor    %eax,%eax
403813:	83 0d 10 30 42 00 02 	orl    $0x2,0x423010
40381a:	33 c9                	xor    %ecx,%ecx
40381c:	56                   	push   %esi
40381d:	57                   	push   %edi
40381e:	89 1d 14 3e 42 00    	mov    %ebx,0x423e14
403824:	8d 7d d8             	lea    -0x28(%ebp),%edi
403827:	53                   	push   %ebx
403828:	0f a2                	cpuid
40382a:	8b f3                	mov    %ebx,%esi
40382c:	5b                   	pop    %ebx
40382d:	89 07                	mov    %eax,(%edi)
40382f:	89 77 04             	mov    %esi,0x4(%edi)
403832:	89 4f 08             	mov    %ecx,0x8(%edi)
403835:	89 57 0c             	mov    %edx,0xc(%edi)
403838:	8b 45 d8             	mov    -0x28(%ebp),%eax
40383b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40383e:	89 45 f8             	mov    %eax,-0x8(%ebp)
403841:	81 f1 69 6e 65 49    	xor    $0x49656e69,%ecx
403847:	8b 45 e0             	mov    -0x20(%ebp),%eax
40384a:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
40384f:	0b c8                	or     %eax,%ecx
403851:	8b 45 dc             	mov    -0x24(%ebp),%eax
403854:	6a 01                	push   $0x1
403856:	35 47 65 6e 75       	xor    $0x756e6547,%eax
40385b:	0b c8                	or     %eax,%ecx
40385d:	58                   	pop    %eax
40385e:	6a 00                	push   $0x0
403860:	59                   	pop    %ecx
403861:	53                   	push   %ebx
403862:	0f a2                	cpuid
403864:	8b f3                	mov    %ebx,%esi
403866:	5b                   	pop    %ebx
403867:	89 07                	mov    %eax,(%edi)
403869:	89 77 04             	mov    %esi,0x4(%edi)
40386c:	89 4f 08             	mov    %ecx,0x8(%edi)
40386f:	89 57 0c             	mov    %edx,0xc(%edi)
403872:	75 43                	jne    0x4038b7
403874:	8b 45 d8             	mov    -0x28(%ebp),%eax
403877:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
40387c:	3d c0 06 01 00       	cmp    $0x106c0,%eax
403881:	74 23                	je     0x4038a6
403883:	3d 60 06 02 00       	cmp    $0x20660,%eax
403888:	74 1c                	je     0x4038a6
40388a:	3d 70 06 02 00       	cmp    $0x20670,%eax
40388f:	74 15                	je     0x4038a6
403891:	3d 50 06 03 00       	cmp    $0x30650,%eax
403896:	74 0e                	je     0x4038a6
403898:	3d 60 06 03 00       	cmp    $0x30660,%eax
40389d:	74 07                	je     0x4038a6
40389f:	3d 70 06 03 00       	cmp    $0x30670,%eax
4038a4:	75 11                	jne    0x4038b7
4038a6:	8b 3d 18 3e 42 00    	mov    0x423e18,%edi
4038ac:	83 cf 01             	or     $0x1,%edi
4038af:	89 3d 18 3e 42 00    	mov    %edi,0x423e18
4038b5:	eb 06                	jmp    0x4038bd
4038b7:	8b 3d 18 3e 42 00    	mov    0x423e18,%edi
4038bd:	83 7d f8 07          	cmpl   $0x7,-0x8(%ebp)
4038c1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4038c4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4038c7:	8b 45 e0             	mov    -0x20(%ebp),%eax
4038ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4038cd:	89 45 ec             	mov    %eax,-0x14(%ebp)
4038d0:	7c 32                	jl     0x403904
4038d2:	6a 07                	push   $0x7
4038d4:	58                   	pop    %eax
4038d5:	33 c9                	xor    %ecx,%ecx
4038d7:	53                   	push   %ebx
4038d8:	0f a2                	cpuid
4038da:	8b f3                	mov    %ebx,%esi
4038dc:	5b                   	pop    %ebx
4038dd:	8d 5d d8             	lea    -0x28(%ebp),%ebx
4038e0:	89 03                	mov    %eax,(%ebx)
4038e2:	89 73 04             	mov    %esi,0x4(%ebx)
4038e5:	89 4b 08             	mov    %ecx,0x8(%ebx)
4038e8:	89 53 0c             	mov    %edx,0xc(%ebx)
4038eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4038ee:	a9 00 02 00 00       	test   $0x200,%eax
4038f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4038f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4038f9:	74 09                	je     0x403904
4038fb:	83 cf 02             	or     $0x2,%edi
4038fe:	89 3d 18 3e 42 00    	mov    %edi,0x423e18
403904:	5f                   	pop    %edi
403905:	5e                   	pop    %esi
403906:	a9 00 00 10 00       	test   $0x100000,%eax
40390b:	74 6d                	je     0x40397a
40390d:	83 0d 10 30 42 00 04 	orl    $0x4,0x423010
403914:	c7 05 14 3e 42 00 02 	movl   $0x2,0x423e14
40391b:	00 00 00
40391e:	a9 00 00 00 08       	test   $0x8000000,%eax
403923:	74 55                	je     0x40397a
403925:	a9 00 00 00 10       	test   $0x10000000,%eax
40392a:	74 4e                	je     0x40397a
40392c:	33 c9                	xor    %ecx,%ecx
40392e:	0f 01 d0             	xgetbv
403931:	89 45 f4             	mov    %eax,-0xc(%ebp)
403934:	89 55 f8             	mov    %edx,-0x8(%ebp)
403937:	8b 45 f4             	mov    -0xc(%ebp),%eax
40393a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40393d:	83 e0 06             	and    $0x6,%eax
403940:	33 c9                	xor    %ecx,%ecx
403942:	83 f8 06             	cmp    $0x6,%eax
403945:	75 33                	jne    0x40397a
403947:	85 c9                	test   %ecx,%ecx
403949:	75 2f                	jne    0x40397a
40394b:	a1 10 30 42 00       	mov    0x423010,%eax
403950:	83 c8 08             	or     $0x8,%eax
403953:	c7 05 14 3e 42 00 03 	movl   $0x3,0x423e14
40395a:	00 00 00
40395d:	f6 45 f0 20          	testb  $0x20,-0x10(%ebp)
403961:	a3 10 30 42 00       	mov    %eax,0x423010
403966:	74 12                	je     0x40397a
403968:	83 c8 20             	or     $0x20,%eax
40396b:	c7 05 14 3e 42 00 05 	movl   $0x5,0x423e14
403972:	00 00 00
403975:	a3 10 30 42 00       	mov    %eax,0x423010
40397a:	33 c0                	xor    %eax,%eax
40397c:	5b                   	pop    %ebx
40397d:	8b e5                	mov    %ebp,%esp
40397f:	5d                   	pop    %ebp
403980:	c3                   	ret
403981:	33 c0                	xor    %eax,%eax
403983:	40                   	inc    %eax
403984:	c3                   	ret
403985:	33 c0                	xor    %eax,%eax
403987:	39 05 80 47 42 00    	cmp    %eax,0x424780
40398d:	0f 95 c0             	setne  %al
403990:	c3                   	ret
403991:	55                   	push   %ebp
403992:	8b ec                	mov    %esp,%ebp
403994:	81 ec 24 03 00 00    	sub    $0x324,%esp
40399a:	53                   	push   %ebx
40399b:	56                   	push   %esi
40399c:	6a 17                	push   $0x17
40399e:	e8 f1 04 00 00       	call   0x403e94
4039a3:	85 c0                	test   %eax,%eax
4039a5:	74 05                	je     0x4039ac
4039a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4039aa:	cd 29                	int    $0x29
4039ac:	33 f6                	xor    %esi,%esi
4039ae:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4039b4:	68 cc 02 00 00       	push   $0x2cc
4039b9:	56                   	push   %esi
4039ba:	50                   	push   %eax
4039bb:	89 35 1c 3e 42 00    	mov    %esi,0x423e1c
4039c1:	e8 9a 10 00 00       	call   0x404a60
4039c6:	83 c4 0c             	add    $0xc,%esp
4039c9:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
4039cf:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
4039d5:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
4039db:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
4039e1:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
4039e7:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
4039ed:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
4039f4:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
4039fb:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
403a02:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
403a09:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
403a10:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
403a17:	9c                   	pushf
403a18:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
403a1e:	8b 45 04             	mov    0x4(%ebp),%eax
403a21:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
403a27:	8d 45 04             	lea    0x4(%ebp),%eax
403a2a:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
403a30:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
403a37:	00 01 00
403a3a:	8b 40 fc             	mov    -0x4(%eax),%eax
403a3d:	6a 50                	push   $0x50
403a3f:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
403a45:	8d 45 a8             	lea    -0x58(%ebp),%eax
403a48:	56                   	push   %esi
403a49:	50                   	push   %eax
403a4a:	e8 11 10 00 00       	call   0x404a60
403a4f:	8b 45 04             	mov    0x4(%ebp),%eax
403a52:	83 c4 0c             	add    $0xc,%esp
403a55:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
403a5c:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
403a63:	89 45 b4             	mov    %eax,-0x4c(%ebp)
403a66:	ff 15 c0 b0 41 00    	call   *0x41b0c0
403a6c:	56                   	push   %esi
403a6d:	8d 58 ff             	lea    -0x1(%eax),%ebx
403a70:	f7 db                	neg    %ebx
403a72:	8d 45 a8             	lea    -0x58(%ebp),%eax
403a75:	89 45 f8             	mov    %eax,-0x8(%ebp)
403a78:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
403a7e:	1a db                	sbb    %bl,%bl
403a80:	89 45 fc             	mov    %eax,-0x4(%ebp)
403a83:	fe c3                	inc    %bl
403a85:	ff 15 b0 b0 41 00    	call   *0x41b0b0
403a8b:	8d 45 f8             	lea    -0x8(%ebp),%eax
403a8e:	50                   	push   %eax
403a8f:	ff 15 ac b0 41 00    	call   *0x41b0ac
403a95:	85 c0                	test   %eax,%eax
403a97:	75 0d                	jne    0x403aa6
403a99:	0f b6 c3             	movzbl %bl,%eax
403a9c:	f7 d8                	neg    %eax
403a9e:	1b c0                	sbb    %eax,%eax
403aa0:	21 05 1c 3e 42 00    	and    %eax,0x423e1c
403aa6:	5e                   	pop    %esi
403aa7:	5b                   	pop    %ebx
403aa8:	8b e5                	mov    %ebp,%esp
403aaa:	5d                   	pop    %ebp
403aab:	c3                   	ret
403aac:	6a 00                	push   $0x0
403aae:	ff 15 64 b0 41 00    	call   *0x41b064
403ab4:	8b c8                	mov    %eax,%ecx
403ab6:	85 c9                	test   %ecx,%ecx
403ab8:	75 03                	jne    0x403abd
403aba:	32 c0                	xor    %al,%al
403abc:	c3                   	ret
403abd:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
403ac2:	66 39 01             	cmp    %ax,(%ecx)
403ac5:	75 f3                	jne    0x403aba
403ac7:	8b 41 3c             	mov    0x3c(%ecx),%eax
403aca:	03 c1                	add    %ecx,%eax
403acc:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
403ad2:	75 e6                	jne    0x403aba
403ad4:	b9 0b 01 00 00       	mov    $0x10b,%ecx
403ad9:	66 39 48 18          	cmp    %cx,0x18(%eax)
403add:	75 db                	jne    0x403aba
403adf:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
403ae3:	76 d5                	jbe    0x403aba
403ae5:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
403aec:	0f 95 c0             	setne  %al
403aef:	c3                   	ret
403af0:	68 fc 3a 40 00       	push   $0x403afc
403af5:	ff 15 b0 b0 41 00    	call   *0x41b0b0
403afb:	c3                   	ret
403afc:	55                   	push   %ebp
403afd:	8b ec                	mov    %esp,%ebp
403aff:	8b 45 08             	mov    0x8(%ebp),%eax
403b02:	8b 00                	mov    (%eax),%eax
403b04:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
403b0a:	75 25                	jne    0x403b31
403b0c:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
403b10:	75 1f                	jne    0x403b31
403b12:	8b 40 14             	mov    0x14(%eax),%eax
403b15:	3d 20 05 93 19       	cmp    $0x19930520,%eax
403b1a:	74 1b                	je     0x403b37
403b1c:	3d 21 05 93 19       	cmp    $0x19930521,%eax
403b21:	74 14                	je     0x403b37
403b23:	3d 22 05 93 19       	cmp    $0x19930522,%eax
403b28:	74 0d                	je     0x403b37
403b2a:	3d 00 40 99 01       	cmp    $0x1994000,%eax
403b2f:	74 06                	je     0x403b37
403b31:	33 c0                	xor    %eax,%eax
403b33:	5d                   	pop    %ebp
403b34:	c2 04 00             	ret    $0x4
403b37:	e8 38 5b 00 00       	call   0x409674
403b3c:	cc                   	int3
403b3d:	83 25 1c 3e 42 00 00 	andl   $0x0,0x423e1c
403b44:	c3                   	ret
403b45:	ff 25 a8 b1 41 00    	jmp    *0x41b1a8
403b4b:	cc                   	int3
403b4c:	cc                   	int3
403b4d:	cc                   	int3
403b4e:	cc                   	int3
403b4f:	cc                   	int3
403b50:	68 30 46 40 00       	push   $0x404630
403b55:	64 ff 35 00 00 00 00 	push   %fs:0x0
403b5c:	8b 44 24 10          	mov    0x10(%esp),%eax
403b60:	89 6c 24 10          	mov    %ebp,0x10(%esp)
403b64:	8d 6c 24 10          	lea    0x10(%esp),%ebp
403b68:	2b e0                	sub    %eax,%esp
403b6a:	53                   	push   %ebx
403b6b:	56                   	push   %esi
403b6c:	57                   	push   %edi
403b6d:	a1 0c 30 42 00       	mov    0x42300c,%eax
403b72:	31 45 fc             	xor    %eax,-0x4(%ebp)
403b75:	33 c5                	xor    %ebp,%eax
403b77:	50                   	push   %eax
403b78:	89 65 e8             	mov    %esp,-0x18(%ebp)
403b7b:	ff 75 f8             	push   -0x8(%ebp)
403b7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
403b81:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403b88:	89 45 f8             	mov    %eax,-0x8(%ebp)
403b8b:	8d 45 f0             	lea    -0x10(%ebp),%eax
403b8e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403b94:	f2 c3                	bnd ret
403b96:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403b99:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ba0:	59                   	pop    %ecx
403ba1:	5f                   	pop    %edi
403ba2:	5f                   	pop    %edi
403ba3:	5e                   	pop    %esi
403ba4:	5b                   	pop    %ebx
403ba5:	8b e5                	mov    %ebp,%esp
403ba7:	5d                   	pop    %ebp
403ba8:	51                   	push   %ecx
403ba9:	f2 c3                	bnd ret
403bab:	55                   	push   %ebp
403bac:	8b ec                	mov    %esp,%ebp
403bae:	56                   	push   %esi
403baf:	ff 75 08             	push   0x8(%ebp)
403bb2:	8b f1                	mov    %ecx,%esi
403bb4:	e8 07 ed ff ff       	call   0x4028c0
403bb9:	c7 06 cc b2 41 00    	movl   $0x41b2cc,(%esi)
403bbf:	8b c6                	mov    %esi,%eax
403bc1:	5e                   	pop    %esi
403bc2:	5d                   	pop    %ebp
403bc3:	c2 04 00             	ret    $0x4
403bc6:	83 61 04 00          	andl   $0x0,0x4(%ecx)
403bca:	8b c1                	mov    %ecx,%eax
403bcc:	83 61 08 00          	andl   $0x0,0x8(%ecx)
403bd0:	c7 41 04 d4 b2 41 00 	movl   $0x41b2d4,0x4(%ecx)
403bd7:	c7 01 cc b2 41 00    	movl   $0x41b2cc,(%ecx)
403bdd:	c3                   	ret
403bde:	55                   	push   %ebp
403bdf:	8b ec                	mov    %esp,%ebp
403be1:	83 ec 0c             	sub    $0xc,%esp
403be4:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403be7:	e8 52 f3 ff ff       	call   0x402f3e
403bec:	68 a4 1a 42 00       	push   $0x421aa4
403bf1:	8d 45 f4             	lea    -0xc(%ebp),%eax
403bf4:	50                   	push   %eax
403bf5:	e8 3d 09 00 00       	call   0x404537
403bfa:	cc                   	int3
403bfb:	55                   	push   %ebp
403bfc:	8b ec                	mov    %esp,%ebp
403bfe:	83 ec 0c             	sub    $0xc,%esp
403c01:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403c04:	e8 bd ff ff ff       	call   0x403bc6
403c09:	68 1c 1b 42 00       	push   $0x421b1c
403c0e:	8d 45 f4             	lea    -0xc(%ebp),%eax
403c11:	50                   	push   %eax
403c12:	e8 20 09 00 00       	call   0x404537
403c17:	cc                   	int3
403c18:	55                   	push   %ebp
403c19:	8b ec                	mov    %esp,%ebp
403c1b:	83 ec 14             	sub    $0x14,%esp
403c1e:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)