42d4b2:	89 7d f8             	mov    %edi,-0x8(%ebp)
42d4b5:	59                   	pop    %ecx
42d4b6:	85 ff                	test   %edi,%edi
42d4b8:	74 0c                	je     0x42d4c6
42d4ba:	83 67 04 00          	andl   $0x0,0x4(%edi)
42d4be:	c7 07 74 1b 40 00    	movl   $0x401b74,(%edi)
42d4c4:	eb 02                	jmp    0x42d4c8
42d4c6:	33 ff                	xor    %edi,%edi
42d4c8:	85 ff                	test   %edi,%edi
42d4ca:	0f 84 b2 00 00 00    	je     0x42d582
42d4d0:	85 f6                	test   %esi,%esi
42d4d2:	0f 88 89 00 00 00    	js     0x42d561
42d4d8:	6a 04                	push   $0x4
42d4da:	8b c6                	mov    %esi,%eax
42d4dc:	59                   	pop    %ecx
42d4dd:	f7 e1                	mul    %ecx
42d4df:	85 d2                	test   %edx,%edx
42d4e1:	77 7e                	ja     0x42d561
42d4e3:	72 05                	jb     0x42d4ea
42d4e5:	83 f8 ff             	cmp    $0xffffffff,%eax
42d4e8:	77 77                	ja     0x42d561
42d4ea:	83 c0 08             	add    $0x8,%eax
42d4ed:	83 f8 08             	cmp    $0x8,%eax
42d4f0:	72 6f                	jb     0x42d561
42d4f2:	50                   	push   %eax
42d4f3:	6a 00                	push   $0x0
42d4f5:	ff 15 f4 71 4a 00    	call   *0x4a71f4
42d4fb:	8b d8                	mov    %eax,%ebx
42d4fd:	85 db                	test   %ebx,%ebx
42d4ff:	74 60                	je     0x42d561
42d501:	66 89 73 02          	mov    %si,0x2(%ebx)
42d505:	b8 00 03 00 00       	mov    $0x300,%eax
42d50a:	66 89 03             	mov    %ax,(%ebx)
42d50d:	85 f6                	test   %esi,%esi
42d50f:	7e 19                	jle    0x42d52a
42d511:	8b 55 fc             	mov    -0x4(%ebp),%edx
42d514:	8d 4b 07             	lea    0x7(%ebx),%ecx
42d517:	8b 02                	mov    (%edx),%eax
42d519:	8d 52 04             	lea    0x4(%edx),%edx
42d51c:	89 41 fd             	mov    %eax,-0x3(%ecx)
42d51f:	c6 01 00             	movb   $0x0,(%ecx)
42d522:	8d 49 04             	lea    0x4(%ecx),%ecx
42d525:	83 ee 01             	sub    $0x1,%esi
42d528:	75 ed                	jne    0x42d517
42d52a:	8b d3                	mov    %ebx,%edx
42d52c:	8b cf                	mov    %edi,%ecx
42d52e:	e8 a5 fa ff ff       	call   0x42cfd8
42d533:	85 c0                	test   %eax,%eax
42d535:	75 21                	jne    0x42d558
42d537:	6a 01                	push   $0x1
42d539:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d53e:	e8 64 07 02 00       	call   0x44dca7
42d543:	8b 07                	mov    (%edi),%eax
42d545:	6a 01                	push   $0x1
42d547:	8b 70 04             	mov    0x4(%eax),%esi
42d54a:	8b ce                	mov    %esi,%ecx
42d54c:	ff 15 2c 81 4a 00    	call   *0x4a812c
42d552:	8b cf                	mov    %edi,%ecx
42d554:	ff d6                	call   *%esi
42d556:	33 ff                	xor    %edi,%edi
42d558:	53                   	push   %ebx
42d559:	ff 15 f0 71 4a 00    	call   *0x4a71f0
42d55f:	eb 21                	jmp    0x42d582
42d561:	6a 01                	push   $0x1
42d563:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d568:	e8 0c 07 02 00       	call   0x44dc79
42d56d:	8b 07                	mov    (%edi),%eax
42d56f:	6a 01                	push   $0x1
42d571:	8b 70 04             	mov    0x4(%eax),%esi
42d574:	8b ce                	mov    %esi,%ecx
42d576:	ff 15 2c 81 4a 00    	call   *0x4a812c
42d57c:	8b cf                	mov    %edi,%ecx
42d57e:	ff d6                	call   *%esi
42d580:	33 ff                	xor    %edi,%edi
42d582:	8b c7                	mov    %edi,%eax
42d584:	5f                   	pop    %edi
42d585:	5e                   	pop    %esi
42d586:	5b                   	pop    %ebx
42d587:	c9                   	leave
42d588:	c3                   	ret
42d589:	8b ff                	mov    %edi,%edi
42d58b:	55                   	push   %ebp
42d58c:	8b ec                	mov    %esp,%ebp
42d58e:	81 ec 0c 04 00 00    	sub    $0x40c,%esp
42d594:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
42d599:	33 c5                	xor    %ebp,%eax
42d59b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42d59e:	56                   	push   %esi
42d59f:	57                   	push   %edi
42d5a0:	6a 08                	push   $0x8
42d5a2:	8b f1                	mov    %ecx,%esi
42d5a4:	ff 15 14 74 4a 00    	call   *0x4a7414
42d5aa:	8b f8                	mov    %eax,%edi
42d5ac:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
42d5b2:	59                   	pop    %ecx
42d5b3:	85 ff                	test   %edi,%edi
42d5b5:	74 0c                	je     0x42d5c3
42d5b7:	83 67 04 00          	andl   $0x0,0x4(%edi)
42d5bb:	c7 07 74 1b 40 00    	movl   $0x401b74,(%edi)
42d5c1:	eb 02                	jmp    0x42d5c5
42d5c3:	33 ff                	xor    %edi,%edi
42d5c5:	85 ff                	test   %edi,%edi
42d5c7:	0f 84 a2 00 00 00    	je     0x42d66f
42d5cd:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
42d5d3:	50                   	push   %eax
42d5d4:	68 00 01 00 00       	push   $0x100
42d5d9:	6a 00                	push   $0x0
42d5db:	56                   	push   %esi
42d5dc:	ff 15 2c 71 4a 00    	call   *0x4a712c
42d5e2:	8b f0                	mov    %eax,%esi
42d5e4:	85 f6                	test   %esi,%esi
42d5e6:	74 76                	je     0x42d65e
42d5e8:	33 d2                	xor    %edx,%edx
42d5ea:	42                   	inc    %edx
42d5eb:	3b f2                	cmp    %edx,%esi
42d5ed:	7c 36                	jl     0x42d625
42d5ef:	81 fa 01 01 00 00    	cmp    $0x101,%edx
42d5f5:	7d 2e                	jge    0x42d625
42d5f7:	0f b6 8c 95 f8 fb ff 	movzbl -0x408(%ebp,%edx,4),%ecx
42d5fe:	ff
42d5ff:	0f b6 84 95 f9 fb ff 	movzbl -0x407(%ebp,%edx,4),%eax
42d606:	ff
42d607:	c1 e1 08             	shl    $0x8,%ecx
42d60a:	0b c8                	or     %eax,%ecx
42d60c:	0f b6 84 95 fa fb ff 	movzbl -0x406(%ebp,%edx,4),%eax
42d613:	ff
42d614:	c1 e1 08             	shl    $0x8,%ecx
42d617:	0b c8                	or     %eax,%ecx
42d619:	89 8c 95 f8 fb ff ff 	mov    %ecx,-0x408(%ebp,%edx,4)
42d620:	42                   	inc    %edx
42d621:	3b d6                	cmp    %esi,%edx
42d623:	7e ca                	jle    0x42d5ef
42d625:	0f b7 c6             	movzwl %si,%eax
42d628:	8d 95 f8 fb ff ff    	lea    -0x408(%ebp),%edx
42d62e:	c1 e0 10             	shl    $0x10,%eax
42d631:	8b cf                	mov    %edi,%ecx
42d633:	0d 00 03 00 00       	or     $0x300,%eax
42d638:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
42d63e:	e8 95 f9 ff ff       	call   0x42cfd8
42d643:	85 c0                	test   %eax,%eax
42d645:	75 28                	jne    0x42d66f
42d647:	8b 07                	mov    (%edi),%eax
42d649:	6a 01                	push   $0x1
42d64b:	8b 70 04             	mov    0x4(%eax),%esi
42d64e:	8b ce                	mov    %esi,%ecx
42d650:	ff 15 2c 81 4a 00    	call   *0x4a812c
42d656:	8b cf                	mov    %edi,%ecx
42d658:	ff d6                	call   *%esi
42d65a:	33 ff                	xor    %edi,%edi
42d65c:	eb 11                	jmp    0x42d66f
42d65e:	6a 00                	push   $0x0
42d660:	ff 15 ec 70 4a 00    	call   *0x4a70ec
42d666:	50                   	push   %eax
42d667:	8b cf                	mov    %edi,%ecx
42d669:	ff 15 8c 75 4a 00    	call   *0x4a758c
42d66f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42d672:	8b c7                	mov    %edi,%eax
42d674:	5f                   	pop    %edi
42d675:	33 cd                	xor    %ebp,%ecx
42d677:	5e                   	pop    %esi
42d678:	e8 83 28 06 00       	call   0x48ff00
42d67d:	c9                   	leave
42d67e:	c3                   	ret
42d67f:	8b ff                	mov    %edi,%edi
42d681:	55                   	push   %ebp
42d682:	8b ec                	mov    %esp,%ebp
42d684:	83 ec 64             	sub    $0x64,%esp
42d687:	53                   	push   %ebx
42d688:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42d68b:	56                   	push   %esi
42d68c:	8b f1                	mov    %ecx,%esi
42d68e:	89 75 e8             	mov    %esi,-0x18(%ebp)
42d691:	57                   	push   %edi
42d692:	8b fa                	mov    %edx,%edi
42d694:	89 7d e0             	mov    %edi,-0x20(%ebp)
42d697:	85 db                	test   %ebx,%ebx
42d699:	74 03                	je     0x42d69e
42d69b:	8b 5b 04             	mov    0x4(%ebx),%ebx
42d69e:	83 3d 34 58 4a 00 00 	cmpl   $0x0,0x4a5834
42d6a5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
42d6a8:	74 0f                	je     0x42d6b9
42d6aa:	85 db                	test   %ebx,%ebx
42d6ac:	75 0b                	jne    0x42d6b9
42d6ae:	6a 0f                	push   $0xf
42d6b0:	ff 15 34 71 4a 00    	call   *0x4a7134
42d6b6:	89 45 f4             	mov    %eax,-0xc(%ebp)
42d6b9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42d6bc:	50                   	push   %eax
42d6bd:	6a 18                	push   $0x18
42d6bf:	56                   	push   %esi
42d6c0:	ff 15 20 71 4a 00    	call   *0x4a7120
42d6c6:	8b 55 08             	mov    0x8(%ebp),%edx
42d6c9:	66 85 d2             	test   %dx,%dx
42d6cc:	75 0a                	jne    0x42d6d8
42d6ce:	8b 45 d6             	mov    -0x2a(%ebp),%eax
42d6d1:	0f af 45 d4          	imul   -0x2c(%ebp),%eax
42d6d5:	0f b7 d0             	movzwl %ax,%edx
42d6d8:	33 db                	xor    %ebx,%ebx
42d6da:	43                   	inc    %ebx
42d6db:	66 3b d3             	cmp    %bx,%dx
42d6de:	77 04                	ja     0x42d6e4
42d6e0:	8b cb                	mov    %ebx,%ecx
42d6e2:	eb 18                	jmp    0x42d6fc
42d6e4:	6a 04                	push   $0x4
42d6e6:	59                   	pop    %ecx
42d6e7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42d6ea:	66 3b d1             	cmp    %cx,%dx
42d6ed:	76 10                	jbe    0x42d6ff
42d6ef:	6a 08                	push   $0x8
42d6f1:	58                   	pop    %eax
42d6f2:	66 3b c2             	cmp    %dx,%ax
42d6f5:	1b c9                	sbb    %ecx,%ecx
42d6f7:	83 e1 10             	and    $0x10,%ecx
42d6fa:	03 c8                	add    %eax,%ecx
42d6fc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42d6ff:	8b 45 c8             	mov    -0x38(%ebp),%eax
42d702:	89 45 a0             	mov    %eax,-0x60(%ebp)
42d705:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d708:	66 89 4d aa          	mov    %cx,-0x56(%ebp)
42d70c:	33 c9                	xor    %ecx,%ecx
42d70e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42d711:	8b 45 18             	mov    0x18(%ebp),%eax
42d714:	6a 28                	push   $0x28
42d716:	5e                   	pop    %esi
42d717:	89 4d b0             	mov    %ecx,-0x50(%ebp)
42d71a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42d71d:	8b 45 1c             	mov    0x1c(%ebp),%eax
42d720:	89 4d bc             	mov    %ecx,-0x44(%ebp)
42d723:	89 4d c0             	mov    %ecx,-0x40(%ebp)
42d726:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
42d729:	89 75 9c             	mov    %esi,-0x64(%ebp)
42d72c:	66 89 5d a8          	mov    %bx,-0x58(%ebp)
42d730:	89 7d ac             	mov    %edi,-0x54(%ebp)
42d733:	89 45 b8             	mov    %eax,-0x48(%ebp)
42d736:	e8 37 02 00 00       	call   0x42d972
42d73b:	8b 4d 14             	mov    0x14(%ebp),%ecx
42d73e:	0f b7 c0             	movzwl %ax,%eax
42d741:	03 c6                	add    %esi,%eax
42d743:	50                   	push   %eax
42d744:	6a 40                	push   $0x40
42d746:	89 45 dc             	mov    %eax,-0x24(%ebp)
42d749:	89 01                	mov    %eax,(%ecx)
42d74b:	ff 15 58 72 4a 00    	call   *0x4a7258
42d751:	89 45 f8             	mov    %eax,-0x8(%ebp)
42d754:	85 c0                	test   %eax,%eax
42d756:	75 10                	jne    0x42d768
42d758:	53                   	push   %ebx
42d759:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d75e:	e8 16 05 02 00       	call   0x44dc79
42d763:	e9 c4 01 00 00       	jmp    0x42d92c
42d768:	6a 0a                	push   $0xa
42d76a:	59                   	pop    %ecx
42d76b:	8b f8                	mov    %eax,%edi
42d76d:	8d 75 9c             	lea    -0x64(%ebp),%esi
42d770:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42d772:	0f b7 45 d6          	movzwl -0x2a(%ebp),%eax
42d776:	33 ff                	xor    %edi,%edi
42d778:	57                   	push   %edi
42d779:	50                   	push   %eax
42d77a:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
42d77e:	50                   	push   %eax
42d77f:	6a 02                	push   $0x2
42d781:	6a 02                	push   $0x2
42d783:	ff 15 5c 71 4a 00    	call   *0x4a715c
42d789:	8b f0                	mov    %eax,%esi
42d78b:	57                   	push   %edi
42d78c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42d78f:	ff 15 74 71 4a 00    	call   *0x4a7174
42d795:	8b d8                	mov    %eax,%ebx
42d797:	85 f6                	test   %esi,%esi
42d799:	0f 84 6c 01 00 00    	je     0x42d90b
42d79f:	56                   	push   %esi
42d7a0:	85 db                	test   %ebx,%ebx
42d7a2:	0f 84 5d 01 00 00    	je     0x42d905
42d7a8:	53                   	push   %ebx
42d7a9:	89 7d fc             	mov    %edi,-0x4(%ebp)
42d7ac:	ff 15 68 71 4a 00    	call   *0x4a7168
42d7b2:	89 45 ec             	mov    %eax,-0x14(%ebp)
42d7b5:	8b 45 f4             	mov    -0xc(%ebp),%eax
42d7b8:	85 c0                	test   %eax,%eax
42d7ba:	74 13                	je     0x42d7cf
42d7bc:	57                   	push   %edi
42d7bd:	50                   	push   %eax
42d7be:	53                   	push   %ebx
42d7bf:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d7c5:	53                   	push   %ebx
42d7c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
42d7c9:	ff 15 70 71 4a 00    	call   *0x4a7170
42d7cf:	8b 75 f8             	mov    -0x8(%ebp),%esi
42d7d2:	0f b7 55 a4          	movzwl -0x5c(%ebp),%edx
42d7d6:	57                   	push   %edi
42d7d7:	56                   	push   %esi
42d7d8:	57                   	push   %edi
42d7d9:	52                   	push   %edx
42d7da:	57                   	push   %edi
42d7db:	ff 75 e8             	push   -0x18(%ebp)
42d7de:	53                   	push   %ebx
42d7df:	ff 15 e8 70 4a 00    	call   *0x4a70e8
42d7e5:	6a 0a                	push   $0xa
42d7e7:	59                   	pop    %ecx
42d7e8:	8d 7d 9c             	lea    -0x64(%ebp),%edi
42d7eb:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42d7ed:	8b 75 b0             	mov    -0x50(%ebp),%esi
42d7f0:	85 f6                	test   %esi,%esi
42d7f2:	75 2a                	jne    0x42d81e
42d7f4:	8b 45 f0             	mov    -0x10(%ebp),%eax
42d7f7:	0f b7 c0             	movzwl %ax,%eax
42d7fa:	0f af 45 a0          	imul   -0x60(%ebp),%eax
42d7fe:	83 c0 1f             	add    $0x1f,%eax
42d801:	c1 e8 05             	shr    $0x5,%eax
42d804:	0f af 45 a4          	imul   -0x5c(%ebp),%eax
42d808:	8b f0                	mov    %eax,%esi
42d80a:	c1 e6 02             	shl    $0x2,%esi
42d80d:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42d811:	89 75 b0             	mov    %esi,-0x50(%ebp)
42d814:	74 08                	je     0x42d81e
42d816:	6b f0 0c             	imul   $0xc,%eax,%esi
42d819:	d1 ee                	shr    $1,%esi
42d81b:	89 75 b0             	mov    %esi,-0x50(%ebp)
42d81e:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
42d821:	e8 4c 01 00 00       	call   0x42d972
42d826:	8b 4d 14             	mov    0x14(%ebp),%ecx
42d829:	0f b7 c0             	movzwl %ax,%eax
42d82c:	03 c6                	add    %esi,%eax
42d82e:	03 45 9c             	add    -0x64(%ebp),%eax
42d831:	50                   	push   %eax
42d832:	6a 40                	push   $0x40
42d834:	89 01                	mov    %eax,(%ecx)
42d836:	ff 15 58 72 4a 00    	call   *0x4a7258
42d83c:	8b f0                	mov    %eax,%esi
42d83e:	85 f6                	test   %esi,%esi
42d840:	75 12                	jne    0x42d854
42d842:	6a 01                	push   $0x1
42d844:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d849:	e8 2b 04 02 00       	call   0x44dc79
42d84e:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d851:	57                   	push   %edi
42d852:	eb 42                	jmp    0x42d896
42d854:	ff 75 dc             	push   -0x24(%ebp)
42d857:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d85a:	57                   	push   %edi
42d85b:	56                   	push   %esi
42d85c:	e8 cc 37 06 00       	call   0x49102d
42d861:	83 c4 0c             	add    $0xc,%esp
42d864:	57                   	push   %edi
42d865:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d86b:	8b ce                	mov    %esi,%ecx
42d86d:	e8 00 01 00 00       	call   0x42d972
42d872:	8b 7e 14             	mov    0x14(%esi),%edi
42d875:	6a 00                	push   $0x0