============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined nm_setting_match_get_path() PUSH RBP MOV EBP,ESI PUSH RBX MOV RBX,RDI SUB RSP,0x8 CALL .plt:nm_setting_match_get_type ;undefined nm_setting_match_get_type() TEST RBX,RBX JZ LAB_001ae810 MOV RSI,RAX MOV RAX,qword ptr [RBX] TEST RAX,RAX JZ LAB_001ae7d5 CMP qword ptr [RAX],RSI JZ LAB_001ae7e1 LAB_001ae7d5: MOV RDI,RBX CALL .plt:::g_type_check_instance_is_a ;undefined g_type_check_instance_is_a() TEST EAX,EAX JZ LAB_001ae810 LAB_001ae7e1: MOV RAX,qword ptr [RBX + 0x30] TEST RAX,RAX JZ LAB_001ae800 CMP dword ptr [RAX + 0x8],EBP JBE LAB_001ae800 MOV RAX,qword ptr [RAX] MOV RAX,qword ptr [RAX + RBP*0x8] LAB_001ae7f6: ADD RSP,0x8 POP RBX POP RBP RET ?? 0Fh ?? 1Fh ?? 00h LAB_001ae800: MOV EDI,0x1f7 CALL _nm_g_return_if_fail_warning.constprop.0 ;undefined _nm_g_return_if_fail_warni... XOR EAX,EAX JMP LAB_001ae7f6 ?? 66h f ?? 90h LAB_001ae810: MOV EDI,0x1f5 CALL _nm_g_return_if_fail_warning.constprop.0 ;undefined _nm_g_return_if_fail_warni... ADD RSP,0x8 XOR EAX,EAX POP RBX POP RBP RET ?? 66h f Actual src: const char * nm_setting_match_get_path(NMSettingMatch *setting, guint idx) { g_return_val_if_fail(NM_IS_SETTING_MATCH(setting), NULL); g_return_val_if_fail(setting->path && idx < setting->path->len, NULL); return nm_strvarray_get_idx(setting->path, idx); } Predicted src: const char * nm_setting_setting_config_get_path(NMSettingConfig *setting) { g_return_val_if_fail(NM_IS_SETTING_CONFIG(setting), NULL); return NM_SETTING_CONFIG_GET_PRIVATE(setting)->path; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined startree_search() MOV R9,R8 XOR R8D,R8D JMP startree_search_for ;undefined startree_search_for() ?? 0Fh Actual src: void startree_search(const startree_t* s, const double* xyzcenter, double radius2, double** xyzresults, double** radecresults, int* nresults) { startree_search_for(s, xyzcenter, radius2, xyzresults, radecresults, NULL, nresults); } Predicted src: char * search_search (const char *name, const char *search_name, const char *search_name) { return search_search (name,search_name,search_name, NULL); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined pxy_setextattr_value_by_id() MOV EAX,0x2714 RET ?? 66h f Actual src: fsal_status_t pxy_setextattr_value_by_id(struct fsal_obj_handle *obj_hdl, const struct req_op_context *opctx, unsigned int xattr_id, void *buffer_addr, size_t buffer_size) { return fsalstat(ERR_FSAL_NOTSUPP, 0); } Predicted src: static int attr_set_attr_by_id(struct rte_eth_dev *dev, const struct rte_attr *attr) { return -EINVAL; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined pxy_setextattr_value_by_id() MOV EAX,0x2714 RET ?? 66h f Actual src: fsal_status_t pxy_setextattr_value_by_id(struct fsal_obj_handle *obj_hdl, const struct req_op_context *opctx, unsigned int xattr_id, void *buffer_addr, size_t buffer_size) { return fsalstat(ERR_FSAL_NOTSUPP, 0); } Predicted src: static int set_attr_by_id(struct rte_eth_dev *dev, struct rte_eth_dev *dev) { return -EINVAL; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined IntelGen_HwAddMediaObjectCmdBb_g75() PUSH RBP MOV RBP,RDX PUSH RBX MOV RBX,RSI SUB RSP,0x8 TEST RDI,RDI JZ LAB_00133b08 LAB_001339f5: TEST RBX,RBX JZ LAB_00133ad0 CMP qword ptr [RBX + 0xa8],0x0 JZ LAB_00133af0 LAB_00133a0c: TEST RBP,RBP JZ LAB_00133ab8 LAB_00133a15: CMP dword ptr [RBP + 0x4],0x17 JBE LAB_00133a80 LAB_00133a1b: MOV EDX,dword ptr [RBX + 0x9c] MOV EAX,dword ptr [RBX + 0x98] SUB EAX,EDX CMP EAX,0x17 JLE LAB_00133a98 LAB_00133a2e: MOV RCX,qword ptr [->g_cInit_MEDIA_OBJECT_HEADER_G6] ;= 00165210 MOVSXD RAX,EDX MOV ESI,dword ptr [RBP] ADD EDX,0x18 ADD RAX,qword ptr [RBX + 0xa8] MOVDQU XMM0,xmmword ptr [RCX]=>.rodata:g_cInit_MEDIA_OBJECT_HEADER_G6 MOV RCX,qword ptr [RCX + 0x10]=>.rodata:g_cInit_MEDIA_OBJECT_HEADER_G6[16] AND ESI,0x3f MOV qword ptr [RAX + 0x10],RCX MOV ECX,dword ptr [RBP + 0x4] MOVUPS xmmword ptr [RAX],XMM0 SHR ECX,0x2 SUB ECX,0x2 MOV word ptr [RAX],CX MOVZX ECX,byte ptr [RAX + 0x4] AND ECX,0xffffffc0 OR ECX,ESI MOV byte ptr [RAX + 0x4],CL MOV dword ptr [RBX + 0x9c],EDX ADD RSP,0x8 POP RBX POP RBP RET ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_00133a80: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() JMP LAB_00133a1b ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00133a98: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() MOV EDX,dword ptr [RBX + 0x9c] JMP LAB_00133a2e ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00133ab8: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() JMP LAB_00133a15 ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_00133ad0: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() CMP qword ptr [RBX + 0xa8],0x0 JNZ LAB_00133a0c NOP dword ptr [RAX] LAB_00133af0: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() JMP LAB_00133a0c ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_00133b08: MOV ESI,0x1 MOV EDI,0x1 CALL .plt:_GENOS_Assert ;undefined _GENOS_Assert() JMP LAB_001339f5 ?? 0Fh Actual src: VOID IntelGen_HwAddMediaObjectCmdBb_g75(PGENHW_HW_INTERFACE pHwInterface, PGENHW_BATCH_BUFFER pBatchBuffer, PGENHW_HW_MEDIAOBJECT_PARAM pParam) { PBYTE pBuffer; PMEDIA_OBJECT_HEADER_G6 pCmd; GENHW_HW_ASSERT(pHwInterface); GENHW_HW_ASSERT(pBatchBuffer); GENHW_HW_ASSERT(pBatchBuffer->pData); GENHW_HW_ASSERT(pParam); GENHW_HW_ASSERT(pParam->dwMediaObjectSize >= sizeof(MEDIA_OBJECT_HEADER_G6)); GENHW_HW_ASSERT((pBatchBuffer->iSize - pBatchBuffer->iCurrent) >= (long)sizeof(MEDIA_OBJECT_HEADER_G6)); pBuffer = pBatchBuffer->pData + pBatchBuffer->iCurrent; pCmd = (PMEDIA_OBJECT_HEADER_G6) pBuffer; *pCmd = g_cInit_MEDIA_OBJECT_HEADER_G6; pCmd->DW0.DWordLength = OP_LENGTH(SIZE_IN_DW(pParam->dwMediaObjectSize)); pCmd->DW1.InterfaceDescriptorOffset = pParam->dwIDOffset; pBatchBuffer->iCurrent += sizeof(MEDIA_OBJECT_HEADER_G6); } Predicted src: void _G_Init(G_GNUC_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_GNUC_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G_UNUSED G