57757a:	eb 02                	jmp    0x57757e
57757c:	33 c0                	xor    %eax,%eax
57757e:	85 ff                	test   %edi,%edi
577580:	74 0e                	je     0x577590
577582:	85 c0                	test   %eax,%eax
577584:	74 18                	je     0x57759e
577586:	50                   	push   %eax
577587:	57                   	push   %edi
577588:	e8 93 84 fb ff       	call   0x52fa20
57758d:	83 c4 08             	add    $0x8,%esp
577590:	85 c0                	test   %eax,%eax
577592:	75 0a                	jne    0x57759e
577594:	5f                   	pop    %edi
577595:	5e                   	pop    %esi
577596:	5d                   	pop    %ebp
577597:	b8 01 00 00 00       	mov    $0x1,%eax
57759c:	5b                   	pop    %ebx
57759d:	c3                   	ret
57759e:	5f                   	pop    %edi
57759f:	5e                   	pop    %esi
5775a0:	5d                   	pop    %ebp
5775a1:	33 c0                	xor    %eax,%eax
5775a3:	5b                   	pop    %ebx
5775a4:	c3                   	ret
5775a5:	cc                   	int3
5775a6:	cc                   	int3
5775a7:	cc                   	int3
5775a8:	cc                   	int3
5775a9:	cc                   	int3
5775aa:	cc                   	int3
5775ab:	cc                   	int3
5775ac:	cc                   	int3
5775ad:	cc                   	int3
5775ae:	cc                   	int3
5775af:	cc                   	int3
5775b0:	b8 78 00 00 00       	mov    $0x78,%eax
5775b5:	e8 f6 a1 05 00       	call   0x5d17b0
5775ba:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5775bf:	33 c4                	xor    %esp,%eax
5775c1:	89 44 24 74          	mov    %eax,0x74(%esp)
5775c5:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
5775cc:	8b 44 24 7c          	mov    0x7c(%esp),%eax
5775d0:	8b 94 24 84 00 00 00 	mov    0x84(%esp),%edx
5775d7:	53                   	push   %ebx
5775d8:	55                   	push   %ebp
5775d9:	8b 98 80 00 00 00    	mov    0x80(%eax),%ebx
5775df:	33 ed                	xor    %ebp,%ebp
5775e1:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5775e5:	33 c9                	xor    %ecx,%ecx
5775e7:	56                   	push   %esi
5775e8:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5775ec:	85 d2                	test   %edx,%edx
5775ee:	89 4c 24 20          	mov    %ecx,0x20(%esp)
5775f2:	be 00 01 00 00       	mov    $0x100,%esi
5775f7:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5775fb:	b9 05 00 00 00       	mov    $0x5,%ecx
577600:	57                   	push   %edi
577601:	bf 0a 00 00 00       	mov    $0xa,%edi
577606:	89 74 24 10          	mov    %esi,0x10(%esp)
57760a:	0f 44 cf             	cmove  %edi,%ecx
57760d:	89 74 24 34          	mov    %esi,0x34(%esp)
577611:	89 74 24 20          	mov    %esi,0x20(%esp)
577615:	89 74 24 18          	mov    %esi,0x18(%esp)
577619:	89 6c 24 14          	mov    %ebp,0x14(%esp)
57761d:	3b 50 4c             	cmp    0x4c(%eax),%edx
577620:	7c 09                	jl     0x57762b
577622:	8b ca                	mov    %edx,%ecx
577624:	f7 d9                	neg    %ecx
577626:	1b c9                	sbb    %ecx,%ecx
577628:	83 c1 02             	add    $0x2,%ecx
57762b:	8b c1                	mov    %ecx,%eax
57762d:	83 e0 fc             	and    $0xfffffffc,%eax
577630:	39 6b 18             	cmp    %ebp,0x18(%ebx)
577633:	0f 4c c1             	cmovl  %ecx,%eax
577636:	89 44 24 40          	mov    %eax,0x40(%esp)
57763a:	85 43 14             	test   %eax,0x14(%ebx)
57763d:	74 13                	je     0x577652
57763f:	ff 73 04             	push   0x4(%ebx)
577642:	e8 79 da f6 ff       	call   0x4e50c0
577647:	83 c4 04             	add    $0x4,%esp
57764a:	89 44 24 3c          	mov    %eax,0x3c(%esp)
57764e:	8b c8                	mov    %eax,%ecx
577650:	eb 06                	jmp    0x577658
577652:	33 c9                	xor    %ecx,%ecx
577654:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
577658:	33 c0                	xor    %eax,%eax
57765a:	89 44 24 38          	mov    %eax,0x38(%esp)
57765e:	3b c1                	cmp    %ecx,%eax
577660:	0f 8d 57 02 00 00    	jge    0x5778bd
577666:	50                   	push   %eax
577667:	ff 73 04             	push   0x4(%ebx)
57766a:	e8 11 dc f6 ff       	call   0x4e5280
57766f:	8b f8                	mov    %eax,%edi
577671:	83 c4 08             	add    $0x8,%esp
577674:	b8 01 00 00 00       	mov    $0x1,%eax
577679:	0f b6 0f             	movzbl (%edi),%ecx
57767c:	d3 e0                	shl    %cl,%eax
57767e:	85 44 24 40          	test   %eax,0x40(%esp)
577682:	0f 84 93 01 00 00    	je     0x57781b
577688:	3b ce                	cmp    %esi,%ecx
57768a:	74 1d                	je     0x5776a9
57768c:	8b 03                	mov    (%ebx),%eax
57768e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
577692:	0f b6 4f 02          	movzbl 0x2(%edi),%ecx
577696:	c7 44 24 18 00 01 00 	movl   $0x100,0x18(%esp)
57769d:	00
57769e:	8b 40 04             	mov    0x4(%eax),%eax
5776a1:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
5776a5:	89 44 24 20          	mov    %eax,0x20(%esp)
5776a9:	0f b6 77 01          	movzbl 0x1(%edi),%esi
5776ad:	3b 74 24 34          	cmp    0x34(%esp),%esi
5776b1:	0f 84 94 00 00 00    	je     0x57774b
5776b7:	68 8f 0a 00 00       	push   $0xa8f
5776bc:	68 54 a7 65 00       	push   $0x65a754
5776c1:	55                   	push   %ebp
5776c2:	89 74 24 40          	mov    %esi,0x40(%esp)
5776c6:	e8 b5 90 f6 ff       	call   0x4e0780
5776cb:	83 c4 0c             	add    $0xc,%esp
5776ce:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
5776d5:	00
5776d6:	83 ee 00             	sub    $0x0,%esi
5776d9:	74 28                	je     0x577703
5776db:	83 ee 01             	sub    $0x1,%esi
5776de:	0f 85 45 01 00 00    	jne    0x577829
5776e4:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5776e8:	50                   	push   %eax
5776e9:	ff 74 24 30          	push   0x30(%esp)
5776ed:	e8 2e 97 fa ff       	call   0x520e20
5776f2:	83 c4 04             	add    $0x4,%esp
5776f5:	50                   	push   %eax
5776f6:	e8 75 4a f6 ff       	call   0x4dc170
5776fb:	8b f0                	mov    %eax,%esi
5776fd:	89 74 24 1c          	mov    %esi,0x1c(%esp)
577701:	eb 14                	jmp    0x577717
577703:	8d 44 24 1c          	lea    0x1c(%esp),%eax
577707:	50                   	push   %eax
577708:	ff 74 24 30          	push   0x30(%esp)
57770c:	e8 ef fb fd ff       	call   0x557300
577711:	8b f0                	mov    %eax,%esi
577713:	89 44 24 1c          	mov    %eax,0x1c(%esp)
577717:	83 c4 08             	add    $0x8,%esp
57771a:	85 f6                	test   %esi,%esi
57771c:	0f 88 13 01 00 00    	js     0x577835
577722:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
577726:	85 ed                	test   %ebp,%ebp
577728:	0f 84 07 01 00 00    	je     0x577835
57772e:	8b 03                	mov    (%ebx),%eax
577730:	8a 57 02             	mov    0x2(%edi),%dl
577733:	0f b6 ca             	movzbl %dl,%ecx
577736:	c7 44 24 18 00 01 00 	movl   $0x100,0x18(%esp)
57773d:	00
57773e:	8b 40 04             	mov    0x4(%eax),%eax
577741:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
577745:	89 44 24 20          	mov    %eax,0x20(%esp)
577749:	eb 23                	jmp    0x57776e
57774b:	8a 4f 02             	mov    0x2(%edi),%cl
57774e:	8a d1                	mov    %cl,%dl
577750:	84 c9                	test   %cl,%cl
577752:	74 16                	je     0x57776a
577754:	8b 03                	mov    (%ebx),%eax
577756:	0f b6 c9             	movzbl %cl,%ecx
577759:	8b 40 04             	mov    0x4(%eax),%eax
57775c:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
577760:	3b 44 24 20          	cmp    0x20(%esp),%eax
577764:	0f 82 ad 00 00 00    	jb     0x577817
57776a:	8b 74 24 14          	mov    0x14(%esp),%esi
57776e:	0f b6 c2             	movzbl %dl,%eax
577771:	3b 44 24 18          	cmp    0x18(%esp),%eax
577775:	74 42                	je     0x5777b9
577777:	8b d0                	mov    %eax,%edx
577779:	8b ce                	mov    %esi,%ecx
57777b:	8b 03                	mov    (%ebx),%eax
57777d:	89 54 24 18          	mov    %edx,0x18(%esp)
577781:	8b 00                	mov    (%eax),%eax
577783:	8b 04 90             	mov    (%eax,%edx,4),%eax
577786:	8b d5                	mov    %ebp,%edx
577788:	89 54 24 28          	mov    %edx,0x28(%esp)
57778c:	89 4c 24 24          	mov    %ecx,0x24(%esp)
577790:	85 c0                	test   %eax,%eax
577792:	74 2d                	je     0x5777c1
577794:	6a 00                	push   $0x0
577796:	50                   	push   %eax
577797:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
57779b:	8d 44 24 2c          	lea    0x2c(%esp),%eax
57779f:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5777a3:	50                   	push   %eax
5777a4:	8b c1                	mov    %ecx,%eax
5777a6:	50                   	push   %eax
5777a7:	56                   	push   %esi
5777a8:	55                   	push   %ebp
5777a9:	e8 32 32 fa ff       	call   0x51a9e0
5777ae:	83 c4 18             	add    $0x18,%esp
5777b1:	85 c0                	test   %eax,%eax
5777b3:	0f 84 af 00 00 00    	je     0x577868
5777b9:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5777bd:	8b 54 24 28          	mov    0x28(%esp),%edx
5777c1:	3b 4f 08             	cmp    0x8(%edi),%ecx
5777c4:	75 51                	jne    0x577817
5777c6:	8b 77 04             	mov    0x4(%edi),%esi
5777c9:	83 e9 04             	sub    $0x4,%ecx
5777cc:	72 13                	jb     0x5777e1
5777ce:	66 90                	xchg   %ax,%ax
5777d0:	8b 02                	mov    (%edx),%eax
5777d2:	3b 06                	cmp    (%esi),%eax
5777d4:	75 14                	jne    0x5777ea
5777d6:	83 c2 04             	add    $0x4,%edx
5777d9:	83 c6 04             	add    $0x4,%esi
5777dc:	83 e9 04             	sub    $0x4,%ecx
5777df:	73 ef                	jae    0x5777d0
5777e1:	83 f9 fc             	cmp    $0xfffffffc,%ecx
5777e4:	0f 84 88 00 00 00    	je     0x577872
5777ea:	8a 02                	mov    (%edx),%al
5777ec:	3a 06                	cmp    (%esi),%al
5777ee:	75 27                	jne    0x577817
5777f0:	83 f9 fd             	cmp    $0xfffffffd,%ecx
5777f3:	74 7d                	je     0x577872
5777f5:	8a 42 01             	mov    0x1(%edx),%al
5777f8:	3a 46 01             	cmp    0x1(%esi),%al
5777fb:	75 1a                	jne    0x577817
5777fd:	83 f9 fe             	cmp    $0xfffffffe,%ecx
577800:	74 70                	je     0x577872
577802:	8a 42 02             	mov    0x2(%edx),%al
577805:	3a 46 02             	cmp    0x2(%esi),%al
577808:	75 0d                	jne    0x577817
57780a:	83 f9 ff             	cmp    $0xffffffff,%ecx
57780d:	74 63                	je     0x577872
57780f:	8a 42 03             	mov    0x3(%edx),%al
577812:	3a 46 03             	cmp    0x3(%esi),%al
577815:	74 5b                	je     0x577872
577817:	8b 74 24 10          	mov    0x10(%esp),%esi
57781b:	8b 44 24 38          	mov    0x38(%esp),%eax
57781f:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
577823:	40                   	inc    %eax
577824:	e9 31 fe ff ff       	jmp    0x57765a
577829:	b8 85 00 00 00       	mov    $0x85,%eax
57782e:	b9 32 0a 00 00       	mov    $0xa32,%ecx
577833:	eb 0a                	jmp    0x57783f
577835:	b8 41 00 00 00       	mov    $0x41,%eax
57783a:	b9 37 0a 00 00       	mov    $0xa37,%ecx
57783f:	51                   	push   %ecx
577840:	68 54 a7 65 00       	push   $0x65a754
577845:	50                   	push   %eax
577846:	6a 6b                	push   $0x6b
577848:	6a 0b                	push   $0xb
57784a:	e8 31 17 f6 ff       	call   0x4d8f80
57784f:	83 c4 14             	add    $0x14,%esp
577852:	83 c8 ff             	or     $0xffffffff,%eax
577855:	5f                   	pop    %edi
577856:	5e                   	pop    %esi
577857:	5d                   	pop    %ebp
577858:	5b                   	pop    %ebx
577859:	8b 4c 24 74          	mov    0x74(%esp),%ecx
57785d:	33 cc                	xor    %esp,%ecx
57785f:	e8 c2 a1 05 00       	call   0x5d1a26
577864:	83 c4 78             	add    $0x78,%esp
577867:	c3                   	ret
577868:	c7 44 24 30 ff ff ff 	movl   $0xffffffff,0x30(%esp)
57786f:	ff
577870:	eb 4b                	jmp    0x5778bd
577872:	8b 44 24 10          	mov    0x10(%esp),%eax
577876:	83 c0 fe             	add    $0xfffffffe,%eax
577879:	83 f8 01             	cmp    $0x1,%eax
57787c:	77 0a                	ja     0x577888
57787e:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
577885:	00
577886:	eb 06                	jmp    0x57788e
577888:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
57788c:	7d 2f                	jge    0x5778bd
57788e:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
577895:	68 c3 0a 00 00       	push   $0xac3
57789a:	68 54 a7 65 00       	push   $0x65a754
57789f:	ff 73 10             	push   0x10(%ebx)
5778a2:	89 43 18             	mov    %eax,0x18(%ebx)
5778a5:	89 7b 0c             	mov    %edi,0xc(%ebx)
5778a8:	e8 d3 8e f6 ff       	call   0x4e0780
5778ad:	8b 44 24 38          	mov    0x38(%esp),%eax
5778b1:	50                   	push   %eax
5778b2:	89 43 10             	mov    %eax,0x10(%ebx)
5778b5:	e8 f6 95 fa ff       	call   0x520eb0
5778ba:	83 c4 10             	add    $0x10,%esp
5778bd:	68 cc 0a 00 00       	push   $0xacc
5778c2:	68 54 a7 65 00       	push   $0x65a754
5778c7:	55                   	push   %ebp
5778c8:	e8 b3 8e f6 ff       	call   0x4e0780
5778cd:	8b 8c 24 90 00 00 00 	mov    0x90(%esp),%ecx
5778d4:	83 c4 0c             	add    $0xc,%esp
5778d7:	8b 44 24 30          	mov    0x30(%esp),%eax
5778db:	5f                   	pop    %edi
5778dc:	5e                   	pop    %esi
5778dd:	5d                   	pop    %ebp
5778de:	5b                   	pop    %ebx
5778df:	33 cc                	xor    %esp,%ecx
5778e1:	e8 40 a1 05 00       	call   0x5d1a26
5778e6:	83 c4 78             	add    $0x78,%esp
5778e9:	c3                   	ret
5778ea:	cc                   	int3
5778eb:	cc                   	int3
5778ec:	cc                   	int3
5778ed:	cc                   	int3
5778ee:	cc                   	int3
5778ef:	cc                   	int3
5778f0:	53                   	push   %ebx
5778f1:	55                   	push   %ebp
5778f2:	56                   	push   %esi
5778f3:	8b 74 24 10          	mov    0x10(%esp),%esi
5778f7:	57                   	push   %edi
5778f8:	8b 9e 80 00 00 00    	mov    0x80(%esi),%ebx
5778fe:	8b 7e 04             	mov    0x4(%esi),%edi
577901:	ff 73 10             	push   0x10(%ebx)
577904:	e8 d7 f8 fd ff       	call   0x5571e0
577909:	6a 00                	push   $0x0
57790b:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
577912:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
577919:	c7 43 18 ff ff ff ff 	movl   $0xffffffff,0x18(%ebx)
577920:	c7 43 1c ff ff ff ff 	movl   $0xffffffff,0x1c(%ebx)
577927:	ff 76 04             	push   0x4(%esi)
57792a:	56                   	push   %esi
57792b:	e8 80 fc ff ff       	call   0x5775b0
577930:	8b e8                	mov    %eax,%ebp
577932:	83 c4 10             	add    $0x10,%esp
577935:	85 ed                	test   %ebp,%ebp
577937:	75 19                	jne    0x577952
577939:	f6 43 14 05          	testb  $0x5,0x14(%ebx)
57793d:	75 05                	jne    0x577944
57793f:	39 43 18             	cmp    %eax,0x18(%ebx)
577942:	7c 0e                	jl     0x577952
577944:	56                   	push   %esi
577945:	e8 16 09 00 00       	call   0x578260
57794a:	83 c4 04             	add    $0x4,%esp
57794d:	5f                   	pop    %edi
57794e:	5e                   	pop    %esi
57794f:	5d                   	pop    %ebp
577950:	5b                   	pop    %ebx
577951:	c3                   	ret
577952:	ff 76 50             	push   0x50(%esi)
577955:	6a 00                	push   $0x0
577957:	e8 14 da ff ff       	call   0x575370
57795c:	83 c4 08             	add    $0x8,%esp
57795f:	85 ed                	test   %ebp,%ebp
577961:	7e 7b                	jle    0x5779de
577963:	8b 46 10             	mov    0x10(%esi),%eax
577966:	ff 70 14             	push   0x14(%eax)
577969:	6a 00                	push   $0x0
57796b:	57                   	push   %edi
57796c:	6a 00                	push   $0x0
57796e:	e8 2d 03 fe ff       	call   0x557ca0
577973:	8b e8                	mov    %eax,%ebp
577975:	83 c4 10             	add    $0x10,%esp
577978:	85 ed                	test   %ebp,%ebp
57797a:	74 35                	je     0x5779b1