407d10:	83 c4 0c             	add    $0xc,%esp
407d13:	85 c0                	test   %eax,%eax
407d15:	75 01                	jne    0x407d18
407d17:	c3                   	ret
407d18:	6a 07                	push   $0x7
407d1a:	e8 3c 00 00 00       	call   0x407d5b
407d1f:	cc                   	int3
407d20:	b8 58 45 43 00       	mov    $0x434558,%eax
407d25:	c3                   	ret
407d26:	e8 55 94 ff ff       	call   0x401180
407d2b:	8b 48 04             	mov    0x4(%eax),%ecx
407d2e:	83 08 24             	orl    $0x24,(%eax)
407d31:	89 48 04             	mov    %ecx,0x4(%eax)
407d34:	e8 e7 ff ff ff       	call   0x407d20
407d39:	8b 48 04             	mov    0x4(%eax),%ecx
407d3c:	83 08 02             	orl    $0x2,(%eax)
407d3f:	89 48 04             	mov    %ecx,0x4(%eax)
407d42:	c3                   	ret
407d43:	33 c0                	xor    %eax,%eax
407d45:	39 05 20 30 43 00    	cmp    %eax,0x433020
407d4b:	0f 94 c0             	sete   %al
407d4e:	c3                   	ret
407d4f:	b8 54 53 43 00       	mov    $0x435354,%eax
407d54:	c3                   	ret
407d55:	b8 50 53 43 00       	mov    $0x435350,%eax
407d5a:	c3                   	ret
407d5b:	55                   	push   %ebp
407d5c:	8b ec                	mov    %esp,%ebp
407d5e:	81 ec 24 03 00 00    	sub    $0x324,%esp
407d64:	53                   	push   %ebx
407d65:	6a 17                	push   $0x17
407d67:	ff 15 70 40 42 00    	call   *0x424070
407d6d:	85 c0                	test   %eax,%eax
407d6f:	74 05                	je     0x407d76
407d71:	8b 4d 08             	mov    0x8(%ebp),%ecx
407d74:	cd 29                	int    $0x29
407d76:	6a 03                	push   $0x3
407d78:	e8 d4 01 00 00       	call   0x407f51
407d7d:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
407d84:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
407d8a:	6a 00                	push   $0x0
407d8c:	50                   	push   %eax
407d8d:	e8 5e 11 00 00       	call   0x408ef0
407d92:	83 c4 0c             	add    $0xc,%esp
407d95:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
407d9b:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
407da1:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
407da7:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
407dad:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
407db3:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
407db9:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
407dc0:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
407dc7:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
407dce:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
407dd5:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
407ddc:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
407de3:	9c                   	pushf
407de4:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
407dea:	8b 45 04             	mov    0x4(%ebp),%eax
407ded:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
407df3:	8d 45 04             	lea    0x4(%ebp),%eax
407df6:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
407dfc:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
407e03:	00 01 00
407e06:	8b 40 fc             	mov    -0x4(%eax),%eax
407e09:	6a 50                	push   $0x50
407e0b:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
407e11:	8d 45 a8             	lea    -0x58(%ebp),%eax
407e14:	6a 00                	push   $0x0
407e16:	50                   	push   %eax
407e17:	e8 d4 10 00 00       	call   0x408ef0
407e1c:	8b 45 04             	mov    0x4(%ebp),%eax
407e1f:	83 c4 0c             	add    $0xc,%esp
407e22:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
407e29:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
407e30:	89 45 b4             	mov    %eax,-0x4c(%ebp)
407e33:	ff 15 88 40 42 00    	call   *0x424088
407e39:	6a 00                	push   $0x0
407e3b:	8d 58 ff             	lea    -0x1(%eax),%ebx
407e3e:	f7 db                	neg    %ebx
407e40:	8d 45 a8             	lea    -0x58(%ebp),%eax
407e43:	89 45 f8             	mov    %eax,-0x8(%ebp)
407e46:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
407e4c:	1a db                	sbb    %bl,%bl
407e4e:	89 45 fc             	mov    %eax,-0x4(%ebp)
407e51:	fe c3                	inc    %bl
407e53:	ff 15 64 40 42 00    	call   *0x424064
407e59:	8d 45 f8             	lea    -0x8(%ebp),%eax
407e5c:	50                   	push   %eax
407e5d:	ff 15 60 40 42 00    	call   *0x424060
407e63:	85 c0                	test   %eax,%eax
407e65:	75 0c                	jne    0x407e73
407e67:	84 db                	test   %bl,%bl
407e69:	75 08                	jne    0x407e73
407e6b:	6a 03                	push   $0x3
407e6d:	e8 df 00 00 00       	call   0x407f51
407e72:	59                   	pop    %ecx
407e73:	5b                   	pop    %ebx
407e74:	c9                   	leave
407e75:	c3                   	ret
407e76:	55                   	push   %ebp
407e77:	8b ec                	mov    %esp,%ebp
407e79:	83 ec 44             	sub    $0x44,%esp
407e7c:	6a 44                	push   $0x44
407e7e:	8d 45 bc             	lea    -0x44(%ebp),%eax
407e81:	6a 00                	push   $0x0
407e83:	50                   	push   %eax
407e84:	e8 67 10 00 00       	call   0x408ef0
407e89:	83 c4 0c             	add    $0xc,%esp
407e8c:	8d 45 bc             	lea    -0x44(%ebp),%eax
407e8f:	50                   	push   %eax
407e90:	ff 15 8c 40 42 00    	call   *0x42408c
407e96:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
407e9a:	74 06                	je     0x407ea2
407e9c:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
407ea0:	c9                   	leave
407ea1:	c3                   	ret
407ea2:	6a 0a                	push   $0xa
407ea4:	58                   	pop    %eax
407ea5:	c9                   	leave
407ea6:	c3                   	ret
407ea7:	e9 9d e4 ff ff       	jmp    0x406349
407eac:	6a 00                	push   $0x0
407eae:	ff 15 04 40 42 00    	call   *0x424004
407eb4:	85 c0                	test   %eax,%eax
407eb6:	74 34                	je     0x407eec
407eb8:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
407ebd:	66 39 08             	cmp    %cx,(%eax)
407ec0:	75 2a                	jne    0x407eec
407ec2:	8b 48 3c             	mov    0x3c(%eax),%ecx
407ec5:	03 c8                	add    %eax,%ecx
407ec7:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
407ecd:	75 1d                	jne    0x407eec
407ecf:	b8 0b 01 00 00       	mov    $0x10b,%eax
407ed4:	66 39 41 18          	cmp    %ax,0x18(%ecx)
407ed8:	75 12                	jne    0x407eec
407eda:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
407ede:	76 0c                	jbe    0x407eec
407ee0:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
407ee7:	74 03                	je     0x407eec
407ee9:	b0 01                	mov    $0x1,%al
407eeb:	c3                   	ret
407eec:	32 c0                	xor    %al,%al
407eee:	c3                   	ret
407eef:	68 fb 7e 40 00       	push   $0x407efb
407ef4:	ff 15 64 40 42 00    	call   *0x424064
407efa:	c3                   	ret
407efb:	55                   	push   %ebp
407efc:	8b ec                	mov    %esp,%ebp
407efe:	56                   	push   %esi
407eff:	57                   	push   %edi
407f00:	8b 7d 08             	mov    0x8(%ebp),%edi
407f03:	8b 37                	mov    (%edi),%esi
407f05:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
407f0b:	75 25                	jne    0x407f32
407f0d:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
407f11:	75 1f                	jne    0x407f32
407f13:	8b 46 14             	mov    0x14(%esi),%eax
407f16:	3d 20 05 93 19       	cmp    $0x19930520,%eax
407f1b:	74 1d                	je     0x407f3a
407f1d:	3d 21 05 93 19       	cmp    $0x19930521,%eax
407f22:	74 16                	je     0x407f3a
407f24:	3d 22 05 93 19       	cmp    $0x19930522,%eax
407f29:	74 0f                	je     0x407f3a
407f2b:	3d 00 40 99 01       	cmp    $0x1994000,%eax
407f30:	74 08                	je     0x407f3a
407f32:	5f                   	pop    %edi
407f33:	33 c0                	xor    %eax,%eax
407f35:	5e                   	pop    %esi
407f36:	5d                   	pop    %ebp
407f37:	c2 04 00             	ret    $0x4
407f3a:	e8 a4 09 00 00       	call   0x4088e3
407f3f:	89 30                	mov    %esi,(%eax)
407f41:	8b 77 04             	mov    0x4(%edi),%esi
407f44:	e8 a3 09 00 00       	call   0x4088ec
407f49:	89 30                	mov    %esi,(%eax)
407f4b:	e8 c2 a3 00 00       	call   0x412312
407f50:	cc                   	int3
407f51:	83 25 60 45 43 00 00 	andl   $0x0,0x434560
407f58:	c3                   	ret
407f59:	53                   	push   %ebx
407f5a:	56                   	push   %esi
407f5b:	be 84 0c 43 00       	mov    $0x430c84,%esi
407f60:	bb 84 0c 43 00       	mov    $0x430c84,%ebx
407f65:	3b f3                	cmp    %ebx,%esi
407f67:	73 19                	jae    0x407f82
407f69:	57                   	push   %edi
407f6a:	8b 3e                	mov    (%esi),%edi
407f6c:	85 ff                	test   %edi,%edi
407f6e:	74 0a                	je     0x407f7a
407f70:	8b cf                	mov    %edi,%ecx
407f72:	ff 15 54 41 42 00    	call   *0x424154
407f78:	ff d7                	call   *%edi
407f7a:	83 c6 04             	add    $0x4,%esi
407f7d:	3b f3                	cmp    %ebx,%esi
407f7f:	72 e9                	jb     0x407f6a
407f81:	5f                   	pop    %edi
407f82:	5e                   	pop    %esi
407f83:	5b                   	pop    %ebx
407f84:	c3                   	ret
407f85:	53                   	push   %ebx
407f86:	56                   	push   %esi
407f87:	be 8c 0c 43 00       	mov    $0x430c8c,%esi
407f8c:	bb 8c 0c 43 00       	mov    $0x430c8c,%ebx
407f91:	3b f3                	cmp    %ebx,%esi
407f93:	73 19                	jae    0x407fae
407f95:	57                   	push   %edi
407f96:	8b 3e                	mov    (%esi),%edi
407f98:	85 ff                	test   %edi,%edi
407f9a:	74 0a                	je     0x407fa6
407f9c:	8b cf                	mov    %edi,%ecx
407f9e:	ff 15 54 41 42 00    	call   *0x424154
407fa4:	ff d7                	call   *%edi
407fa6:	83 c6 04             	add    $0x4,%esi
407fa9:	3b f3                	cmp    %ebx,%esi
407fab:	72 e9                	jb     0x407f96
407fad:	5f                   	pop    %edi
407fae:	5e                   	pop    %esi
407faf:	5b                   	pop    %ebx
407fb0:	c3                   	ret
407fb1:	cc                   	int3
407fb2:	cc                   	int3
407fb3:	cc                   	int3
407fb4:	cc                   	int3
407fb5:	cc                   	int3
407fb6:	cc                   	int3
407fb7:	cc                   	int3
407fb8:	cc                   	int3
407fb9:	cc                   	int3
407fba:	cc                   	int3
407fbb:	cc                   	int3
407fbc:	cc                   	int3
407fbd:	cc                   	int3
407fbe:	cc                   	int3
407fbf:	cc                   	int3
407fc0:	68 b0 9f 40 00       	push   $0x409fb0
407fc5:	64 ff 35 00 00 00 00 	push   %fs:0x0
407fcc:	8b 44 24 10          	mov    0x10(%esp),%eax
407fd0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
407fd4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
407fd8:	2b e0                	sub    %eax,%esp
407fda:	53                   	push   %ebx
407fdb:	56                   	push   %esi
407fdc:	57                   	push   %edi
407fdd:	a1 14 30 43 00       	mov    0x433014,%eax
407fe2:	31 45 fc             	xor    %eax,-0x4(%ebp)
407fe5:	33 c5                	xor    %ebp,%eax
407fe7:	50                   	push   %eax
407fe8:	89 65 e8             	mov    %esp,-0x18(%ebp)
407feb:	ff 75 f8             	push   -0x8(%ebp)
407fee:	8b 45 fc             	mov    -0x4(%ebp),%eax
407ff1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407ff8:	89 45 f8             	mov    %eax,-0x8(%ebp)
407ffb:	8d 45 f0             	lea    -0x10(%ebp),%eax
407ffe:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408004:	c3                   	ret
408005:	55                   	push   %ebp
408006:	8b ec                	mov    %esp,%ebp
408008:	83 25 64 45 43 00 00 	andl   $0x0,0x434564
40800f:	83 ec 24             	sub    $0x24,%esp
408012:	83 0d 30 30 43 00 01 	orl    $0x1,0x433030
408019:	6a 0a                	push   $0xa
40801b:	ff 15 70 40 42 00    	call   *0x424070
408021:	85 c0                	test   %eax,%eax
408023:	0f 84 a9 01 00 00    	je     0x4081d2
408029:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40802d:	33 c0                	xor    %eax,%eax
40802f:	53                   	push   %ebx
408030:	56                   	push   %esi
408031:	57                   	push   %edi
408032:	33 c9                	xor    %ecx,%ecx
408034:	8d 7d dc             	lea    -0x24(%ebp),%edi
408037:	53                   	push   %ebx
408038:	0f a2                	cpuid
40803a:	8b f3                	mov    %ebx,%esi
40803c:	5b                   	pop    %ebx
40803d:	89 07                	mov    %eax,(%edi)
40803f:	89 77 04             	mov    %esi,0x4(%edi)
408042:	89 4f 08             	mov    %ecx,0x8(%edi)
408045:	33 c9                	xor    %ecx,%ecx
408047:	89 57 0c             	mov    %edx,0xc(%edi)
40804a:	8b 45 dc             	mov    -0x24(%ebp),%eax
40804d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
408050:	89 45 f4             	mov    %eax,-0xc(%ebp)
408053:	81 f7 6e 74 65 6c    	xor    $0x6c65746e,%edi
408059:	8b 45 e8             	mov    -0x18(%ebp),%eax
40805c:	35 69 6e 65 49       	xor    $0x49656e69,%eax
408061:	89 45 f8             	mov    %eax,-0x8(%ebp)
408064:	8b 45 e0             	mov    -0x20(%ebp),%eax
408067:	35 47 65 6e 75       	xor    $0x756e6547,%eax
40806c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40806f:	33 c0                	xor    %eax,%eax
408071:	40                   	inc    %eax
408072:	53                   	push   %ebx
408073:	0f a2                	cpuid
408075:	8b f3                	mov    %ebx,%esi
408077:	5b                   	pop    %ebx
408078:	8d 5d dc             	lea    -0x24(%ebp),%ebx
40807b:	89 03                	mov    %eax,(%ebx)
40807d:	8b 45 fc             	mov    -0x4(%ebp),%eax
408080:	89 73 04             	mov    %esi,0x4(%ebx)
408083:	0b c7                	or     %edi,%eax
408085:	0b 45 f8             	or     -0x8(%ebp),%eax
408088:	89 4b 08             	mov    %ecx,0x8(%ebx)
40808b:	89 53 0c             	mov    %edx,0xc(%ebx)
40808e:	75 43                	jne    0x4080d3
408090:	8b 45 dc             	mov    -0x24(%ebp),%eax
408093:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
408098:	3d c0 06 01 00       	cmp    $0x106c0,%eax
40809d:	74 23                	je     0x4080c2
40809f:	3d 60 06 02 00       	cmp    $0x20660,%eax
4080a4:	74 1c                	je     0x4080c2
4080a6:	3d 70 06 02 00       	cmp    $0x20670,%eax
4080ab:	74 15                	je     0x4080c2
4080ad:	3d 50 06 03 00       	cmp    $0x30650,%eax
4080b2:	74 0e                	je     0x4080c2
4080b4:	3d 60 06 03 00       	cmp    $0x30660,%eax
4080b9:	74 07                	je     0x4080c2
4080bb:	3d 70 06 03 00       	cmp    $0x30670,%eax
4080c0:	75 11                	jne    0x4080d3
4080c2:	8b 3d 68 45 43 00    	mov    0x434568,%edi
4080c8:	83 cf 01             	or     $0x1,%edi
4080cb:	89 3d 68 45 43 00    	mov    %edi,0x434568
4080d1:	eb 06                	jmp    0x4080d9
4080d3:	8b 3d 68 45 43 00    	mov    0x434568,%edi
4080d9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4080dc:	6a 07                	push   $0x7
4080de:	58                   	pop    %eax
4080df:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4080e2:	39 45 f4             	cmp    %eax,-0xc(%ebp)
4080e5:	7c 2f                	jl     0x408116
4080e7:	33 c9                	xor    %ecx,%ecx
4080e9:	53                   	push   %ebx
4080ea:	0f a2                	cpuid
4080ec:	8b f3                	mov    %ebx,%esi
4080ee:	5b                   	pop    %ebx
4080ef:	8d 5d dc             	lea    -0x24(%ebp),%ebx
4080f2:	89 03                	mov    %eax,(%ebx)
4080f4:	89 73 04             	mov    %esi,0x4(%ebx)
4080f7:	89 4b 08             	mov    %ecx,0x8(%ebx)
4080fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4080fd:	89 53 0c             	mov    %edx,0xc(%ebx)
408100:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408103:	f7 c3 00 02 00 00    	test   $0x200,%ebx
408109:	74 0e                	je     0x408119
40810b:	83 cf 02             	or     $0x2,%edi
40810e:	89 3d 68 45 43 00    	mov    %edi,0x434568
408114:	eb 03                	jmp    0x408119
408116:	8b 5d f0             	mov    -0x10(%ebp),%ebx
408119:	a1 30 30 43 00       	mov    0x433030,%eax