40725f:	50                   	push   %eax
407260:	e8 b1 0d 00 00       	call   0x408016
407265:	cc                   	int3
407266:	55                   	push   %ebp
407267:	8b ec                	mov    %esp,%ebp
407269:	83 ec 0c             	sub    $0xc,%esp
40726c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40726f:	e8 7f ff ff ff       	call   0x4071f3
407274:	68 44 7e 43 00       	push   $0x437e44
407279:	8d 45 f4             	lea    -0xc(%ebp),%eax
40727c:	50                   	push   %eax
40727d:	e8 94 0d 00 00       	call   0x408016
407282:	cc                   	int3
407283:	55                   	push   %ebp
407284:	8b ec                	mov    %esp,%ebp
407286:	83 25 48 96 83 02 00 	andl   $0x0,0x2839648
40728d:	83 ec 28             	sub    $0x28,%esp
407290:	53                   	push   %ebx
407291:	33 db                	xor    %ebx,%ebx
407293:	43                   	inc    %ebx
407294:	09 1d 30 ba 43 00    	or     %ebx,0x43ba30
40729a:	6a 0a                	push   $0xa
40729c:	e8 31 ef 01 00       	call   0x4261d2
4072a1:	85 c0                	test   %eax,%eax
4072a3:	0f 84 6d 01 00 00    	je     0x407416
4072a9:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4072ad:	33 c0                	xor    %eax,%eax
4072af:	83 0d 30 ba 43 00 02 	orl    $0x2,0x43ba30
4072b6:	33 c9                	xor    %ecx,%ecx
4072b8:	56                   	push   %esi
4072b9:	57                   	push   %edi
4072ba:	89 1d 48 96 83 02    	mov    %ebx,0x2839648
4072c0:	8d 7d d8             	lea    -0x28(%ebp),%edi
4072c3:	53                   	push   %ebx
4072c4:	0f a2                	cpuid
4072c6:	8b f3                	mov    %ebx,%esi
4072c8:	5b                   	pop    %ebx
4072c9:	89 07                	mov    %eax,(%edi)
4072cb:	89 77 04             	mov    %esi,0x4(%edi)
4072ce:	89 4f 08             	mov    %ecx,0x8(%edi)
4072d1:	89 57 0c             	mov    %edx,0xc(%edi)
4072d4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4072d7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4072da:	89 45 f8             	mov    %eax,-0x8(%ebp)
4072dd:	81 f1 69 6e 65 49    	xor    $0x49656e69,%ecx
4072e3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4072e6:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
4072eb:	0b c8                	or     %eax,%ecx
4072ed:	8b 45 dc             	mov    -0x24(%ebp),%eax
4072f0:	6a 01                	push   $0x1
4072f2:	35 47 65 6e 75       	xor    $0x756e6547,%eax
4072f7:	0b c8                	or     %eax,%ecx
4072f9:	58                   	pop    %eax
4072fa:	6a 00                	push   $0x0
4072fc:	59                   	pop    %ecx
4072fd:	53                   	push   %ebx
4072fe:	0f a2                	cpuid
407300:	8b f3                	mov    %ebx,%esi
407302:	5b                   	pop    %ebx
407303:	89 07                	mov    %eax,(%edi)
407305:	89 77 04             	mov    %esi,0x4(%edi)
407308:	89 4f 08             	mov    %ecx,0x8(%edi)
40730b:	89 57 0c             	mov    %edx,0xc(%edi)
40730e:	75 43                	jne    0x407353
407310:	8b 45 d8             	mov    -0x28(%ebp),%eax
407313:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
407318:	3d c0 06 01 00       	cmp    $0x106c0,%eax
40731d:	74 23                	je     0x407342
40731f:	3d 60 06 02 00       	cmp    $0x20660,%eax
407324:	74 1c                	je     0x407342
407326:	3d 70 06 02 00       	cmp    $0x20670,%eax
40732b:	74 15                	je     0x407342
40732d:	3d 50 06 03 00       	cmp    $0x30650,%eax
407332:	74 0e                	je     0x407342
407334:	3d 60 06 03 00       	cmp    $0x30660,%eax
407339:	74 07                	je     0x407342
40733b:	3d 70 06 03 00       	cmp    $0x30670,%eax
407340:	75 11                	jne    0x407353
407342:	8b 3d 4c 96 83 02    	mov    0x283964c,%edi
407348:	83 cf 01             	or     $0x1,%edi
40734b:	89 3d 4c 96 83 02    	mov    %edi,0x283964c
407351:	eb 06                	jmp    0x407359
407353:	8b 3d 4c 96 83 02    	mov    0x283964c,%edi
407359:	83 7d f8 07          	cmpl   $0x7,-0x8(%ebp)
40735d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
407360:	89 45 e8             	mov    %eax,-0x18(%ebp)
407363:	8b 45 e0             	mov    -0x20(%ebp),%eax
407366:	89 45 fc             	mov    %eax,-0x4(%ebp)
407369:	89 45 ec             	mov    %eax,-0x14(%ebp)
40736c:	7c 32                	jl     0x4073a0
40736e:	6a 07                	push   $0x7
407370:	58                   	pop    %eax
407371:	33 c9                	xor    %ecx,%ecx
407373:	53                   	push   %ebx
407374:	0f a2                	cpuid
407376:	8b f3                	mov    %ebx,%esi
407378:	5b                   	pop    %ebx
407379:	8d 5d d8             	lea    -0x28(%ebp),%ebx
40737c:	89 03                	mov    %eax,(%ebx)
40737e:	89 73 04             	mov    %esi,0x4(%ebx)
407381:	89 4b 08             	mov    %ecx,0x8(%ebx)
407384:	89 53 0c             	mov    %edx,0xc(%ebx)
407387:	8b 45 dc             	mov    -0x24(%ebp),%eax
40738a:	a9 00 02 00 00       	test   $0x200,%eax
40738f:	89 45 f0             	mov    %eax,-0x10(%ebp)
407392:	8b 45 fc             	mov    -0x4(%ebp),%eax
407395:	74 09                	je     0x4073a0
407397:	83 cf 02             	or     $0x2,%edi
40739a:	89 3d 4c 96 83 02    	mov    %edi,0x283964c
4073a0:	5f                   	pop    %edi
4073a1:	5e                   	pop    %esi
4073a2:	a9 00 00 10 00       	test   $0x100000,%eax
4073a7:	74 6d                	je     0x407416
4073a9:	83 0d 30 ba 43 00 04 	orl    $0x4,0x43ba30
4073b0:	c7 05 48 96 83 02 02 	movl   $0x2,0x2839648
4073b7:	00 00 00
4073ba:	a9 00 00 00 08       	test   $0x8000000,%eax
4073bf:	74 55                	je     0x407416
4073c1:	a9 00 00 00 10       	test   $0x10000000,%eax
4073c6:	74 4e                	je     0x407416
4073c8:	33 c9                	xor    %ecx,%ecx
4073ca:	0f 01 d0             	xgetbv
4073cd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4073d0:	89 55 f8             	mov    %edx,-0x8(%ebp)
4073d3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4073d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4073d9:	83 e0 06             	and    $0x6,%eax
4073dc:	33 c9                	xor    %ecx,%ecx
4073de:	83 f8 06             	cmp    $0x6,%eax
4073e1:	75 33                	jne    0x407416
4073e3:	85 c9                	test   %ecx,%ecx
4073e5:	75 2f                	jne    0x407416
4073e7:	a1 30 ba 43 00       	mov    0x43ba30,%eax
4073ec:	83 c8 08             	or     $0x8,%eax
4073ef:	c7 05 48 96 83 02 03 	movl   $0x3,0x2839648
4073f6:	00 00 00
4073f9:	f6 45 f0 20          	testb  $0x20,-0x10(%ebp)
4073fd:	a3 30 ba 43 00       	mov    %eax,0x43ba30
407402:	74 12                	je     0x407416
407404:	83 c8 20             	or     $0x20,%eax
407407:	c7 05 48 96 83 02 05 	movl   $0x5,0x2839648
40740e:	00 00 00
407411:	a3 30 ba 43 00       	mov    %eax,0x43ba30
407416:	33 c0                	xor    %eax,%eax
407418:	5b                   	pop    %ebx
407419:	8b e5                	mov    %ebp,%esp
40741b:	5d                   	pop    %ebp
40741c:	c3                   	ret
40741d:	33 c0                	xor    %eax,%eax
40741f:	40                   	inc    %eax
407420:	c3                   	ret
407421:	33 c0                	xor    %eax,%eax
407423:	39 05 f8 a0 83 02    	cmp    %eax,0x283a0f8
407429:	0f 95 c0             	setne  %al
40742c:	c3                   	ret
40742d:	55                   	push   %ebp
40742e:	8b ec                	mov    %esp,%ebp
407430:	81 ec 24 03 00 00    	sub    $0x324,%esp
407436:	53                   	push   %ebx
407437:	56                   	push   %esi
407438:	6a 17                	push   $0x17
40743a:	e8 93 ed 01 00       	call   0x4261d2
40743f:	85 c0                	test   %eax,%eax
407441:	74 05                	je     0x407448
407443:	8b 4d 08             	mov    0x8(%ebp),%ecx
407446:	cd 29                	int    $0x29
407448:	33 f6                	xor    %esi,%esi
40744a:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
407450:	68 cc 02 00 00       	push   $0x2cc
407455:	56                   	push   %esi
407456:	50                   	push   %eax
407457:	89 35 50 96 83 02    	mov    %esi,0x2839650
40745d:	e8 7e 15 00 00       	call   0x4089e0
407462:	83 c4 0c             	add    $0xc,%esp
407465:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
40746b:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
407471:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
407477:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
40747d:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
407483:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
407489:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
407490:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
407497:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
40749e:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
4074a5:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
4074ac:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
4074b3:	9c                   	pushf
4074b4:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
4074ba:	8b 45 04             	mov    0x4(%ebp),%eax
4074bd:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
4074c3:	8d 45 04             	lea    0x4(%ebp),%eax
4074c6:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
4074cc:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
4074d3:	00 01 00
4074d6:	8b 40 fc             	mov    -0x4(%eax),%eax
4074d9:	6a 50                	push   $0x50
4074db:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
4074e1:	8d 45 a8             	lea    -0x58(%ebp),%eax
4074e4:	56                   	push   %esi
4074e5:	50                   	push   %eax
4074e6:	e8 f5 14 00 00       	call   0x4089e0
4074eb:	8b 45 04             	mov    0x4(%ebp),%eax
4074ee:	83 c4 0c             	add    $0xc,%esp
4074f1:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
4074f8:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
4074ff:	89 45 b4             	mov    %eax,-0x4c(%ebp)
407502:	ff 15 94 71 42 00    	call   *0x427194
407508:	56                   	push   %esi
407509:	8d 58 ff             	lea    -0x1(%eax),%ebx
40750c:	f7 db                	neg    %ebx
40750e:	8d 45 a8             	lea    -0x58(%ebp),%eax
407511:	89 45 f8             	mov    %eax,-0x8(%ebp)
407514:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40751a:	1a db                	sbb    %bl,%bl
40751c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40751f:	fe c3                	inc    %bl
407521:	ff 15 9c 71 42 00    	call   *0x42719c
407527:	8d 45 f8             	lea    -0x8(%ebp),%eax
40752a:	50                   	push   %eax
40752b:	ff 15 98 71 42 00    	call   *0x427198
407531:	85 c0                	test   %eax,%eax
407533:	75 0d                	jne    0x407542
407535:	0f b6 c3             	movzbl %bl,%eax
407538:	f7 d8                	neg    %eax
40753a:	1b c0                	sbb    %eax,%eax
40753c:	21 05 50 96 83 02    	and    %eax,0x2839650
407542:	5e                   	pop    %esi
407543:	5b                   	pop    %ebx
407544:	8b e5                	mov    %ebp,%esp
407546:	5d                   	pop    %ebp
407547:	c3                   	ret
407548:	55                   	push   %ebp
407549:	8b ec                	mov    %esp,%ebp
40754b:	83 ec 44             	sub    $0x44,%esp
40754e:	6a 44                	push   $0x44
407550:	8d 45 bc             	lea    -0x44(%ebp),%eax
407553:	6a 00                	push   $0x0
407555:	50                   	push   %eax
407556:	e8 85 14 00 00       	call   0x4089e0
40755b:	83 c4 0c             	add    $0xc,%esp
40755e:	8d 45 bc             	lea    -0x44(%ebp),%eax
407561:	50                   	push   %eax
407562:	ff 15 a0 71 42 00    	call   *0x4271a0
407568:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
40756c:	74 06                	je     0x407574
40756e:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
407572:	eb 03                	jmp    0x407577
407574:	6a 0a                	push   $0xa
407576:	58                   	pop    %eax
407577:	8b e5                	mov    %ebp,%esp
407579:	5d                   	pop    %ebp
40757a:	c3                   	ret
40757b:	33 c0                	xor    %eax,%eax
40757d:	c3                   	ret
40757e:	6a 00                	push   $0x0
407580:	ff 15 6c 71 42 00    	call   *0x42716c
407586:	8b c8                	mov    %eax,%ecx
407588:	85 c9                	test   %ecx,%ecx
40758a:	75 03                	jne    0x40758f
40758c:	32 c0                	xor    %al,%al
40758e:	c3                   	ret
40758f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
407594:	66 39 01             	cmp    %ax,(%ecx)
407597:	75 f3                	jne    0x40758c
407599:	8b 41 3c             	mov    0x3c(%ecx),%eax
40759c:	03 c1                	add    %ecx,%eax
40759e:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
4075a4:	75 e6                	jne    0x40758c
4075a6:	b9 0b 01 00 00       	mov    $0x10b,%ecx
4075ab:	66 39 48 18          	cmp    %cx,0x18(%eax)
4075af:	75 db                	jne    0x40758c
4075b1:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
4075b5:	76 d5                	jbe    0x40758c
4075b7:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
4075be:	0f 95 c0             	setne  %al
4075c1:	c3                   	ret
4075c2:	68 ce 75 40 00       	push   $0x4075ce
4075c7:	ff 15 9c 71 42 00    	call   *0x42719c
4075cd:	c3                   	ret
4075ce:	55                   	push   %ebp
4075cf:	8b ec                	mov    %esp,%ebp
4075d1:	8b 45 08             	mov    0x8(%ebp),%eax
4075d4:	8b 00                	mov    (%eax),%eax
4075d6:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4075dc:	75 25                	jne    0x407603
4075de:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
4075e2:	75 1f                	jne    0x407603
4075e4:	8b 40 14             	mov    0x14(%eax),%eax
4075e7:	3d 20 05 93 19       	cmp    $0x19930520,%eax
4075ec:	74 1b                	je     0x407609
4075ee:	3d 21 05 93 19       	cmp    $0x19930521,%eax
4075f3:	74 14                	je     0x407609
4075f5:	3d 22 05 93 19       	cmp    $0x19930522,%eax
4075fa:	74 0d                	je     0x407609
4075fc:	3d 00 40 99 01       	cmp    $0x1994000,%eax
407601:	74 06                	je     0x407609
407603:	33 c0                	xor    %eax,%eax
407605:	5d                   	pop    %ebp
407606:	c2 04 00             	ret    $0x4
407609:	e8 bc 04 01 00       	call   0x417aca
40760e:	cc                   	int3
40760f:	83 25 50 96 83 02 00 	andl   $0x0,0x2839650
407616:	c3                   	ret
407617:	cc                   	int3
407618:	cc                   	int3
407619:	cc                   	int3
40761a:	cc                   	int3
40761b:	cc                   	int3
40761c:	cc                   	int3
40761d:	cc                   	int3
40761e:	cc                   	int3
40761f:	cc                   	int3
407620:	68 c0 b1 40 00       	push   $0x40b1c0
407625:	64 ff 35 00 00 00 00 	push   %fs:0x0
40762c:	8b 44 24 10          	mov    0x10(%esp),%eax
407630:	89 6c 24 10          	mov    %ebp,0x10(%esp)
407634:	8d 6c 24 10          	lea    0x10(%esp),%ebp
407638:	2b e0                	sub    %eax,%esp
40763a:	53                   	push   %ebx
40763b:	56                   	push   %esi
40763c:	57                   	push   %edi
40763d:	a1 28 ba 43 00       	mov    0x43ba28,%eax
407642:	31 45 fc             	xor    %eax,-0x4(%ebp)
407645:	33 c5                	xor    %ebp,%eax
407647:	50                   	push   %eax
407648:	89 65 e8             	mov    %esp,-0x18(%ebp)
40764b:	ff 75 f8             	push   -0x8(%ebp)
40764e:	8b 45 fc             	mov    -0x4(%ebp),%eax
407651:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407658:	89 45 f8             	mov    %eax,-0x8(%ebp)
40765b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40765e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407664:	f2 c3                	bnd ret
407666:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407669:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407670:	59                   	pop    %ecx
407671:	5f                   	pop    %edi
407672:	5f                   	pop    %edi
407673:	5e                   	pop    %esi
407674:	5b                   	pop    %ebx
407675:	8b e5                	mov    %ebp,%esp
407677:	5d                   	pop    %ebp
407678:	51                   	push   %ecx
407679:	f2 c3                	bnd ret
40767b:	55                   	push   %ebp
40767c:	8b ec                	mov    %esp,%ebp
40767e:	83 ec 14             	sub    $0x14,%esp
407681:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
407685:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
407689:	a1 28 ba 43 00       	mov    0x43ba28,%eax