============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rpmfiFMode() MOV ESI,0xffffffff TEST RDI,RDI JZ LAB_00141700 MOV ESI,dword ptr [RDI] MOV RDI,qword ptr [RDI + 0x28] LAB_00141700: JMP .plt:rpmfilesFMode ;undefined rpmfilesFMode() ?? 66h f Actual src: RPMFI_ITERFUNC(rpm_mode_t, FMode, i) Predicted src: static void ModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeModeMod ============================== Sample 2 ============================== 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: static void _Init_Init_Init (G_GNUC_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 G G G_UNUSED G G G_UNUSED G G G G_GNUC_UNUSED G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined view_finalize() PUSH RBP MOV RBP,RDI CALL .plt:gal_view_get_type ;undefined gal_view_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_instance_get_private ;undefined g_type_instance_get_private() MOV RDI,qword ptr [RAX] CALL .plt.got:::g_free ;undefined g_free() MOV RDI,qword ptr [.bss:gal_view_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP POP RBP MOV RAX,qword ptr [RAX + 0x30] JMP RAX ?? 66h f Actual src: static void view_finalize (GObject *object) { GalViewPrivate *priv; priv = GAL_VIEW_GET_PRIVATE (object); g_free (priv->title); /* Chain up to parent's finalize() method. */ G_OBJECT_CLASS (gal_view_parent_class)->finalize (object); } Predicted src: static void gimp_view_finalize (GObject *object) { G_OBJECT_CLASS (parent_class)->finalize (object); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gimp_curves_tool_key_press() PUSH R13 MOV R13,RDX PUSH R12 MOV R12,RSI PUSH RBP MOV RBP,RDI CALL gimp_curves_tool_get_type ;undefined gimp_curves_tool_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() CMP qword ptr [RBP + 0x58],0x0 JZ LAB_0024f7fd MOV RDI,qword ptr [RAX + 0x2c8] TEST RDI,RDI JZ LAB_0024f7fd MOV RSI,R12 CALL .plt:::gtk_widget_event ;undefined gtk_widget_event() TEST EAX,EAX JNZ LAB_0024f830 LAB_0024f7fd: CALL gimp_tool_get_type ;undefined gimp_tool_get_type() MOV RDI,qword ptr [.bss:gimp_curves_tool_parent_class] MOV RSI,RAX CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDX,R13 MOV RSI,R12 MOV RDI,RBP MOV RAX,qword ptr [RAX + 0xd8] POP RBP POP R12 POP R13 JMP RAX ?? 0Fh ;? -> 00841f0f ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0024f830: POP RBP MOV EAX,0x1 POP R12 POP R13 RET ?? 0Fh Actual src: static gboolean gimp_curves_tool_key_press (GimpTool *tool, GdkEventKey *kevent, GimpDisplay *display) { GimpCurvesTool *c_tool = GIMP_CURVES_TOOL (tool); if (tool->display && c_tool->graph) { if (gtk_widget_event (c_tool->graph, (GdkEvent *) kevent)) return TRUE; } return GIMP_TOOL_CLASS (parent_class)->key_press (tool, kevent, display); } Predicted src: static gboolean gimp_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tool_tooltool_tooltool_tooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltooltoo ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined view_finalize() PUSH RBP MOV RBP,RDI CALL .plt:gal_view_get_type ;undefined gal_view_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_instance_get_private ;undefined g_type_instance_get_private() MOV RDI,qword ptr [RAX] CALL .plt.got:::g_free ;undefined g_free() MOV RDI,qword ptr [.bss:gal_view_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP POP RBP MOV RAX,qword ptr [RAX + 0x30] JMP RAX ?? 66h f Actual src: static void view_finalize (GObject *object) { GalViewPrivate *priv; priv = GAL_VIEW_GET_PRIVATE (object); g_free (priv->title); /* Chain up to parent's finalize() method. */ G_OBJECT_CLASS (gal_view_parent_class)->finalize (object); } Predicted src: static void e_view_finalize (GObject *object) { e_view_finalize (object); e_view_free (e_view_parent_class)->finalize (object); }