============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined CPyDef_default___DefaultPlugin() PUSH R12 XOR ESI,ESI PUSH RBP MOV RBP,RDI SUB RSP,0x8 MOV RAX,qword ptr [->CPyType_default___DefaultPlugin] ;= 015dabc8 MOV RAX=>.bss:CPyType_default___DefaultPlugin,qword ptr [RAX] ;=?? MOV RDI,RAX CALL qword ptr [RAX + 0x130] TEST RAX,RAX JZ LAB_006a5967 MOV R12,RAX LEA RAX,[.bss:default___DefaultPlugin_vtable] ;=?? MOVDQA XMM0,xmmword ptr [.rodata:tuple_undefined_T2II] MOV RSI,RBP MOV qword ptr [R12 + 0x10],RAX=>.bss:default___DefaultPlugin_vtable ;=?? MOV RDI,R12 MOV qword ptr [R12 + 0x18],0x0 MOV qword ptr [R12 + 0x20],0x0 MOVUPS xmmword ptr [R12 + 0x28],XMM0 CALL CPyDef_plugin___Plugin_____init__ ;undefined CPyDef_plugin___Plugin____... CMP AL,0x2 JZ LAB_006a5960 ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 00h LAB_006a5960: SUB qword ptr [R12],0x1 JZ LAB_006a5978 LAB_006a5967: XOR R12D,R12D ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 00h LAB_006a5978: MOV RDI,R12 CALL .plt:_Py_Dealloc ;undefined _Py_Dealloc() ?? EBh ?? E5h ?? 66h f Actual src: PyObject *CPyDef_default___DefaultPlugin(PyObject *cpy_r_options) { PyObject *self = default___DefaultPlugin_setup(CPyType_default___DefaultPlugin); if (self == NULL) return NULL; char res = CPyDef_plugin___Plugin_____init__(self, cpy_r_options); if (res == 2) { Py_DECREF(self); return NULL; } return self; } Predicted src: PyObject *CPyDef_plugin___init__(PyObject *self, PyObject *const *args, size_t nargs) { PyObject *obj_self = self; static const char * const kwlist[] = {"init", 0}; static CPyArg_Parser parser = {"O:init", kwlist, 0}; if (!CPyArg_ParseStackAndKeywordsOneArg(args, nargs, &parser, &obj_self)) { return NULL; } PyObject *arg_self; if (likely(Py_TYPE(obj_self) == CPyType_plugin___init)) arg_self = obj_self; else { CPy_TypeError("mypy.init.init", obj_self); goto fail; } PyObject *retval = CPyDef_plugin___init__(arg_self); return retval; fail: ; CPy_AddTraceback("mypy/init.py", "init", NULL); return NULL; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _wrap_svn_error_t_line_get() ;local_10 undefined8 -10 ;local_18 undefined8 -18 PUSH RBX MOV RDI,RSI MOV ECX,0x1 MOV EDX,0x1 LEA RSI,[.rodata:s_svn_error_t_line_get_00177235] ;= "svn_error_t_line_get" SUB RSP,0x10 MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_10+0x18],RAX XOR EAX,EAX MOV R8,RSP MOV qword ptr [RSP]=>local_18,0x0 CALL .plt:PyArg_UnpackTuple ;undefined PyArg_UnpackTuple() TEST EAX,EAX JZ LAB_00121280 MOV RSI,qword ptr [.bss:swig_types[992]] MOV RDI,qword ptr [RSP]=>local_18 MOV EDX,0x1 CALL .plt:::svn_swig_py_must_get_ptr ;undefined svn_swig_py_must_get_ptr() MOV RBX,RAX CALL .plt:PyErr_Occurred ;undefined PyErr_Occurred() TEST RAX,RAX JNZ LAB_00121280 MOV RDI,qword ptr [RBX + 0x28] CALL .plt:PyLong_FromLong ;undefined PyLong_FromLong() JMP LAB_00121282 ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00121280: XOR EAX,EAX LAB_00121282: MOV RDX,qword ptr [RSP + local_10+0x18] SUB RDX,qword ptr FS:[0x28] JNZ LAB_00121298 ADD RSP,0x10 POP RBX RET LAB_00121298: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP dword ptr [RAX] Actual src: SWIGINTERN PyObject *_wrap_svn_error_t_line_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; struct svn_error_t *arg1 = (struct svn_error_t *) 0 ; PyObject * obj0 = 0 ; long result; if (!PyArg_UnpackTuple(args, "svn_error_t_line_get", 1, 1, &obj0)) SWIG_fail; { arg1 = (struct svn_error_t *)svn_swig_py_must_get_ptr(obj0, SWIGTYPE_p_svn_error_t, svn_argnum_obj0); if (PyErr_Occurred()) { SWIG_fail; } } result = (long) ((arg1)->line); resultobj = SWIG_From_long((long)(result)); return resultobj; fail: return NULL; } Predicted src: SWIGINTERN PyObject *_wrap_svn_svn_error_t_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; struct svn_error_t *arg1 = (struct svn_error_t *) 0 ; void *argp1 = 0 ; PyObject *swig_obj[1] ; if (!args) SWIG_fail; swig_obj[0] = args; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_svn_error_t, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_error_get_error" "', argument " "1"" of type '" "svn_error_t *""'"); } arg1 = (struct svn_error_t *)(argp1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_svn_error_t, 0 | 0 ); return resultobj; fail: return NULL; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined xxmc_unlock_surfaces() PUSH RBP LEA RBP,[RDI + 0x1470] PUSH RBX MOV RBX,RDI MOV RDI,RBP SUB RSP,0x8 CALL .plt:::pthread_mutex_lock ;int pthread_mutex_lock(pthread_mutex... MOV EAX,dword ptr [RBX + 0x14c8] TEST EAX,EAX JLE LAB_0010628d SUB EAX,0x1 MOV dword ptr [RBX + 0x14c8],EAX JZ LAB_001062a0 LAB_0010628d: ADD RSP,0x8 MOV RDI,RBP POP RBX POP RBP JMP .plt:::pthread_mutex_unlock ;int pthread_mutex_unlock(pthread_mut... ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001062a0: LEA RDI,[RBX + 0x1498] CALL .plt:::pthread_cond_broadcast ;int pthread_cond_broadcast(pthread_c... ADD RSP,0x8 MOV RDI,RBP POP RBX POP RBP JMP .plt:::pthread_mutex_unlock ;int pthread_mutex_unlock(pthread_mut... ?? 66h f Actual src: static void xxmc_unlock_surfaces(vo_driver_t *this_gen) { xxmc_driver_t *driver = (xxmc_driver_t *) this_gen; xvmc_context_reader_unlock( &driver->xvmc_lock ); } Predicted src: void pthread_cond_wait(struct pthread_cond *cond) { pthread_cond_cond_lock(&cond->cond); pthread_cond_cond_lock(&cond->cond); pthread_cond_cond_cond_cond(&cond->cond); pthread_cond_cond_cond_cond(&cond->cond); pthread_cond_cond_cond_cond_cond(&cond->cond); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rowind_set_cb() PUSH R12 MOV R12,RDI PUSH RBP MOV RBP,RSI SUB RSP,0x8 CALL .plt:::gtk_combo_box_get_type ;undefined gtk_combo_box_get_type() MOV RDI,R12 MOV RSI,RAX CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV RDI,RAX CALL .plt:::gtk_combo_box_get_active ;undefined gtk_combo_box_get_active() ADD RSP,0x8 MOV RSI,RBP MOV EDI,EAX POP RBP POP R12 JMP .plt:LAB_0012c340 ?? 66h f Actual src: static void rowind_set_cb (GtkWidget *w, ggobid *gg) { rowind_set (gtk_combo_box_get_active(GTK_COMBO_BOX(w)), gg); } Predicted src: static void set_box_cb (GtkWidget *w, gpointer user_data) { gtk_combo_box_set_active (GTK_COMBO_BOX (user_data))); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* pugi::xml_node::hash_value() const * ;************************************************************************************************************************************************************ ;undefined hash_value(xml_node * this) ;this xml_node * RDI MOV RAX,qword ptr [this] SHR RAX,0x6 RET ?? 0Fh Actual src: size_t xml_node::hash_value() const { return static_cast(reinterpret_cast(_root) / sizeof(xml_node_struct)); } Predicted src: const std::string& value_value::value_value() const { return m_value->value; }