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
41c377:	6a 07                	push   $0x7
41c379:	58                   	pop    %eax
41c37a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c37d:	39 45 f4             	cmp    %eax,-0xc(%ebp)
41c380:	7c 30                	jl     0x41c3b2
41c382:	33 c9                	xor    %ecx,%ecx
41c384:	53                   	push   %ebx
41c385:	0f a2                	cpuid
41c387:	8b f3                	mov    %ebx,%esi
41c389:	5b                   	pop    %ebx
41c38a:	90                   	nop
41c38b:	8d 5d dc             	lea    -0x24(%ebp),%ebx
41c38e:	89 03                	mov    %eax,(%ebx)
41c390:	89 73 04             	mov    %esi,0x4(%ebx)
41c393:	89 4b 08             	mov    %ecx,0x8(%ebx)
41c396:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c399:	89 53 0c             	mov    %edx,0xc(%ebx)
41c39c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
41c39f:	f7 c3 00 02 00 00    	test   $0x200,%ebx
41c3a5:	74 0e                	je     0x41c3b5
41c3a7:	83 cf 02             	or     $0x2,%edi
41c3aa:	89 3d 48 58 45 00    	mov    %edi,0x455848
41c3b0:	eb 03                	jmp    0x41c3b5
41c3b2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41c3b5:	a1 1c 40 45 00       	mov    0x45401c,%eax
41c3ba:	83 c8 02             	or     $0x2,%eax
41c3bd:	c7 05 44 58 45 00 01 	movl   $0x1,0x455844
41c3c4:	00 00 00
41c3c7:	a3 1c 40 45 00       	mov    %eax,0x45401c
41c3cc:	f7 c1 00 00 10 00    	test   $0x100000,%ecx
41c3d2:	0f 84 93 00 00 00    	je     0x41c46b
41c3d8:	83 c8 04             	or     $0x4,%eax
41c3db:	c7 05 44 58 45 00 02 	movl   $0x2,0x455844
41c3e2:	00 00 00
41c3e5:	a3 1c 40 45 00       	mov    %eax,0x45401c
41c3ea:	f7 c1 00 00 00 08    	test   $0x8000000,%ecx
41c3f0:	74 79                	je     0x41c46b
41c3f2:	f7 c1 00 00 00 10    	test   $0x10000000,%ecx
41c3f8:	74 71                	je     0x41c46b
41c3fa:	33 c9                	xor    %ecx,%ecx
41c3fc:	0f 01 d0             	xgetbv
41c3ff:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c402:	89 55 f0             	mov    %edx,-0x10(%ebp)
41c405:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c408:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c40b:	6a 06                	push   $0x6
41c40d:	5e                   	pop    %esi
41c40e:	23 c6                	and    %esi,%eax
41c410:	3b c6                	cmp    %esi,%eax
41c412:	75 57                	jne    0x41c46b
41c414:	a1 1c 40 45 00       	mov    0x45401c,%eax
41c419:	83 c8 08             	or     $0x8,%eax
41c41c:	c7 05 44 58 45 00 03 	movl   $0x3,0x455844
41c423:	00 00 00
41c426:	a3 1c 40 45 00       	mov    %eax,0x45401c
41c42b:	f6 c3 20             	test   $0x20,%bl
41c42e:	74 3b                	je     0x41c46b
41c430:	83 c8 20             	or     $0x20,%eax
41c433:	c7 05 44 58 45 00 05 	movl   $0x5,0x455844
41c43a:	00 00 00
41c43d:	a3 1c 40 45 00       	mov    %eax,0x45401c
41c442:	b8 00 00 03 d0       	mov    $0xd0030000,%eax
41c447:	23 d8                	and    %eax,%ebx
41c449:	3b d8                	cmp    %eax,%ebx
41c44b:	75 1e                	jne    0x41c46b
41c44d:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c450:	ba e0 00 00 00       	mov    $0xe0,%edx
41c455:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c458:	23 c2                	and    %edx,%eax
41c45a:	3b c2                	cmp    %edx,%eax
41c45c:	75 0d                	jne    0x41c46b
41c45e:	83 0d 1c 40 45 00 40 	orl    $0x40,0x45401c
41c465:	89 35 44 58 45 00    	mov    %esi,0x455844
41c46b:	5f                   	pop    %edi
41c46c:	5e                   	pop    %esi
41c46d:	5b                   	pop    %ebx
41c46e:	33 c0                	xor    %eax,%eax
41c470:	c9                   	leave
41c471:	c3                   	ret
41c472:	cc                   	int3
41c473:	cc                   	int3
41c474:	cc                   	int3
41c475:	cc                   	int3
41c476:	cc                   	int3
41c477:	cc                   	int3
41c478:	cc                   	int3
41c479:	cc                   	int3
41c47a:	cc                   	int3
41c47b:	cc                   	int3
41c47c:	cc                   	int3
41c47d:	cc                   	int3
41c47e:	cc                   	int3
41c47f:	cc                   	int3
41c480:	8b 44 24 08          	mov    0x8(%esp),%eax
41c484:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41c488:	0b c8                	or     %eax,%ecx
41c48a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41c48e:	75 09                	jne    0x41c499
41c490:	8b 44 24 04          	mov    0x4(%esp),%eax
41c494:	f7 e1                	mul    %ecx
41c496:	c2 10 00             	ret    $0x10
41c499:	53                   	push   %ebx
41c49a:	f7 e1                	mul    %ecx
41c49c:	8b d8                	mov    %eax,%ebx
41c49e:	8b 44 24 08          	mov    0x8(%esp),%eax
41c4a2:	f7 64 24 14          	mull   0x14(%esp)
41c4a6:	03 d8                	add    %eax,%ebx
41c4a8:	8b 44 24 08          	mov    0x8(%esp),%eax
41c4ac:	f7 e1                	mul    %ecx
41c4ae:	03 d3                	add    %ebx,%edx
41c4b0:	5b                   	pop    %ebx
41c4b1:	c2 10 00             	ret    $0x10
41c4b4:	cc                   	int3
41c4b5:	cc                   	int3
41c4b6:	cc                   	int3
41c4b7:	cc                   	int3
41c4b8:	cc                   	int3
41c4b9:	cc                   	int3
41c4ba:	cc                   	int3
41c4bb:	cc                   	int3
41c4bc:	cc                   	int3
41c4bd:	cc                   	int3
41c4be:	cc                   	int3
41c4bf:	cc                   	int3
41c4c0:	53                   	push   %ebx
41c4c1:	56                   	push   %esi
41c4c2:	8b 44 24 18          	mov    0x18(%esp),%eax
41c4c6:	0b c0                	or     %eax,%eax
41c4c8:	75 18                	jne    0x41c4e2
41c4ca:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41c4ce:	8b 44 24 10          	mov    0x10(%esp),%eax
41c4d2:	33 d2                	xor    %edx,%edx
41c4d4:	f7 f1                	div    %ecx
41c4d6:	8b d8                	mov    %eax,%ebx
41c4d8:	8b 44 24 0c          	mov    0xc(%esp),%eax
41c4dc:	f7 f1                	div    %ecx
41c4de:	8b d3                	mov    %ebx,%edx
41c4e0:	eb 41                	jmp    0x41c523
41c4e2:	8b c8                	mov    %eax,%ecx
41c4e4:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41c4e8:	8b 54 24 10          	mov    0x10(%esp),%edx
41c4ec:	8b 44 24 0c          	mov    0xc(%esp),%eax
41c4f0:	d1 e9                	shr    $1,%ecx
41c4f2:	d1 db                	rcr    $1,%ebx
41c4f4:	d1 ea                	shr    $1,%edx
41c4f6:	d1 d8                	rcr    $1,%eax
41c4f8:	0b c9                	or     %ecx,%ecx
41c4fa:	75 f4                	jne    0x41c4f0
41c4fc:	f7 f3                	div    %ebx
41c4fe:	8b f0                	mov    %eax,%esi
41c500:	f7 64 24 18          	mull   0x18(%esp)
41c504:	8b c8                	mov    %eax,%ecx
41c506:	8b 44 24 14          	mov    0x14(%esp),%eax
41c50a:	f7 e6                	mul    %esi
41c50c:	03 d1                	add    %ecx,%edx
41c50e:	72 0e                	jb     0x41c51e
41c510:	3b 54 24 10          	cmp    0x10(%esp),%edx
41c514:	77 08                	ja     0x41c51e
41c516:	72 07                	jb     0x41c51f
41c518:	3b 44 24 0c          	cmp    0xc(%esp),%eax
41c51c:	76 01                	jbe    0x41c51f
41c51e:	4e                   	dec    %esi
41c51f:	33 d2                	xor    %edx,%edx
41c521:	8b c6                	mov    %esi,%eax
41c523:	5e                   	pop    %esi
41c524:	5b                   	pop    %ebx
41c525:	c2 10 00             	ret    $0x10
41c528:	cc                   	int3
41c529:	cc                   	int3
41c52a:	cc                   	int3
41c52b:	cc                   	int3
41c52c:	cc                   	int3
41c52d:	cc                   	int3
41c52e:	cc                   	int3
41c52f:	cc                   	int3