============================== Sample 1 ============================== ASM: MOV word ptr [RBP + local_3f0+0x8],AX LEA param_3=>local_3f0,[RBP + -0x3e8] LEA RAX=>local_3ee,[RBP + -0x3e6] MOV param_2,param_3 MOV param_1,RAX CALL poly_int<1u,unsigned_short>::poly_int ;undefined poly_int(p... MOVZX EAX,word ptr [RBP + local_3ee+0x8] MOV word ptr [RBP + local_3f2+0x8],AX LEA param_3=>local_3f8,[RBP + -0x3f0] LEA RAX=>local_3f2,[RBP + -0x3ea] MOV param_2,param_3 MOV param_1,RAX CALL operator* ;poly_int operator*(poly_int_pod * pa... MOV qword ptr [RBP + local_400+0x8],RAX LEA param_3=>local_400,[RBP + -0x3f8] LEA RAX=>local_402,[RBP + -0x3fa] MOV param_2,param_3 Actual src: scope_kind innermost_scope_kind (void) { return current_binding_level->kind; } Predicted src: void REGPARAM2 CPUFUNC(op_0)(uae_u32 opcode) { uae_u32 srcreg = (opcode & 7); {{ uaecptr srca; srca = m68k_areg (regs, srcreg) + (uae_s32)(uae_s16)get_word_ce000_prefetch (2); { uae_s32 src = x_get_long (srca); { uaecptr dsta; dsta = m68k_areg (regs, dstreg); CLEAR_CZNV (); SET_ZFLG (((uae_s32)(src)) == 0); SET_NFLG (((uae_s32)(src)) < 0); x_put_long (dsta, src); m68k_incpci (4); }}}}return; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* CBufferObject::GetFd() * ;************************************************************************************************************************************************************ ;undefined GetFd(CBufferObject * this) ;this CBufferObje... RDI MOV EAX,dword ptr [this + 0x8] RET ?? 66h f Actual src: int CBufferObject::GetFd() { return m_fd; } Predicted src: uint32 CBuffer::GetBuffer() { return m_buffer; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined ccp_pmd_qp_release() PUSH R12 PUSH RBP PUSH RBX MOV RAX,qword ptr [RDI + 0x10] MOVZX EBX,SI MOV RAX,qword ptr [RAX + 0x50] MOV R12,qword ptr [RAX + RBX*0x8] TEST R12,R12 JZ LAB_0012bc27 MOV RBP,RDI MOV RDI,qword ptr [R12 + 0x48] CALL .plt:::rte_ring_free ;undefined rte_ring_free() MOV RDI,qword ptr [R12 + 0x60] CALL .plt:::rte_mempool_free ;undefined rte_mempool_free() MOV RDI,R12 CALL .plt:::rte_free ;undefined rte_free() MOV RAX,qword ptr [RBP + 0x10] MOV RAX,qword ptr [RAX + 0x50] MOV qword ptr [RAX + RBX*0x8],0x0 LAB_0012bc27: POP RBX XOR EAX,EAX POP RBP POP R12 RET ?? 66h f Actual src: static int ccp_pmd_qp_release(struct rte_cryptodev *dev, uint16_t qp_id) { struct ccp_qp *qp; if (dev->data->queue_pairs[qp_id]!= NULL) { qp = (struct ccp_qp *)dev->data->queue_pairs[qp_id]; rte_ring_free(qp->processed_pkts); rte_mempool_free(qp->batch_mp); rte_free(qp); dev->data->queue_pairs[qp_id] = NULL; } return 0; } Predicted src: static int ipmi_dev_release(ipmi_dev_t *dev) { ipmi_dev_t *dev = dev->data; int ret; ret =ipmi_dev_release(dev->dev); if (ret) return ret; ret =ipmi_dev_release(dev->dev); ipmi_dev_free(dev); return ret; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* KDL::Path_RoundedComposite::GetLengthToEndOfSegment(int) * ;************************************************************************************************************************************************************ ;undefined GetLengthToEndOfSegment(int param_1) ;param_1 int EDI MOV param_1,qword ptr [param_1 + 0x8] MOV RAX,qword ptr [param_1] JMP qword ptr [RAX + 0x60] ?? 66h f Actual src: double Path_RoundedComposite::GetLengthToEndOfSegment(int i) { return comp->GetLengthToEndOfSegment(i); } Predicted src: int GetPathPathPath(int id) override {return id->PathPathPathPath(id); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined view_finalize() PUSH RBP MOV RBP,RDI CALL .plt:gal_view_get_type ;undefined gal_view_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_instance_get_private ;undefined g_type_instance_get_private() MOV RDI,qword ptr [RAX] CALL .plt.got:::g_free ;undefined g_free() MOV RDI,qword ptr [.bss:gal_view_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP POP RBP MOV RAX,qword ptr [RAX + 0x30] JMP RAX ?? 66h f Actual src: static void view_finalize (GObject *object) { GalViewPrivate *priv; priv = GAL_VIEW_GET_PRIVATE (object); g_free (priv->title); /* Chain up to parent's finalize() method. */ G_OBJECT_CLASS (gal_view_parent_class)->finalize (object); } Predicted src: static void cc_view_finalize (GObject *object) { EViewView *view = E_VIEW (object); g_free (view->priv); G_OBJECT_CLASS (cc_view_parent_class)->finalize (object); }