46d3f5:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d3fb:	ff d6                	call   *%esi
46d3fd:	8b c7                	mov    %edi,%eax
46d3ff:	e8 9d 30 02 00       	call   0x4904a1
46d404:	c3                   	ret
46d405:	6a 28                	push   $0x28
46d407:	b8 f8 56 49 00       	mov    $0x4956f8,%eax
46d40c:	e8 c2 30 02 00       	call   0x4904d3
46d411:	8b fa                	mov    %edx,%edi
46d413:	89 7d f0             	mov    %edi,-0x10(%ebp)
46d416:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46d419:	33 c0                	xor    %eax,%eax
46d41b:	8b f0                	mov    %eax,%esi
46d41d:	89 75 e8             	mov    %esi,-0x18(%ebp)
46d420:	68 80 fa 40 00       	push   $0x40fa80
46d425:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d428:	ff 15 30 7c 4a 00    	call   *0x4a7c30
46d42e:	89 45 ec             	mov    %eax,-0x14(%ebp)
46d431:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46d435:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46d43a:	85 ff                	test   %edi,%edi
46d43c:	0f 84 b5 00 00 00    	je     0x46d4f7
46d442:	83 ec 10             	sub    $0x10,%esp
46d445:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46d448:	8b fc                	mov    %esp,%edi
46d44a:	be 84 33 41 00       	mov    $0x413384,%esi
46d44f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d450:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d451:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d452:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d453:	e8 27 03 00 00       	call   0x46d77f
46d458:	85 c0                	test   %eax,%eax
46d45a:	0f 88 94 00 00 00    	js     0x46d4f4
46d460:	8b 7d f0             	mov    -0x10(%ebp),%edi
46d463:	8d 45 dc             	lea    -0x24(%ebp),%eax
46d466:	50                   	push   %eax
46d467:	33 c0                	xor    %eax,%eax
46d469:	50                   	push   %eax
46d46a:	8b 37                	mov    (%edi),%esi
46d46c:	50                   	push   %eax
46d46d:	50                   	push   %eax
46d46e:	57                   	push   %edi
46d46f:	8b 4e 14             	mov    0x14(%esi),%ecx
46d472:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d478:	ff 56 14             	call   *0x14(%esi)
46d47b:	6a 0d                	push   $0xd
46d47d:	58                   	pop    %eax
46d47e:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
46d482:	89 7d d4             	mov    %edi,-0x2c(%ebp)
46d485:	8b 07                	mov    (%edi),%eax
46d487:	57                   	push   %edi
46d488:	8b 70 04             	mov    0x4(%eax),%esi
46d48b:	8b ce                	mov    %esi,%ecx
46d48d:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d493:	ff d6                	call   *%esi
46d495:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46d498:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46d49c:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d49f:	8d 75 cc             	lea    -0x34(%ebp),%esi
46d4a2:	51                   	push   %ecx
46d4a3:	83 ec 10             	sub    $0x10,%esp
46d4a6:	8b fc                	mov    %esp,%edi
46d4a8:	8b 00                	mov    (%eax),%eax
46d4aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4ae:	8b b8 e8 00 00 00    	mov    0xe8(%eax),%edi
46d4b4:	8b cf                	mov    %edi,%ecx
46d4b6:	8b 75 e8             	mov    -0x18(%ebp),%esi
46d4b9:	56                   	push   %esi
46d4ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d4c0:	ff d7                	call   *%edi
46d4c2:	85 c0                	test   %eax,%eax
46d4c4:	75 24                	jne    0x46d4ea
46d4c6:	ff 75 ec             	push   -0x14(%ebp)
46d4c9:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
46d4cf:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
46d4d3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46d4d6:	8b 06                	mov    (%esi),%eax
46d4d8:	51                   	push   %ecx
46d4d9:	56                   	push   %esi
46d4da:	8b b8 88 00 00 00    	mov    0x88(%eax),%edi
46d4e0:	8b cf                	mov    %edi,%ecx
46d4e2:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d4e8:	ff d7                	call   *%edi
46d4ea:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d4ed:	e8 d3 0e 00 00       	call   0x46e3c5
46d4f2:	eb 03                	jmp    0x46d4f7
46d4f4:	8b 75 e8             	mov    -0x18(%ebp),%esi
46d4f7:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d4fa:	33 c9                	xor    %ecx,%ecx
46d4fc:	50                   	push   %eax
46d4fd:	8d 45 e8             	lea    -0x18(%ebp),%eax
46d500:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46d503:	50                   	push   %eax
46d504:	51                   	push   %ecx
46d505:	68 3f 00 0f 00       	push   $0xf003f
46d50a:	51                   	push   %ecx
46d50b:	51                   	push   %ecx
46d50c:	51                   	push   %ecx
46d50d:	68 28 33 41 00       	push   $0x413328
46d512:	ff 75 e4             	push   -0x1c(%ebp)
46d515:	ff 15 00 70 4a 00    	call   *0x4a7000
46d51b:	85 c0                	test   %eax,%eax
46d51d:	75 52                	jne    0x46d571
46d51f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46d522:	33 db                	xor    %ebx,%ebx
46d524:	8b 7d e8             	mov    -0x18(%ebp),%edi
46d527:	8d 51 02             	lea    0x2(%ecx),%edx
46d52a:	66 8b 01             	mov    (%ecx),%ax
46d52d:	83 c1 02             	add    $0x2,%ecx
46d530:	66 3b c3             	cmp    %bx,%ax
46d533:	75 f5                	jne    0x46d52a
46d535:	2b ca                	sub    %edx,%ecx
46d537:	d1 f9                	sar    $1,%ecx
46d539:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
46d540:	50                   	push   %eax
46d541:	ff 75 ec             	push   -0x14(%ebp)
46d544:	6a 01                	push   $0x1
46d546:	53                   	push   %ebx
46d547:	68 38 33 41 00       	push   $0x413338
46d54c:	57                   	push   %edi
46d54d:	ff 15 0c 70 4a 00    	call   *0x4a700c
46d553:	85 ff                	test   %edi,%edi
46d555:	74 07                	je     0x46d55e
46d557:	57                   	push   %edi
46d558:	ff 15 08 70 4a 00    	call   *0x4a7008
46d55e:	8b c7                	mov    %edi,%eax
46d560:	f7 d8                	neg    %eax
46d562:	1b c0                	sbb    %eax,%eax
46d564:	f7 d0                	not    %eax
46d566:	23 c7                	and    %edi,%eax
46d568:	74 07                	je     0x46d571
46d56a:	50                   	push   %eax
46d56b:	ff 15 08 70 4a 00    	call   *0x4a7008
46d571:	ff 75 ec             	push   -0x14(%ebp)
46d574:	ff 15 3c 7c 4a 00    	call   *0x4a7c3c
46d57a:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
46d581:	85 f6                	test   %esi,%esi
46d583:	74 10                	je     0x46d595
46d585:	8b 0e                	mov    (%esi),%ecx
46d587:	56                   	push   %esi
46d588:	8b 71 08             	mov    0x8(%ecx),%esi
46d58b:	8b ce                	mov    %esi,%ecx
46d58d:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d593:	ff d6                	call   *%esi
46d595:	8b c3                	mov    %ebx,%eax
46d597:	e8 05 2f 02 00       	call   0x4904a1
46d59c:	c3                   	ret
46d59d:	6a 0c                	push   $0xc
46d59f:	b8 1b 57 49 00       	mov    $0x49571b,%eax
46d5a4:	e8 2a 2f 02 00       	call   0x4904d3
46d5a9:	8b c2                	mov    %edx,%eax
46d5ab:	8b d9                	mov    %ecx,%ebx
46d5ad:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
46d5b1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46d5b5:	8d 55 f0             	lea    -0x10(%ebp),%edx
46d5b8:	8b c8                	mov    %eax,%ecx
46d5ba:	e8 5b 00 00 00       	call   0x46d61a
46d5bf:	8b 75 f0             	mov    -0x10(%ebp),%esi
46d5c2:	8b f8                	mov    %eax,%edi
46d5c4:	85 ff                	test   %edi,%edi
46d5c6:	78 2f                	js     0x46d5f7
46d5c8:	85 f6                	test   %esi,%esi
46d5ca:	74 2b                	je     0x46d5f7
46d5cc:	8b 3e                	mov    (%esi),%edi
46d5ce:	8d 45 e8             	lea    -0x18(%ebp),%eax
46d5d1:	50                   	push   %eax
46d5d2:	33 c0                	xor    %eax,%eax
46d5d4:	50                   	push   %eax
46d5d5:	8b 4f 14             	mov    0x14(%edi),%ecx
46d5d8:	50                   	push   %eax
46d5d9:	50                   	push   %eax
46d5da:	56                   	push   %esi
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