57682b:	b8 01 00 00 00       	mov    $0x1,%eax
576830:	5e                   	pop    %esi
576831:	c3                   	ret
576832:	85 c0                	test   %eax,%eax
576834:	75 02                	jne    0x576838
576836:	5e                   	pop    %esi
576837:	c3                   	ret
576838:	b9 05 00 00 00       	mov    $0x5,%ecx
57683d:	3b f1                	cmp    %ecx,%esi
57683f:	50                   	push   %eax
576840:	0f 4f f1             	cmovg  %ecx,%esi
576843:	e8 d8 a8 f7 ff       	call   0x4f1120
576848:	33 c9                	xor    %ecx,%ecx
57684a:	83 c4 04             	add    $0x4,%esp
57684d:	3b 04 b5 38 a7 65 00 	cmp    0x65a738(,%esi,4),%eax
576854:	0f 9d c1             	setge  %cl
576857:	8b c1                	mov    %ecx,%eax
576859:	5e                   	pop    %esi
57685a:	c3                   	ret
57685b:	cc                   	int3
57685c:	cc                   	int3
57685d:	cc                   	int3
57685e:	cc                   	int3
57685f:	cc                   	int3
576860:	b8 0c 00 00 00       	mov    $0xc,%eax
576865:	e8 46 af 05 00       	call   0x5d17b0
57686a:	53                   	push   %ebx
57686b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
57686f:	55                   	push   %ebp
576870:	56                   	push   %esi
576871:	57                   	push   %edi
576872:	ff 73 50             	push   0x50(%ebx)
576875:	e8 46 e8 f6 ff       	call   0x4e50c0
57687a:	8b f8                	mov    %eax,%edi
57687c:	83 c4 04             	add    $0x4,%esp
57687f:	83 ef 01             	sub    $0x1,%edi
576882:	89 7c 24 10          	mov    %edi,0x10(%esp)
576886:	0f 88 2c 02 00 00    	js     0x576ab8
57688c:	0f 1f 40 00          	nopl   0x0(%eax)
576890:	57                   	push   %edi
576891:	ff 73 50             	push   0x50(%ebx)
576894:	e8 e7 e9 f6 ff       	call   0x4e5280
576899:	83 c4 08             	add    $0x8,%esp
57689c:	8b f0                	mov    %eax,%esi
57689e:	89 74 24 20          	mov    %esi,0x20(%esp)
5768a2:	85 ff                	test   %edi,%edi
5768a4:	74 0d                	je     0x5768b3
5768a6:	f6 86 80 00 00 00 20 	testb  $0x20,0x80(%esi)
5768ad:	0f 85 f8 01 00 00    	jne    0x576aab
5768b3:	f7 86 80 00 00 00 00 	testl  $0x400,0x80(%esi)
5768ba:	04 00 00
5768bd:	0f 84 fd 00 00 00    	je     0x5769c0
5768c3:	56                   	push   %esi
5768c4:	e8 d7 0c fa ff       	call   0x5175a0
5768c9:	56                   	push   %esi
5768ca:	8b e8                	mov    %eax,%ebp
5768cc:	e8 bf af f7 ff       	call   0x4f1890
5768d1:	55                   	push   %ebp
5768d2:	89 44 24 24          	mov    %eax,0x24(%esp)
5768d6:	e8 35 2c 00 00       	call   0x579510
5768db:	48                   	dec    %eax
5768dc:	83 c4 0c             	add    $0xc,%esp
5768df:	89 44 24 14          	mov    %eax,0x14(%esp)
5768e3:	83 f8 01             	cmp    $0x1,%eax
5768e6:	0f 8c b4 00 00 00    	jl     0x5769a0
5768ec:	ff 74 24 18          	push   0x18(%esp)
5768f0:	e8 1b 2c 00 00       	call   0x579510
5768f5:	55                   	push   %ebp
5768f6:	8d 70 01             	lea    0x1(%eax),%esi
5768f9:	e8 12 2c 00 00       	call   0x579510
5768fe:	83 c4 08             	add    $0x8,%esp
576901:	3b c6                	cmp    %esi,%eax
576903:	0f 85 93 00 00 00    	jne    0x57699c
576909:	8b 44 24 14          	mov    0x14(%esp),%eax
57690d:	48                   	dec    %eax
57690e:	50                   	push   %eax
57690f:	55                   	push   %ebp
576910:	e8 1b 2c 00 00       	call   0x579530
576915:	50                   	push   %eax
576916:	e8 35 09 f7 ff       	call   0x4e7250
57691b:	ff 74 24 20          	push   0x20(%esp)
57691f:	8b f0                	mov    %eax,%esi
576921:	55                   	push   %ebp
576922:	e8 09 2c 00 00       	call   0x579530
576927:	50                   	push   %eax
576928:	e8 23 09 f7 ff       	call   0x4e7250
57692d:	83 c4 18             	add    $0x18,%esp
576930:	3b c6                	cmp    %esi,%eax
576932:	74 68                	je     0x57699c
576934:	55                   	push   %ebp
576935:	e8 f6 51 fe ff       	call   0x55bb30
57693a:	8b f0                	mov    %eax,%esi
57693c:	83 c4 04             	add    $0x4,%esp
57693f:	85 f6                	test   %esi,%esi
576941:	0f 84 8c 01 00 00    	je     0x576ad3
576947:	ff 74 24 14          	push   0x14(%esp)
57694b:	56                   	push   %esi
57694c:	e8 1f 2b 00 00       	call   0x579470
576951:	8b e8                	mov    %eax,%ebp
576953:	55                   	push   %ebp
576954:	e8 17 9e f7 ff       	call   0x4f0770
576959:	50                   	push   %eax
57695a:	e8 a1 8c f7 ff       	call   0x4ef600
57695f:	83 c4 10             	add    $0x10,%esp
576962:	83 f8 0d             	cmp    $0xd,%eax
576965:	75 26                	jne    0x57698d
576967:	ff 74 24 18          	push   0x18(%esp)
57696b:	56                   	push   %esi
57696c:	e8 df 11 fe ff       	call   0x557b50
576971:	83 c4 08             	add    $0x8,%esp
576974:	85 c0                	test   %eax,%eax
576976:	75 15                	jne    0x57698d
576978:	55                   	push   %ebp
576979:	e8 82 51 fe ff       	call   0x55bb00
57697e:	56                   	push   %esi
57697f:	e8 cc 51 fe ff       	call   0x55bb50
576984:	83 c4 08             	add    $0x8,%esp
576987:	8b 74 24 20          	mov    0x20(%esp),%esi
57698b:	eb 33                	jmp    0x5769c0
57698d:	55                   	push   %ebp
57698e:	e8 6d 51 fe ff       	call   0x55bb00
576993:	56                   	push   %esi
576994:	e8 b7 51 fe ff       	call   0x55bb50
576999:	83 c4 08             	add    $0x8,%esp
57699c:	8b 74 24 20          	mov    0x20(%esp),%esi
5769a0:	8b 43 1c             	mov    0x1c(%ebx),%eax
5769a3:	53                   	push   %ebx
5769a4:	6a 00                	push   $0x0
5769a6:	89 7b 5c             	mov    %edi,0x5c(%ebx)
5769a9:	89 73 64             	mov    %esi,0x64(%ebx)
5769ac:	c7 43 60 48 00 00 00 	movl   $0x48,0x60(%ebx)
5769b3:	ff d0                	call   *%eax
5769b5:	83 c4 08             	add    $0x8,%esp
5769b8:	85 c0                	test   %eax,%eax
5769ba:	0f 84 35 01 00 00    	je     0x576af5
5769c0:	ff 73 50             	push   0x50(%ebx)
5769c3:	e8 f8 e6 f6 ff       	call   0x4e50c0
5769c8:	83 c4 04             	add    $0x4,%esp
5769cb:	8d 68 ff             	lea    -0x1(%eax),%ebp
5769ce:	3b ef                	cmp    %edi,%ebp
5769d0:	0f 8e d5 00 00 00    	jle    0x576aab
5769d6:	55                   	push   %ebp
5769d7:	ff 73 50             	push   0x50(%ebx)
5769da:	e8 a1 e8 f6 ff       	call   0x4e5280
5769df:	83 c4 08             	add    $0x8,%esp
5769e2:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
5769e8:	89 44 24 18          	mov    %eax,0x18(%esp)
5769ec:	85 c0                	test   %eax,%eax
5769ee:	0f 84 aa 00 00 00    	je     0x576a9e
5769f4:	50                   	push   %eax
5769f5:	56                   	push   %esi
5769f6:	e8 b5 64 ff ff       	call   0x56ceb0
5769fb:	83 c4 08             	add    $0x8,%esp
5769fe:	85 c0                	test   %eax,%eax
576a00:	0f 85 7b 00 00 00    	jne    0x576a81
576a06:	85 ff                	test   %edi,%edi
576a08:	0f 85 90 00 00 00    	jne    0x576a9e
576a0e:	8b 43 10             	mov    0x10(%ebx),%eax
576a11:	8b 40 30             	mov    0x30(%eax),%eax
576a14:	a8 20                	test   $0x20,%al
576a16:	0f 85 82 00 00 00    	jne    0x576a9e
576a1c:	a8 01                	test   $0x1,%al
576a1e:	75 50                	jne    0x576a70
576a20:	57                   	push   %edi
576a21:	57                   	push   %edi
576a22:	6a 55                	push   $0x55
576a24:	56                   	push   %esi
576a25:	e8 36 b1 ff ff       	call   0x571b60
576a2a:	8b f8                	mov    %eax,%edi
576a2c:	83 c4 10             	add    $0x10,%esp
576a2f:	85 ff                	test   %edi,%edi
576a31:	74 39                	je     0x576a6c
576a33:	57                   	push   %edi
576a34:	33 f6                	xor    %esi,%esi
576a36:	e8 85 e6 f6 ff       	call   0x4e50c0
576a3b:	83 c4 04             	add    $0x4,%esp
576a3e:	85 c0                	test   %eax,%eax
576a40:	7e 1d                	jle    0x576a5f
576a42:	56                   	push   %esi
576a43:	57                   	push   %edi
576a44:	e8 37 e8 f6 ff       	call   0x4e5280
576a49:	83 c4 08             	add    $0x8,%esp
576a4c:	83 38 02             	cmpl   $0x2,(%eax)
576a4f:	57                   	push   %edi
576a50:	74 73                	je     0x576ac5
576a52:	46                   	inc    %esi
576a53:	e8 68 e6 f6 ff       	call   0x4e50c0
576a58:	83 c4 04             	add    $0x4,%esp
576a5b:	3b f0                	cmp    %eax,%esi
576a5d:	7c e3                	jl     0x576a42
576a5f:	57                   	push   %edi
576a60:	e8 bb 53 ff ff       	call   0x56be20
576a65:	8b 74 24 24          	mov    0x24(%esp),%esi
576a69:	83 c4 04             	add    $0x4,%esp
576a6c:	8b 7c 24 10          	mov    0x10(%esp),%edi
576a70:	ff 74 24 18          	push   0x18(%esp)
576a74:	56                   	push   %esi
576a75:	e8 d6 65 ff ff       	call   0x56d050
576a7a:	83 c4 08             	add    $0x8,%esp
576a7d:	85 c0                	test   %eax,%eax
576a7f:	74 1d                	je     0x576a9e
576a81:	83 f8 11             	cmp    $0x11,%eax
576a84:	74 6f                	je     0x576af5
576a86:	89 43 60             	mov    %eax,0x60(%ebx)
576a89:	8b 43 1c             	mov    0x1c(%ebx),%eax
576a8c:	53                   	push   %ebx
576a8d:	6a 00                	push   $0x0
576a8f:	89 7b 5c             	mov    %edi,0x5c(%ebx)
576a92:	89 73 64             	mov    %esi,0x64(%ebx)
576a95:	ff d0                	call   *%eax
576a97:	83 c4 08             	add    $0x8,%esp
576a9a:	85 c0                	test   %eax,%eax
576a9c:	74 57                	je     0x576af5
576a9e:	8b 74 24 20          	mov    0x20(%esp),%esi
576aa2:	4d                   	dec    %ebp
576aa3:	3b ef                	cmp    %edi,%ebp
576aa5:	0f 8f 2b ff ff ff    	jg     0x5769d6
576aab:	83 ef 01             	sub    $0x1,%edi
576aae:	89 7c 24 10          	mov    %edi,0x10(%esp)
576ab2:	0f 89 d8 fd ff ff    	jns    0x576890
576ab8:	5f                   	pop    %edi
576ab9:	5e                   	pop    %esi
576aba:	5d                   	pop    %ebp
576abb:	b8 01 00 00 00       	mov    $0x1,%eax
576ac0:	5b                   	pop    %ebx
576ac1:	83 c4 0c             	add    $0xc,%esp
576ac4:	c3                   	ret
576ac5:	e8 56 53 ff ff       	call   0x56be20
576aca:	8b 7c 24 14          	mov    0x14(%esp),%edi
576ace:	83 c4 04             	add    $0x4,%esp
576ad1:	eb cb                	jmp    0x576a9e
576ad3:	68 a1 02 00 00       	push   $0x2a1
576ad8:	68 54 a7 65 00       	push   $0x65a754
576add:	6a 41                	push   $0x41
576adf:	68 95 00 00 00       	push   $0x95
576ae4:	6a 0b                	push   $0xb
576ae6:	e8 95 24 f6 ff       	call   0x4d8f80
576aeb:	83 c4 14             	add    $0x14,%esp
576aee:	c7 43 60 11 00 00 00 	movl   $0x11,0x60(%ebx)
576af5:	5f                   	pop    %edi
576af6:	5e                   	pop    %esi
576af7:	5d                   	pop    %ebp
576af8:	33 c0                	xor    %eax,%eax
576afa:	5b                   	pop    %ebx
576afb:	83 c4 0c             	add    $0xc,%esp
576afe:	c3                   	ret
576aff:	cc                   	int3
576b00:	56                   	push   %esi
576b01:	8b 74 24 08          	mov    0x8(%esp),%esi
576b05:	57                   	push   %edi
576b06:	83 7e 78 00          	cmpl   $0x0,0x78(%esi)
576b0a:	0f 85 5c 01 00 00    	jne    0x576c6c
576b10:	83 be 84 00 00 00 00 	cmpl   $0x0,0x84(%esi)
576b17:	74 38                	je     0x576b51
576b19:	6a 00                	push   $0x0
576b1b:	ff 76 50             	push   0x50(%esi)
576b1e:	e8 2d e6 f6 ff       	call   0x4e5150
576b23:	83 c4 08             	add    $0x8,%esp
576b26:	85 c0                	test   %eax,%eax
576b28:	75 27                	jne    0x576b51
576b2a:	68 63 06 00 00       	push   $0x663
576b2f:	68 54 a7 65 00       	push   $0x65a754
576b34:	6a 41                	push   $0x41
576b36:	68 91 00 00 00       	push   $0x91
576b3b:	6a 0b                	push   $0xb
576b3d:	e8 3e 24 f6 ff       	call   0x4d8f80
576b42:	c7 46 60 11 00 00 00 	movl   $0x11,0x60(%esi)
576b49:	83 c4 14             	add    $0x14,%esp
576b4c:	5f                   	pop    %edi
576b4d:	33 c0                	xor    %eax,%eax
576b4f:	5e                   	pop    %esi
576b50:	c3                   	ret
576b51:	8b 46 10             	mov    0x10(%esi),%eax
576b54:	ff 70 14             	push   0x14(%eax)
576b57:	ff 70 28             	push   0x28(%eax)
576b5a:	8d 46 58             	lea    0x58(%esi),%eax
576b5d:	ff 76 50             	push   0x50(%esi)
576b60:	50                   	push   %eax
576b61:	8d 46 54             	lea    0x54(%esi),%eax
576b64:	50                   	push   %eax
576b65:	e8 36 90 00 00       	call   0x57fba0
576b6a:	83 c4 14             	add    $0x14,%esp
576b6d:	8b f8                	mov    %eax,%edi
576b6f:	83 be 84 00 00 00 00 	cmpl   $0x0,0x84(%esi)
576b76:	74 0b                	je     0x576b83
576b78:	ff 76 50             	push   0x50(%esi)
576b7b:	e8 50 e5 f6 ff       	call   0x4e50d0
576b80:	83 c4 04             	add    $0x4,%esp
576b83:	85 ff                	test   %edi,%edi
576b85:	75 07                	jne    0x576b8e
576b87:	68 6d 06 00 00       	push   $0x66d
576b8c:	eb a1                	jmp    0x576b2f
576b8e:	83 ff ff             	cmp    $0xffffffff,%edi
576b91:	75 6d                	jne    0x576c00
576b93:	ff 76 50             	push   0x50(%esi)
576b96:	bf 01 00 00 00       	mov    $0x1,%edi
576b9b:	e8 20 e5 f6 ff       	call   0x4e50c0
576ba0:	83 c4 04             	add    $0x4,%esp
576ba3:	3b c7                	cmp    %edi,%eax
576ba5:	0f 8e c1 00 00 00    	jle    0x576c6c
576bab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
576bb0:	57                   	push   %edi
576bb1:	ff 76 50             	push   0x50(%esi)
576bb4:	e8 c7 e6 f6 ff       	call   0x4e5280
576bb9:	83 c4 08             	add    $0x8,%esp
576bbc:	f7 80 80 00 00 00 00 	testl  $0x800,0x80(%eax)
576bc3:	08 00 00
576bc6:	74 20                	je     0x576be8
576bc8:	89 46 64             	mov    %eax,0x64(%esi)
576bcb:	8b 46 1c             	mov    0x1c(%esi),%eax
576bce:	56                   	push   %esi
576bcf:	6a 00                	push   $0x0
576bd1:	89 7e 5c             	mov    %edi,0x5c(%esi)
576bd4:	c7 46 60 2a 00 00 00 	movl   $0x2a,0x60(%esi)
576bdb:	ff d0                	call   *%eax
576bdd:	83 c4 08             	add    $0x8,%esp
576be0:	85 c0                	test   %eax,%eax
576be2:	0f 84 64 ff ff ff    	je     0x576b4c
576be8:	ff 76 50             	push   0x50(%esi)
576beb:	47                   	inc    %edi
576bec:	e8 cf e4 f6 ff       	call   0x4e50c0
576bf1:	83 c4 04             	add    $0x4,%esp
576bf4:	3b f8                	cmp    %eax,%edi
576bf6:	7c b8                	jl     0x576bb0
576bf8:	5f                   	pop    %edi
576bf9:	b8 01 00 00 00       	mov    $0x1,%eax
576bfe:	5e                   	pop    %esi
576bff:	c3                   	ret
576c00:	83 ff fe             	cmp    $0xfffffffe,%edi
576c03:	75 1c                	jne    0x576c21
576c05:	8b 46 1c             	mov    0x1c(%esi),%eax
576c08:	56                   	push   %esi
576c09:	6a 00                	push   $0x0
576c0b:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
576c12:	c7 46 60 2b 00 00 00 	movl   $0x2b,0x60(%esi)
576c19:	ff d0                	call   *%eax
576c1b:	83 c4 08             	add    $0x8,%esp
576c1e:	5f                   	pop    %edi
576c1f:	5e                   	pop    %esi
576c20:	c3                   	ret
576c21:	83 ff 01             	cmp    $0x1,%edi
576c24:	74 20                	je     0x576c46
576c26:	68 87 06 00 00       	push   $0x687
576c2b:	68 54 a7 65 00       	push   $0x65a754
576c30:	6a 44                	push   $0x44
576c32:	68 91 00 00 00       	push   $0x91
576c37:	6a 0b                	push   $0xb
576c39:	e8 42 23 f6 ff       	call   0x4d8f80
576c3e:	83 c4 14             	add    $0x14,%esp
576c41:	33 c0                	xor    %eax,%eax