Class CVBProject
  Public elapsedTime As String
  Public LoadedOk As Boolean
  Public isInitilized As Boolean
  Public Version As Long
  Public structNode As node 'set in frmMain.SetupTreeview, used for easy display from frmSearchStructs
  Public filePath As String
  Public fileBaseName As String
  Public fileExt As String
  Public OutPutDir As String
  Public parentDir As String
  Public md5Hash As String
  Public isDll As Boolean
  Public VB5Offset As Long
  Public objTable As New CObjectTable
  Public VBHeader As New CVBHeader
  Public ComRegData As New CComRegData
  Public ComRegInfo As New CComRegInfo
  Public ProjectInfo As New CProjectInfo
  Public ProjectInfo2 As New CProjectInfo2
  Public Resources As New CResources
  Public globalVars As New CollectionEx 'only for PCode compiles..discerned during disassembly
  Public VBStartOffset As Long 'entrypoint for exes, or something for dlls with loadexports unused really
  Public StartUpName As String
  Public FormCount As Long
  Public CompileType As String
  Public ProjectTitle As String
  Public ProjectName As String
  Public ProjectExename As String
  Public ProjectDescription As String
  Public HelpFile As String
  Public SubMain As Long
  Public ExternalComponentCount As Long
  Public ExportDllName As String
  Public NativeNewRefs As New CollectionEx 'of CNativeNewRef - only for native native code compiles
  Public NativeStubs As New CollectionEx 'of CNativeStub
  Public OcxList As New CollectionEx 'of COcxItem - loaded in VBHeader.LoadExternalComponents
  Public declares As New Collection 'of CDeclare 'apis imported by vb declare mechanism
  Public VBImports As New CollectionEx 'of CVBImport from the vbruntime itself, ordinals resolved to fx name
  Public Imports As CollectionEx 'of CImport - PE import table..can include additional dlls if used TLB file or C Obj files (TLB before MSVBVMxx, C Obj after)
  Public Exports As CollectionEx 'of CExport - PE Export table..usually only actx fx unless they play with linker command line
  Public ControlProps As New CollectionEx 'of CControlProperties (actually catalogs all embedded form property blocks now)
  Public PCodeStrings As New CollectionEx 'of CPStrRef key = hex offset
  Public Images As New Collection 'of CImage
  Public ActXRefs As New CollectionEx 'of CActXLibs - loaded on demand while parsing pcode disasm (same as how vb loads them) can we find these for native?
  Public CodeObjects As New CollectionEx 'reference to all CCodeObjects in once place with key
  Public Forms As New Collection 'just the Form CCodeObjects
  Public Modules As New Collection 'just the Modules CCodeObjects
  Public UserDocs As New Collection 'you get the idea
  Public Classes As New Collection
  Public UserControls As New Collection
  Public PropertyPages As New Collection
  Public UnknownModules As New Collection
  Public DataReports As New Collection
  Public comments As New CollectionEx 'key is va, this is a parallel flat list maintained by the individual CCodeBody instances
  Public UserFuncRenames As New CollectionEx 'key is parent.subName of proc to rename (never changes) value is the new name (no parent) (should we include parent in new name?)
  Public Property Get isDebugging() As Boolean
  Public Property Get DebugStatus() As DebugStatusCode
  Public Property Let DebugStatus(ds As DebugStatusCode)
  Public Property Get MainForm() As frmMain
  Public Property Get RunLog() As String
  Public Property Get isPCode() As Boolean
  Public Function ImportAtVA(ByVal va As Long, ByRef outVar) As Boolean
  Public Function ImportVaFromName(ByVal name As String, ByRef outVar As Long) As Boolean
  Public Function GetExport(sName) As CExport
  Public Function DumpExports() As String
  Public Function ControlFromFullName(formDotControl As String) As CControl
  Public Function CodeObjFromName(n As String) As CCodeObject
  Public Function CodeObjForGUID(guid As String) As CCodeObject
  Public Function CodeObjForObjInfo2(vaObjInfo As Long, outCCO As CCodeObject) As Boolean
  Public Function CodeObjForObjInfo(vaObjInfo As Long) As CCodeObject
  Public Function CodeObjForVA(vaObj As Long) As CCodeObject
  Public Function AutoDisassembleFile(fpath As String)
  Public Function LoadFile(ByVal FullPath As String, Optional lImageBase As Long, Optional lFileOffset As Long) As Boolean
  Public Function AllBreakPoints() As Collection
  Public Function CodeBodyForVA(va As Long, ByRef outVar As CCodeBody) As Boolean
  Public Function CodeBodyForUserSet(i As Long, ByRef outVar As CCodeBody) As Boolean
  Public Function CodeObjectFromBody(cb As CCodeBody, ByRef outVar As CCodeObject) As Boolean
  Public Function dump() As String
  Public Sub AddDeclare(lib, func, thunk)
  Public Function GenerateIDC() As String
  Public Function NativeStubFor(va As Long, out_ns As CNativeStub) As Boolean
  Public Function DeclareAtVA(va As Long, out_name As String) As Boolean
  Public Function DumpApi() As String
  Public Function DumpTLBImports() As String
  Public Function dumpOcx() As String
  Public Function DumpAx() As String
  Public Function OcxForName(name As String, out_ocx As COcxItem) As Boolean
  Public Function AxForLibID(libGUID As String, out_ax As CActXLib) As Boolean
  Public Function AxClsForClsID(clsid As String, out_ax As CActXRef) As Boolean
  Public Function AxForName(name As String, out_ax As CActXRef) As Boolean
  Public Function Method2ExistsFor(arg, Optional msb As MethodSearchBy = msb_rawaddr, Optional ByRef outCB As CCodeBody) As Boolean
  Public Function CodeObjectFromBody2(cb As CCodeBody) As CCodeObject
  Public Function CodeBodyForVA2(vaHexStrOrLng) As CCodeBody
  Public Function patch(vaHexStrOrLng, hexStr) As String
  Public Function NopInst(vaHexStrOrLng, Optional showErr = 0) As Boolean
  Public Function Search(text) As CollectionEx
  Public Sub JumpTo(vaHexStrOrLng)
End Class
