============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined LineStyleAlphaModifier_DistanceFromObject_expanded_get() MOV RAX,qword ptr [RDI + 0x10] MOV EAX,dword ptr [RAX + 0x58] SHR EAX,1 AND EAX,0x1 RET ?? 0Fh Actual src: bool LineStyleAlphaModifier_DistanceFromObject_expanded_get(PointerRNA *ptr) { LineStyleAlphaModifier_DistanceFromObject *data = (LineStyleAlphaModifier_DistanceFromObject *)(ptr->data); return (((data->modifier.flags) & 2)!= 0); } Predicted src: bool LineStyleThicknessModifier_invert_mapping_get(PointerRNA *ptr) { LineStyleThicknessModifier_invert_mapping *data = (LineStyleThicknessModifier_invert_mapping *)(ptr->data); return (((data->flags) & 2)!= 0); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* QCA::CRLEntry::time() const * ;************************************************************************************************************************************************************ ;undefined time(void) PUSH R12 ADD RSI,0x8 MOV R12,RDI CALL .plt:::QDateTime::QDateTime ;undefined QDateTime(QDateTime * this... MOV RAX,R12 POP R12 RET ?? 66h f Actual src: QDateTime CRLEntry::time() const { return _time; } Predicted src: QDate QDate::time() const { return m_time; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _recipesresource_constructor() LEA RDI,[.data:static_resource] JMP .plt:LAB_00120b30 ?? 0Fh Actual src: static void _recipesresource_constructor (void) { g_static_resource_init (&static_resource); } Predicted src: static void _tabresource_destructor (void) { g_static_resource_init (&static_resource); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _wrap_plfit_continuous_options_t___str__() ;local_10 undefined8 -10 ;local_18 undefined8 -18 PUSH RBP SUB RSP,0x10 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_10+0x18],RAX XOR EAX,EAX MOV qword ptr [RSP]=>local_18,0x0 TEST RSI,RSI JZ LAB_0010a4b8 MOV RDX,qword ptr [.bss:swig_types] ;=?? MOV RDI,RSI XOR ECX,ECX MOV RSI,RSP CALL SWIG_Python_ConvertPtrAndOwn.constprop.0 ;undefined SWIG_Python_ConvertPtrAndO... MOV EDI,EAX TEST EAX,EAX JS LAB_0010a490 MOV RAX,qword ptr [RSP]=>local_18 SUB RSP,0x8 LEA RBP,[.bss:temp.17] ;=?? LEA RCX,[.rodata:s_finite_size_correction_=_%d,_xmi_0010e910] ;= "finite_size_correction = %d, xmin... MOV EDX,0x200 MOV ESI,0x1 MOV RDI=>.bss:temp.17,RBP ;=?? MOVSD XMM0,qword ptr [RAX + 0x10] MOV R9D,dword ptr [RAX + 0x4] MOVZX R8D,word ptr [RAX] MOV EAX,dword ptr [RAX + 0x8] PUSH RAX MOV EAX,0x1 CALL .plt:::__sprintf_chk ;undefined __sprintf_chk() MOV RDI=>.bss:temp.17,RBP ;=?? CALL .plt:::strlen ;size_t strlen(char * __s) LEA RDX,[.rodata:s_surrogateescape_0010c24e] ;= "surrogateescape" MOV RDI=>.bss:temp.17,RBP ;=?? MOV RSI,RAX CALL .plt:::PyUnicode_DecodeUTF8 ;undefined PyUnicode_DecodeUTF8() POP RDX POP RCX LAB_0010a47a: MOV RDX,qword ptr [RSP + local_10+0x18] SUB RDX,qword ptr FS:[0x28] JNZ LAB_0010a4bc ADD RSP,0x10 POP RBP RET LAB_0010a490: CMP EAX,-0x1 MOV EAX,0xfffffffb LEA RSI,[.rodata:s_in_method_'plfit_continuous_opti_0010e8a0] ;= "in method 'plfit_continuous_optio... CMOVZ EDI,EAX CALL SWIG_Python_ErrorType ;undefined SWIG_Python_ErrorType() MOV RDI,RAX CALL .plt:::PyErr_SetString ;undefined PyErr_SetString() XOR EAX,EAX JMP LAB_0010a47a ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0010a4b8: XOR EAX,EAX JMP LAB_0010a47a LAB_0010a4bc: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP dword ptr CS:[RAX + RAX*0x1] Actual src: SWIGINTERN PyObject *_wrap_plfit_continuous_options_t___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; struct _plfit_continuous_options_t *arg1 = (struct _plfit_continuous_options_t *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; char *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p__plfit_continuous_options_t, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "plfit_continuous_options_t___str__" "', argument " "1"" of type '" "struct _plfit_continuous_options_t *""'"); } arg1 = (struct _plfit_continuous_options_t *)(argp1); result = (char *)_plfit_continuous_options_t___str__(arg1); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } Predicted src: SWIGINTERN PyObject *_wrap_ldns_size_t_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; struct ldns_size *arg1 = (struct ldns_size *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; int result; if (!args) SWIG_fail; swig_obj[0] = args; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ldns_struct_size, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ldns_size_t_size" "', argument " "1"" of type '" "struct ldns_size *""'"); } arg1 = (struct ldns_size *)(argp1); result = (int) ((arg1)->size); resultobj = SWIG_From_int((int)(result)); return resultobj; fail: return NULL; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined call_audio_dbus_call_audio_skeleton_finalize() PUSH RBP MOV RBP,RDI PUSH RBX SUB RSP,0x8 CALL call_audio_dbus_call_audio_skeleton_get_type ;undefined call_audio_dbus_call_audio... MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() LEA RSI,[_changed_property_free] MOV RBX,RAX MOV RAX,qword ptr [RAX + 0x20] MOV RDI,qword ptr [RAX + 0x8] CALL .plt:::g_list_free_full ;undefined g_list_free_full() MOV RAX,qword ptr [RBX + 0x20] MOV RDI,qword ptr [RAX + 0x10] TEST RDI,RDI JZ LAB_00105016 CALL .plt:::g_source_destroy ;undefined g_source_destroy() MOV RAX,qword ptr [RBX + 0x20] LAB_00105016: MOV RDI,qword ptr [RAX + 0x18] CALL .plt:::g_main_context_unref ;undefined g_main_context_unref() MOV RDI,qword ptr [RBX + 0x20] ADD RDI,0x20 CALL .plt:::g_mutex_clear ;undefined g_mutex_clear() MOV RDI,qword ptr [.bss:call_audio_dbus_call_audio_skeleton_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP MOV RAX,qword ptr [RAX + 0x30] ADD RSP,0x8 POP RBX POP RBP JMP RAX ?? 0Fh Actual src: static void call_audio_dbus_call_audio_skeleton_finalize (GObject *object) { CallAudioDbusCallAudioSkeleton *skeleton = CALL_AUDIO_DBUS_CALL_AUDIO_SKELETON (object); g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); if (skeleton->priv->changed_properties_idle_source!= NULL) g_source_destroy (skeleton->priv->changed_properties_idle_source); g_main_context_unref (skeleton->priv->context); g_mutex_clear (&skeleton->priv->lock); G_OBJECT_CLASS (call_audio_dbus_call_audio_skeleton_parent_class)->finalize (object); } Predicted src: static void xdp_dbus_audio_skeleton_finalize (GObject *object) { XdpDBusaudioSkeleton *skeleton = XDP_DBUS_audio_SKELETON (object); g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); if (skeleton->priv->changed_properties_idle_source!= NULL) g_source_destroy (skeleton->priv->changed_properties_idle_source); g_main_context_unref (skeleton->priv->context); G_OBJECT_CLASS (xdp_dbus_audio_skeleton_parent_class)->finalize (object); }