46c339:	50                   	push   %eax
46c33a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c33d:	50                   	push   %eax
46c33e:	e8 3d b2 f9 ff       	call   0x407580
46c343:	57                   	push   %edi
46c344:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c347:	50                   	push   %eax
46c348:	e8 b3 b3 f9 ff       	call   0x407700
46c34d:	68 49 00 5a 00       	push   $0x5a0049
46c352:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46c355:	8b 55 d4             	mov    -0x2c(%ebp),%edx
46c358:	2b ca                	sub    %edx,%ecx
46c35a:	51                   	push   %ecx
46c35b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46c35e:	8b 45 d0             	mov    -0x30(%ebp),%eax
46c361:	2b c8                	sub    %eax,%ecx
46c363:	51                   	push   %ecx
46c364:	52                   	push   %edx
46c365:	50                   	push   %eax
46c366:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c369:	50                   	push   %eax
46c36a:	e8 31 b3 f9 ff       	call   0x4076a0
46c36f:	33 c0                	xor    %eax,%eax
46c371:	5a                   	pop    %edx
46c372:	59                   	pop    %ecx
46c373:	59                   	pop    %ecx
46c374:	64 89 10             	mov    %edx,%fs:(%eax)
46c377:	68 91 c3 46 00       	push   $0x46c391
46c37c:	8b 45 f4             	mov    -0xc(%ebp),%eax
46c37f:	50                   	push   %eax
46c380:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c383:	50                   	push   %eax
46c384:	e8 57 b3 f9 ff       	call   0x4076e0
46c389:	c3                   	ret
46c38a:	e9 7d 7e f9 ff       	jmp    0x40420c
46c38f:	eb eb                	jmp    0x46c37c
46c391:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46c395:	74 09                	je     0x46c3a0
46c397:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c39a:	50                   	push   %eax
46c39b:	e8 70 b1 f9 ff       	call   0x407510
46c3a0:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
46c3a4:	74 09                	je     0x46c3af
46c3a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c3a9:	50                   	push   %eax
46c3aa:	e8 61 b1 f9 ff       	call   0x407510
46c3af:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
46c3b3:	74 09                	je     0x46c3be
46c3b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
46c3b8:	50                   	push   %eax
46c3b9:	e8 52 b1 f9 ff       	call   0x407510
46c3be:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
46c3c2:	74 09                	je     0x46c3cd
46c3c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c3c7:	50                   	push   %eax
46c3c8:	e8 43 b1 f9 ff       	call   0x407510
46c3cd:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46c3d1:	74 09                	je     0x46c3dc
46c3d3:	8b 45 e0             	mov    -0x20(%ebp),%eax
46c3d6:	50                   	push   %eax
46c3d7:	e8 34 b1 f9 ff       	call   0x407510
46c3dc:	5f                   	pop    %edi
46c3dd:	5e                   	pop    %esi
46c3de:	5b                   	pop    %ebx
46c3df:	8b e5                	mov    %ebp,%esp
46c3e1:	5d                   	pop    %ebp
46c3e2:	c2 10 00             	ret    $0x10
46c3e5:	8d 40 00             	lea    0x0(%eax),%eax
46c3e8:	53                   	push   %ebx
46c3e9:	56                   	push   %esi
46c3ea:	83 c4 f0             	add    $0xfffffff0,%esp
46c3ed:	33 d2                	xor    %edx,%edx
46c3ef:	8b c4                	mov    %esp,%eax
46c3f1:	8b ca                	mov    %edx,%ecx
46c3f3:	80 e1 01             	and    $0x1,%cl
46c3f6:	83 e1 7f             	and    $0x7f,%ecx
46c3f9:	66 8b 0c 4d f0 ae 68 	mov    0x68aef0(,%ecx,2),%cx
46c400:	00
46c401:	66 89 08             	mov    %cx,(%eax)
46c404:	42                   	inc    %edx
46c405:	83 c0 02             	add    $0x2,%eax
46c408:	83 fa 08             	cmp    $0x8,%edx
46c40b:	75 e4                	jne    0x46c3f1
46c40d:	54                   	push   %esp
46c40e:	6a 01                	push   $0x1
46c410:	6a 01                	push   $0x1
46c412:	6a 08                	push   $0x8
46c414:	6a 08                	push   $0x8
46c416:	e8 3d b0 f9 ff       	call   0x407458
46c41b:	8b d8                	mov    %eax,%ebx
46c41d:	53                   	push   %ebx
46c41e:	e8 9d b0 f9 ff       	call   0x4074c0
46c423:	8b f0                	mov    %eax,%esi
46c425:	53                   	push   %ebx
46c426:	e8 e5 b0 f9 ff       	call   0x407510
46c42b:	8b c6                	mov    %esi,%eax
46c42d:	83 c4 10             	add    $0x10,%esp
46c430:	5e                   	pop    %esi
46c431:	5b                   	pop    %ebx
46c432:	c3                   	ret
46c433:	90                   	nop
46c434:	55                   	push   %ebp
46c435:	8b ec                	mov    %esp,%ebp
46c437:	51                   	push   %ecx
46c438:	53                   	push   %ebx
46c439:	56                   	push   %esi
46c43a:	57                   	push   %edi
46c43b:	8b f9                	mov    %ecx,%edi
46c43d:	8b f2                	mov    %edx,%esi
46c43f:	8b d8                	mov    %eax,%ebx
46c441:	e8 a2 ff ff ff       	call   0x46c3e8
46c446:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c449:	33 c0                	xor    %eax,%eax
46c44b:	55                   	push   %ebp
46c44c:	68 89 c4 46 00       	push   $0x46c489
46c451:	64 ff 30             	push   %fs:(%eax)
46c454:	64 89 20             	mov    %esp,%fs:(%eax)
46c457:	8b 45 0c             	mov    0xc(%ebp),%eax
46c45a:	50                   	push   %eax
46c45b:	8b 45 08             	mov    0x8(%ebp),%eax
46c45e:	50                   	push   %eax
46c45f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c462:	50                   	push   %eax
46c463:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c466:	50                   	push   %eax
46c467:	8b cf                	mov    %edi,%ecx
46c469:	8b d6                	mov    %esi,%edx
46c46b:	8b c3                	mov    %ebx,%eax
46c46d:	e8 de fc ff ff       	call   0x46c150
46c472:	33 c0                	xor    %eax,%eax
46c474:	5a                   	pop    %edx
46c475:	59                   	pop    %ecx
46c476:	59                   	pop    %ecx
46c477:	64 89 10             	mov    %edx,%fs:(%eax)
46c47a:	68 90 c4 46 00       	push   $0x46c490
46c47f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c482:	50                   	push   %eax
46c483:	e8 88 b0 f9 ff       	call   0x407510
46c488:	c3                   	ret
46c489:	e9 7e 7d f9 ff       	jmp    0x40420c
46c48e:	eb ef                	jmp    0x46c47f
46c490:	5f                   	pop    %edi
46c491:	5e                   	pop    %esi
46c492:	5b                   	pop    %ebx
46c493:	59                   	pop    %ecx
46c494:	5d                   	pop    %ebp
46c495:	c2 08 00             	ret    $0x8
46c498:	8b 08                	mov    (%eax),%ecx
46c49a:	3b 0a                	cmp    (%edx),%ecx
46c49c:	75 08                	jne    0x46c4a6
46c49e:	8b 40 04             	mov    0x4(%eax),%eax
46c4a1:	3b 42 04             	cmp    0x4(%edx),%eax
46c4a4:	74 03                	je     0x46c4a9
46c4a6:	33 c0                	xor    %eax,%eax
46c4a8:	c3                   	ret
46c4a9:	b0 01                	mov    $0x1,%al
46c4ab:	c3                   	ret
46c4ac:	53                   	push   %ebx
46c4ad:	56                   	push   %esi
46c4ae:	8b f2                	mov    %edx,%esi
46c4b0:	8b d8                	mov    %eax,%ebx
46c4b2:	84 db                	test   %bl,%bl
46c4b4:	74 10                	je     0x46c4c6
46c4b6:	6a 00                	push   $0x0
46c4b8:	56                   	push   %esi
46c4b9:	6a 00                	push   $0x0
46c4bb:	6a 30                	push   $0x30
46c4bd:	e8 66 b9 f9 ff       	call   0x407e28
46c4c2:	85 c0                	test   %eax,%eax
46c4c4:	75 25                	jne    0x46c4eb
46c4c6:	a1 64 72 6a 00       	mov    0x6a7264,%eax
46c4cb:	8b 00                	mov    (%eax),%eax
46c4cd:	e8 ba b1 ff ff       	call   0x46768c
46c4d2:	50                   	push   %eax
46c4d3:	56                   	push   %esi
46c4d4:	a1 64 72 6a 00       	mov    0x6a7264,%eax
46c4d9:	8b 00                	mov    (%eax),%eax
46c4db:	e8 b8 b1 ff ff       	call   0x467698
46c4e0:	8b c8                	mov    %eax,%ecx
46c4e2:	33 d2                	xor    %edx,%edx
46c4e4:	33 c0                	xor    %eax,%eax
46c4e6:	e8 89 e1 fa ff       	call   0x41a674
46c4eb:	5e                   	pop    %esi
46c4ec:	5b                   	pop    %ebx
46c4ed:	c3                   	ret
46c4ee:	8b c0                	mov    %eax,%eax
46c4f0:	6a 50                	push   $0x50
46c4f2:	e8 29 b6 f9 ff       	call   0x407b20
46c4f7:	85 c0                	test   %eax,%eax
46c4f9:	74 03                	je     0x46c4fe
46c4fb:	48                   	dec    %eax
46c4fc:	75 03                	jne    0x46c501
46c4fe:	33 c0                	xor    %eax,%eax
46c500:	c3                   	ret
46c501:	b0 01                	mov    $0x1,%al
46c503:	c3                   	ret
46c504:	53                   	push   %ebx
46c505:	56                   	push   %esi
46c506:	8b d8                	mov    %eax,%ebx
46c508:	68 68 c5 46 00       	push   $0x46c568
46c50d:	e8 16 ad f9 ff       	call   0x407228
46c512:	8b f0                	mov    %eax,%esi
46c514:	68 74 c5 46 00       	push   $0x46c574
46c519:	56                   	push   %esi
46c51a:	e8 11 ad f9 ff       	call   0x407230
46c51f:	89 03                	mov    %eax,(%ebx)
46c521:	68 84 c5 46 00       	push   $0x46c584
46c526:	56                   	push   %esi
46c527:	e8 04 ad f9 ff       	call   0x407230
46c52c:	89 43 04             	mov    %eax,0x4(%ebx)
46c52f:	68 98 c5 46 00       	push   $0x46c598
46c534:	56                   	push   %esi
46c535:	e8 f6 ac f9 ff       	call   0x407230
46c53a:	89 43 08             	mov    %eax,0x8(%ebx)
46c53d:	68 ac c5 46 00       	push   $0x46c5ac
46c542:	56                   	push   %esi
46c543:	e8 e8 ac f9 ff       	call   0x407230
46c548:	89 43 0c             	mov    %eax,0xc(%ebx)
46c54b:	83 3b 00             	cmpl   $0x0,(%ebx)
46c54e:	74 0c                	je     0x46c55c
46c550:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
46c554:	74 06                	je     0x46c55c
46c556:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
46c55a:	75 05                	jne    0x46c561
46c55c:	33 c0                	xor    %eax,%eax
46c55e:	5e                   	pop    %esi
46c55f:	5b                   	pop    %ebx
46c560:	c3                   	ret
46c561:	b0 01                	mov    $0x1,%al
46c563:	5e                   	pop    %esi
46c564:	5b                   	pop    %ebx
46c565:	c3                   	ret
46c566:	00 00                	add    %al,(%eax)
46c568:	75 73                	jne    0x46c5dd
46c56a:	65 72 33             	gs jb  0x46c5a0
46c56d:	32 2e                	xor    (%esi),%ch
46c56f:	64 6c                	fs insb (%dx),%es:(%edi)
46c571:	6c                   	insb   (%dx),%es:(%edi)
46c572:	00 00                	add    %al,(%eax)
46c574:	4d                   	dec    %ebp
46c575:	6f                   	outsl  %ds:(%esi),(%dx)
46c576:	6e                   	outsb  %ds:(%esi),(%dx)
46c577:	69 74 6f 72 46 72 6f 	imul   $0x6d6f7246,0x72(%edi,%ebp,2),%esi
46c57e:	6d
46c57f:	52                   	push   %edx
46c580:	65 63 74 00 4d       	arpl   %esi,%gs:0x4d(%eax,%eax,1)
46c585:	6f                   	outsl  %ds:(%esi),(%dx)
46c586:	6e                   	outsb  %ds:(%esi),(%dx)
46c587:	69 74 6f 72 46 72 6f 	imul   $0x6d6f7246,0x72(%edi,%ebp,2),%esi
46c58e:	6d
46c58f:	50                   	push   %eax
46c590:	6f                   	outsl  %ds:(%esi),(%dx)
46c591:	69 6e 74 00 00 00 00 	imul   $0x0,0x74(%esi),%ebp
46c598:	4d                   	dec    %ebp
46c599:	6f                   	outsl  %ds:(%esi),(%dx)
46c59a:	6e                   	outsb  %ds:(%esi),(%dx)
46c59b:	69 74 6f 72 46 72 6f 	imul   $0x6d6f7246,0x72(%edi,%ebp,2),%esi
46c5a2:	6d
46c5a3:	57                   	push   %edi
46c5a4:	69 6e 64 6f 77 00 00 	imul   $0x776f,0x64(%esi),%ebp
46c5ab:	00 47 65             	add    %al,0x65(%edi)
46c5ae:	74 4d                	je     0x46c5fd
46c5b0:	6f                   	outsl  %ds:(%esi),(%dx)
46c5b1:	6e                   	outsb  %ds:(%esi),(%dx)
46c5b2:	69 74 6f 72 49 6e 66 	imul   $0x6f666e49,0x72(%edi,%ebp,2),%esi
46c5b9:	6f
46c5ba:	41                   	inc    %ecx
46c5bb:	00 53 56             	add    %dl,0x56(%ebx)
46c5be:	57                   	push   %edi
46c5bf:	83 c4 c8             	add    $0xffffffc8,%esp
46c5c2:	8b f1                	mov    %ecx,%esi
46c5c4:	8b da                	mov    %edx,%ebx
46c5c6:	8b f8                	mov    %eax,%edi
46c5c8:	e8 23 ff ff ff       	call   0x46c4f0
46c5cd:	84 c0                	test   %al,%al
46c5cf:	74 46                	je     0x46c617
46c5d1:	8b c4                	mov    %esp,%eax
46c5d3:	e8 2c ff ff ff       	call   0x46c504
46c5d8:	84 c0                	test   %al,%al
46c5da:	74 3b                	je     0x46c617
46c5dc:	6a 02                	push   $0x2
46c5de:	57                   	push   %edi
46c5df:	ff 54 24 08          	call   *0x8(%esp)
46c5e3:	8b f8                	mov    %eax,%edi
46c5e5:	c7 44 24 10 28 00 00 	movl   $0x28,0x10(%esp)
46c5ec:	00
46c5ed:	8d 44 24 10          	lea    0x10(%esp),%eax
46c5f1:	50                   	push   %eax
46c5f2:	57                   	push   %edi
46c5f3:	ff 54 24 14          	call   *0x14(%esp)
46c5f7:	85 c0                	test   %eax,%eax
46c5f9:	74 1c                	je     0x46c617
46c5fb:	84 db                	test   %bl,%bl
46c5fd:	75 0c                	jne    0x46c60b
46c5ff:	8b fe                	mov    %esi,%edi
46c601:	8d 74 24 14          	lea    0x14(%esp),%esi
46c605:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c606:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c607:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c608:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c609:	eb 15                	jmp    0x46c620
46c60b:	8b fe                	mov    %esi,%edi
46c60d:	8d 74 24 24          	lea    0x24(%esp),%esi
46c611:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c612:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c613:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c614:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c615:	eb 09                	jmp    0x46c620
46c617:	8b d6                	mov    %esi,%edx
46c619:	8b c3                	mov    %ebx,%eax
46c61b:	e8 8c fe ff ff       	call   0x46c4ac
46c620:	83 c4 38             	add    $0x38,%esp
46c623:	5f                   	pop    %edi
46c624:	5e                   	pop    %esi
46c625:	5b                   	pop    %ebx
46c626:	c3                   	ret
46c627:	90                   	nop
46c628:	53                   	push   %ebx
46c629:	56                   	push   %esi
46c62a:	57                   	push   %edi
46c62b:	83 c4 c8             	add    $0xffffffc8,%esp
46c62e:	8b f1                	mov    %ecx,%esi
46c630:	8b da                	mov    %edx,%ebx
46c632:	8b f8                	mov    %eax,%edi
46c634:	e8 b7 fe ff ff       	call   0x46c4f0
46c639:	84 c0                	test   %al,%al
46c63b:	74 4a                	je     0x46c687
46c63d:	8b c4                	mov    %esp,%eax
46c63f:	e8 c0 fe ff ff       	call   0x46c504
46c644:	84 c0                	test   %al,%al
46c646:	74 3f                	je     0x46c687
46c648:	6a 02                	push   $0x2
46c64a:	ff 77 04             	push   0x4(%edi)
46c64d:	ff 37                	push   (%edi)
46c64f:	ff 54 24 10          	call   *0x10(%esp)
46c653:	8b f8                	mov    %eax,%edi
46c655:	c7 44 24 10 28 00 00 	movl   $0x28,0x10(%esp)
46c65c:	00
46c65d:	8d 44 24 10          	lea    0x10(%esp),%eax
46c661:	50                   	push   %eax
46c662:	57                   	push   %edi
46c663:	ff 54 24 14          	call   *0x14(%esp)
46c667:	85 c0                	test   %eax,%eax
46c669:	74 1c                	je     0x46c687
46c66b:	84 db                	test   %bl,%bl
46c66d:	75 0c                	jne    0x46c67b
46c66f:	8b fe                	mov    %esi,%edi
46c671:	8d 74 24 14          	lea    0x14(%esp),%esi
46c675:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c676:	a5                   	movsl  %ds:(%esi),%es:(%edi)