41bef8:	68 18 21 45 00       	push   $0x452118
41befd:	e8 ce 09 00 00       	call   0x41c8d0
41bf02:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bf06:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
41bf0b:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
41bf12:	75 5d                	jne    0x41bf71
41bf14:	a1 3c 00 40 00       	mov    0x40003c,%eax
41bf19:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
41bf20:	45 00 00
41bf23:	75 4c                	jne    0x41bf71
41bf25:	b9 0b 01 00 00       	mov    $0x10b,%ecx
41bf2a:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
41bf31:	75 3e                	jne    0x41bf71
41bf33:	8b 45 08             	mov    0x8(%ebp),%eax
41bf36:	b9 00 00 40 00       	mov    $0x400000,%ecx
41bf3b:	2b c1                	sub    %ecx,%eax
41bf3d:	50                   	push   %eax
41bf3e:	51                   	push   %ecx
41bf3f:	e8 7c fe ff ff       	call   0x41bdc0
41bf44:	59                   	pop    %ecx
41bf45:	59                   	pop    %ecx
41bf46:	85 c0                	test   %eax,%eax
41bf48:	74 27                	je     0x41bf71
41bf4a:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
41bf4e:	7c 21                	jl     0x41bf71
41bf50:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41bf57:	b0 01                	mov    $0x1,%al
41bf59:	eb 1f                	jmp    0x41bf7a
41bf5b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41bf5e:	8b 00                	mov    (%eax),%eax
41bf60:	33 c9                	xor    %ecx,%ecx
41bf62:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
41bf68:	0f 94 c1             	sete   %cl
41bf6b:	8b c1                	mov    %ecx,%eax
41bf6d:	c3                   	ret
41bf6e:	8b 65 e8             	mov    -0x18(%ebp),%esp
41bf71:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41bf78:	32 c0                	xor    %al,%al
41bf7a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41bf7d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41bf84:	59                   	pop    %ecx
41bf85:	5f                   	pop    %edi
41bf86:	5e                   	pop    %esi
41bf87:	5b                   	pop    %ebx
41bf88:	c9                   	leave
41bf89:	c3                   	ret
41bf8a:	55                   	push   %ebp
41bf8b:	8b ec                	mov    %esp,%ebp
41bf8d:	e8 83 09 00 00       	call   0x41c915
41bf92:	85 c0                	test   %eax,%eax
41bf94:	74 0f                	je     0x41bfa5
41bf96:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41bf9a:	75 09                	jne    0x41bfa5
41bf9c:	33 c0                	xor    %eax,%eax
41bf9e:	b9 08 55 45 00       	mov    $0x455508,%ecx
41bfa3:	87 01                	xchg   %eax,(%ecx)
41bfa5:	5d                   	pop    %ebp
41bfa6:	c3                   	ret
41bfa7:	55                   	push   %ebp
41bfa8:	8b ec                	mov    %esp,%ebp
41bfaa:	80 3d 0c 55 45 00 00 	cmpb   $0x0,0x45550c
41bfb1:	74 06                	je     0x41bfb9
41bfb3:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41bfb7:	75 12                	jne    0x41bfcb
41bfb9:	ff 75 08             	push   0x8(%ebp)
41bfbc:	e8 6f fc 00 00       	call   0x42bc30
41bfc1:	ff 75 08             	push   0x8(%ebp)
41bfc4:	e8 b4 33 00 00       	call   0x41f37d
41bfc9:	59                   	pop    %ecx
41bfca:	59                   	pop    %ecx
41bfcb:	b0 01                	mov    $0x1,%al
41bfcd:	5d                   	pop    %ebp
41bfce:	c3                   	ret
41bfcf:	55                   	push   %ebp
41bfd0:	8b ec                	mov    %esp,%ebp
41bfd2:	83 3d 10 55 45 00 ff 	cmpl   $0xffffffff,0x455510
41bfd9:	ff 75 08             	push   0x8(%ebp)
41bfdc:	75 07                	jne    0x41bfe5
41bfde:	e8 6c fa 00 00       	call   0x42ba4f
41bfe3:	eb 0b                	jmp    0x41bff0
41bfe5:	68 10 55 45 00       	push   $0x455510
41bfea:	e8 dd fa 00 00       	call   0x42bacc
41bfef:	59                   	pop    %ecx
41bff0:	f7 d8                	neg    %eax
41bff2:	59                   	pop    %ecx
41bff3:	1b c0                	sbb    %eax,%eax
41bff5:	f7 d0                	not    %eax
41bff7:	23 45 08             	and    0x8(%ebp),%eax
41bffa:	5d                   	pop    %ebp
41bffb:	c3                   	ret
41bffc:	55                   	push   %ebp
41bffd:	8b ec                	mov    %esp,%ebp
41bfff:	ff 75 08             	push   0x8(%ebp)
41c002:	e8 c8 ff ff ff       	call   0x41bfcf
41c007:	f7 d8                	neg    %eax
41c009:	59                   	pop    %ecx
41c00a:	1b c0                	sbb    %eax,%eax
41c00c:	f7 d8                	neg    %eax
41c00e:	48                   	dec    %eax
41c00f:	5d                   	pop    %ebp
41c010:	c3                   	ret
41c011:	e9 37 a0 00 00       	jmp    0x42604d
41c016:	e9 f6 ff ff ff       	jmp    0x41c011
41c01b:	55                   	push   %ebp
41c01c:	8b ec                	mov    %esp,%ebp
41c01e:	5d                   	pop    %ebp
41c01f:	e9 ba f8 ff ff       	jmp    0x41b8de
41c024:	55                   	push   %ebp
41c025:	8b ec                	mov    %esp,%ebp
41c027:	6a 00                	push   $0x0
41c029:	ff 15 44 f1 43 00    	call   *0x43f144
41c02f:	ff 75 08             	push   0x8(%ebp)
41c032:	ff 15 40 f1 43 00    	call   *0x43f140
41c038:	68 09 04 00 c0       	push   $0xc0000409
41c03d:	ff 15 e0 f0 43 00    	call   *0x43f0e0
41c043:	50                   	push   %eax
41c044:	ff 15 08 f1 43 00    	call   *0x43f108
41c04a:	5d                   	pop    %ebp
41c04b:	c3                   	ret
41c04c:	55                   	push   %ebp
41c04d:	8b ec                	mov    %esp,%ebp
41c04f:	81 ec 24 03 00 00    	sub    $0x324,%esp
41c055:	6a 17                	push   $0x17
41c057:	ff 15 48 f1 43 00    	call   *0x43f148
41c05d:	85 c0                	test   %eax,%eax
41c05f:	74 05                	je     0x41c066
41c061:	6a 02                	push   $0x2
41c063:	59                   	pop    %ecx
41c064:	cd 29                	int    $0x29
41c066:	a3 28 56 45 00       	mov    %eax,0x455628
41c06b:	89 0d 24 56 45 00    	mov    %ecx,0x455624
41c071:	89 15 20 56 45 00    	mov    %edx,0x455620
41c077:	89 1d 1c 56 45 00    	mov    %ebx,0x45561c
41c07d:	89 35 18 56 45 00    	mov    %esi,0x455618
41c083:	89 3d 14 56 45 00    	mov    %edi,0x455614
41c089:	66 8c 15 40 56 45 00 	data16 mov %ss,0x455640
41c090:	66 8c 0d 34 56 45 00 	data16 mov %cs,0x455634
41c097:	66 8c 1d 10 56 45 00 	data16 mov %ds,0x455610
41c09e:	66 8c 05 0c 56 45 00 	data16 mov %es,0x45560c
41c0a5:	66 8c 25 08 56 45 00 	data16 mov %fs,0x455608
41c0ac:	66 8c 2d 04 56 45 00 	data16 mov %gs,0x455604
41c0b3:	9c                   	pushf
41c0b4:	8f 05 38 56 45 00    	pop    0x455638
41c0ba:	8b 45 00             	mov    0x0(%ebp),%eax
41c0bd:	a3 2c 56 45 00       	mov    %eax,0x45562c
41c0c2:	8b 45 04             	mov    0x4(%ebp),%eax
41c0c5:	a3 30 56 45 00       	mov    %eax,0x455630
41c0ca:	8d 45 08             	lea    0x8(%ebp),%eax
41c0cd:	a3 3c 56 45 00       	mov    %eax,0x45563c
41c0d2:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
41c0d8:	c7 05 78 55 45 00 01 	movl   $0x10001,0x455578
41c0df:	00 01 00
41c0e2:	a1 30 56 45 00       	mov    0x455630,%eax
41c0e7:	a3 34 55 45 00       	mov    %eax,0x455534
41c0ec:	c7 05 28 55 45 00 09 	movl   $0xc0000409,0x455528
41c0f3:	04 00 c0
41c0f6:	c7 05 2c 55 45 00 01 	movl   $0x1,0x45552c
41c0fd:	00 00 00
41c100:	c7 05 38 55 45 00 01 	movl   $0x1,0x455538
41c107:	00 00 00
41c10a:	6a 04                	push   $0x4
41c10c:	58                   	pop    %eax
41c10d:	6b c0 00             	imul   $0x0,%eax,%eax
41c110:	c7 80 3c 55 45 00 02 	movl   $0x2,0x45553c(%eax)
41c117:	00 00 00
41c11a:	6a 04                	push   $0x4
41c11c:	58                   	pop    %eax
41c11d:	6b c0 00             	imul   $0x0,%eax,%eax
41c120:	8b 0d 14 40 45 00    	mov    0x454014,%ecx
41c126:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
41c12a:	6a 04                	push   $0x4
41c12c:	58                   	pop    %eax
41c12d:	c1 e0 00             	shl    $0x0,%eax
41c130:	8b 0d 18 40 45 00    	mov    0x454018,%ecx
41c136:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
41c13a:	68 fc 06 44 00       	push   $0x4406fc
41c13f:	e8 e0 fe ff ff       	call   0x41c024
41c144:	c9                   	leave
41c145:	c3                   	ret
41c146:	55                   	push   %ebp
41c147:	8b ec                	mov    %esp,%ebp
41c149:	6a 08                	push   $0x8
41c14b:	e8 02 00 00 00       	call   0x41c152
41c150:	5d                   	pop    %ebp
41c151:	c3                   	ret
41c152:	55                   	push   %ebp
41c153:	8b ec                	mov    %esp,%ebp
41c155:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
41c15b:	6a 17                	push   $0x17
41c15d:	ff 15 48 f1 43 00    	call   *0x43f148
41c163:	85 c0                	test   %eax,%eax
41c165:	74 05                	je     0x41c16c
41c167:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c16a:	cd 29                	int    $0x29
41c16c:	a3 28 56 45 00       	mov    %eax,0x455628
41c171:	89 0d 24 56 45 00    	mov    %ecx,0x455624
41c177:	89 15 20 56 45 00    	mov    %edx,0x455620
41c17d:	89 1d 1c 56 45 00    	mov    %ebx,0x45561c
41c183:	89 35 18 56 45 00    	mov    %esi,0x455618
41c189:	89 3d 14 56 45 00    	mov    %edi,0x455614
41c18f:	66 8c 15 40 56 45 00 	data16 mov %ss,0x455640
41c196:	66 8c 0d 34 56 45 00 	data16 mov %cs,0x455634
41c19d:	66 8c 1d 10 56 45 00 	data16 mov %ds,0x455610
41c1a4:	66 8c 05 0c 56 45 00 	data16 mov %es,0x45560c
41c1ab:	66 8c 25 08 56 45 00 	data16 mov %fs,0x455608
41c1b2:	66 8c 2d 04 56 45 00 	data16 mov %gs,0x455604
41c1b9:	9c                   	pushf
41c1ba:	8f 05 38 56 45 00    	pop    0x455638
41c1c0:	8b 45 00             	mov    0x0(%ebp),%eax
41c1c3:	a3 2c 56 45 00       	mov    %eax,0x45562c
41c1c8:	8b 45 04             	mov    0x4(%ebp),%eax
41c1cb:	a3 30 56 45 00       	mov    %eax,0x455630
41c1d0:	8d 45 08             	lea    0x8(%ebp),%eax
41c1d3:	a3 3c 56 45 00       	mov    %eax,0x45563c
41c1d8:	8b 85 e4 fc ff ff    	mov    -0x31c(%ebp),%eax
41c1de:	a1 30 56 45 00       	mov    0x455630,%eax
41c1e3:	a3 34 55 45 00       	mov    %eax,0x455534
41c1e8:	c7 05 28 55 45 00 09 	movl   $0xc0000409,0x455528
41c1ef:	04 00 c0
41c1f2:	c7 05 2c 55 45 00 01 	movl   $0x1,0x45552c
41c1f9:	00 00 00
41c1fc:	c7 05 38 55 45 00 01 	movl   $0x1,0x455538
41c203:	00 00 00
41c206:	6a 04                	push   $0x4
41c208:	58                   	pop    %eax
41c209:	6b c0 00             	imul   $0x0,%eax,%eax
41c20c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c20f:	89 88 3c 55 45 00    	mov    %ecx,0x45553c(%eax)
41c215:	68 fc 06 44 00       	push   $0x4406fc
41c21a:	e8 05 fe ff ff       	call   0x41c024
41c21f:	c9                   	leave
41c220:	c3                   	ret
41c221:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c224:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c22b:	59                   	pop    %ecx
41c22c:	5f                   	pop    %edi
41c22d:	5f                   	pop    %edi
41c22e:	5e                   	pop    %esi
41c22f:	5b                   	pop    %ebx
41c230:	8b e5                	mov    %ebp,%esp
41c232:	5d                   	pop    %ebp
41c233:	51                   	push   %ecx
41c234:	c3                   	ret
41c235:	50                   	push   %eax
41c236:	64 ff 35 00 00 00 00 	push   %fs:0x0
41c23d:	8d 44 24 0c          	lea    0xc(%esp),%eax
41c241:	2b 64 24 0c          	sub    0xc(%esp),%esp
41c245:	53                   	push   %ebx
41c246:	56                   	push   %esi
41c247:	57                   	push   %edi
41c248:	89 28                	mov    %ebp,(%eax)
41c24a:	8b e8                	mov    %eax,%ebp
41c24c:	a1 14 40 45 00       	mov    0x454014,%eax
41c251:	33 c5                	xor    %ebp,%eax
41c253:	50                   	push   %eax
41c254:	ff 75 fc             	push   -0x4(%ebp)
41c257:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c25e:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c261:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c267:	c3                   	ret
41c268:	50                   	push   %eax
41c269:	64 ff 35 00 00 00 00 	push   %fs:0x0
41c270:	8d 44 24 0c          	lea    0xc(%esp),%eax
41c274:	2b 64 24 0c          	sub    0xc(%esp),%esp
41c278:	53                   	push   %ebx
41c279:	56                   	push   %esi
41c27a:	57                   	push   %edi
41c27b:	89 28                	mov    %ebp,(%eax)
41c27d:	8b e8                	mov    %eax,%ebp
41c27f:	a1 14 40 45 00       	mov    0x454014,%eax
41c284:	33 c5                	xor    %ebp,%eax
41c286:	50                   	push   %eax
41c287:	89 65 f0             	mov    %esp,-0x10(%ebp)
41c28a:	ff 75 fc             	push   -0x4(%ebp)
41c28d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c294:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c297:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c29d:	c3                   	ret
41c29e:	55                   	push   %ebp
41c29f:	8b ec                	mov    %esp,%ebp
41c2a1:	83 25 44 58 45 00 00 	andl   $0x0,0x455844
41c2a8:	83 ec 24             	sub    $0x24,%esp
41c2ab:	83 0d 1c 40 45 00 01 	orl    $0x1,0x45401c
41c2b2:	6a 0a                	push   $0xa
41c2b4:	ff 15 48 f1 43 00    	call   *0x43f148
41c2ba:	85 c0                	test   %eax,%eax
41c2bc:	0f 84 ac 01 00 00    	je     0x41c46e
41c2c2:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41c2c6:	33 c0                	xor    %eax,%eax
41c2c8:	53                   	push   %ebx
41c2c9:	56                   	push   %esi
41c2ca:	57                   	push   %edi
41c2cb:	33 c9                	xor    %ecx,%ecx
41c2cd:	8d 7d dc             	lea    -0x24(%ebp),%edi
41c2d0:	53                   	push   %ebx
41c2d1:	0f a2                	cpuid
41c2d3:	8b f3                	mov    %ebx,%esi
41c2d5:	5b                   	pop    %ebx
41c2d6:	90                   	nop
41c2d7:	89 07                	mov    %eax,(%edi)
41c2d9:	89 77 04             	mov    %esi,0x4(%edi)
41c2dc:	89 4f 08             	mov    %ecx,0x8(%edi)
41c2df:	33 c9                	xor    %ecx,%ecx
41c2e1:	89 57 0c             	mov    %edx,0xc(%edi)
41c2e4:	8b 45 dc             	mov    -0x24(%ebp),%eax
41c2e7:	8b 7d e0             	mov    -0x20(%ebp),%edi
41c2ea:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c2ed:	81 f7 47 65 6e 75    	xor    $0x756e6547,%edi
41c2f3:	8b 45 e8             	mov    -0x18(%ebp),%eax
41c2f6:	35 69 6e 65 49       	xor    $0x49656e69,%eax
41c2fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c2fe:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c301:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
41c306:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c309:	33 c0                	xor    %eax,%eax
41c30b:	40                   	inc    %eax
41c30c:	53                   	push   %ebx
41c30d:	0f a2                	cpuid
41c30f:	8b f3                	mov    %ebx,%esi
41c311:	5b                   	pop    %ebx
41c312:	90                   	nop
41c313:	8d 5d dc             	lea    -0x24(%ebp),%ebx
41c316:	89 03                	mov    %eax,(%ebx)
41c318:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c31b:	0b 45 f8             	or     -0x8(%ebp),%eax
41c31e:	0b c7                	or     %edi,%eax
41c320:	89 73 04             	mov    %esi,0x4(%ebx)
41c323:	89 4b 08             	mov    %ecx,0x8(%ebx)
41c326:	89 53 0c             	mov    %edx,0xc(%ebx)
41c329:	75 43                	jne    0x41c36e
41c32b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41c32e:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
41c333:	3d c0 06 01 00       	cmp    $0x106c0,%eax
41c338:	74 23                	je     0x41c35d
41c33a:	3d 60 06 02 00       	cmp    $0x20660,%eax
41c33f:	74 1c                	je     0x41c35d
41c341:	3d 70 06 02 00       	cmp    $0x20670,%eax
41c346:	74 15                	je     0x41c35d
41c348:	3d 50 06 03 00       	cmp    $0x30650,%eax
41c34d:	74 0e                	je     0x41c35d
41c34f:	3d 60 06 03 00       	cmp    $0x30660,%eax
41c354:	74 07                	je     0x41c35d
41c356:	3d 70 06 03 00       	cmp    $0x30670,%eax
41c35b:	75 11                	jne    0x41c36e
41c35d:	8b 3d 48 58 45 00    	mov    0x455848,%edi
41c363:	83 cf 01             	or     $0x1,%edi
41c366:	89 3d 48 58 45 00    	mov    %edi,0x455848
41c36c:	eb 06                	jmp    0x41c374
41c36e:	8b 3d 48 58 45 00    	mov    0x455848,%edi
41c374:	8b 4d e4             	mov    -0x1c(%ebp),%ecx