============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined device_added() PUSH R13 MOV RDI,RSI PUSH R12 MOV R12,RDX PUSH RBP MOV RBP,RSI CALL .plt:::nm_device_get_iface ;undefined nm_device_get_iface() LEA RSI,[.rodata:s_%s:_device_created_0019389e] ;= "%s: device created\n" LEA RDI,[.rodata:s_NetworkManager_0018910e] ;= "NetworkManager" MOV R13,RAX CALL .plt:::g_dgettext ;undefined g_dgettext() MOV RSI,R13 MOV RDI,RAX XOR EAX,EAX CALL .plt:::g_print ;undefined g_print() MOV RCX,R12 MOV RDI,RBP XOR R9D,R9D ADD dword ptr [R12 + 0x38],0x1 XOR R8D,R8D LEA RDX,[device_state] LEA RSI,[.rodata:s_notify::state_0018b29c] ;= "notify::state" CALL .plt:::g_signal_connect_data ;undefined g_signal_connect_data() MOV RCX,R12 MOV RDI,RBP XOR R9D,R9D POP RBP XOR R8D,R8D POP R12 LEA RDX,[device_ac] LEA RSI,[.rodata:s_notify::active-connection_001938b2] ;= "notify::active-connection" POP R13 JMP .plt:::g_signal_connect_data ;undefined g_signal_connect_data() ?? 90h Actual src: static void device_added(NMClient *client, NMDevice *device, NmCli *nmc) { g_print(_("%s: device created\n"), nm_device_get_iface(device)); device_watch(nmc, NM_DEVICE(device)); } Predicted src: static void on_device_connection_notify (GObject *object, GAsyncResult *res, gpointer user_data) { g_signal_emit_by_connection (G_OBJECT (res), "connection", "connection", "connection", NULL); g_signal_connect (G_OBJECT (res), "connection", "connection", "connection", NULL); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined e_google_book_chooser_button_init() MOVSXD RAX,dword ptr [.bss:EGoogleBookChooserButton_private_offset] ;=?? ADD RAX,RDI MOV qword ptr [RDI + 0x38],RAX RET ?? 90h Actual src: static void e_google_book_chooser_button_init (EGoogleBookChooserButton *button) { button->priv = e_google_book_chooser_button_get_instance_private (button); } Predicted src: static void on_button_button_button_button_instance_init (GObject * self, gpointer klass) { self->priv = gtk_button_button_button_get_instance_private (self); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined up_client_initable_init() PUSH R13 MOV R13,RDX PUSH R12 MOV R12,RDI PUSH RBP MOV RBP,RSI PUSH RBX SUB RSP,0x8 CALL .plt:up_client_get_type ;undefined up_client_get_type() MOV RDI,R12 MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV EDI,0x1 MOV R9,R13 MOV R8,RBP MOVSXD RBX,dword ptr [.bss:UpClient_private_offset] ;=?? LEA RCX,[.rodata:s_/org/freedesktop/UPower_0011e31a] ;= "/org/freedesktop/UPower" XOR ESI,ESI MOV R12,RAX LEA RDX,[.rodata:s_org.freedesktop.UPower_0011e332] ;= "org.freedesktop.UPower" ADD RBX,RAX MOV qword ptr [RAX + 0x18],RBX CALL .plt:up_exported_daemon_proxy_new_for_bus_sync ;undefined up_exported_daemon_proxy_n... MOV qword ptr [RBX],RAX MOV RAX,qword ptr [R12 + 0x18] MOV RDI,qword ptr [RAX] XOR EAX,EAX TEST RDI,RDI JZ LAB_0010d17f XOR R9D,R9D XOR R8D,R8D LEA RDX,[up_device_added_cb] MOV RCX,R12 LEA RSI,[.rodata:s_device-added_0011e2fe] ;= "device-added" CALL .plt:::g_signal_connect_data ;undefined g_signal_connect_data() MOV RAX,qword ptr [R12 + 0x18] XOR R9D,R9D XOR R8D,R8D MOV RCX,R12 LEA RDX,[up_device_removed_cb] LEA RSI,[.rodata:s_device-removed_0011e30b] ;= "device-removed" MOV RDI,qword ptr [RAX] CALL .plt:::g_signal_connect_data ;undefined g_signal_connect_data() MOV RAX,qword ptr [R12 + 0x18] XOR R9D,R9D XOR R8D,R8D MOV RCX,R12 LEA RDX,[up_client_notify_cb] LEA RSI,[.rodata:s_notify_0011e349] ;= "notify" MOV RDI,qword ptr [RAX] CALL .plt:::g_signal_connect_data ;undefined g_signal_connect_data() MOV EAX,0x1 LAB_0010d17f: ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 RET ?? 66h f Actual src: static gboolean up_client_initable_init (GInitable *initable, GCancellable *cancellable, GError **error) { UpClient *client = UP_CLIENT (initable); client->priv = up_client_get_instance_private (client); /* connect to main interface */ client->priv->proxy = up_exported_daemon_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, "org.freedesktop.UPower", "/org/freedesktop/UPower", cancellable, error); if (client->priv->proxy == NULL) return FALSE; /* all callbacks */ g_signal_connect (client->priv->proxy, "device-added", G_CALLBACK (up_device_added_cb), client); g_signal_connect (client->priv->proxy, "device-removed", G_CALLBACK (up_device_removed_cb), client); g_signal_connect (client->priv->proxy, "notify", G_CALLBACK (up_client_notify_cb), client); return TRUE; } Predicted src: static void gst_client_proxy_init (GObject *object) { g_return_if_fail (G_IS_MANAGER (object)); g_signal_emit (object, G_OBJECT (object), G_CALLBACK (object), G_CALLBACK (object)); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined AcpiDbGenerateSci() JMP AcpiEvSciDispatch ?? 66h f Actual src: void AcpiDbGenerateSci ( void) { AcpiEvSciDispatch (); } Predicted src: static void print(void) { } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* Konclude::Reasoner::Kernel::Process::CIndividualSaturationProcessNode::setOccurrenceStatisticsCollectingRequired(bool) * ;************************************************************************************************************************************************************ ;undefined setOccurrenceStatisticsCollectingRequired(CIndividualSaturationProcessNode * this, bool param_1) ;this CIndividual... RDI ;param_1 bool SIL MOV byte ptr [this + 0xea],param_1 MOV RAX,this RET ?? 90h Actual src: CIndividualSaturationProcessNode* CIndividualSaturationProcessNode::setOccurrenceStatisticsCollectingRequired(bool collectingRequired) { mOccurrenceStatisticsCollectingRequired = collectingRequired; return this; } Predicted src: CIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividualIndividua