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
57797c:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
577983:	85 ff                	test   %edi,%edi
577985:	74 04                	je     0x57798b
577987:	8b c7                	mov    %edi,%eax
577989:	eb 0d                	jmp    0x577998
57798b:	6a 00                	push   $0x0
57798d:	ff 76 50             	push   0x50(%esi)
577990:	e8 eb d8 f6 ff       	call   0x4e5280
577995:	83 c4 08             	add    $0x8,%esp
577998:	89 46 64             	mov    %eax,0x64(%esi)
57799b:	8b 46 1c             	mov    0x1c(%esi),%eax
57799e:	56                   	push   %esi
57799f:	6a 00                	push   $0x0
5779a1:	89 6e 60             	mov    %ebp,0x60(%esi)
5779a4:	ff d0                	call   *%eax
5779a6:	83 c4 08             	add    $0x8,%esp
5779a9:	85 c0                	test   %eax,%eax
5779ab:	0f 84 92 00 00 00    	je     0x577a43
5779b1:	f6 43 20 01          	testb  $0x1,0x20(%ebx)
5779b5:	75 0d                	jne    0x5779c4
5779b7:	56                   	push   %esi
5779b8:	e8 c3 ec ff ff       	call   0x576680
5779bd:	83 c4 04             	add    $0x4,%esp
5779c0:	85 c0                	test   %eax,%eax
5779c2:	74 7f                	je     0x577a43
5779c4:	8b 46 1c             	mov    0x1c(%esi),%eax
5779c7:	56                   	push   %esi
5779c8:	6a 01                	push   $0x1
5779ca:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
5779d1:	89 7e 64             	mov    %edi,0x64(%esi)
5779d4:	ff d0                	call   *%eax
5779d6:	83 c4 08             	add    $0x8,%esp
5779d9:	5f                   	pop    %edi
5779da:	5e                   	pop    %esi
5779db:	5d                   	pop    %ebp
5779dc:	5b                   	pop    %ebx
5779dd:	c3                   	ret
5779de:	79 19                	jns    0x5779f9
5779e0:	89 7e 64             	mov    %edi,0x64(%esi)
5779e3:	83 c8 ff             	or     $0xffffffff,%eax
5779e6:	5f                   	pop    %edi
5779e7:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
5779ee:	c7 46 60 11 00 00 00 	movl   $0x11,0x60(%esi)
5779f5:	5e                   	pop    %esi
5779f6:	5d                   	pop    %ebp
5779f7:	5b                   	pop    %ebx
5779f8:	c3                   	ret
5779f9:	8b 46 10             	mov    0x10(%esi),%eax
5779fc:	ff 70 14             	push   0x14(%eax)
5779ff:	6a 00                	push   $0x0
577a01:	57                   	push   %edi
577a02:	6a 00                	push   $0x0
577a04:	e8 97 02 fe ff       	call   0x557ca0
577a09:	8b d8                	mov    %eax,%ebx
577a0b:	83 c4 10             	add    $0x10,%esp
577a0e:	85 db                	test   %ebx,%ebx
577a10:	74 38                	je     0x577a4a
577a12:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
577a19:	85 ff                	test   %edi,%edi
577a1b:	74 04                	je     0x577a21
577a1d:	8b c7                	mov    %edi,%eax
577a1f:	eb 0d                	jmp    0x577a2e
577a21:	6a 00                	push   $0x0
577a23:	ff 76 50             	push   0x50(%esi)
577a26:	e8 55 d8 f6 ff       	call   0x4e5280
577a2b:	83 c4 08             	add    $0x8,%esp
577a2e:	89 46 64             	mov    %eax,0x64(%esi)
577a31:	8b 46 1c             	mov    0x1c(%esi),%eax
577a34:	56                   	push   %esi
577a35:	6a 00                	push   $0x0
577a37:	89 5e 60             	mov    %ebx,0x60(%esi)
577a3a:	ff d0                	call   *%eax
577a3c:	83 c4 08             	add    $0x8,%esp
577a3f:	85 c0                	test   %eax,%eax
577a41:	75 07                	jne    0x577a4a
577a43:	5f                   	pop    %edi
577a44:	5e                   	pop    %esi
577a45:	5d                   	pop    %ebp
577a46:	33 c0                	xor    %eax,%eax
577a48:	5b                   	pop    %ebx
577a49:	c3                   	ret
577a4a:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
577a51:	85 ff                	test   %edi,%edi
577a53:	75 0e                	jne    0x577a63
577a55:	57                   	push   %edi
577a56:	ff 76 50             	push   0x50(%esi)
577a59:	e8 22 d8 f6 ff       	call   0x4e5280
577a5e:	83 c4 08             	add    $0x8,%esp
577a61:	8b f8                	mov    %eax,%edi
577a63:	8b 46 1c             	mov    0x1c(%esi),%eax
577a66:	56                   	push   %esi
577a67:	6a 00                	push   $0x0
577a69:	c7 46 60 41 00 00 00 	movl   $0x41,0x60(%esi)
577a70:	89 7e 64             	mov    %edi,0x64(%esi)
577a73:	ff d0                	call   *%eax
577a75:	83 c4 08             	add    $0x8,%esp
577a78:	5f                   	pop    %edi
577a79:	5e                   	pop    %esi
577a7a:	5d                   	pop    %ebp
577a7b:	5b                   	pop    %ebx
577a7c:	c3                   	ret
577a7d:	cc                   	int3
577a7e:	cc                   	int3
577a7f:	cc                   	int3
577a80:	b8 08 00 00 00       	mov    $0x8,%eax
577a85:	e8 26 9d 05 00       	call   0x5d17b0
577a8a:	55                   	push   %ebp
577a8b:	56                   	push   %esi
577a8c:	57                   	push   %edi
577a8d:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
577a91:	33 f6                	xor    %esi,%esi
577a93:	33 ed                	xor    %ebp,%ebp
577a95:	89 74 24 10          	mov    %esi,0x10(%esp)
577a99:	57                   	push   %edi
577a9a:	89 6c 24 10          	mov    %ebp,0x10(%esp)
577a9e:	e8 1d d6 f6 ff       	call   0x4e50c0
577aa3:	83 c4 04             	add    $0x4,%esp
577aa6:	85 c0                	test   %eax,%eax
577aa8:	0f 8e 14 01 00 00    	jle    0x577bc2
577aae:	8b 74 24 20          	mov    0x20(%esp),%esi
577ab2:	53                   	push   %ebx
577ab3:	55                   	push   %ebp
577ab4:	57                   	push   %edi
577ab5:	e8 c6 d7 f6 ff       	call   0x4e5280
577aba:	8b f8                	mov    %eax,%edi
577abc:	83 c4 08             	add    $0x8,%esp
577abf:	3b fe                	cmp    %esi,%edi
577ac1:	0f 84 cb 00 00 00    	je     0x577b92
577ac7:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
577acb:	57                   	push   %edi
577acc:	56                   	push   %esi
577acd:	53                   	push   %ebx
577ace:	8b 43 24             	mov    0x24(%ebx),%eax
577ad1:	ff d0                	call   *%eax
577ad3:	83 c4 0c             	add    $0xc,%esp
577ad6:	85 c0                	test   %eax,%eax
577ad8:	0f 84 b4 00 00 00    	je     0x577b92
577ade:	f6 86 80 00 00 00 20 	testb  $0x20,0x80(%esi)
577ae5:	74 10                	je     0x577af7
577ae7:	ff 73 50             	push   0x50(%ebx)
577aea:	e8 d1 d5 f6 ff       	call   0x4e50c0
577aef:	83 c4 04             	add    $0x4,%esp
577af2:	83 f8 01             	cmp    $0x1,%eax
577af5:	74 3b                	je     0x577b32
577af7:	8b 6b 50             	mov    0x50(%ebx),%ebp
577afa:	55                   	push   %ebp
577afb:	e8 c0 d5 f6 ff       	call   0x4e50c0
577b00:	8b d8                	mov    %eax,%ebx
577b02:	83 c4 04             	add    $0x4,%esp
577b05:	33 f6                	xor    %esi,%esi
577b07:	85 db                	test   %ebx,%ebx
577b09:	7e 1f                	jle    0x577b2a
577b0b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
577b10:	56                   	push   %esi
577b11:	55                   	push   %ebp
577b12:	e8 69 d7 f6 ff       	call   0x4e5280
577b17:	57                   	push   %edi
577b18:	50                   	push   %eax
577b19:	e8 f2 04 fe ff       	call   0x558010
577b1e:	83 c4 10             	add    $0x10,%esp
577b21:	85 c0                	test   %eax,%eax
577b23:	74 65                	je     0x577b8a
577b25:	46                   	inc    %esi
577b26:	3b f3                	cmp    %ebx,%esi
577b28:	7c e6                	jl     0x577b10
577b2a:	8b 6c 24 10          	mov    0x10(%esp),%ebp
577b2e:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
577b32:	8b 73 10             	mov    0x10(%ebx),%esi
577b35:	8b cf                	mov    %edi,%ecx
577b37:	89 4c 24 14          	mov    %ecx,0x14(%esp)
577b3b:	8b 46 14             	mov    0x14(%esi),%eax
577b3e:	a8 02                	test   $0x2,%al
577b40:	74 05                	je     0x577b47
577b42:	83 c6 08             	add    $0x8,%esi
577b45:	eb 09                	jmp    0x577b50