============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined AcpiDbGenerateSci() JMP AcpiEvSciDispatch ?? 66h f Actual src: void AcpiDbGenerateSci ( void) { AcpiEvSciDispatch (); } Predicted src: void #if NhlNeedProto (void) #else (void) #endif { } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rd_kafka_message_get_from_rkm() ;local_10 undefined8 -10 CMP dword ptr [RDI + 0x10],0x4 MOV RAX,RSI JZ LAB_001438d0 MOV RDX,qword ptr [RDI + 0x38] TEST RDX,RDX JZ LAB_00143900 CMP qword ptr [RSI + 0x8],0x0 MOV RCX,qword ptr [RDX + 0x60] MOV qword ptr [RSI + 0x40],RDI JZ LAB_00143947 LAB_001438b5: MOV EDX,dword ptr [RDX + 0x68] MOV dword ptr [RAX + 0x10],EDX LAB_001438bb: MOV EDX,dword ptr [RAX] TEST EDX,EDX JNZ LAB_001438cc MOV EDX,dword ptr [RDI + 0x20] CMP dword ptr [RDI + 0x10],0x1 MOV dword ptr [RAX],EDX JZ LAB_00143910 LAB_001438cc: RET ?? 0Fh ?? 1Fh ?? 00h LAB_001438d0: MOV RDX,qword ptr [RSI + 0x8] MOV RCX,qword ptr [RDI + 0x70] TEST RDX,RDX JNZ LAB_001438bb TEST RCX,RCX JZ LAB_001438bb LAB_001438e2: CMP dword ptr [RCX],0x544b524c JNZ LAB_00143940 LOCK ADD dword ptr [RCX + 0x10],0x1 LAB_001438ef: MOV qword ptr [RAX + 0x8],RCX TEST RDX,RDX JNZ LAB_001438b5 JMP LAB_001438bb ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00143900: MOV qword ptr [RSI + 0x40],RDI XOR ECX,ECX JMP LAB_001438bb ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00143910: TEST RCX,RCX JZ LAB_001438cc TEST EDX,EDX JNZ LAB_001438cc SUB RSP,0x18 MOV RDI,qword ptr [RCX + 0xf0] MOV RSI,RAX MOV qword ptr [RSP + local_10+0x18],RAX CALL rd_kafka_interceptors_on_consume ;undefined rd_kafka_interceptors_on_c... MOV RAX,qword ptr [RSP + local_10+0x18] ADD RSP,0x18 RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00143940: LOCK ADD dword ptr [RCX + 0x18],0x1 JMP LAB_001438ef LAB_00143947: TEST RCX,RCX JZ LAB_001438b5 JMP LAB_001438e2 ?? 66h f Actual src: rd_kafka_message_t *rd_kafka_message_get_from_rkm (rd_kafka_op_t *rko, rd_kafka_msg_t *rkm) { return rd_kafka_message_setup(rko, &rkm->rkm_rkmessage); } Predicted src: void ipmi_ipmi_message_get_from_message (ipmi_message_t *message, const char *message) { if (message == NULL) { return; } if (message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } if (message->message == NULL) { return; } message->message = message; message->message = message; message->message = message; message->message = message; message->message = message; message->message = message; message->message = message; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined cpl_table_find_column_() PUSH R13 PUSH R12 PUSH RBP PUSH RBX SUB RSP,0x8 TEST RSI,RSI JZ LAB_001c03e0 MOV R12,RDI MOV R13,RSI TEST RDI,RDI JZ LAB_001c03a0 CMP qword ptr [RDI],0x0 MOV RBX,qword ptr [RDI + 0x10] JLE LAB_001c0360 XOR EBP,EBP JMP LAB_001c032e LAB_001c0320: ADD RBP,0x1 ADD RBX,0x8 CMP RBP,qword ptr [R12] JGE LAB_001c0360 LAB_001c032e: MOV RDI,qword ptr [RBX] CALL .plt:cpl_column_get_name ;undefined cpl_column_get_name() MOV RDI,R13 MOV RSI,RAX CALL .plt:::strcmp ;int strcmp(char * __s1, char * __s2) TEST EAX,EAX JNZ LAB_001c0320 MOV RAX,qword ptr [RBX] TEST RAX,RAX JZ LAB_001c0360 LAB_001c034d: ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 RET ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001c0360: MOV R9,R13 MOV ECX,0x226 MOV ESI,0xa XOR EAX,EAX LEA R8,[.rodata:s_name='%s'_00238aa0+15] ;= "name='%s'" LEA RDX,[.rodata:s_cpl_table.c_00238a7f+1] ;= "cpl_table.c" LEA RDI,[.rodata:__func__.186] ;= "cpl_table_find_column_" CALL .plt:cpl_error_set_message_macro ;undefined cpl_error_set_message_macr... ADD RSP,0x8 XOR EAX,EAX POP RBX POP RBP POP R12 POP R13 RET ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001c03a0: MOV R9,RSI LEA R8,[.rodata:s_table_is_NULL,_name='%s'_00238aa0] ;= "table is NULL, name='%s'" XOR EAX,EAX MOV ECX,0x21f LEA RDX,[.rodata:s_cpl_table.c_00238a7f+1] ;= "cpl_table.c" MOV ESI,0xc LEA RDI,[.rodata:__func__.186] ;= "cpl_table_find_column_" CALL .plt:cpl_error_set_message_macro ;undefined cpl_error_set_message_macr... ADD RSP,0x8 XOR EAX,EAX POP RBX POP RBP POP R12 POP R13 RET ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001c03e0: LEA R8,[.rodata:s_name_is_NULL_00238a93] ;= "name is NULL" MOV ECX,0x21d XOR EAX,EAX MOV ESI,0xc LEA RDX,[.rodata:s_cpl_table.c_00238a7f+1] ;= "cpl_table.c" LEA RDI,[.rodata:__func__.186] ;= "cpl_table_find_column_" CALL .plt:cpl_error_set_message_macro ;undefined cpl_error_set_message_macr... XOR EAX,EAX JMP LAB_001c034d ?? 0Fh Actual src: static cpl_column *cpl_table_find_column_(cpl_table *table, const char *name) { cpl_column *column = NULL; if (name == NULL) { (void)cpl_error_set_message_(CPL_ERROR_NULL_INPUT, "name is NULL"); } else if (table == NULL) { (void)cpl_error_set_message_(CPL_ERROR_NULL_INPUT, "table is NULL, " "name='%s'", name); } else { column = cpl_table_find_column(table, name); if (!column) { (void)cpl_error_set_message_(CPL_ERROR_DATA_NOT_FOUND, "name='%s'", name); } } return column; } Predicted src: cpl_error_code cpl_table_set_table_name(const cpl_table *table, const char *name) { cpl_table *table = cpl_table_find(table, name); if (table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } if (table->table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } if (table->table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } if (table->table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } if (table->table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } if (table->table == NULL) { return cpl_error_set_(CPL_ERROR_INPUT); } return cpl_error_set_(CPL_ERROR_INPUT); } ============================== Sample 4 ============================== 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 UpdateUpdateUpdateUpdateUpdate() { if (m_UpdateUpdate) { m_UpdateUpdateUpdate->UpdateUpdateUpdateUpdate(); } } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined xfsm_dbus_manager_call_can_restart_sync() PUSH R14 XOR EAX,EAX MOV R14,RDI LEA RDI,[.rodata:DAT_0012e155] ;= 28h ( PUSH R13 MOV R13,RSI PUSH R12 PUSH RBP MOV RBP,RCX PUSH RBX MOV RBX,RDX CALL .plt:::g_variant_new ;undefined g_variant_new() MOV R12,RAX CALL .plt:::g_dbus_proxy_get_type ;undefined g_dbus_proxy_get_type() MOV RDI,R14 MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() SUB RSP,0x8 MOV R9,RBX XOR ECX,ECX PUSH RBP MOV RDX,R12 MOV RDI,RAX MOV R8D,0xffffffff LEA RSI,[.rodata:s_CanRestart_0012e672] ;= "CanRestart" CALL .plt:::g_dbus_proxy_call_sync ;undefined g_dbus_proxy_call_sync() POP RDX POP RCX MOV RBX,RAX TEST RAX,RAX JZ LAB_0011858d MOV RDI,RAX MOV RDX,R13 LEA RSI,[.rodata:DAT_0012e662] ;= 28h ( XOR EAX,EAX CALL .plt:::g_variant_get ;undefined g_variant_get() MOV RDI,RBX CALL .plt:::g_variant_unref ;undefined g_variant_unref() LAB_0011858d: XOR EAX,EAX TEST RBX,RBX POP RBX POP RBP SETNZ AL POP R12 POP R13 POP R14 RET ?? 66h f Actual src: gboolean xfsm_dbus_manager_call_can_restart_sync ( XfsmDbusManager *proxy, gboolean *out_can_restart, GCancellable *cancellable, GError **error) { GVariant *_ret; _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), "CanRestart", g_variant_new ("()"), G_DBUS_CALL_FLAGS_NONE, -1, cancellable, error); if (_ret == NULL) goto _out; g_variant_get (_ret, "(b)", out_can_restart); g_variant_unref (_ret); _out: return _ret!= NULL; } Predicted src: gboolean gf_manager_call_call_get_sync ( GfManager *proxy, GCancellable *cancellable, GError **error) { GVariant *_ret; _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), "GetManager", g_variant_new ("()"), G_DBUS_CALL_FLAGS_NONE, -1, cancellable, error); if (_ret == NULL) goto _out; g_variant_get (_ret, "()"); g_variant_unref (_ret); _out: return _ret!= NULL; }