46d5db:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d5e1:	ff 57 14             	call   *0x14(%edi)
46d5e4:	8b 03                	mov    (%ebx),%eax
46d5e6:	56                   	push   %esi
46d5e7:	53                   	push   %ebx
46d5e8:	8b 78 10             	mov    0x10(%eax),%edi
46d5eb:	8b cf                	mov    %edi,%ecx
46d5ed:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d5f3:	ff d7                	call   *%edi
46d5f5:	8b f8                	mov    %eax,%edi
46d5f7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46d5fe:	85 f6                	test   %esi,%esi
46d600:	74 10                	je     0x46d612
46d602:	8b 06                	mov    (%esi),%eax
46d604:	56                   	push   %esi
46d605:	8b 70 08             	mov    0x8(%eax),%esi
46d608:	8b ce                	mov    %esi,%ecx
46d60a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d610:	ff d6                	call   *%esi
46d612:	8b c7                	mov    %edi,%eax
46d614:	e8 88 2e 02 00       	call   0x4904a1
46d619:	c3                   	ret
46d61a:	6a 10                	push   $0x10
46d61c:	b8 3e 57 49 00       	mov    $0x49573e,%eax
46d621:	e8 ad 2e 02 00       	call   0x4904d3
46d626:	8b da                	mov    %edx,%ebx
46d628:	33 d2                	xor    %edx,%edx
46d62a:	bf 05 40 00 80       	mov    $0x80004005,%edi
46d62f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
46d632:	89 55 e8             	mov    %edx,-0x18(%ebp)
46d635:	89 55 ec             	mov    %edx,-0x14(%ebp)
46d638:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d63b:	89 55 fc             	mov    %edx,-0x4(%ebp)
46d63e:	50                   	push   %eax
46d63f:	68 19 00 02 00       	push   $0x20019
46d644:	52                   	push   %edx
46d645:	68 28 33 41 00       	push   $0x413328
46d64a:	51                   	push   %ecx
46d64b:	89 55 f0             	mov    %edx,-0x10(%ebp)
46d64e:	ff 15 28 70 4a 00    	call   *0x4a7028
46d654:	85 c0                	test   %eax,%eax
46d656:	75 6f                	jne    0x46d6c7
46d658:	8b 75 f0             	mov    -0x10(%ebp),%esi
46d65b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d65e:	50                   	push   %eax
46d65f:	6a 00                	push   $0x0
46d661:	51                   	push   %ecx
46d662:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46d665:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46d668:	e8 cd 0c 00 00       	call   0x46e33a
46d66d:	85 c0                	test   %eax,%eax
46d66f:	75 3c                	jne    0x46d6ad
46d671:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d674:	33 c9                	xor    %ecx,%ecx
46d676:	6a 02                	push   $0x2
46d678:	5a                   	pop    %edx
46d679:	f7 e2                	mul    %edx
46d67b:	0f 90 c1             	seto   %cl
46d67e:	f7 d9                	neg    %ecx
46d680:	0b c8                	or     %eax,%ecx
46d682:	51                   	push   %ecx
46d683:	e8 86 03 02 00       	call   0x48da0e
46d688:	8b f8                	mov    %eax,%edi
46d68a:	59                   	pop    %ecx
46d68b:	85 ff                	test   %edi,%edi
46d68d:	74 1e                	je     0x46d6ad
46d68f:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d692:	50                   	push   %eax
46d693:	57                   	push   %edi
46d694:	51                   	push   %ecx
46d695:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46d698:	e8 9d 0c 00 00       	call   0x46e33a
46d69d:	8b d3                	mov    %ebx,%edx
46d69f:	8b cf                	mov    %edi,%ecx
46d6a1:	e8 fb 01 00 00       	call   0x46d8a1
46d6a6:	57                   	push   %edi
46d6a7:	e8 a0 03 02 00       	call   0x48da4c
46d6ac:	59                   	pop    %ecx
46d6ad:	85 f6                	test   %esi,%esi
46d6af:	74 09                	je     0x46d6ba
46d6b1:	56                   	push   %esi
46d6b2:	ff 15 08 70 4a 00    	call   *0x4a7008
46d6b8:	33 f6                	xor    %esi,%esi
46d6ba:	33 ff                	xor    %edi,%edi
46d6bc:	85 f6                	test   %esi,%esi
46d6be:	74 07                	je     0x46d6c7
46d6c0:	56                   	push   %esi
46d6c1:	ff 15 08 70 4a 00    	call   *0x4a7008
46d6c7:	8b c7                	mov    %edi,%eax
46d6c9:	e8 d3 2d 02 00       	call   0x4904a1
46d6ce:	c3                   	ret
46d6cf:	6a 04                	push   $0x4
46d6d1:	b8 87 31 49 00       	mov    $0x493187,%eax
46d6d6:	e8 f8 2d 02 00       	call   0x4904d3
46d6db:	33 ff                	xor    %edi,%edi
46d6dd:	8b c7                	mov    %edi,%eax
46d6df:	89 45 f0             	mov    %eax,-0x10(%ebp)
46d6e2:	85 c9                	test   %ecx,%ecx
46d6e4:	74 19                	je     0x46d6ff
46d6e6:	8b 31                	mov    (%ecx),%esi
46d6e8:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d6eb:	50                   	push   %eax
46d6ec:	68 64 33 41 00       	push   $0x413364
46d6f1:	51                   	push   %ecx
46d6f2:	8b 0e                	mov    (%esi),%ecx
46d6f4:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d6fa:	ff 16                	call   *(%esi)
46d6fc:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d6ff:	89 7d fc             	mov    %edi,-0x4(%ebp)
46d702:	85 c0                	test   %eax,%eax
46d704:	74 54                	je     0x46d75a
46d706:	68 4c 33 41 00       	push   $0x41334c
46d70b:	ff 15 30 7c 4a 00    	call   *0x4a7c30
46d711:	8b d8                	mov    %eax,%ebx
46d713:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d716:	85 db                	test   %ebx,%ebx
46d718:	74 3b                	je     0x46d755
46d71a:	8b 08                	mov    (%eax),%ecx
46d71c:	8d 75 08             	lea    0x8(%ebp),%esi
46d71f:	83 ec 10             	sub    $0x10,%esp
46d722:	8b fc                	mov    %esp,%edi
46d724:	53                   	push   %ebx
46d725:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d726:	50                   	push   %eax
46d727:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d728:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d729:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d72a:	8b b1 40 01 00 00    	mov    0x140(%ecx),%esi
46d730:	8b ce                	mov    %esi,%ecx
46d732:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d738:	ff d6                	call   *%esi
46d73a:	8b f8                	mov    %eax,%edi
46d73c:	81 ff 05 40 00 80    	cmp    $0x80004005,%edi
46d742:	75 05                	jne    0x46d749
46d744:	bf 00 02 04 c0       	mov    $0xc0040200,%edi
46d749:	53                   	push   %ebx
46d74a:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
46d750:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d753:	eb 05                	jmp    0x46d75a
46d755:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
46d75a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46d761:	85 c0                	test   %eax,%eax
46d763:	74 10                	je     0x46d775
46d765:	8b 08                	mov    (%eax),%ecx
46d767:	50                   	push   %eax
46d768:	8b 71 08             	mov    0x8(%ecx),%esi
46d76b:	8b ce                	mov    %esi,%ecx
46d76d:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d773:	ff d6                	call   *%esi
46d775:	8b c7                	mov    %edi,%eax
46d777:	e8 25 2d 02 00       	call   0x4904a1
46d77c:	c2 10 00             	ret    $0x10
46d77f:	6a 28                	push   $0x28
46d781:	b8 61 57 49 00       	mov    $0x495761,%eax
46d786:	e8 7b 2d 02 00       	call   0x490506
46d78b:	8b d9                	mov    %ecx,%ebx
46d78d:	8d 75 08             	lea    0x8(%ebp),%esi
46d790:	8d 7d e0             	lea    -0x20(%ebp),%edi
46d793:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d794:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d795:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d796:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d797:	33 f6                	xor    %esi,%esi
46d799:	89 75 dc             	mov    %esi,-0x24(%ebp)
46d79c:	8d 45 dc             	lea    -0x24(%ebp),%eax
46d79f:	89 75 fc             	mov    %esi,-0x4(%ebp)
46d7a2:	50                   	push   %eax
46d7a3:	68 74 33 41 00       	push   $0x413374
46d7a8:	6a 01                	push   $0x1
46d7aa:	56                   	push   %esi
46d7ab:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d7ae:	50                   	push   %eax
46d7af:	ff 15 98 7e 4a 00    	call   *0x4a7e98
46d7b5:	8b f8                	mov    %eax,%edi
46d7b7:	85 ff                	test   %edi,%edi
46d7b9:	0f 88 ba 00 00 00    	js     0x46d879
46d7bf:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d7c2:	56                   	push   %esi
46d7c3:	50                   	push   %eax
46d7c4:	8b 08                	mov    (%eax),%ecx
46d7c6:	8b b1 fc 00 00 00    	mov    0xfc(%ecx),%esi
46d7cc:	8b ce                	mov    %esi,%ecx
46d7ce:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d7d4:	ff d6                	call   *%esi
46d7d6:	8b f8                	mov    %eax,%edi
46d7d8:	85 ff                	test   %edi,%edi
46d7da:	0f 88 99 00 00 00    	js     0x46d879
46d7e0:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d7e3:	6a 00                	push   $0x0
46d7e5:	50                   	push   %eax
46d7e6:	8b 08                	mov    (%eax),%ecx
46d7e8:	8b b1 18 01 00 00    	mov    0x118(%ecx),%esi
46d7ee:	8b ce                	mov    %esi,%ecx
46d7f0:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d7f6:	ff d6                	call   *%esi
46d7f8:	8b f8                	mov    %eax,%edi
46d7fa:	85 ff                	test   %edi,%edi
46d7fc:	78 7b                	js     0x46d879
46d7fe:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d801:	6a 00                	push   $0x0
46d803:	50                   	push   %eax
46d804:	8b 08                	mov    (%eax),%ecx
46d806:	8b b1 10 01 00 00    	mov    0x110(%ecx),%esi
46d80c:	8b ce                	mov    %esi,%ecx
46d80e:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d814:	ff d6                	call   *%esi
46d816:	8b f8                	mov    %eax,%edi
46d818:	85 ff                	test   %edi,%edi
46d81a:	78 5d                	js     0x46d879
46d81c:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d81f:	83 ca ff             	or     $0xffffffff,%edx
46d822:	52                   	push   %edx
46d823:	50                   	push   %eax
46d824:	8b 08                	mov    (%eax),%ecx
46d826:	8b b1 20 01 00 00    	mov    0x120(%ecx),%esi
46d82c:	8b ce                	mov    %esi,%ecx
46d82e:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d834:	ff d6                	call   *%esi
46d836:	8b f8                	mov    %eax,%edi
46d838:	85 ff                	test   %edi,%edi
46d83a:	78 3d                	js     0x46d879
46d83c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46d83f:	8d 75 cc             	lea    -0x34(%ebp),%esi
46d842:	6a 0b                	push   $0xb
46d844:	58                   	pop    %eax
46d845:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
46d849:	83 ec 10             	sub    $0x10,%esp
46d84c:	8b fc                	mov    %esp,%edi
46d84e:	83 c8 ff             	or     $0xffffffff,%eax
46d851:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
46d855:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d856:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d857:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d858:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d859:	e8 71 fe ff ff       	call   0x46d6cf
46d85e:	8b f8                	mov    %eax,%edi
46d860:	85 ff                	test   %edi,%edi
46d862:	78 15                	js     0x46d879
46d864:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d867:	89 03                	mov    %eax,(%ebx)
46d869:	50                   	push   %eax
46d86a:	8b 08                	mov    (%eax),%ecx
46d86c:	8b 71 04             	mov    0x4(%ecx),%esi
46d86f:	8b ce                	mov    %esi,%ecx
46d871:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d877:	ff d6                	call   *%esi
46d879:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46d880:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d883:	85 c0                	test   %eax,%eax
46d885:	74 10                	je     0x46d897
46d887:	8b 08                	mov    (%eax),%ecx
46d889:	50                   	push   %eax
46d88a:	8b 71 08             	mov    0x8(%ecx),%esi
46d88d:	8b ce                	mov    %esi,%ecx
46d88f:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d895:	ff d6                	call   *%esi
46d897:	8b c7                	mov    %edi,%eax
46d899:	e8 17 2c 02 00       	call   0x4904b5
46d89e:	c2 10 00             	ret    $0x10
46d8a1:	6a 24                	push   $0x24
46d8a3:	b8 a6 57 49 00       	mov    $0x4957a6,%eax
46d8a8:	e8 26 2c 02 00       	call   0x4904d3
46d8ad:	89 55 e4             	mov    %edx,-0x1c(%ebp)
46d8b0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46d8b3:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
46d8b7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46d8bb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46d8be:	83 ec 10             	sub    $0x10,%esp
46d8c1:	be 84 33 41 00       	mov    $0x413384,%esi
46d8c6:	8b fc                	mov    %esp,%edi
46d8c8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d8c9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d8ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d8cb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d8cc:	e8 ae fe ff ff       	call   0x46d77f
46d8d1:	8b d8                	mov    %eax,%ebx
46d8d3:	85 db                	test   %ebx,%ebx
46d8d5:	0f 88 e4 00 00 00    	js     0x46d9bf
46d8db:	ff 75 ec             	push   -0x14(%ebp)
46d8de:	ff 15 30 7c 4a 00    	call   *0x4a7c30
46d8e4:	8b f8                	mov    %eax,%edi
46d8e6:	89 7d e0             	mov    %edi,-0x20(%ebp)
46d8e9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46d8ed:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d8f0:	8b 75 e8             	mov    -0x18(%ebp),%esi
46d8f3:	50                   	push   %eax
46d8f4:	57                   	push   %edi
46d8f5:	56                   	push   %esi
46d8f6:	8b 1e                	mov    (%esi),%ebx
46d8f8:	8b 9b 04 01 00 00    	mov    0x104(%ebx),%ebx
46d8fe:	8b cb                	mov    %ebx,%ecx
46d900:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d906:	ff d3                	call   *%ebx
46d908:	8b d8                	mov    %eax,%ebx
46d90a:	85 db                	test   %ebx,%ebx
46d90c:	0f 88 a6 00 00 00    	js     0x46d9b8
46d912:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
46d916:	8d 45 ec             	lea    -0x14(%ebp),%eax
46d919:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46d91d:	50                   	push   %eax
46d91e:	6a 01                	push   $0x1
46d920:	6a 00                	push   $0x0
46d922:	ff 15 84 7e 4a 00    	call   *0x4a7e84
46d928:	8b d8                	mov    %eax,%ebx
46d92a:	85 db                	test   %ebx,%ebx
46d92c:	78 6f                	js     0x46d99d
46d92e:	6a 0d                	push   $0xd
46d930:	58                   	pop    %eax
46d931:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
46d935:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d938:	89 45 d8             	mov    %eax,-0x28(%ebp)
46d93b:	85 c0                	test   %eax,%eax
46d93d:	74 10                	je     0x46d94f
46d93f:	8b 08                	mov    (%eax),%ecx
46d941:	50                   	push   %eax
46d942:	8b 79 04             	mov    0x4(%ecx),%edi
46d945:	8b cf                	mov    %edi,%ecx
46d947:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d94d:	ff d7                	call   *%edi
46d94f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46d953:	83 ec 10             	sub    $0x10,%esp
46d956:	8b 06                	mov    (%esi),%eax
46d958:	8b fc                	mov    %esp,%edi
46d95a:	8d 75 d0             	lea    -0x30(%ebp),%esi
46d95d:	ff 75 e8             	push   -0x18(%ebp)
46d960:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d961:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d962:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d963:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d964:	8b b0 08 01 00 00    	mov    0x108(%eax),%esi
46d96a:	8b ce                	mov    %esi,%ecx
46d96c:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d972:	ff d6                	call   *%esi
46d974:	8b d8                	mov    %eax,%ebx
46d976:	85 db                	test   %ebx,%ebx
46d978:	78 18                	js     0x46d992
46d97a:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d97d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46d980:	50                   	push   %eax
46d981:	89 01                	mov    %eax,(%ecx)
46d983:	8b 08                	mov    (%eax),%ecx
46d985:	8b 71 04             	mov    0x4(%ecx),%esi
46d988:	8b ce                	mov    %esi,%ecx
46d98a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d990:	ff d6                	call   *%esi
46d992:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46d995:	e8 2b 0a 00 00       	call   0x46e3c5
46d99a:	8b 7d e0             	mov    -0x20(%ebp),%edi
46d99d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46d9a1:	8b 45 ec             	mov    -0x14(%ebp),%eax