============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* ncbi::objects::CLatLonCountryMap::AdjustAndRoundDistance(double) * ;************************************************************************************************************************************************************ ;undefined AdjustAndRoundDistance(CLatLonCountryMap * this, double param_1) ;this CLatLonCoun... RDI ;param_1 double XMM0_Qa MOVSD XMM1,qword ptr [this + 0x30] JMP .plt:LAB_00364040 ?? 66h f Actual src: int CLatLonCountryMap::AdjustAndRoundDistance (double distance) { return AdjustAndRoundDistance (distance, m_Scale); } Predicted src: double CellMap::at(double x) { return this->dataPtr->at(x); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* Digikam::ImportItemModel::camItemInfoRef(QModelIndex const&) const * ;************************************************************************************************************************************************************ ;undefined camItemInfoRef(ImportItemModel * this, QModelIndex * param_1) ;this ImportItemM... RDI ;param_1 QModelIndex * RSI PUSH RBP PUSH RBX SUB RSP,0x8 MOVSXD RBP,dword ptr [param_1] MOV RBX,qword ptr [this + 0x20] TEST EBP,EBP JS LAB_005bc3c0 MOV EAX,dword ptr [param_1 + 0x4] TEST EAX,EAX JS LAB_005bc3c0 CMP qword ptr [param_1 + 0x10],0x0 JZ LAB_005bc3c0 MOV RAX,qword ptr [RBX + 0x8] MOV EDX,dword ptr [RAX + 0xc] SUB EDX,dword ptr [RAX + 0x8] CMP EBP,EDX JGE LAB_005bc3c0 MOV EDX,dword ptr [RAX] CMP EDX,0x1 JBE LAB_005bc3a4 MOV param_1,dword ptr [RAX + 0x4] LEA this,[RBX + 0x8] CALL QList::detach_helper ;undefined detach_helper(int param_1) MOV RAX,qword ptr [RBX + 0x8] LAB_005bc3a4: MOVSXD RDX,dword ptr [RAX + 0x8] ADD RDX,RBP MOV RAX,qword ptr [RAX + RDX*0x8 + 0x10] ADD RSP,0x8 POP RBX POP RBP RET ?? 66h f ?? 0Fh ;? -> 00841f0f ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_005bc3c0: ADD RSP,0x8 LEA RAX,[RBX + 0x10] POP RBX POP RBP RET ?? 90h Actual src: CamItemInfo& ImportItemModel::camItemInfoRef(const QModelIndex& index) const { if (!d->isValid(index)) { return d->camItemInfo; } return d->infos[index.row()]; } Predicted src: bool ItemItem::isValid(const QModelIndex &index) const { Q_UNUSED(index) return d->index.isValid(); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined menu_media_disk_disciple_drive2_saveas() MOV ESI,0x152 JMP menu_media_save ;undefined menu_media_save() ?? 66h f Actual src: static MENU_CALLBACK( menu_media_disk_disciple_drive2_saveas ) { menu_media_save( gtk_action, 0x152 ); } Predicted src: static int media_save_media_save_media_save_media(const char *name) { return(media_save_media_save_media(name, 0)); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* LAMMPS_NS::Modify::delete_fix(int) * ;************************************************************************************************************************************************************ ;undefined delete_fix(Modify * this, int param_1) ;this Modify * RDI ;param_1 int ESI PUSH R13 MOVSXD RAX,param_1 PUSH R12 LEA R13,[RAX*0x8] MOV R12,RAX PUSH RBP MOV RBP,this PUSH RBX SUB RSP,0x8 MOV RDX,qword ptr [this + 0x130] MOV this,qword ptr [RDX + RAX*0x8] TEST this,this JZ LAB_008fe0a1 MOV RAX,qword ptr [this] CALL qword ptr [RAX + 0x8] LAB_008fe0a1: MOV RAX,qword ptr [RBP + 0x30] MOV param_1,R12D LEA EBX,[R12 + 0x1] MOV this,qword ptr [RAX] CALL .plt:LAMMPS_NS::Atom::update_callback ;undefined update_callback(Atom * thi... MOV EAX,dword ptr [RBP + 0x124] CMP EBX,EAX JGE LAB_008fe105 MOV this,qword ptr [RBP + 0x130] SUB EAX,R12D MOVSXD RBX,EBX SUB EAX,0x2 LEA RDX,[0x8 + RAX*0x8] LEA param_1,[this + R13*0x1 + 0x8] ADD this,R13 CALL .plt:::memmove ;void * memmove(void * __dest, void *... MOV RDX,qword ptr [RBP + 0x138] NOP dword ptr [RAX + RAX*0x1] LAB_008fe0f0: MOV EAX,dword ptr [RDX + RBX*0x4] MOV dword ptr [RDX + RBX*0x4 + -0x4],EAX MOV EAX,dword ptr [RBP + 0x124] ADD RBX,0x1 CMP EAX,EBX JG LAB_008fe0f0 LAB_008fe105: SUB EAX,0x1 MOV dword ptr [RBP + 0x124],EAX ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 RET ?? 90h Actual src: void Modify::delete_fix(int ifix) { if (fix[ifix]) delete fix[ifix]; atom->update_callback(ifix); // move other Fixes and fmask down in list one slot for (int i = ifix+1; i < nfix; i++) fix[i-1] = fix[i]; for (int i = ifix+1; i < nfix; i++) fmask[i-1] = fmask[i]; nfix--; } Predicted src: void Fix::delete_callback(int i) { int i; for (i = 0; i < n_callback; i++) { n_callback[i]->delete(i); n_callback[i]->delete(i); n_callback[i]->delete(i); } } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* CMachine::GetLastStateChange() const * ;************************************************************************************************************************************************************ ;undefined GetLastStateChange(CMachine * this) ;this CMachine * RDI ;local_10 undefined8 -10 PUSH RBX MOV RBX,this SUB RSP,0x10 MOV this,qword ptr [this + 0x60] MOV qword ptr [RSP + local_10+0x18],0x0 TEST this,this JZ LAB_0050fe00 MOV RAX,qword ptr [this] LEA RSI=>local_10,[RSP + 0x8] CALL qword ptr [RAX + 0x208] MOV dword ptr [RBX + 0x8],EAX TEST EAX,EAX JNZ LAB_0050fe10 LAB_0050fdef: MOV RAX,qword ptr [RSP + local_10+0x18] ADD RSP,0x10 POP RBX RET ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0050fe00: ADD RSP,0x10 XOR EAX,EAX POP RBX RET ?? 0Fh ;? -> 00841f0f ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0050fe10: MOV RSI,qword ptr [RBX + 0x60] LEA this,[RBX + 0x10] LEA RDX,[.rodata:IMachine::GetIID()::iid] CALL .plt:COMErrorInfo::fetchFromCurrentThread ;undefined fetchFromCurrentThread(COM... JMP LAB_0050fdef ?? 66h f Actual src: LONG64 CMachine::GetLastStateChange() const { LONG64 aLastStateChange = 0; AssertReturn(ptr(), aLastStateChange); mRC = ptr()->COMGETTER(LastStateChange)(&aLastStateChange); #ifdef RT_OS_WINDOWS Assert(mRC!= RPC_E_WRONG_THREAD); Assert(mRC!= CO_E_NOTINITIALIZED); Assert(mRC!= RPC_E_CANTCALLOUT_ININPUTSYNCCALL); #endif if (RT_UNLIKELY(mRC!= S_OK)) { fetchErrorInfo(ptr(), &COM_IIDOF(Base::Iface)); } return aLastStateChange; } Predicted src: BOOL CGuestEvent::GetSource() const { BOOL aSource = FALSE; AssertReturn(ptr(), aSource); mRC = ptr()->COMGETTER(Source)(&aSource); #ifdef RT_OS_WINDOWS Assert(mRC!= RPC_E_WRONG_THREAD); Assert(mRC!= CO_E_NOTINITIALIZED); Assert(mRC!= RPC_E_NOTINITIALIZED); Assert(mRC!= RPC_E_CANTCALLOUT_ININPUTSYNCCALL); #endif if (RT_UNLIKELY(mRC!= S_OK)) { fetchErrorInfo(ptr(), &COM_IIDOF(Base::Iface)); } return aSource; }