============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined MGA3026HideCursor() MOV RDX,qword ptr [RDI + 0x118] MOV RAX,qword ptr [RDX + 0xb0] MOV byte ptr [RAX + 0x3c00],0x6 MOV RCX,qword ptr [RDX + 0xb0] MOVZX EAX,byte ptr [RCX + 0x3c0a] MOV byte ptr [RCX + 0x3c00],0x6 MOV RDX,qword ptr [RDX + 0xb0] AND EAX,0xfffffffc MOV byte ptr [RDX + 0x3c0a],AL RET ?? 0Fh Actual src: static void MGA3026HideCursor(ScrnInfoPtr pScrn) { MGAPtr pMga = MGAPTR(pScrn); /* Disable cursor */ outTi3026(TVP3026_CURSOR_CTL, 0xfc, 0x00); } Predicted src: static void do_CharChar(Widget w, XtPointer client_data, XtPointer client_data) { client_data[0] = (Widget) client_data; client_data[1] = (Widget) client_data; client_data[2] = (Widget) client_data; client_data[3] = (Widget) client_data; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined Dicache_remove() ;local_10 undefined8 -10 ;local_28 undefined4 -28 ;local_68 undefined8 -68 PUSH RBP LEA RDX,[Dicache_entry_cmp] SUB RSP,0x60 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_10+0x68],RAX XOR EAX,EAX MOV qword ptr [RSP]=>local_68,RDI MOV RDI,qword ptr [.bss:CachedIMGs] MOV dword ptr [RSP + local_28+0x68],ESI MOV RSI,RSP CALL dList_find_sorted ;undefined dList_find_sorted() TEST RAX,RAX JZ LAB_0013e783 MOV RDI,qword ptr [.bss:CachedIMGs] MOV RBP,RAX MOV RSI,RAX CALL dList_remove ;undefined dList_remove() MOV RDI,qword ptr [RBP] MOV EAX,dword ptr [RBP + 0x28] SUB dword ptr [.bss:dicache_size_total],EAX CALL a_Url_free ;undefined a_Url_free() MOV RDI,qword ptr [RBP + 0x18] CALL dFree ;undefined dFree() MOV RDI,qword ptr [RBP + 0x30] CALL a_Bitvec_free ;undefined a_Bitvec_free() MOV RDI,qword ptr [RBP + 0x20] CALL a_Imgbuf_unref ;undefined a_Imgbuf_unref() MOV RAX,qword ptr [RBP + 0x48] TEST RAX,RAX JZ LAB_0013e77b MOV RSI,qword ptr [RBP + 0x50] MOV EDI,0x2 CALL RAX LAB_0013e77b: MOV RDI,RBP CALL dFree ;undefined dFree() LAB_0013e783: MOV RAX,qword ptr [RSP + local_10+0x68] SUB RAX,qword ptr FS:[0x28] JNZ LAB_0013e799 ADD RSP,0x60 POP RBP RET LAB_0013e799: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP Actual src: static void Dicache_remove(const DilloUrl *Url, int version) { DICacheEntry e, *entry; _MSG("Dicache_remove url=%s\n", URL_STR(Url)); e.url = (DilloUrl*)Url; e.version = version; entry = dList_find_sorted(CachedIMGs, &e, Dicache_entry_cmp); dReturn_if (entry == NULL); _MSG("Dicache_remove Imgbuf=%p Decoder=%p DecoderData=%p\n", entry->v_imgbuf, entry->Decoder, entry->DecoderData); /* Eliminate this dicache entry */ dList_remove(CachedIMGs, entry); dicache_size_total -= entry->TotalSize; /* entry cleanup */ a_Url_free(entry->url); dFree(entry->cmap); a_Bitvec_free(entry->BitVec); a_Imgbuf_unref(entry->v_imgbuf); if (entry->Decoder) { entry->Decoder(CA_Abort, entry->DecoderData); } dFree(entry); } Predicted src: void free_entry(struct object *object) { struct object *object; object = object->entry; if (!object) { return; } object_remove_entry(object); object_remove_entry(object); object_remove_entry(object); object_remove_entry(object); object_remove_entry(object); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* Draw_Interpretor::GetDoEcho() const * ;************************************************************************************************************************************************************ ;undefined GetDoEcho(Draw_Interpretor * this) ;this Draw_Interp... RDI MOVZX EAX,byte ptr [this + 0x11] RET ?? 90h Actual src: Standard_Boolean Draw_Interpretor::GetDoEcho () const { return myDoEcho; } Predicted src: Standard_Boolean Standard_Integer Standard_Integer (const Standard_Integer a) const { return a; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined sigar_nfs_client_v3_get() LEA RDI,[.rodata:s_/proc/net/rpc/nfs_001293f2] ;= "/proc/net/rpc/nfs" JMP sigar_nfs_v3_get ;undefined sigar_nfs_v3_get() ?? 0Fh Actual src: int sigar_nfs_client_v3_get(sigar_t *sigar, sigar_nfs_client_v3_t *nfs) { return sigar_nfs_v3_get(PROC_FS_ROOT "net/rpc/nfs", (sigar_nfs_v3_t *)nfs); } Predicted src: void v3_v3_get_v3(void) { v3_v3_v3_get_v3(v3_get_v3()); } ============================== Sample 5 ============================== 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 Manager::UpdateUpdateUpdateUpdate() { if (m_UpdateUpdate) { m_UpdateUpdateUpdate = true; } }