// 0036d980 CStreamReaderBase::~CStreamReaderBase /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __thiscall CStreamReaderBase::~CStreamReaderBase(CStreamReaderBase *this) { long lVar1; lVar1 = (this->data).offset_0x8; this->vftablePtr = &vftable; if (lVar1 != 0) { (**(code **)(*_g_pMemAllocSteam + 0x20))(_g_pMemAllocSteam,lVar1,0); return; } return; } // 0036da70 CStreamReaderBase::~CStreamReaderBase /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __thiscall CStreamReaderBase::~CStreamReaderBase(CStreamReaderBase *this) { long lVar1; lVar1 = (this->data).offset_0x8; this->vftablePtr = &vftable; if (lVar1 != 0) { (**(code **)(*_g_pMemAllocSteam + 0x20))(_g_pMemAllocSteam,lVar1,0); } FUN_0039deb8(this,0x28); return; } // 0036dac0 CStreamReaderBase::vfunction3 void __thiscall CStreamReaderBase::vfunction3(CStreamReaderBase *this,undefined8 param_1,undefined8 param_2) { char *pcVar1; long lVar2; char cVar3; pcVar1 = *(char **)(this->vftablePtr[-1].vfunction3 + 8); FUN_00218930(param_1,pcVar1 + (*pcVar1 == '*'),this,param_2); if (*(long *)&this->data != 0) { cVar3 = FUN_00218ce0(param_1,*(long *)&this->data,1); if (cVar3 == '\0') { FUN_00218cd0(param_1,*(undefined8 *)&this->data,1); lVar2 = *(long *)&this->data; FUN_00218930(param_1,"CFileReader",lVar2,"m_fileReader"); FUN_002188a0(param_1,*(undefined8 *)(lVar2 + 0x28),0); FUN_00218bb0(param_1); } } FUN_00218cd0(param_1,(this->data).offset_0x8,0); FUN_00218bb0(param_1); return; }