408718:	68 00 00 01 00       	push   $0x10000
40871d:	6a 00                	push   $0x0
40871f:	e8 bc 3a 00 00       	call   0x40c1e0
408724:	83 c4 0c             	add    $0xc,%esp
408727:	85 c0                	test   %eax,%eax
408729:	75 01                	jne    0x40872c
40872b:	c3                   	ret
40872c:	6a 07                	push   $0x7
40872e:	e8 3c 00 00 00       	call   0x40876f
408733:	cc                   	int3
408734:	b8 58 69 42 00       	mov    $0x426958,%eax
408739:	c3                   	ret
40873a:	e8 e1 88 ff ff       	call   0x401020
40873f:	8b 48 04             	mov    0x4(%eax),%ecx
408742:	83 08 24             	orl    $0x24,(%eax)
408745:	89 48 04             	mov    %ecx,0x4(%eax)
408748:	e8 e7 ff ff ff       	call   0x408734
40874d:	8b 48 04             	mov    0x4(%eax),%ecx
408750:	83 08 02             	orl    $0x2,(%eax)
408753:	89 48 04             	mov    %ecx,0x4(%eax)
408756:	c3                   	ret
408757:	33 c0                	xor    %eax,%eax
408759:	39 05 04 60 42 00    	cmp    %eax,0x426004
40875f:	0f 94 c0             	sete   %al
408762:	c3                   	ret
408763:	b8 20 74 42 00       	mov    $0x427420,%eax
408768:	c3                   	ret
408769:	b8 1c 74 42 00       	mov    $0x42741c,%eax
40876e:	c3                   	ret
40876f:	55                   	push   %ebp
408770:	8b ec                	mov    %esp,%ebp
408772:	81 ec 24 03 00 00    	sub    $0x324,%esp
408778:	53                   	push   %ebx
408779:	6a 17                	push   $0x17
40877b:	ff 15 5c c1 41 00    	call   *0x41c15c
408781:	85 c0                	test   %eax,%eax
408783:	74 05                	je     0x40878a
408785:	8b 4d 08             	mov    0x8(%ebp),%ecx
408788:	cd 29                	int    $0x29
40878a:	6a 03                	push   $0x3
40878c:	e8 d5 01 00 00       	call   0x408966
408791:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
408798:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40879e:	6a 00                	push   $0x0
4087a0:	50                   	push   %eax
4087a1:	e8 6a 09 00 00       	call   0x409110
4087a6:	83 c4 0c             	add    $0xc,%esp
4087a9:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
4087af:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
4087b5:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
4087bb:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
4087c1:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
4087c7:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
4087cd:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
4087d4:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
4087db:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
4087e2:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
4087e9:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
4087f0:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
4087f7:	9c                   	pushf
4087f8:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
4087fe:	8b 45 04             	mov    0x4(%ebp),%eax
408801:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
408807:	8d 45 04             	lea    0x4(%ebp),%eax
40880a:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
408810:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
408817:	00 01 00
40881a:	8b 40 fc             	mov    -0x4(%eax),%eax
40881d:	6a 50                	push   $0x50
40881f:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
408825:	8d 45 a8             	lea    -0x58(%ebp),%eax
408828:	6a 00                	push   $0x0
40882a:	50                   	push   %eax
40882b:	e8 e0 08 00 00       	call   0x409110
408830:	8b 45 04             	mov    0x4(%ebp),%eax
408833:	83 c4 0c             	add    $0xc,%esp
408836:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
40883d:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
408844:	89 45 b4             	mov    %eax,-0x4c(%ebp)
408847:	ff 15 6c c1 41 00    	call   *0x41c16c
40884d:	6a 00                	push   $0x0
40884f:	8d 58 ff             	lea    -0x1(%eax),%ebx
408852:	f7 db                	neg    %ebx
408854:	8d 45 a8             	lea    -0x58(%ebp),%eax
408857:	89 45 f8             	mov    %eax,-0x8(%ebp)
40885a:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
408860:	1a db                	sbb    %bl,%bl
408862:	89 45 fc             	mov    %eax,-0x4(%ebp)
408865:	fe c3                	inc    %bl
408867:	ff 15 64 c1 41 00    	call   *0x41c164
40886d:	8d 45 f8             	lea    -0x8(%ebp),%eax
408870:	50                   	push   %eax
408871:	ff 15 68 c1 41 00    	call   *0x41c168
408877:	85 c0                	test   %eax,%eax
408879:	75 0c                	jne    0x408887
40887b:	84 db                	test   %bl,%bl
40887d:	75 08                	jne    0x408887
40887f:	6a 03                	push   $0x3
408881:	e8 e0 00 00 00       	call   0x408966
408886:	59                   	pop    %ecx
408887:	5b                   	pop    %ebx
408888:	c9                   	leave
408889:	c3                   	ret
40888a:	55                   	push   %ebp
40888b:	8b ec                	mov    %esp,%ebp
40888d:	83 ec 44             	sub    $0x44,%esp
408890:	6a 44                	push   $0x44
408892:	8d 45 bc             	lea    -0x44(%ebp),%eax
408895:	6a 00                	push   $0x0
408897:	50                   	push   %eax
408898:	e8 73 08 00 00       	call   0x409110
40889d:	83 c4 0c             	add    $0xc,%esp
4088a0:	8d 45 bc             	lea    -0x44(%ebp),%eax
4088a3:	50                   	push   %eax
4088a4:	ff 15 60 c1 41 00    	call   *0x41c160
4088aa:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
4088ae:	74 06                	je     0x4088b6
4088b0:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
4088b4:	c9                   	leave
4088b5:	c3                   	ret
4088b6:	6a 0a                	push   $0xa
4088b8:	58                   	pop    %eax
4088b9:	c9                   	leave
4088ba:	c3                   	ret
4088bb:	e9 30 fe ff ff       	jmp    0x4086f0
4088c0:	6a 00                	push   $0x0
4088c2:	ff 15 58 c1 41 00    	call   *0x41c158
4088c8:	85 c0                	test   %eax,%eax
4088ca:	74 33                	je     0x4088ff
4088cc:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
4088d1:	66 39 08             	cmp    %cx,(%eax)
4088d4:	75 29                	jne    0x4088ff
4088d6:	8b 48 3c             	mov    0x3c(%eax),%ecx
4088d9:	03 c8                	add    %eax,%ecx
4088db:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
4088e1:	75 1c                	jne    0x4088ff
4088e3:	b8 0b 01 00 00       	mov    $0x10b,%eax
4088e8:	66 39 41 18          	cmp    %ax,0x18(%ecx)
4088ec:	75 11                	jne    0x4088ff
4088ee:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
4088f2:	76 0b                	jbe    0x4088ff
4088f4:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
4088fb:	0f 95 c0             	setne  %al
4088fe:	c3                   	ret
4088ff:	32 c0                	xor    %al,%al
408901:	c3                   	ret
408902:	68 10 89 40 00       	push   $0x408910
408907:	ff 15 64 c1 41 00    	call   *0x41c164
40890d:	c3                   	ret
40890e:	cc                   	int3
40890f:	cc                   	int3
408910:	55                   	push   %ebp
408911:	8b ec                	mov    %esp,%ebp
408913:	56                   	push   %esi
408914:	57                   	push   %edi
408915:	8b 7d 08             	mov    0x8(%ebp),%edi
408918:	8b 37                	mov    (%edi),%esi
40891a:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
408920:	75 25                	jne    0x408947
408922:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
408926:	75 1f                	jne    0x408947
408928:	8b 46 14             	mov    0x14(%esi),%eax
40892b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
408930:	74 1d                	je     0x40894f
408932:	3d 21 05 93 19       	cmp    $0x19930521,%eax
408937:	74 16                	je     0x40894f
408939:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40893e:	74 0f                	je     0x40894f
408940:	3d 00 40 99 01       	cmp    $0x1994000,%eax
408945:	74 08                	je     0x40894f
408947:	5f                   	pop    %edi
408948:	33 c0                	xor    %eax,%eax
40894a:	5e                   	pop    %esi
40894b:	5d                   	pop    %ebp
40894c:	c2 04 00             	ret    $0x4
40894f:	e8 a3 07 00 00       	call   0x4090f7
408954:	89 30                	mov    %esi,(%eax)
408956:	8b 77 04             	mov    0x4(%edi),%esi
408959:	e8 a2 07 00 00       	call   0x409100
40895e:	89 30                	mov    %esi,(%eax)
408960:	e8 da 38 00 00       	call   0x40c23f
408965:	cc                   	int3
408966:	83 25 60 69 42 00 00 	andl   $0x0,0x426960
40896d:	c3                   	ret
40896e:	53                   	push   %ebx
40896f:	56                   	push   %esi
408970:	be 90 3c 42 00       	mov    $0x423c90,%esi
408975:	bb 90 3c 42 00       	mov    $0x423c90,%ebx
40897a:	3b f3                	cmp    %ebx,%esi
40897c:	73 19                	jae    0x408997
40897e:	57                   	push   %edi
40897f:	8b 3e                	mov    (%esi),%edi
408981:	85 ff                	test   %edi,%edi
408983:	74 0a                	je     0x40898f
408985:	8b cf                	mov    %edi,%ecx
408987:	ff 15 50 c2 41 00    	call   *0x41c250
40898d:	ff d7                	call   *%edi
40898f:	83 c6 04             	add    $0x4,%esi
408992:	3b f3                	cmp    %ebx,%esi
408994:	72 e9                	jb     0x40897f
408996:	5f                   	pop    %edi
408997:	5e                   	pop    %esi
408998:	5b                   	pop    %ebx
408999:	c3                   	ret
40899a:	cc                   	int3
40899b:	cc                   	int3
40899c:	cc                   	int3
40899d:	cc                   	int3
40899e:	cc                   	int3
40899f:	cc                   	int3
4089a0:	53                   	push   %ebx
4089a1:	56                   	push   %esi
4089a2:	be 98 3c 42 00       	mov    $0x423c98,%esi
4089a7:	bb 98 3c 42 00       	mov    $0x423c98,%ebx
4089ac:	3b f3                	cmp    %ebx,%esi
4089ae:	73 19                	jae    0x4089c9
4089b0:	57                   	push   %edi
4089b1:	8b 3e                	mov    (%esi),%edi
4089b3:	85 ff                	test   %edi,%edi
4089b5:	74 0a                	je     0x4089c1
4089b7:	8b cf                	mov    %edi,%ecx
4089b9:	ff 15 50 c2 41 00    	call   *0x41c250
4089bf:	ff d7                	call   *%edi
4089c1:	83 c6 04             	add    $0x4,%esi
4089c4:	3b f3                	cmp    %ebx,%esi
4089c6:	72 e9                	jb     0x4089b1
4089c8:	5f                   	pop    %edi
4089c9:	5e                   	pop    %esi
4089ca:	5b                   	pop    %ebx
4089cb:	c3                   	ret
4089cc:	cc                   	int3
4089cd:	cc                   	int3
4089ce:	cc                   	int3
4089cf:	cc                   	int3
4089d0:	68 70 8d 40 00       	push   $0x408d70
4089d5:	64 ff 35 00 00 00 00 	push   %fs:0x0
4089dc:	8b 44 24 10          	mov    0x10(%esp),%eax
4089e0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4089e4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
4089e8:	2b e0                	sub    %eax,%esp
4089ea:	53                   	push   %ebx
4089eb:	56                   	push   %esi
4089ec:	57                   	push   %edi
4089ed:	a1 18 60 42 00       	mov    0x426018,%eax
4089f2:	31 45 fc             	xor    %eax,-0x4(%ebp)
4089f5:	33 c5                	xor    %ebp,%eax
4089f7:	50                   	push   %eax
4089f8:	89 65 e8             	mov    %esp,-0x18(%ebp)
4089fb:	ff 75 f8             	push   -0x8(%ebp)
4089fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
408a01:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408a08:	89 45 f8             	mov    %eax,-0x8(%ebp)
408a0b:	8d 45 f0             	lea    -0x10(%ebp),%eax
408a0e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408a14:	c3                   	ret
408a15:	55                   	push   %ebp
408a16:	8b ec                	mov    %esp,%ebp
408a18:	83 25 64 69 42 00 00 	andl   $0x0,0x426964
408a1f:	83 ec 24             	sub    $0x24,%esp
408a22:	83 0d 10 60 42 00 01 	orl    $0x1,0x426010
408a29:	6a 0a                	push   $0xa
408a2b:	ff 15 5c c1 41 00    	call   *0x41c15c
408a31:	85 c0                	test   %eax,%eax
408a33:	0f 84 ac 01 00 00    	je     0x408be5
408a39:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
408a3d:	33 c0                	xor    %eax,%eax
408a3f:	53                   	push   %ebx
408a40:	56                   	push   %esi
408a41:	57                   	push   %edi
408a42:	33 c9                	xor    %ecx,%ecx
408a44:	8d 7d dc             	lea    -0x24(%ebp),%edi
408a47:	53                   	push   %ebx
408a48:	0f a2                	cpuid
408a4a:	8b f3                	mov    %ebx,%esi
408a4c:	5b                   	pop    %ebx
408a4d:	90                   	nop
408a4e:	89 07                	mov    %eax,(%edi)
408a50:	89 77 04             	mov    %esi,0x4(%edi)
408a53:	89 4f 08             	mov    %ecx,0x8(%edi)
408a56:	33 c9                	xor    %ecx,%ecx
408a58:	89 57 0c             	mov    %edx,0xc(%edi)
408a5b:	8b 45 dc             	mov    -0x24(%ebp),%eax
408a5e:	8b 7d e0             	mov    -0x20(%ebp),%edi
408a61:	89 45 f4             	mov    %eax,-0xc(%ebp)
408a64:	81 f7 47 65 6e 75    	xor    $0x756e6547,%edi
408a6a:	8b 45 e8             	mov    -0x18(%ebp),%eax
408a6d:	35 69 6e 65 49       	xor    $0x49656e69,%eax
408a72:	89 45 fc             	mov    %eax,-0x4(%ebp)
408a75:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408a78:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
408a7d:	89 45 f8             	mov    %eax,-0x8(%ebp)
408a80:	33 c0                	xor    %eax,%eax
408a82:	40                   	inc    %eax
408a83:	53                   	push   %ebx
408a84:	0f a2                	cpuid
408a86:	8b f3                	mov    %ebx,%esi
408a88:	5b                   	pop    %ebx
408a89:	90                   	nop
408a8a:	8d 5d dc             	lea    -0x24(%ebp),%ebx
408a8d:	89 03                	mov    %eax,(%ebx)
408a8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408a92:	0b 45 f8             	or     -0x8(%ebp),%eax
408a95:	0b c7                	or     %edi,%eax
408a97:	89 73 04             	mov    %esi,0x4(%ebx)
408a9a:	89 4b 08             	mov    %ecx,0x8(%ebx)
408a9d:	89 53 0c             	mov    %edx,0xc(%ebx)
408aa0:	75 43                	jne    0x408ae5
408aa2:	8b 45 dc             	mov    -0x24(%ebp),%eax
408aa5:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
408aaa:	3d c0 06 01 00       	cmp    $0x106c0,%eax
408aaf:	74 23                	je     0x408ad4
408ab1:	3d 60 06 02 00       	cmp    $0x20660,%eax
408ab6:	74 1c                	je     0x408ad4
408ab8:	3d 70 06 02 00       	cmp    $0x20670,%eax
408abd:	74 15                	je     0x408ad4
408abf:	3d 50 06 03 00       	cmp    $0x30650,%eax
408ac4:	74 0e                	je     0x408ad4
408ac6:	3d 60 06 03 00       	cmp    $0x30660,%eax
408acb:	74 07                	je     0x408ad4
408acd:	3d 70 06 03 00       	cmp    $0x30670,%eax
408ad2:	75 11                	jne    0x408ae5
408ad4:	8b 3d 68 69 42 00    	mov    0x426968,%edi
408ada:	83 cf 01             	or     $0x1,%edi
408add:	89 3d 68 69 42 00    	mov    %edi,0x426968
408ae3:	eb 06                	jmp    0x408aeb
408ae5:	8b 3d 68 69 42 00    	mov    0x426968,%edi
408aeb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
408aee:	6a 07                	push   $0x7
408af0:	58                   	pop    %eax
408af1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408af4:	39 45 f4             	cmp    %eax,-0xc(%ebp)
408af7:	7c 30                	jl     0x408b29
408af9:	33 c9                	xor    %ecx,%ecx
408afb:	53                   	push   %ebx
408afc:	0f a2                	cpuid
408afe:	8b f3                	mov    %ebx,%esi
408b00:	5b                   	pop    %ebx
408b01:	90                   	nop
408b02:	8d 5d dc             	lea    -0x24(%ebp),%ebx
408b05:	89 03                	mov    %eax,(%ebx)
408b07:	89 73 04             	mov    %esi,0x4(%ebx)
408b0a:	89 4b 08             	mov    %ecx,0x8(%ebx)
408b0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408b10:	89 53 0c             	mov    %edx,0xc(%ebx)
408b13:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408b16:	f7 c3 00 02 00 00    	test   $0x200,%ebx
408b1c:	74 0e                	je     0x408b2c
408b1e:	83 cf 02             	or     $0x2,%edi
408b21:	89 3d 68 69 42 00    	mov    %edi,0x426968
408b27:	eb 03                	jmp    0x408b2c