46f582:	85 db                	test   %ebx,%ebx
46f584:	78 2e                	js     0x46f5b4
46f586:	8b 75 08             	mov    0x8(%ebp),%esi
46f589:	8d 7c 24 28          	lea    0x28(%esp),%edi
46f58d:	6a 05                	push   $0x5
46f58f:	59                   	pop    %ecx
46f590:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46f592:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46f596:	8d 74 24 10          	lea    0x10(%esp),%esi
46f59a:	8d 7c 24 40          	lea    0x40(%esp),%edi
46f59e:	83 c1 20             	add    $0x20,%ecx
46f5a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46f5a2:	8d 44 24 28          	lea    0x28(%esp),%eax
46f5a6:	50                   	push   %eax
46f5a7:	8d 44 24 24          	lea    0x24(%esp),%eax
46f5ab:	50                   	push   %eax
46f5ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46f5ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46f5ae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46f5af:	e8 16 00 00 00       	call   0x46f5ca
46f5b4:	8b 4c 24 54          	mov    0x54(%esp),%ecx
46f5b8:	8b c3                	mov    %ebx,%eax
46f5ba:	5f                   	pop    %edi
46f5bb:	5e                   	pop    %esi
46f5bc:	5b                   	pop    %ebx
46f5bd:	33 cc                	xor    %esp,%ecx
46f5bf:	e8 3c 09 02 00       	call   0x48ff00
46f5c4:	8b e5                	mov    %ebp,%esp
46f5c6:	5d                   	pop    %ebp
46f5c7:	c2 08 00             	ret    $0x8
46f5ca:	8b ff                	mov    %edi,%edi
46f5cc:	55                   	push   %ebp
46f5cd:	8b ec                	mov    %esp,%ebp
46f5cf:	83 ec 0c             	sub    $0xc,%esp
46f5d2:	53                   	push   %ebx
46f5d3:	56                   	push   %esi
46f5d4:	57                   	push   %edi
46f5d5:	8b 79 04             	mov    0x4(%ecx),%edi
46f5d8:	b0 01                	mov    $0x1,%al
46f5da:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46f5dd:	8b df                	mov    %edi,%ebx
46f5df:	88 45 f8             	mov    %al,-0x8(%ebp)
46f5e2:	8b 77 04             	mov    0x4(%edi),%esi
46f5e5:	80 7e 39 00          	cmpb   $0x0,0x39(%esi)
46f5e9:	75 2f                	jne    0x46f61a
46f5eb:	6a 10                	push   $0x10
46f5ed:	8d 46 10             	lea    0x10(%esi),%eax
46f5f0:	8b de                	mov    %esi,%ebx
46f5f2:	50                   	push   %eax
46f5f3:	ff 75 0c             	push   0xc(%ebp)
46f5f6:	e8 2c 1a 02 00       	call   0x491027
46f5fb:	83 c4 0c             	add    $0xc,%esp
46f5fe:	85 c0                	test   %eax,%eax
46f600:	0f 98 c0             	sets   %al
46f603:	88 45 f8             	mov    %al,-0x8(%ebp)
46f606:	84 c0                	test   %al,%al
46f608:	74 04                	je     0x46f60e
46f60a:	8b 36                	mov    (%esi),%esi
46f60c:	eb 03                	jmp    0x46f611
46f60e:	8b 76 08             	mov    0x8(%esi),%esi
46f611:	80 7e 39 00          	cmpb   $0x0,0x39(%esi)
46f615:	74 d4                	je     0x46f5eb
46f617:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f61a:	8b f3                	mov    %ebx,%esi
46f61c:	89 75 fc             	mov    %esi,-0x4(%ebp)
46f61f:	84 c0                	test   %al,%al
46f621:	74 2b                	je     0x46f64e
46f623:	3b 1f                	cmp    (%edi),%ebx
46f625:	75 1c                	jne    0x46f643
46f627:	ff 75 0c             	push   0xc(%ebp)
46f62a:	8d 45 f4             	lea    -0xc(%ebp),%eax
46f62d:	53                   	push   %ebx
46f62e:	6a 01                	push   $0x1
46f630:	50                   	push   %eax
46f631:	e8 5c 00 00 00       	call   0x46f692
46f636:	8b 08                	mov    (%eax),%ecx
46f638:	8b 45 08             	mov    0x8(%ebp),%eax
46f63b:	89 08                	mov    %ecx,(%eax)
46f63d:	c6 40 04 01          	movb   $0x1,0x4(%eax)
46f641:	eb 48                	jmp    0x46f68b
46f643:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46f646:	e8 5b 98 fc ff       	call   0x438ea6
46f64b:	8b 75 fc             	mov    -0x4(%ebp),%esi
46f64e:	6a 10                	push   $0x10
46f650:	ff 75 0c             	push   0xc(%ebp)
46f653:	8d 46 10             	lea    0x10(%esi),%eax
46f656:	50                   	push   %eax
46f657:	e8 cb 19 02 00       	call   0x491027
46f65c:	8b 7d 08             	mov    0x8(%ebp),%edi
46f65f:	83 c4 0c             	add    $0xc,%esp
46f662:	85 c0                	test   %eax,%eax
46f664:	79 1d                	jns    0x46f683
46f666:	ff 75 0c             	push   0xc(%ebp)
46f669:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f66c:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f66f:	53                   	push   %ebx
46f670:	ff 75 f8             	push   -0x8(%ebp)
46f673:	50                   	push   %eax
46f674:	e8 19 00 00 00       	call   0x46f692
46f679:	c6 47 04 01          	movb   $0x1,0x4(%edi)
46f67d:	8b 08                	mov    (%eax),%ecx
46f67f:	89 0f                	mov    %ecx,(%edi)
46f681:	eb 06                	jmp    0x46f689
46f683:	89 37                	mov    %esi,(%edi)
46f685:	c6 47 04 00          	movb   $0x0,0x4(%edi)
46f689:	8b c7                	mov    %edi,%eax
46f68b:	5f                   	pop    %edi
46f68c:	5e                   	pop    %esi
46f68d:	5b                   	pop    %ebx
46f68e:	c9                   	leave
46f68f:	c2 08 00             	ret    $0x8
46f692:	6a 4c                	push   $0x4c
46f694:	b8 be 12 49 00       	mov    $0x4912be,%eax
46f699:	e8 68 0e 02 00       	call   0x490506
46f69e:	8b f1                	mov    %ecx,%esi
46f6a0:	81 7e 08 65 66 66 06 	cmpl   $0x6666665,0x8(%esi)
46f6a7:	8b 45 08             	mov    0x8(%ebp),%eax
46f6aa:	8b 7d 10             	mov    0x10(%ebp),%edi
46f6ad:	89 45 a8             	mov    %eax,-0x58(%ebp)
46f6b0:	8b 45 14             	mov    0x14(%ebp),%eax
46f6b3:	0f 83 06 01 00 00    	jae    0x46f7bf
46f6b9:	51                   	push   %ecx
46f6ba:	50                   	push   %eax
46f6bb:	ff 76 04             	push   0x4(%esi)
46f6be:	57                   	push   %edi
46f6bf:	ff 76 04             	push   0x4(%esi)
46f6c2:	e8 24 01 00 00       	call   0x46f7eb
46f6c7:	ff 46 08             	incl   0x8(%esi)
46f6ca:	8b d8                	mov    %eax,%ebx
46f6cc:	8b 46 04             	mov    0x4(%esi),%eax
46f6cf:	3b f8                	cmp    %eax,%edi
46f6d1:	75 0d                	jne    0x46f6e0
46f6d3:	89 58 04             	mov    %ebx,0x4(%eax)
46f6d6:	8b 46 04             	mov    0x4(%esi),%eax
46f6d9:	89 18                	mov    %ebx,(%eax)
46f6db:	8b 46 04             	mov    0x4(%esi),%eax
46f6de:	eb 1e                	jmp    0x46f6fe
46f6e0:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
46f6e4:	74 0d                	je     0x46f6f3
46f6e6:	89 1f                	mov    %ebx,(%edi)
46f6e8:	8b 46 04             	mov    0x4(%esi),%eax
46f6eb:	3b 38                	cmp    (%eax),%edi
46f6ed:	75 12                	jne    0x46f701
46f6ef:	89 18                	mov    %ebx,(%eax)
46f6f1:	eb 0e                	jmp    0x46f701
46f6f3:	89 5f 08             	mov    %ebx,0x8(%edi)
46f6f6:	8b 46 04             	mov    0x4(%esi),%eax
46f6f9:	3b 78 08             	cmp    0x8(%eax),%edi
46f6fc:	75 03                	jne    0x46f701
46f6fe:	89 58 08             	mov    %ebx,0x8(%eax)
46f701:	8b fb                	mov    %ebx,%edi
46f703:	8d 4b 04             	lea    0x4(%ebx),%ecx
46f706:	e9 91 00 00 00       	jmp    0x46f79c
46f70b:	8b 50 04             	mov    0x4(%eax),%edx
46f70e:	8b 12                	mov    (%edx),%edx
46f710:	3b c2                	cmp    %edx,%eax
46f712:	75 3b                	jne    0x46f74f
46f714:	8b 50 04             	mov    0x4(%eax),%edx
46f717:	8b 52 08             	mov    0x8(%edx),%edx
46f71a:	80 7a 38 00          	cmpb   $0x0,0x38(%edx)
46f71e:	74 35                	je     0x46f755
46f720:	3b 78 08             	cmp    0x8(%eax),%edi
46f723:	75 0a                	jne    0x46f72f
46f725:	8b f8                	mov    %eax,%edi
46f727:	8b ce                	mov    %esi,%ecx
46f729:	57                   	push   %edi
46f72a:	e8 83 98 fc ff       	call   0x438fb2
46f72f:	8b 47 04             	mov    0x4(%edi),%eax
46f732:	8b ce                	mov    %esi,%ecx
46f734:	c6 40 38 01          	movb   $0x1,0x38(%eax)
46f738:	8b 47 04             	mov    0x4(%edi),%eax
46f73b:	8b 40 04             	mov    0x4(%eax),%eax
46f73e:	c6 40 38 00          	movb   $0x0,0x38(%eax)
46f742:	8b 47 04             	mov    0x4(%edi),%eax
46f745:	ff 70 04             	push   0x4(%eax)
46f748:	e8 1c 98 fc ff       	call   0x438f69
46f74d:	eb 4a                	jmp    0x46f799
46f74f:	80 7a 38 00          	cmpb   $0x0,0x38(%edx)
46f753:	75 18                	jne    0x46f76d
46f755:	c6 40 38 01          	movb   $0x1,0x38(%eax)
46f759:	c6 42 38 01          	movb   $0x1,0x38(%edx)
46f75d:	8b 01                	mov    (%ecx),%eax
46f75f:	8b 40 04             	mov    0x4(%eax),%eax
46f762:	c6 40 38 00          	movb   $0x0,0x38(%eax)
46f766:	8b 01                	mov    (%ecx),%eax
46f768:	8b 78 04             	mov    0x4(%eax),%edi
46f76b:	eb 2c                	jmp    0x46f799
46f76d:	3b 38                	cmp    (%eax),%edi
46f76f:	75 0a                	jne    0x46f77b
46f771:	8b f8                	mov    %eax,%edi
46f773:	8b ce                	mov    %esi,%ecx
46f775:	57                   	push   %edi
46f776:	e8 ee 97 fc ff       	call   0x438f69
46f77b:	8b 47 04             	mov    0x4(%edi),%eax
46f77e:	8b ce                	mov    %esi,%ecx
46f780:	c6 40 38 01          	movb   $0x1,0x38(%eax)
46f784:	8b 47 04             	mov    0x4(%edi),%eax
46f787:	8b 40 04             	mov    0x4(%eax),%eax
46f78a:	c6 40 38 00          	movb   $0x0,0x38(%eax)
46f78e:	8b 47 04             	mov    0x4(%edi),%eax
46f791:	ff 70 04             	push   0x4(%eax)
46f794:	e8 19 98 fc ff       	call   0x438fb2
46f799:	8d 4f 04             	lea    0x4(%edi),%ecx
46f79c:	8b 01                	mov    (%ecx),%eax
46f79e:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
46f7a2:	0f 84 63 ff ff ff    	je     0x46f70b
46f7a8:	8b 4e 04             	mov    0x4(%esi),%ecx
46f7ab:	8b 45 a8             	mov    -0x58(%ebp),%eax
46f7ae:	8b 49 04             	mov    0x4(%ecx),%ecx
46f7b1:	c6 41 38 01          	movb   $0x1,0x38(%ecx)
46f7b5:	89 18                	mov    %ebx,(%eax)
46f7b7:	e8 f9 0c 02 00       	call   0x4904b5
46f7bc:	c2 10 00             	ret    $0x10
46f7bf:	68 c0 f9 40 00       	push   $0x40f9c0
46f7c4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46f7c7:	e8 c0 c6 fa ff       	call   0x41be8c
46f7cc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46f7d0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f7d3:	50                   	push   %eax
46f7d4:	8d 4d ac             	lea    -0x54(%ebp),%ecx
46f7d7:	e8 8e c1 fa ff       	call   0x41b96a
46f7dc:	68 c8 ea 49 00       	push   $0x49eac8
46f7e1:	8d 45 ac             	lea    -0x54(%ebp),%eax
46f7e4:	50                   	push   %eax
46f7e5:	e8 b1 0c 02 00       	call   0x49049b
46f7ea:	cc                   	int3
46f7eb:	8b ff                	mov    %edi,%edi
46f7ed:	55                   	push   %ebp
46f7ee:	8b ec                	mov    %esp,%ebp
46f7f0:	56                   	push   %esi
46f7f1:	57                   	push   %edi
46f7f2:	6a 40                	push   $0x40
46f7f4:	ff 15 14 74 4a 00    	call   *0x4a7414
46f7fa:	8b 75 14             	mov    0x14(%ebp),%esi
46f7fd:	59                   	pop    %ecx
46f7fe:	8b 4d 08             	mov    0x8(%ebp),%ecx
46f801:	89 08                	mov    %ecx,(%eax)
46f803:	8d 78 10             	lea    0x10(%eax),%edi
46f806:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f809:	89 48 04             	mov    %ecx,0x4(%eax)
46f80c:	8b 4d 10             	mov    0x10(%ebp),%ecx
46f80f:	6a 0a                	push   $0xa
46f811:	89 48 08             	mov    %ecx,0x8(%eax)
46f814:	59                   	pop    %ecx
46f815:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46f817:	5f                   	pop    %edi
46f818:	66 c7 40 38 00 00    	movw   $0x0,0x38(%eax)
46f81e:	5e                   	pop    %esi
46f81f:	5d                   	pop    %ebp
46f820:	c2 14 00             	ret    $0x14
46f823:	6a 40                	push   $0x40
46f825:	ff 15 14 74 4a 00    	call   *0x4a7414
46f82b:	59                   	pop    %ecx
46f82c:	33 c9                	xor    %ecx,%ecx
46f82e:	89 08                	mov    %ecx,(%eax)
46f830:	89 48 04             	mov    %ecx,0x4(%eax)
46f833:	89 48 08             	mov    %ecx,0x8(%eax)
46f836:	66 c7 40 38 01 00    	movw   $0x1,0x38(%eax)
46f83c:	c3                   	ret
46f83d:	8b ff                	mov    %edi,%edi
46f83f:	55                   	push   %ebp
46f840:	8b ec                	mov    %esp,%ebp
46f842:	56                   	push   %esi
46f843:	6a 0d                	push   $0xd
46f845:	5e                   	pop    %esi
46f846:	39 71 10             	cmp    %esi,0x10(%ecx)
46f849:	75 21                	jne    0x46f86c
46f84b:	8b 45 08             	mov    0x8(%ebp),%eax
46f84e:	66 89 30             	mov    %si,(%eax)
46f851:	89 50 08             	mov    %edx,0x8(%eax)
46f854:	85 d2                	test   %edx,%edx
46f856:	74 10                	je     0x46f868
46f858:	8b 02                	mov    (%edx),%eax
46f85a:	52                   	push   %edx
46f85b:	8b 70 04             	mov    0x4(%eax),%esi
46f85e:	8b ce                	mov    %esi,%ecx
46f860:	ff 15 2c 81 4a 00    	call   *0x4a812c
46f866:	ff d6                	call   *%esi
46f868:	33 c0                	xor    %eax,%eax
46f86a:	eb 05                	jmp    0x46f871
46f86c:	b8 57 00 07 80       	mov    $0x80070057,%eax
46f871:	5e                   	pop    %esi
46f872:	5d                   	pop    %ebp
46f873:	c2 04 00             	ret    $0x4
46f876:	cc                   	int3
46f877:	cc                   	int3
46f878:	cc                   	int3
46f879:	cc                   	int3
46f87a:	cc                   	int3
46f87b:	cc                   	int3
46f87c:	cc                   	int3
46f87d:	cc                   	int3
46f87e:	cc                   	int3
46f87f:	cc                   	int3
46f880:	8b ff                	mov    %edi,%edi
46f882:	55                   	push   %ebp
46f883:	8b ec                	mov    %esp,%ebp
46f885:	8b 45 08             	mov    0x8(%ebp),%eax
46f888:	89 41 28             	mov    %eax,0x28(%ecx)
46f88b:	5d                   	pop    %ebp
46f88c:	c2 04 00             	ret    $0x4
46f88f:	cc                   	int3
46f890:	8b ff                	mov    %edi,%edi
46f892:	55                   	push   %ebp
46f893:	8b ec                	mov    %esp,%ebp
46f895:	33 c0                	xor    %eax,%eax
46f897:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
46f89b:	0f 94 c0             	sete   %al
46f89e:	89 41 2c             	mov    %eax,0x2c(%ecx)
46f8a1:	5d                   	pop    %ebp
46f8a2:	c2 04 00             	ret    $0x4
46f8a5:	cc                   	int3
46f8a6:	cc                   	int3
46f8a7:	cc                   	int3
46f8a8:	cc                   	int3
46f8a9:	cc                   	int3
46f8aa:	cc                   	int3
46f8ab:	cc                   	int3
46f8ac:	cc                   	int3
46f8ad:	cc                   	int3
46f8ae:	cc                   	int3
46f8af:	cc                   	int3
46f8b0:	8b ff                	mov    %edi,%edi
46f8b2:	55                   	push   %ebp
46f8b3:	8b ec                	mov    %esp,%ebp
46f8b5:	8b 45 08             	mov    0x8(%ebp),%eax
46f8b8:	89 41 2c             	mov    %eax,0x2c(%ecx)
46f8bb:	5d                   	pop    %ebp
46f8bc:	c2 04 00             	ret    $0x4
46f8bf:	cc                   	int3
46f8c0:	8b ff                	mov    %edi,%edi
46f8c2:	55                   	push   %ebp
46f8c3:	8b ec                	mov    %esp,%ebp
46f8c5:	c7 41 30 01 00 00 00 	movl   $0x1,0x30(%ecx)
46f8cc:	83 c1 34             	add    $0x34,%ecx
46f8cf:	5d                   	pop    %ebp
46f8d0:	ff 25 64 75 4a 00    	jmp    *0x4a7564
46f8d6:	cc                   	int3
46f8d7:	cc                   	int3
46f8d8:	cc                   	int3
46f8d9:	cc                   	int3
46f8da:	cc                   	int3
46f8db:	cc                   	int3
46f8dc:	cc                   	int3
46f8dd:	cc                   	int3
46f8de:	cc                   	int3
46f8df:	cc                   	int3
46f8e0:	8b ff                	mov    %edi,%edi
46f8e2:	55                   	push   %ebp
46f8e3:	8b ec                	mov    %esp,%ebp