============================== Sample 1 ============================== 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 _finalize (GObject *object) { G_OBJECT_CLASS (object); G_OBJECT_CLASS (object)->finalize (object); G_OBJECT_CLASS (object)->finalize (object); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* soap_get_PointerTomatrix(soap*, matrix**, char const*, char const*) * ;************************************************************************************************************************************************************ ;undefined soap_get_PointerTomatrix(soap * param_1, matrix * * param_2, char * param_3, char * param_4) ;param_1 soap * RDI ;param_2 matrix * * RSI ;param_3 char * RDX ;param_4 char * RCX PUSH R12 MOV R8,param_2 MOV param_2,param_3 PUSH RBP MOV param_3,R8 MOV RBP,param_1 SUB RSP,0x8 CALL soap_in_PointerTomatrix ;undefined soap_in_PointerTomatrix(so... TEST RAX,RAX JZ LAB_0010a430 MOV param_1,RBP MOV R12,RAX CALL soap_getindependent ;undefined soap_getindependent(soap *... TEST EAX,EAX JNZ LAB_0010a430 ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 66h f ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0010a430: XOR R12D,R12D ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 66h f Actual src: matrix ** SOAP_FMAC4 soap_get_PointerTomatrix(struct soap *soap, matrix **p, const char *tag, const char *type) { if ((p = soap_in_PointerTomatrix(soap, tag, p, type))) if (soap_getindependent(soap)) return NULL; return p; } Predicted src: static PyObject *__pyx_pw_7pyverbs_7pyverbs_7pyverbs_7c_7c_7cc_7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined ioe_err_free() PUSH RBX MOV RBX,RDI MOV RDI,qword ptr [RDI] CALL .plt:free ;void free(void * __ptr) MOV RDI,qword ptr [RBX + 0x10] POP RBX JMP .plt:free ;void free(void * __ptr) ?? 66h f Actual src: void ioe_err_free(ioe_err_t *err) { free(err->path); free(err->msg); } Predicted src: void free_free_free(void *data) { free(data->data); free(data->data); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined xdp_camera_proxy_get_is_camera_present() PUSH R12 XOR R12D,R12D PUSH RBP MOV RBP,RDI SUB RSP,0x8 CALL xdp_camera_proxy_get_type ;undefined xdp_camera_proxy_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV RBP,RAX CALL .plt:::g_dbus_proxy_get_type ;undefined g_dbus_proxy_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() LEA RSI,[.rodata:s_IsCameraPresent_001a19d0] ;= "IsCameraPresent" MOV RDI,RAX CALL .plt:::g_dbus_proxy_get_cached_property ;undefined g_dbus_proxy_get_cached_pr... TEST RAX,RAX JZ LAB_0014af3a MOV RBP,RAX MOV RDI,RAX CALL .plt:::g_variant_get_boolean ;undefined g_variant_get_boolean() MOV RDI,RBP MOV R12D,EAX CALL .plt.got:::g_variant_unref ;undefined g_variant_unref() LAB_0014af3a: ADD RSP,0x8 MOV EAX,R12D POP RBP POP R12 RET ?? 66h f Actual src: static gboolean xdp_camera_proxy_get_is_camera_present (XdpCamera *object) { XdpCameraProxy *proxy = XDP_CAMERA_PROXY (object); GVariant *variant; gboolean value = 0; variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "IsCameraPresent"); if (variant!= NULL) { value = g_variant_get_boolean (variant); g_variant_unref (variant); } return value; } Predicted src: static gboolean gimp_proxy_get_type (GObject *object) { GVariant *proxy = 0; GVariant *variant; GVariant *variant; GVariant *variant; GVariant *variant; GVariant *variant; g_variant = g_variant_get_type (G_DBUS_PROXY (variant)); if (variant!= NULL) { g_variant_unref (variant); g_variant_unref (variant); } return value; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined PyInit_interactivelp_backend() LEA RDI,[.data:__pyx_moduledef] JMP .plt:LAB_001050c0 ?? 66h f Actual src: __Pyx_PyMODINIT_FUNC PyInit_interactivelp_backend(void) #if CYTHON_PEP489_MULTI_PHASE_INIT { return PyModuleDef_Init(&__pyx_moduledef); } Predicted src: static PyObject *__pyx_pw_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7c_7pyverbs_7pyverbs(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations __Pyx_r = __pyx_pf_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7c_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7pyverbs_7c, __pyx_7pyverbs_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; }