============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* HistogramDockerDock::startUpdateCanvasProjection() * ;************************************************************************************************************************************************************ ;undefined startUpdateCanvasProjection(HistogramDockerDock * this) ;this HistogramDo... RDI MOV RAX,qword ptr [this + 0x28] TEST byte ptr [RAX + 0x9],0x80 JNZ LAB_0010b110 RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0010b110: MOV this,qword ptr [this + 0x48] JMP .plt:LAB_00108030 ?? 90h Actual src: void HistogramDockerDock::startUpdateCanvasProjection() { if (isVisible()) { m_imageIdleWatcher->startCountdown(); } } Predicted src: void TaskController::UpdateUpdate() { if (m_pUpdate) m_pUpdate->Update(); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined mlx5_destroy_wq() PUSH R12 PUSH RBP PUSH RBX MOV RBX,RDI CALL .plt:::ibv_cmd_destroy_wq ;undefined ibv_cmd_destroy_wq() MOV R12D,EAX TEST EAX,EAX JZ LAB_0015cff0 MOV EAX,R12D POP RBX POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0015cff0: MOV RDI,qword ptr [RBX + 0x18] MOV ECX,dword ptr [RDI + 0x1c0] TEST ECX,ECX JNZ LAB_0015d0b0 MOV EDX,dword ptr [RDI + 0x1bc] TEST EDX,EDX JNZ LAB_0015d0e0 MOV dword ptr [RDI + 0x1bc],0x1 LAB_0015d01a: MOV RDI,qword ptr [RBX + 0x18] MOV ESI,dword ptr [RBX + -0x4] XOR EDX,EDX CALL __mlx5_cq_clean ;undefined __mlx5_cq_clean() MOV RDI,qword ptr [RBX + 0x18] MOV EAX,dword ptr [RDI + 0x1c0] TEST EAX,EAX JNZ LAB_0015d0c8 MOV dword ptr [RDI + 0x1bc],0x0 LAB_0015d044: MOV RAX,qword ptr [RBX] MOV ESI,dword ptr [RBX + -0x4] LEA RBP,[RBX + -0x8] LEA RDI,[RAX + -0x140] CALL mlx5_clear_uidx ;undefined mlx5_clear_uidx() MOV RAX,qword ptr [RBX] MOV RDX,qword ptr [RBX + 0x10] MOVZX ECX,byte ptr [RBX + 0x138] MOV RSI,qword ptr [RBX + 0x130] LEA RDI,[RAX + -0x140] CALL mlx5_free_db ;undefined mlx5_free_db() MOV RAX,qword ptr [RBX] LEA RSI,[RBX + 0x98] LEA RDI,[RAX + -0x140] CALL mlx5_free_actual_buf ;undefined mlx5_free_actual_buf() MOV RDI,qword ptr [RBX + 0xe0] CALL .plt:::free ;void free(void * __ptr) MOV RDI,RBP CALL .plt:::free ;void free(void * __ptr) MOV EAX,R12D POP RBX POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 00h LAB_0015d0b0: ADD RDI,0x1b8 CALL .plt:::pthread_spin_lock ;int pthread_spin_lock(pthread_spinlo... JMP LAB_0015d01a ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0015d0c8: ADD RDI,0x1b8 CALL .plt:::pthread_spin_unlock ;int pthread_spin_unlock(pthread_spin... JMP LAB_0015d044 ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0015d0e0: MOV RAX,qword ptr [->stderr] ;= 00176490 MOV EDX,0x89 MOV ESI,0x1 LEA RDI,[.rodata:s_***_ERROR:_multithreading_violat_00162098] ;= "*** ERROR: multithreading violati... MOV RCX,qword ptr [RAX]=>EXTERNAL:stderr ;=?? CALL .plt:::fwrite ;size_t fwrite(void * __ptr, size_t _... CALL .plt:::abort ;void abort(void) NOP dword ptr CS:[RAX + RAX*0x1] Actual src: int mlx5_destroy_wq(struct ibv_wq *wq) { struct mlx5_rwq *rwq = to_mrwq(wq); int ret; ret = ibv_cmd_destroy_wq(wq); if (ret) return ret; mlx5_spin_lock(&to_mcq(wq->cq)->lock); __mlx5_cq_clean(to_mcq(wq->cq), rwq->rsc.rsn, NULL); mlx5_spin_unlock(&to_mcq(wq->cq)->lock); mlx5_clear_uidx(to_mctx(wq->context), rwq->rsc.rsn); mlx5_free_db(to_mctx(wq->context), rwq->db, wq->pd, rwq->custom_db); mlx5_free_rwq_buf(rwq, wq->context); free(rwq); return 0; } Predicted src: static void cmd_destroy(void *arg) { struct cmd_cmd *cmd = arg; struct cmd_cmd *cmd = arg; struct cmd_cmd *cmd = cmd->cmd; struct cmd_cmd *cmd = cmd->cmd; struct cmd_cmd *cmd = cmd->cmd; struct cmd_cmd *cmd = cmd->cmd; cmd_lock(cmd); cmd_lock(cmd); cmd_lock(cmd); cmd_unlock(cmd); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined PAINT_OT_vertex_paint() LEA RAX,[.rodata:s_Vertex_Paint_03a79e7d] ;= "Vertex Paint" MOV qword ptr [RDI],RAX=>.rodata:s_Vertex_Paint_03a79e7d ;= "Vertex Paint" LEA RAX,[.rodata:s_PAINT_OT_vertex_paint_03adedf7] ;= "PAINT_OT_vertex_paint" MOV qword ptr [RDI + 0x8],RAX=>.rodata:s_PAINT_OT_vertex_paint_03adedf7 ;= "PAINT_OT_vertex_paint" LEA RAX,[.rodata:s_Paint_a_stroke_in_the_active_ver_03bb3768] ;= "Paint a stroke in the active vert... MOV qword ptr [RDI + 0x18],RAX=>.rodata:s_Paint_a_stroke_in_the_active_ver_03bb3768 ;= "Paint a stroke in the active vert... LEA RAX,[vpaint_invoke] MOV qword ptr [RDI + 0x38],RAX=>vpaint_invoke LEA RAX,[paint_stroke_modal] MOV qword ptr [RDI + 0x48],RAX=>paint_stroke_modal LEA RAX,[vpaint_exec] MOV qword ptr [RDI + 0x28],RAX=>vpaint_exec LEA RAX,[vertex_paint_poll] MOV qword ptr [RDI + 0x50],RAX=>vertex_paint_poll LEA RAX,[vpaint_cancel] MOV qword ptr [RDI + 0x40],RAX=>vpaint_cancel MOV EAX,0x6 MOV word ptr [RDI + 0xd0],AX JMP paint_stroke_operator_properties ;undefined paint_stroke_operator_prop... ?? 0Fh ;? -> 00841f0f Actual src: void PAINT_OT_vertex_paint(wmOperatorType *ot) { /* identifiers */ ot->name = "Vertex Paint"; ot->idname = "PAINT_OT_vertex_paint"; ot->description = "Paint a stroke in the active vertex color layer"; /* api callbacks */ ot->invoke = vpaint_invoke; ot->modal = paint_stroke_modal; ot->exec = vpaint_exec; ot->poll = vertex_paint_poll; ot->cancel = vpaint_cancel; /* flags */ ot->flag = OPTYPE_UNDO | OPTYPE_BLOCKING; paint_stroke_operator_properties(ot); } Predicted src: void WM_OT_OT_active_active(wmOperatorType *ot) { /* identifiers */ ot->name = "Set the selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selected selecte ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined net_object_get_panel() PUSH RBX MOV RBX,RDI CALL .plt:net_object_get_type ;undefined net_object_get_type() TEST RBX,RBX JZ LAB_00120798 MOV RSI,RAX MOV RAX,qword ptr [RBX] TEST RAX,RAX JZ LAB_0012077e CMP qword ptr [RAX],RSI JZ LAB_0012078a LAB_0012077e: MOV RDI,RBX CALL .plt:::g_type_check_instance_is_a ;undefined g_type_check_instance_is_a() TEST EAX,EAX JZ LAB_00120798 LAB_0012078a: MOV RAX,qword ptr [RBX + 0x18] POP RBX MOV RAX,qword ptr [RAX + 0x28] RET ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_00120798: LEA RDX,[.rodata:s_NET_IS_OBJECT_(object)_00142723] ;= "NET_IS_OBJECT (object)" LEA RSI,[.rodata:__func__.0] ;= "net_object_get_panel" XOR EDI,EDI CALL .plt:::g_return_if_fail_warning ;undefined g_return_if_fail_warning() XOR EAX,EAX POP RBX RET ?? 66h f Actual src: CcNetworkPanel * net_object_get_panel (NetObject *object) { g_return_val_if_fail (NET_IS_OBJECT (object), NULL); return object->priv->panel; } Predicted src: const char * net_object_get_path (netObject *object) { g_return_val_if_fail (G_IS_OBJECT (object), NULL); return object->priv->path; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined geary_imap_engine_account_processor_test_new() SUB RSP,0x8 CALL geary_imap_engine_account_processor_test_get_type ;undefined geary_imap_engine_account_... ADD RSP,0x8 MOV RDI,RAX JMP geary_imap_engine_account_processor_test_construct ;undefined geary_imap_engine_account_... ?? 66h f Actual src: GearyImapEngineAccountProcessorTest* geary_imap_engine_account_processor_test_new (void) { return geary_imap_engine_account_processor_test_construct (GEARY_IMAP_ENGINE_TYPE_ACCOUNT_PROCESSOR_TEST); } Predicted src: GearyFolderFolder* geary_imap_engine_engine_account_new (void) { return geary_imap_engine_account_construct (GEARY_IMAP_TYPE_ACCOUNT_ACCOUNT_ACCOUNT); }