============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* opencl_device::KernelLauncher::AccumulateFactorsAutoScaling(_cl_mem*, _cl_mem*, _cl_mem*, unsigned int, unsigned int, unsigned int) * ;************************************************************************************************************************************************************ ;undefined AccumulateFactorsAutoScaling(KernelLauncher * this, _cl_mem * param_1, _cl_mem * param_2, _cl_mem * param_3, uint param_4, uint param_5, uint param_6) ;this KernelLaunc... RDI ;param_1 _cl_mem * RSI ;param_2 _cl_mem * RDX ;param_3 _cl_mem * RCX ;param_4 uint R8D ;param_5 uint R9D ;param_6 uint 8 PUSH R12 MOV EAX,dword ptr [RSP + param_6+0x8] MOV R10,param_1 MOV R11,param_2 MOV R12,param_3 MOV param_2,qword ptr [this + 0x228] MOV param_3,dword ptr [this + 0x230] MOV param_1,qword ptr [this + 0x130] PUSH RAX XOR EAX,EAX PUSH param_5 PUSH param_4 PUSH R12 PUSH R11 PUSH R10 PUSH 0x6 PUSH 0x3 MOV param_4,qword ptr [this + 0x234] MOV param_5,dword ptr [this + 0x23c] MOV this,qword ptr [this] CALL .plt:opencl_device::GPUInterface::LaunchKernel ;undefined LaunchKernel(_cl_kernel *... ADD RSP,0x40 POP R12 RET ?? 90h Actual src: void KernelLauncher::AccumulateFactorsAutoScaling(GPUPtr dScalingFactors, GPUPtr dNodePtrQueue, GPUPtr dRootScalingFactors, unsigned int nodeCount, unsigned int patternCount, unsigned int scaleBufferSize) { #ifdef BEAGLE_DEBUG_FLOW fprintf(stderr, "\t\tEntering KernelLauncher::AccumulateFactorsAutoScaling\n"); #endif int parameterCountV = 3; int totalParameterCount = 6; gpu->LaunchKernel(fAccumulateFactorsAutoScaling, bgAccumulateBlock, bgAccumulateGrid, parameterCountV, totalParameterCount, dScalingFactors, dNodePtrQueue, dRootScalingFactors, nodeCount, patternCount, scaleBufferSize); #ifdef BEAGLE_DEBUG_FLOW fprintf(stderr, "\t\tLeaving KernelLauncher::AccumulateFactorsAutoScaling\n"); #endif } Predicted src: int _device_memmem_mem_mem(uint32_t *memmem_mem_mem, uint32_t *mem_mem_mem_mem_mem_mem_mem, uint32_t *mem_mem_mem_mem_mem_mem_mem_mem, uint32_t *mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem, uint32_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_mem_memmem_mem_memmem_memmem_memmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemme ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined PAINT_OT_vertex_paint() LEA RAX,[.rodata:s_Vertex_Paint_03a79e7d] ;= "Vertex Paint" MOV qword ptr [RDI],RAX=>.rodata:s_Vertex_Paint_03a79e7d ;= "Vertex Paint" LEA RAX,[.rodata:s_PAINT_OT_vertex_paint_03adedf7] ;= "PAINT_OT_vertex_paint" MOV qword ptr [RDI + 0x8],RAX=>.rodata:s_PAINT_OT_vertex_paint_03adedf7 ;= "PAINT_OT_vertex_paint" LEA RAX,[.rodata:s_Paint_a_stroke_in_the_active_ver_03bb3768] ;= "Paint a stroke in the active vert... MOV qword ptr [RDI + 0x18],RAX=>.rodata:s_Paint_a_stroke_in_the_active_ver_03bb3768 ;= "Paint a stroke in the active vert... LEA RAX,[vpaint_invoke] MOV qword ptr [RDI + 0x38],RAX=>vpaint_invoke LEA RAX,[paint_stroke_modal] MOV qword ptr [RDI + 0x48],RAX=>paint_stroke_modal LEA RAX,[vpaint_exec] MOV qword ptr [RDI + 0x28],RAX=>vpaint_exec LEA RAX,[vertex_paint_poll] MOV qword ptr [RDI + 0x50],RAX=>vertex_paint_poll LEA RAX,[vpaint_cancel] MOV qword ptr [RDI + 0x40],RAX=>vpaint_cancel MOV EAX,0x6 MOV word ptr [RDI + 0xd0],AX JMP paint_stroke_operator_properties ;undefined paint_stroke_operator_prop... ?? 0Fh ;? -> 00841f0f Actual src: void PAINT_OT_vertex_paint(wmOperatorType *ot) { /* identifiers */ ot->name = "Vertex Paint"; ot->idname = "PAINT_OT_vertex_paint"; ot->description = "Paint a stroke in the active vertex color layer"; /* api callbacks */ ot->invoke = vpaint_invoke; ot->modal = paint_stroke_modal; ot->exec = vpaint_exec; ot->poll = vertex_paint_poll; ot->cancel = vpaint_cancel; /* flags */ ot->flag = OPTYPE_UNDO | OPTYPE_BLOCKING; paint_stroke_operator_properties(ot); } Predicted src: void WM_OT_OT_active_active(wmOperatorType *ot) { /* identifiers */ ot->name = "Set"; ot->idname = "OBJECT_OT_active_active_active"; ot->description = "OBJECT_OT_active_active"; /* api callbacks */ ot->exec = OPTYPE_REGISTER | OPTYPE_UNDO; ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; ot->poll = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* flags */ RNA_def_enum(ot->srna, "active", ""); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined AuthorityInfoAccess_new() PUSH R12 XOR ESI,ESI PUSH RBX MOV RBX,RDI SUB RSP,0x8 CALL qword ptr [RDI + 0x130] MOV R12,RAX TEST RAX,RAX JZ LAB_00116097 MOV EDI,0x800 CALL .plt:::PORT_NewArena ;undefined PORT_NewArena() MOV qword ptr [R12 + 0x10],RAX TEST RAX,RAX JZ LAB_001160a8 MOV qword ptr [R12 + 0x18],0x0 LAB_00116097: ADD RSP,0x8 MOV RAX,R12 POP RBX POP R12 RET ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001160a8: MOV RDI,R12 CALL qword ptr [RBX + 0x140] ADD RSP,0x8 XOR EDI,EDI XOR EAX,EAX POP RBX POP R12 JMP qword ptr [.bss:nspr_error_c_api[8]] ?? 66h f Actual src: static PyObject * AuthorityInfoAccess_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { AuthorityInfoAccess *self; TraceObjNewEnter(type); if ((self = (AuthorityInfoAccess *)type->tp_alloc(type, 0)) == NULL) { return NULL; } if ((self->arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE)) == NULL) { type->tp_free(self); return set_nspr_error(NULL); } self->aia = NULL; TraceObjNewLeave(self); return (PyObject *)self; } Predicted src: static PyObject * nsns_new(PyObject *self, PyObject *args) { PyObject *self = NULL; if (!PyArg_ParseTuple(args, "O:nsns", NULL)) return NULL; self = (nsns_ns *)nsnsns_New(sizeof(nsnsnsns)); if (self == NULL) { PyErr_SetString(PyExc_ValueError, "nsnsnsns_new"); return NULL; } self->nsns = NULL; return self; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* SurfaceGui::TaskGeomFillSurface::accept() * ;************************************************************************************************************************************************************ ;undefined accept(void) MOV RDI,qword ptr [RDI + 0x58] JMP .plt:LAB_00129b10 ?? 90h Actual src: bool TaskGeomFillSurface::accept() { return widget->accept(); } Predicted src: void GSurfaceSurface::SurfaceSurfaceSurfaceSurface() { d->SurfaceSurfaceSurface->SurfaceSurfaceSurfaceSurface(); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* ONScripter::brCommand() * ;************************************************************************************************************************************************************ ;undefined brCommand(ONScripter * this) ;this ONScripter * RDI PUSH R12 MOV ESI,0x1 PUSH RBP PUSH RBX MOV RBX,this CALL ONScripter::enterTextDisplayMode ;undefined enterTextDisplayMode(ONScr... LEA this,[RBX + 0xcb8] CALL FontInfo::newLine ;undefined newLine(FontInfo * this) MOV RBX,qword ptr [RBX + 0xbf8] MOVSXD RDX,dword ptr [RBX + 0x1c] MOV this,dword ptr [RBX + 0x18] CMP EDX,this JGE LAB_00124540 MOV RBP,qword ptr [RBX + 0x10] LAB_00124523: LEA EAX,[RDX + 0x1] MOV dword ptr [RBX + 0x1c],EAX MOV EAX,0x2 MOV byte ptr [RBP + RDX*0x1],0xa POP RBX POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00124540: ADD this,this MOVSXD this,this CALL .plt:::operator.new[] ;void * operator.new[](ulong param_1) MOV R12,qword ptr [RBX + 0x10] MOVSXD RDX,dword ptr [RBX + 0x18] MOV this,RAX MOV RBP,RAX MOV RSI,R12 CALL .plt:::memcpy ;void * memcpy(void * __dest, void *... MOV this,R12 CALL .plt:::operator.delete[] ;void operator.delete[](void * param_1) MOV qword ptr [RBX + 0x10],RBP MOVSXD RDX,dword ptr [RBX + 0x1c] SHL dword ptr [RBX + 0x18],1 JMP LAB_00124523 ?? 90h Actual src: int ONScripter::brCommand() { enterTextDisplayMode(); sentence_font.newLine(); current_page->add( 0x0a ); return RET_CONTINUE; } Predicted src: void LineLine::text() { if (m_text) { m_text = m_text; m_text = m_text; } else { m_text = m_text; m_text = m_text; m_text = m_text; m_text = m_text; } }