============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gdm_dbus_chooser_skeleton_init() PUSH RBX MOV RBX,RDI MOVSXD RDI,dword ptr [.bss:GdmDBusChooserSkeleton_private_offset] ADD RDI,RBX MOV qword ptr [RBX + 0x20],RDI ADD RDI,0x20 CALL .plt:::g_mutex_init ;undefined g_mutex_init() MOV RBX,qword ptr [RBX + 0x20] CALL .plt:::g_main_context_ref_thread_default ;undefined g_main_context_ref_thread_... MOV qword ptr [RBX + 0x18],RAX POP RBX RET ?? 66h f Actual src: static void gdm_dbus_chooser_skeleton_init (GdmDBusChooserSkeleton *skeleton) { #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 skeleton->priv = gdm_dbus_chooser_skeleton_get_instance_private (skeleton); #else skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GDM_DBUS_TYPE_CHOOSER_SKELETON, GdmDBusChooserSkeletonPrivate); #endif g_mutex_init (&skeleton->priv->lock); skeleton->priv->context = g_main_context_ref_thread_default (); } Predicted src: static void xdp_dbus_skeleton_init (XdpDBusSkeleton *skeleton) { #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 skeleton->priv = XDP_dbus_skeleton_get_instance_private (skeleton); #else skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, XDP_DBUS_TYPE_SKELETON, XdpDBusSkeletonPrivate); #endif g_mutex_init (&skeleton->priv->lock); skeleton->priv->context = g_main_context_ref_thread_default (); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined igListBoxFnBoolPtr(char * param_1, int * param_2, FuncDef47 * param_3, void * param_4, int param_5, int param_6) ;param_1 char * RDI ;param_2 int * RSI ;param_3 FuncDef47 * RDX ;param_4 void * RCX ;param_5 int R8D ;param_6 int R9D JMP ImGui::ListBox ?? 66h f Actual src: CIMGUI_API bool igListBoxFnBoolPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items) { return ImGui::ListBox(label,current_item,items_getter,data,items_count,height_in_items); } Predicted src: CIMGUI_API void igCreatePtr(const char* label_id,const char* label_id,const char* label_id,const char* label_id,const char* label_id,const char* label_id,const char* label_id,const char* label_id) { return ImGui::CreatePtr(label_id,label_id,label_id,label_id,label_id,label_id,label_id,label_id); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined t3_key_get_version() MOV EAX,0x20a RET ?? 66h f Actual src: long t3_key_get_version(void) { return T3_KEY_VERSION; } Predicted src: uint32_t key3_get_version(void) { return (uint32_t)key3_get_version(); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined wvprintfx() JMP trio_vprintf ?? 66h f Actual src: int wvprintfx(const char* fmt, va_list args) { return trio_vprintf(fmt, args); } Predicted src: static void w_io(Widget w, XEvent *event, String *params, Cardinal *num_params) { w_io(w, event, params); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* TreeMap::getNumSeqs() * ;************************************************************************************************************************************************************ ;undefined getNumSeqs(TreeMap * this) ;this TreeMap * RDI MOV RAX,qword ptr [this + 0x8] SUB RAX,qword ptr [this] SAR RAX,0x5 RET ?? 0Fh Actual src: int TreeMap::getNumSeqs() { return namesOfSeqs.size(); } Predicted src: size_t maxMap() { return maxMap.size(); }