5d22b2:	53                   	push   %ebx
5d22b3:	0f a2                	cpuid
5d22b5:	8b f3                	mov    %ebx,%esi
5d22b7:	5b                   	pop    %ebx
5d22b8:	90                   	nop
5d22b9:	8d 5d d8             	lea    -0x28(%ebp),%ebx
5d22bc:	89 03                	mov    %eax,(%ebx)
5d22be:	89 73 04             	mov    %esi,0x4(%ebx)
5d22c1:	89 4b 08             	mov    %ecx,0x8(%ebx)
5d22c4:	89 53 0c             	mov    %edx,0xc(%ebx)
5d22c7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5d22ca:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5d22cd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5d22d0:	6a 24                	push   $0x24
5d22d2:	58                   	pop    %eax
5d22d3:	39 45 fc             	cmp    %eax,-0x4(%ebp)
5d22d6:	7c 1d                	jl     0x5d22f5
5d22d8:	33 c9                	xor    %ecx,%ecx
5d22da:	8d 7d d8             	lea    -0x28(%ebp),%edi
5d22dd:	53                   	push   %ebx
5d22de:	0f a2                	cpuid
5d22e0:	8b f3                	mov    %ebx,%esi
5d22e2:	5b                   	pop    %ebx
5d22e3:	90                   	nop
5d22e4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5d22e7:	89 07                	mov    %eax,(%edi)
5d22e9:	89 77 04             	mov    %esi,0x4(%edi)
5d22ec:	89 4f 08             	mov    %ecx,0x8(%edi)
5d22ef:	89 57 0c             	mov    %edx,0xc(%edi)
5d22f2:	8b 7d dc             	mov    -0x24(%ebp),%edi
5d22f5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5d22f8:	a1 18 15 69 00       	mov    0x691518,%eax
5d22fd:	8b 0d 10 15 69 00    	mov    0x691510,%ecx
5d2303:	83 c8 02             	or     $0x2,%eax
5d2306:	8b 35 14 15 69 00    	mov    0x691514,%esi
5d230c:	83 e1 fe             	and    $0xfffffffe,%ecx
5d230f:	c7 05 58 6b 71 00 01 	movl   $0x1,0x716b58
5d2316:	00 00 00
5d2319:	a3 18 15 69 00       	mov    %eax,0x691518
5d231e:	89 0d 10 15 69 00    	mov    %ecx,0x691510
5d2324:	89 35 14 15 69 00    	mov    %esi,0x691514
5d232a:	f7 c2 00 00 10 00    	test   $0x100000,%edx
5d2330:	0f 84 85 01 00 00    	je     0x5d24bb
5d2336:	83 c8 04             	or     $0x4,%eax
5d2339:	c7 05 58 6b 71 00 02 	movl   $0x2,0x716b58
5d2340:	00 00 00
5d2343:	83 e1 ef             	and    $0xffffffef,%ecx
5d2346:	a3 18 15 69 00       	mov    %eax,0x691518
5d234b:	89 0d 10 15 69 00    	mov    %ecx,0x691510
5d2351:	89 35 14 15 69 00    	mov    %esi,0x691514
5d2357:	f7 c2 00 00 00 08    	test   $0x8000000,%edx
5d235d:	0f 84 58 01 00 00    	je     0x5d24bb
5d2363:	f7 c2 00 00 00 10    	test   $0x10000000,%edx
5d2369:	0f 84 4c 01 00 00    	je     0x5d24bb
5d236f:	33 c9                	xor    %ecx,%ecx
5d2371:	0f 01 d0             	xgetbv
5d2374:	89 45 f0             	mov    %eax,-0x10(%ebp)
5d2377:	33 f6                	xor    %esi,%esi
5d2379:	89 55 f4             	mov    %edx,-0xc(%ebp)
5d237c:	8b 45 f0             	mov    -0x10(%ebp),%eax
5d237f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5d2382:	83 e0 06             	and    $0x6,%eax
5d2385:	23 ce                	and    %esi,%ecx
5d2387:	83 f8 06             	cmp    $0x6,%eax
5d238a:	0f 85 2b 01 00 00    	jne    0x5d24bb
5d2390:	3b ce                	cmp    %esi,%ecx
5d2392:	0f 85 23 01 00 00    	jne    0x5d24bb
5d2398:	a1 18 15 69 00       	mov    0x691518,%eax
5d239d:	83 c8 08             	or     $0x8,%eax
5d23a0:	c7 05 58 6b 71 00 03 	movl   $0x3,0x716b58
5d23a7:	00 00 00
5d23aa:	a3 18 15 69 00       	mov    %eax,0x691518
5d23af:	f6 c3 20             	test   $0x20,%bl
5d23b2:	74 79                	je     0x5d242d
5d23b4:	8b 0d 14 15 69 00    	mov    0x691514,%ecx
5d23ba:	83 c8 20             	or     $0x20,%eax
5d23bd:	a3 18 15 69 00       	mov    %eax,0x691518
5d23c2:	ba 00 00 03 d0       	mov    $0xd0030000,%edx
5d23c7:	a1 10 15 69 00       	mov    0x691510,%eax
5d23cc:	23 da                	and    %edx,%ebx
5d23ce:	83 e0 fd             	and    $0xfffffffd,%eax
5d23d1:	c7 05 58 6b 71 00 05 	movl   $0x5,0x716b58
5d23d8:	00 00 00
5d23db:	a3 10 15 69 00       	mov    %eax,0x691510
5d23e0:	89 0d 14 15 69 00    	mov    %ecx,0x691514
5d23e6:	3b da                	cmp    %edx,%ebx
5d23e8:	75 4e                	jne    0x5d2438
5d23ea:	8b 45 f0             	mov    -0x10(%ebp),%eax
5d23ed:	ba e0 00 00 00       	mov    $0xe0,%edx
5d23f2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5d23f5:	23 c2                	and    %edx,%eax
5d23f7:	23 ce                	and    %esi,%ecx
5d23f9:	3b c2                	cmp    %edx,%eax
5d23fb:	75 30                	jne    0x5d242d
5d23fd:	3b ce                	cmp    %esi,%ecx
5d23ff:	75 2c                	jne    0x5d242d
5d2401:	a1 10 15 69 00       	mov    0x691510,%eax
5d2406:	83 0d 18 15 69 00 40 	orl    $0x40,0x691518
5d240d:	83 e0 db             	and    $0xffffffdb,%eax
5d2410:	8b 0d 14 15 69 00    	mov    0x691514,%ecx
5d2416:	c7 05 58 6b 71 00 06 	movl   $0x6,0x716b58
5d241d:	00 00 00
5d2420:	a3 10 15 69 00       	mov    %eax,0x691510
5d2425:	89 0d 14 15 69 00    	mov    %ecx,0x691514
5d242b:	eb 0b                	jmp    0x5d2438
5d242d:	8b 0d 14 15 69 00    	mov    0x691514,%ecx
5d2433:	a1 10 15 69 00       	mov    0x691510,%eax
5d2438:	f7 45 ec 00 00 80 00 	testl  $0x800000,-0x14(%ebp)
5d243f:	74 10                	je     0x5d2451
5d2441:	25 ff ff ff fe       	and    $0xfeffffff,%eax
5d2446:	89 0d 14 15 69 00    	mov    %ecx,0x691514
5d244c:	a3 10 15 69 00       	mov    %eax,0x691510
5d2451:	f7 45 e8 00 00 08 00 	testl  $0x80000,-0x18(%ebp)
5d2458:	74 61                	je     0x5d24bb
5d245a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5d245d:	ba e0 00 00 00       	mov    $0xe0,%edx
5d2462:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5d2465:	23 c2                	and    %edx,%eax
5d2467:	23 ce                	and    %esi,%ecx
5d2469:	3b c2                	cmp    %edx,%eax
5d246b:	75 4e                	jne    0x5d24bb
5d246d:	3b ce                	cmp    %esi,%ecx
5d246f:	75 4a                	jne    0x5d24bb
5d2471:	8b c7                	mov    %edi,%eax
5d2473:	33 c9                	xor    %ecx,%ecx
5d2475:	c1 ef 10             	shr    $0x10,%edi
5d2478:	25 ff 00 04 00       	and    $0x400ff,%eax
5d247d:	83 e7 07             	and    $0x7,%edi
5d2480:	a3 54 6b 71 00       	mov    %eax,0x716b54
5d2485:	81 cf 28 00 00 01    	or     $0x1000028,%edi
5d248b:	f7 d1                	not    %ecx
5d248d:	23 0d 14 15 69 00    	and    0x691514,%ecx
5d2493:	f7 d7                	not    %edi
5d2495:	23 3d 10 15 69 00    	and    0x691510,%edi
5d249b:	89 3d 10 15 69 00    	mov    %edi,0x691510
5d24a1:	89 0d 14 15 69 00    	mov    %ecx,0x691514
5d24a7:	83 f8 01             	cmp    $0x1,%eax
5d24aa:	76 0f                	jbe    0x5d24bb
5d24ac:	83 e7 bf             	and    $0xffffffbf,%edi
5d24af:	89 0d 14 15 69 00    	mov    %ecx,0x691514
5d24b5:	89 3d 10 15 69 00    	mov    %edi,0x691510
5d24bb:	5f                   	pop    %edi
5d24bc:	5e                   	pop    %esi
5d24bd:	5b                   	pop    %ebx
5d24be:	33 c0                	xor    %eax,%eax
5d24c0:	c9                   	leave
5d24c1:	c3                   	ret
5d24c2:	6a 10                	push   $0x10
5d24c4:	68 00 a4 68 00       	push   $0x68a400
5d24c9:	e8 32 04 00 00       	call   0x5d2900
5d24ce:	33 db                	xor    %ebx,%ebx
5d24d0:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5d24d3:	88 5d e7             	mov    %bl,-0x19(%ebp)
5d24d6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5d24d9:	3b 5d 10             	cmp    0x10(%ebp),%ebx
5d24dc:	74 1b                	je     0x5d24f9
5d24de:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d24e1:	ff 15 64 23 60 00    	call   *0x602364
5d24e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d24ea:	ff 55 14             	call   *0x14(%ebp)
5d24ed:	8b 45 0c             	mov    0xc(%ebp),%eax
5d24f0:	01 45 08             	add    %eax,0x8(%ebp)
5d24f3:	43                   	inc    %ebx
5d24f4:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5d24f7:	eb e0                	jmp    0x5d24d9
5d24f9:	b0 01                	mov    $0x1,%al
5d24fb:	88 45 e7             	mov    %al,-0x19(%ebp)
5d24fe:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5d2505:	e8 18 00 00 00       	call   0x5d2522
5d250a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5d250d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5d2514:	59                   	pop    %ecx
5d2515:	5f                   	pop    %edi
5d2516:	5e                   	pop    %esi
5d2517:	5b                   	pop    %ebx
5d2518:	c9                   	leave
5d2519:	c2 14 00             	ret    $0x14
5d251c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5d251f:	8a 45 e7             	mov    -0x19(%ebp),%al
5d2522:	84 c0                	test   %al,%al
5d2524:	75 0f                	jne    0x5d2535
5d2526:	ff 75 18             	push   0x18(%ebp)
5d2529:	53                   	push   %ebx
5d252a:	ff 75 0c             	push   0xc(%ebp)
5d252d:	ff 75 08             	push   0x8(%ebp)
5d2530:	e8 09 f8 ff ff       	call   0x5d1d3e
5d2535:	c3                   	ret
5d2536:	cc                   	int3
5d2537:	cc                   	int3
5d2538:	cc                   	int3
5d2539:	cc                   	int3
5d253a:	cc                   	int3
5d253b:	cc                   	int3
5d253c:	cc                   	int3
5d253d:	cc                   	int3
5d253e:	cc                   	int3
5d253f:	cc                   	int3
5d2540:	53                   	push   %ebx
5d2541:	57                   	push   %edi
5d2542:	33 ff                	xor    %edi,%edi
5d2544:	8b 44 24 10          	mov    0x10(%esp),%eax
5d2548:	0b c0                	or     %eax,%eax
5d254a:	7d 14                	jge    0x5d2560
5d254c:	47                   	inc    %edi
5d254d:	8b 54 24 0c          	mov    0xc(%esp),%edx
5d2551:	f7 d8                	neg    %eax
5d2553:	f7 da                	neg    %edx
5d2555:	83 d8 00             	sbb    $0x0,%eax
5d2558:	89 44 24 10          	mov    %eax,0x10(%esp)
5d255c:	89 54 24 0c          	mov    %edx,0xc(%esp)
5d2560:	8b 44 24 18          	mov    0x18(%esp),%eax
5d2564:	0b c0                	or     %eax,%eax
5d2566:	7d 13                	jge    0x5d257b
5d2568:	8b 54 24 14          	mov    0x14(%esp),%edx
5d256c:	f7 d8                	neg    %eax
5d256e:	f7 da                	neg    %edx
5d2570:	83 d8 00             	sbb    $0x0,%eax
5d2573:	89 44 24 18          	mov    %eax,0x18(%esp)
5d2577:	89 54 24 14          	mov    %edx,0x14(%esp)
5d257b:	0b c0                	or     %eax,%eax
5d257d:	75 1b                	jne    0x5d259a
5d257f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5d2583:	8b 44 24 10          	mov    0x10(%esp),%eax
5d2587:	33 d2                	xor    %edx,%edx
5d2589:	f7 f1                	div    %ecx
5d258b:	8b 44 24 0c          	mov    0xc(%esp),%eax
5d258f:	f7 f1                	div    %ecx
5d2591:	8b c2                	mov    %edx,%eax
5d2593:	33 d2                	xor    %edx,%edx
5d2595:	4f                   	dec    %edi
5d2596:	79 4e                	jns    0x5d25e6
5d2598:	eb 53                	jmp    0x5d25ed
5d259a:	8b d8                	mov    %eax,%ebx
5d259c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5d25a0:	8b 54 24 10          	mov    0x10(%esp),%edx
5d25a4:	8b 44 24 0c          	mov    0xc(%esp),%eax
5d25a8:	d1 eb                	shr    $1,%ebx
5d25aa:	d1 d9                	rcr    $1,%ecx
5d25ac:	d1 ea                	shr    $1,%edx
5d25ae:	d1 d8                	rcr    $1,%eax
5d25b0:	0b db                	or     %ebx,%ebx
5d25b2:	75 f4                	jne    0x5d25a8
5d25b4:	f7 f1                	div    %ecx
5d25b6:	8b c8                	mov    %eax,%ecx
5d25b8:	f7 64 24 18          	mull   0x18(%esp)
5d25bc:	91                   	xchg   %eax,%ecx
5d25bd:	f7 64 24 14          	mull   0x14(%esp)
5d25c1:	03 d1                	add    %ecx,%edx
5d25c3:	72 0e                	jb     0x5d25d3
5d25c5:	3b 54 24 10          	cmp    0x10(%esp),%edx
5d25c9:	77 08                	ja     0x5d25d3
5d25cb:	72 0e                	jb     0x5d25db
5d25cd:	3b 44 24 0c          	cmp    0xc(%esp),%eax
5d25d1:	76 08                	jbe    0x5d25db
5d25d3:	2b 44 24 14          	sub    0x14(%esp),%eax
5d25d7:	1b 54 24 18          	sbb    0x18(%esp),%edx
5d25db:	2b 44 24 0c          	sub    0xc(%esp),%eax
5d25df:	1b 54 24 10          	sbb    0x10(%esp),%edx
5d25e3:	4f                   	dec    %edi
5d25e4:	79 07                	jns    0x5d25ed
5d25e6:	f7 da                	neg    %edx
5d25e8:	f7 d8                	neg    %eax
5d25ea:	83 da 00             	sbb    $0x0,%edx
5d25ed:	5f                   	pop    %edi
5d25ee:	5b                   	pop    %ebx
5d25ef:	c2 10 00             	ret    $0x10
5d25f2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5d25f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5d25fc:	59                   	pop    %ecx
5d25fd:	5f                   	pop    %edi
5d25fe:	5f                   	pop    %edi
5d25ff:	5e                   	pop    %esi
5d2600:	5b                   	pop    %ebx
5d2601:	8b e5                	mov    %ebp,%esp
5d2603:	5d                   	pop    %ebp
5d2604:	51                   	push   %ecx
5d2605:	c3                   	ret
5d2606:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5d2609:	33 cd                	xor    %ebp,%ecx
5d260b:	e8 16 f4 ff ff       	call   0x5d1a26
5d2610:	e9 dd ff ff ff       	jmp    0x5d25f2
5d2615:	50                   	push   %eax
5d2616:	64 ff 35 00 00 00 00 	push   %fs:0x0
5d261d:	8d 44 24 0c          	lea    0xc(%esp),%eax
5d2621:	2b 64 24 0c          	sub    0xc(%esp),%esp
5d2625:	53                   	push   %ebx
5d2626:	56                   	push   %esi
5d2627:	57                   	push   %edi
5d2628:	89 28                	mov    %ebp,(%eax)
5d262a:	8b e8                	mov    %eax,%ebp
5d262c:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5d2631:	33 c5                	xor    %ebp,%eax
5d2633:	50                   	push   %eax
5d2634:	ff 75 fc             	push   -0x4(%ebp)
5d2637:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5d263e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5d2641:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5d2647:	c3                   	ret
5d2648:	50                   	push   %eax
5d2649:	64 ff 35 00 00 00 00 	push   %fs:0x0
5d2650:	8d 44 24 0c          	lea    0xc(%esp),%eax
5d2654:	2b 64 24 0c          	sub    0xc(%esp),%esp
5d2658:	53                   	push   %ebx
5d2659:	56                   	push   %esi
5d265a:	57                   	push   %edi
5d265b:	89 28                	mov    %ebp,(%eax)
5d265d:	8b e8                	mov    %eax,%ebp
5d265f:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5d2664:	33 c5                	xor    %ebp,%eax
5d2666:	50                   	push   %eax
5d2667:	89 45 f0             	mov    %eax,-0x10(%ebp)
5d266a:	ff 75 fc             	push   -0x4(%ebp)
5d266d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5d2674:	8d 45 f4             	lea    -0xc(%ebp),%eax
5d2677:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5d267d:	c3                   	ret
5d267e:	50                   	push   %eax
5d267f:	64 ff 35 00 00 00 00 	push   %fs:0x0
5d2686:	8d 44 24 0c          	lea    0xc(%esp),%eax
5d268a:	2b 64 24 0c          	sub    0xc(%esp),%esp
5d268e:	53                   	push   %ebx
5d268f:	56                   	push   %esi
5d2690:	57                   	push   %edi
5d2691:	89 28                	mov    %ebp,(%eax)
5d2693:	8b e8                	mov    %eax,%ebp
5d2695:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5d269a:	33 c5                	xor    %ebp,%eax
5d269c:	50                   	push   %eax
5d269d:	89 65 f0             	mov    %esp,-0x10(%ebp)
5d26a0:	ff 75 fc             	push   -0x4(%ebp)
5d26a3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5d26aa:	8d 45 f4             	lea    -0xc(%ebp),%eax
5d26ad:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5d26b3:	c3                   	ret
5d26b4:	55                   	push   %ebp
5d26b5:	8b ec                	mov    %esp,%ebp
5d26b7:	83 ec 0c             	sub    $0xc,%esp
5d26ba:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5d26bd:	e8 0b e4 ff ff       	call   0x5d0acd
5d26c2:	68 50 a2 68 00       	push   $0x68a250
5d26c7:	8d 45 f4             	lea    -0xc(%ebp),%eax
5d26ca:	50                   	push   %eax
5d26cb:	e8 6f 14 00 00       	call   0x5d3b3f
5d26d0:	cc                   	int3
5d26d1:	55                   	push   %ebp
5d26d2:	8b ec                	mov    %esp,%ebp
5d26d4:	83 ec 0c             	sub    $0xc,%esp
5d26d7:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5d26da:	e8 c1 41 e8 ff       	call   0x4568a0
5d26df:	68 34 28 68 00       	push   $0x682834