4030be:	ff 15 24 f0 40 00    	call   *0x40f024
4030c4:	31 45 fc             	xor    %eax,-0x4(%ebp)
4030c7:	ff 15 20 f0 40 00    	call   *0x40f020
4030cd:	31 45 fc             	xor    %eax,-0x4(%ebp)
4030d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4030d3:	50                   	push   %eax
4030d4:	ff 15 1c f0 40 00    	call   *0x40f01c
4030da:	8b 45 f0             	mov    -0x10(%ebp),%eax
4030dd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4030e0:	33 45 ec             	xor    -0x14(%ebp),%eax
4030e3:	33 45 fc             	xor    -0x4(%ebp),%eax
4030e6:	33 c1                	xor    %ecx,%eax
4030e8:	c9                   	leave
4030e9:	c3                   	ret
4030ea:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
4030f0:	56                   	push   %esi
4030f1:	57                   	push   %edi
4030f2:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
4030f7:	be 00 00 ff ff       	mov    $0xffff0000,%esi
4030fc:	3b cf                	cmp    %edi,%ecx
4030fe:	74 04                	je     0x403104
403100:	85 ce                	test   %ecx,%esi
403102:	75 26                	jne    0x40312a
403104:	e8 94 ff ff ff       	call   0x40309d
403109:	8b c8                	mov    %eax,%ecx
40310b:	3b cf                	cmp    %edi,%ecx
40310d:	75 07                	jne    0x403116
40310f:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
403114:	eb 0e                	jmp    0x403124
403116:	85 ce                	test   %ecx,%esi
403118:	75 0a                	jne    0x403124
40311a:	0d 11 47 00 00       	or     $0x4711,%eax
40311f:	c1 e0 10             	shl    $0x10,%eax
403122:	0b c8                	or     %eax,%ecx
403124:	89 0d 14 60 41 00    	mov    %ecx,0x416014
40312a:	f7 d1                	not    %ecx
40312c:	5f                   	pop    %edi
40312d:	89 0d 18 60 41 00    	mov    %ecx,0x416018
403133:	5e                   	pop    %esi
403134:	c3                   	ret
403135:	33 c0                	xor    %eax,%eax
403137:	c3                   	ret
403138:	33 c0                	xor    %eax,%eax
40313a:	40                   	inc    %eax
40313b:	c3                   	ret
40313c:	b8 00 40 00 00       	mov    $0x4000,%eax
403141:	c3                   	ret
403142:	68 a0 69 41 00       	push   $0x4169a0
403147:	ff 15 2c f0 40 00    	call   *0x40f02c
40314d:	c3                   	ret
40314e:	b0 01                	mov    $0x1,%al
403150:	c3                   	ret
403151:	68 00 00 03 00       	push   $0x30000
403156:	68 00 00 01 00       	push   $0x10000
40315b:	6a 00                	push   $0x0
40315d:	e8 a1 3d 00 00       	call   0x406f03
403162:	83 c4 0c             	add    $0xc,%esp
403165:	85 c0                	test   %eax,%eax
403167:	75 01                	jne    0x40316a
403169:	c3                   	ret
40316a:	6a 07                	push   $0x7
40316c:	e8 45 00 00 00       	call   0x4031b6
403171:	cc                   	int3
403172:	c2 00 00             	ret    $0x0
403175:	b8 a8 69 41 00       	mov    $0x4169a8,%eax
40317a:	c3                   	ret
40317b:	b8 b0 69 41 00       	mov    $0x4169b0,%eax
403180:	c3                   	ret
403181:	e8 ef ff ff ff       	call   0x403175
403186:	8b 48 04             	mov    0x4(%eax),%ecx
403189:	83 08 24             	orl    $0x24,(%eax)
40318c:	89 48 04             	mov    %ecx,0x4(%eax)
40318f:	e8 e7 ff ff ff       	call   0x40317b
403194:	8b 48 04             	mov    0x4(%eax),%ecx
403197:	83 08 02             	orl    $0x2,(%eax)
40319a:	89 48 04             	mov    %ecx,0x4(%eax)
40319d:	c3                   	ret
40319e:	33 c0                	xor    %eax,%eax
4031a0:	39 05 04 60 41 00    	cmp    %eax,0x416004
4031a6:	0f 94 c0             	sete   %al
4031a9:	c3                   	ret
4031aa:	b8 b4 73 41 00       	mov    $0x4173b4,%eax
4031af:	c3                   	ret
4031b0:	b8 b0 73 41 00       	mov    $0x4173b0,%eax
4031b5:	c3                   	ret
4031b6:	55                   	push   %ebp
4031b7:	8b ec                	mov    %esp,%ebp
4031b9:	81 ec 24 03 00 00    	sub    $0x324,%esp
4031bf:	53                   	push   %ebx
4031c0:	6a 17                	push   $0x17
4031c2:	ff 15 40 f0 40 00    	call   *0x40f040
4031c8:	85 c0                	test   %eax,%eax
4031ca:	74 05                	je     0x4031d1
4031cc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4031cf:	cd 29                	int    $0x29
4031d1:	6a 03                	push   $0x3
4031d3:	e8 d3 01 00 00       	call   0x4033ab
4031d8:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
4031df:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4031e5:	6a 00                	push   $0x0
4031e7:	50                   	push   %eax
4031e8:	e8 f3 0d 00 00       	call   0x403fe0
4031ed:	83 c4 0c             	add    $0xc,%esp
4031f0:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
4031f6:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
4031fc:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
403202:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
403208:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
40320e:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
403214:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
40321b:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
403222:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
403229:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
403230:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
403237:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
40323e:	9c                   	pushf
40323f:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
403245:	8b 45 04             	mov    0x4(%ebp),%eax
403248:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
40324e:	8d 45 04             	lea    0x4(%ebp),%eax
403251:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
403257:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
40325e:	00 01 00
403261:	8b 40 fc             	mov    -0x4(%eax),%eax
403264:	6a 50                	push   $0x50
403266:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40326c:	8d 45 a8             	lea    -0x58(%ebp),%eax
40326f:	6a 00                	push   $0x0
403271:	50                   	push   %eax
403272:	e8 69 0d 00 00       	call   0x403fe0
403277:	8b 45 04             	mov    0x4(%ebp),%eax
40327a:	83 c4 0c             	add    $0xc,%esp
40327d:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
403284:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
40328b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40328e:	ff 15 30 f0 40 00    	call   *0x40f030
403294:	6a 00                	push   $0x0
403296:	8d 58 ff             	lea    -0x1(%eax),%ebx
403299:	f7 db                	neg    %ebx
40329b:	8d 45 a8             	lea    -0x58(%ebp),%eax
40329e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4032a1:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4032a7:	1a db                	sbb    %bl,%bl
4032a9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4032ac:	fe c3                	inc    %bl
4032ae:	ff 15 38 f0 40 00    	call   *0x40f038
4032b4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4032b7:	50                   	push   %eax
4032b8:	ff 15 34 f0 40 00    	call   *0x40f034
4032be:	85 c0                	test   %eax,%eax
4032c0:	75 0c                	jne    0x4032ce
4032c2:	84 db                	test   %bl,%bl
4032c4:	75 08                	jne    0x4032ce
4032c6:	6a 03                	push   $0x3
4032c8:	e8 de 00 00 00       	call   0x4033ab
4032cd:	59                   	pop    %ecx
4032ce:	5b                   	pop    %ebx
4032cf:	c9                   	leave
4032d0:	c3                   	ret
4032d1:	55                   	push   %ebp
4032d2:	8b ec                	mov    %esp,%ebp
4032d4:	83 ec 44             	sub    $0x44,%esp
4032d7:	6a 44                	push   $0x44
4032d9:	8d 45 bc             	lea    -0x44(%ebp),%eax
4032dc:	6a 00                	push   $0x0
4032de:	50                   	push   %eax
4032df:	e8 fc 0c 00 00       	call   0x403fe0
4032e4:	83 c4 0c             	add    $0xc,%esp
4032e7:	8d 45 bc             	lea    -0x44(%ebp),%eax
4032ea:	50                   	push   %eax
4032eb:	ff 15 3c f0 40 00    	call   *0x40f03c
4032f1:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
4032f5:	74 06                	je     0x4032fd
4032f7:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
4032fb:	c9                   	leave
4032fc:	c3                   	ret
4032fd:	6a 0a                	push   $0xa
4032ff:	58                   	pop    %eax
403300:	c9                   	leave
403301:	c3                   	ret
403302:	e9 2e fe ff ff       	jmp    0x403135
403307:	6a 00                	push   $0x0
403309:	ff 15 44 f0 40 00    	call   *0x40f044
40330f:	85 c0                	test   %eax,%eax
403311:	74 33                	je     0x403346
403313:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
403318:	66 39 08             	cmp    %cx,(%eax)
40331b:	75 29                	jne    0x403346
40331d:	8b 48 3c             	mov    0x3c(%eax),%ecx
403320:	03 c8                	add    %eax,%ecx
403322:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
403328:	75 1c                	jne    0x403346
40332a:	b8 0b 01 00 00       	mov    $0x10b,%eax
40332f:	66 39 41 18          	cmp    %ax,0x18(%ecx)
403333:	75 11                	jne    0x403346
403335:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
403339:	76 0b                	jbe    0x403346
40333b:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
403342:	0f 95 c0             	setne  %al
403345:	c3                   	ret
403346:	32 c0                	xor    %al,%al
403348:	c3                   	ret
403349:	68 55 33 40 00       	push   $0x403355
40334e:	ff 15 38 f0 40 00    	call   *0x40f038
403354:	c3                   	ret
403355:	55                   	push   %ebp
403356:	8b ec                	mov    %esp,%ebp
403358:	56                   	push   %esi
403359:	57                   	push   %edi
40335a:	8b 7d 08             	mov    0x8(%ebp),%edi
40335d:	8b 37                	mov    (%edi),%esi
40335f:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
403365:	75 25                	jne    0x40338c
403367:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40336b:	75 1f                	jne    0x40338c
40336d:	8b 46 14             	mov    0x14(%esi),%eax
403370:	3d 20 05 93 19       	cmp    $0x19930520,%eax
403375:	74 1d                	je     0x403394
403377:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40337c:	74 16                	je     0x403394
40337e:	3d 22 05 93 19       	cmp    $0x19930522,%eax
403383:	74 0f                	je     0x403394
403385:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40338a:	74 08                	je     0x403394
40338c:	5f                   	pop    %edi
40338d:	33 c0                	xor    %eax,%eax
40338f:	5e                   	pop    %esi
403390:	5d                   	pop    %ebp
403391:	c2 04 00             	ret    $0x4
403394:	e8 29 09 00 00       	call   0x403cc2
403399:	89 30                	mov    %esi,(%eax)
40339b:	8b 77 04             	mov    0x4(%edi),%esi
40339e:	e8 28 09 00 00       	call   0x403ccb
4033a3:	89 30                	mov    %esi,(%eax)
4033a5:	e8 b8 3b 00 00       	call   0x406f62
4033aa:	cc                   	int3
4033ab:	83 25 b8 69 41 00 00 	andl   $0x0,0x4169b8
4033b2:	c3                   	ret
4033b3:	53                   	push   %ebx
4033b4:	56                   	push   %esi
4033b5:	be 54 46 41 00       	mov    $0x414654,%esi
4033ba:	bb 54 46 41 00       	mov    $0x414654,%ebx
4033bf:	3b f3                	cmp    %ebx,%esi
4033c1:	73 19                	jae    0x4033dc
4033c3:	57                   	push   %edi
4033c4:	8b 3e                	mov    (%esi),%edi
4033c6:	85 ff                	test   %edi,%edi
4033c8:	74 0a                	je     0x4033d4
4033ca:	8b cf                	mov    %edi,%ecx
4033cc:	ff 15 18 f1 40 00    	call   *0x40f118
4033d2:	ff d7                	call   *%edi
4033d4:	83 c6 04             	add    $0x4,%esi
4033d7:	3b f3                	cmp    %ebx,%esi
4033d9:	72 e9                	jb     0x4033c4
4033db:	5f                   	pop    %edi
4033dc:	5e                   	pop    %esi
4033dd:	5b                   	pop    %ebx
4033de:	c3                   	ret
4033df:	53                   	push   %ebx
4033e0:	56                   	push   %esi
4033e1:	be 5c 46 41 00       	mov    $0x41465c,%esi
4033e6:	bb 5c 46 41 00       	mov    $0x41465c,%ebx
4033eb:	3b f3                	cmp    %ebx,%esi
4033ed:	73 19                	jae    0x403408
4033ef:	57                   	push   %edi
4033f0:	8b 3e                	mov    (%esi),%edi
4033f2:	85 ff                	test   %edi,%edi
4033f4:	74 0a                	je     0x403400
4033f6:	8b cf                	mov    %edi,%ecx
4033f8:	ff 15 18 f1 40 00    	call   *0x40f118
4033fe:	ff d7                	call   *%edi
403400:	83 c6 04             	add    $0x4,%esi
403403:	3b f3                	cmp    %ebx,%esi
403405:	72 e9                	jb     0x4033f0
403407:	5f                   	pop    %edi
403408:	5e                   	pop    %esi
403409:	5b                   	pop    %ebx
40340a:	c3                   	ret
40340b:	cc                   	int3
40340c:	cc                   	int3
40340d:	cc                   	int3
40340e:	cc                   	int3
40340f:	cc                   	int3
403410:	68 10 3e 40 00       	push   $0x403e10
403415:	64 ff 35 00 00 00 00 	push   %fs:0x0
40341c:	8b 44 24 10          	mov    0x10(%esp),%eax
403420:	89 6c 24 10          	mov    %ebp,0x10(%esp)
403424:	8d 6c 24 10          	lea    0x10(%esp),%ebp
403428:	2b e0                	sub    %eax,%esp
40342a:	53                   	push   %ebx
40342b:	56                   	push   %esi
40342c:	57                   	push   %edi
40342d:	a1 14 60 41 00       	mov    0x416014,%eax
403432:	31 45 fc             	xor    %eax,-0x4(%ebp)
403435:	33 c5                	xor    %ebp,%eax
403437:	50                   	push   %eax
403438:	89 65 e8             	mov    %esp,-0x18(%ebp)
40343b:	ff 75 f8             	push   -0x8(%ebp)
40343e:	8b 45 fc             	mov    -0x4(%ebp),%eax
403441:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403448:	89 45 f8             	mov    %eax,-0x8(%ebp)
40344b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40344e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403454:	c3                   	ret
403455:	55                   	push   %ebp
403456:	8b ec                	mov    %esp,%ebp
403458:	83 25 bc 69 41 00 00 	andl   $0x0,0x4169bc
40345f:	83 ec 24             	sub    $0x24,%esp
403462:	83 0d 10 60 41 00 01 	orl    $0x1,0x416010
403469:	6a 0a                	push   $0xa
40346b:	ff 15 40 f0 40 00    	call   *0x40f040
403471:	85 c0                	test   %eax,%eax
403473:	0f 84 ac 01 00 00    	je     0x403625
403479:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40347d:	33 c0                	xor    %eax,%eax
40347f:	53                   	push   %ebx
403480:	56                   	push   %esi
403481:	57                   	push   %edi
403482:	33 c9                	xor    %ecx,%ecx
403484:	8d 7d dc             	lea    -0x24(%ebp),%edi
403487:	53                   	push   %ebx
403488:	0f a2                	cpuid
40348a:	8b f3                	mov    %ebx,%esi
40348c:	5b                   	pop    %ebx
40348d:	90                   	nop
40348e:	89 07                	mov    %eax,(%edi)
403490:	89 77 04             	mov    %esi,0x4(%edi)
403493:	89 4f 08             	mov    %ecx,0x8(%edi)
403496:	33 c9                	xor    %ecx,%ecx
403498:	89 57 0c             	mov    %edx,0xc(%edi)
40349b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40349e:	8b 7d e0             	mov    -0x20(%ebp),%edi
4034a1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4034a4:	81 f7 47 65 6e 75    	xor    $0x756e6547,%edi
4034aa:	8b 45 e8             	mov    -0x18(%ebp),%eax
4034ad:	35 69 6e 65 49       	xor    $0x49656e69,%eax
4034b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4034b5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4034b8:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
4034bd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4034c0:	33 c0                	xor    %eax,%eax
4034c2:	40                   	inc    %eax
4034c3:	53                   	push   %ebx
4034c4:	0f a2                	cpuid
4034c6:	8b f3                	mov    %ebx,%esi
4034c8:	5b                   	pop    %ebx
4034c9:	90                   	nop
4034ca:	8d 5d dc             	lea    -0x24(%ebp),%ebx
4034cd:	89 03                	mov    %eax,(%ebx)
4034cf:	8b 45 fc             	mov    -0x4(%ebp),%eax