============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* vtkArrayDataAlgorithm::FillInputPortInformation(int, vtkInformation*) * ;************************************************************************************************************************************************************ ;undefined FillInputPortInformation(vtkArrayDataAlgorithm * this, int param_1, vtkInformation * param_2) ;this vtkArrayDat... RDI ;param_1 int ESI ;param_2 vtkInformat... RDX PUSH RBP MOV RBP,param_2 CALL .plt:vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE ;undefined INPUT_REQUIRED_DATA_TYPE(v... MOV this,RBP XOR ECX,ECX LEA param_2,[.rodata:s_vtkArrayData_0017a965] ;= "vtkArrayData" MOV param_1,RAX CALL .plt:::vtkInformation::Set ;undefined Set(vtkInformationStringVe... MOV EAX,0x1 POP RBP RET ?? 66h f Actual src: int vtkArrayDataAlgorithm::FillInputPortInformation( int vtkNotUsed(port), vtkInformation* info) { info->Set(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkArrayData"); return 1; } Predicted src: int vtkImageImage::PrintSelf(int argc, char **argv) { this->Superclass::PrintSelf(argc, argv, argv); return 1; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _proxy__wrap_new_hamlib_port_post_write_date() PUSH RBP MOV ESI,0x1 MOV RBP,RDI CALL .plt:lua_type ;undefined lua_type() CMP EAX,0x5 JNZ LAB_001243a6 XOR EDX,EDX LEA RSI,[_wrap_new_hamlib_port_post_write_date] MOV RDI,RBP CALL .plt:lua_pushcclosure ;undefined lua_pushcclosure() MOV ESI,0xffffffff MOV RDI,RBP CALL .plt:lua_type ;undefined lua_type() TEST EAX,EAX JZ LAB_001243c5 MOV ESI,0x1 MOV RDI,RBP CALL .plt:lua_replace ;undefined lua_replace() MOV RDI,RBP CALL .plt:lua_gettop ;undefined lua_gettop() MOV RDI,RBP XOR R8D,R8D XOR ECX,ECX LEA ESI,[RAX + -0x1] MOV EDX,0x1 CALL .plt:lua_callk ;undefined lua_callk() MOV EAX,0x1 POP RBP RET LAB_001243a6: LEA RCX,[.rodata:__PRETTY_FUNCTION__.54] ;= "_proxy__wrap_new_hamlib_port_post... MOV EDX,0x5576 LEA RSI,[.rodata:s_hamliblua_wrap.c_001d2000] ;= "hamliblua_wrap.c" LEA RDI,[.rodata:s_lua_istable(L,1)_001d2096] ;= "lua_istable(L,1)" CALL .plt:::__assert_fail ;void __assert_fail(char * __assertio... LAB_001243c5: LEA RCX,[.rodata:__PRETTY_FUNCTION__.54] ;= "_proxy__wrap_new_hamlib_port_post... MOV EDX,0x5578 LEA RSI,[.rodata:s_hamliblua_wrap.c_001d2000] ;= "hamliblua_wrap.c" LEA RDI,[.rodata:s_!lua_isnil(L,-1)_001d20a7] ;= "!lua_isnil(L,-1)" CALL .plt:::__assert_fail ;void __assert_fail(char * __assertio... NOP dword ptr CS:[RAX + RAX*0x1] Actual src: static int _proxy__wrap_new_hamlib_port_post_write_date(lua_State *L) { assert(lua_istable(L,1)); lua_pushcfunction(L,_wrap_new_hamlib_port_post_write_date); assert(!lua_isnil(L,-1)); lua_replace(L,1); /* replace our table with real constructor */ lua_call(L,lua_gettop(L)-1,1); return 1; } Predicted src: static int _lua_lua_lua_lua_lua_lua_lua_lua_lua_lua (lua_State *L) { lua_lua_State *L; lua_lua_lua_State *L; lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_lua_lua_State *L; lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua = lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua_lua(L, -1); lua_lua_lua_lua_lua_lu ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined scg_create_reverse() PUSH R14 PUSH R13 PUSH R12 PUSH RBP MOVSXD RBP,EDI PUSH RBX CMP EBP,0xf767 JG LAB_0010cb6e MOV R12D,ESI CMP ESI,0xf767 JG LAB_0010cb28 XOR ESI,ESI MOV EDI,R12D MOV EBX,EDX MOV R13D,ECX CALL .plt:scg_loadcg_no ;undefined scg_loadcg_no() MOV R14,RAX TEST RAX,RAX JZ LAB_0010cb67 MOV EDI,0x18 CALL .plt:::g_malloc ;undefined g_malloc() MOV RDI,qword ptr [R14 + 0x8] LEA ECX,[RBX + RBX*0x1] MOV dword ptr [RAX],0x3 OR ECX,R13D MOV R12,RAX MOV EDX,dword ptr [RDI + 0x8] MOV ESI,dword ptr [RDI + 0x4] MOV dword ptr [RAX + 0x4],EBP MOV dword ptr [RAX + 0x10],0x0 CALL stretch ;undefined stretch() MOV EDI,EBP MOV qword ptr [R12 + 0x8],RAX CALL .plt:scg_free ;undefined scg_free() MOV RAX,qword ptr [->sactprv] ;= 00124820 MOV qword ptr [RAX + RBP*0x8 + 0x2aac8]=>.bss:sactprv[174792],R12 XOR EAX,EAX LAB_0010cb1c: POP RBX POP RBP POP R12 POP R13 POP R14 RET ?? 0Fh ?? 1Fh ?? 00h LAB_0010cb28: MOV RAX,qword ptr [->sys_nextdebuglv] ;= 0034e0c8 LEA RSI,[.rodata:__FUNCTION__.8] ;= "scg_create_reverse" LEA RDI,[.rodata:s_*WARNING*(%s):_0011c308] ;= "*WARNING*(%s): " MOV dword ptr [RAX]=>EXTERNAL:sys_nextdebuglv,0x1 ;=?? XOR EAX,EAX CALL .plt:sys_message ;undefined sys_message() XOR EAX,EAX MOV EDX,0xf768 MOV ESI,R12D LEA RDI,[.rodata:s_no_is_too_large_(should_be_%d_<_%_0011ce40] ;= "no is too large (should be %d < %... CALL .plt:sys_message ;undefined sys_message() MOV EAX,0xffffffff JMP LAB_0010cb1c LAB_0010cb67: MOV EAX,0xffffffff JMP LAB_0010cb1c LAB_0010cb6e: MOV RAX,qword ptr [->sys_nextdebuglv] ;= 0034e0c8 LEA RSI,[.rodata:__FUNCTION__.8] ;= "scg_create_reverse" LEA RDI,[.rodata:s_*WARNING*(%s):_0011c308] ;= "*WARNING*(%s): " MOV dword ptr [RAX]=>EXTERNAL:sys_nextdebuglv,0x1 ;=?? XOR EAX,EAX CALL .plt:sys_message ;undefined sys_message() XOR EAX,EAX MOV EDX,0xf768 MOV ESI,EBP LEA RDI,[.rodata:s_no_is_too_large_(should_be_%d_<_%_0011ce40] ;= "no is too large (should be %d < %... CALL .plt:sys_message ;undefined sys_message() MOV EAX,0xffffffff JMP LAB_0010cb1c ?? 90h Actual src: int scg_create_reverse(int wNumCG, int wNumSrcCG, int wReverseX, int wReverseY) { cginfo_t *i, *srccg; surface_t *src; spcg_assert_no(wNumCG); spcg_assert_no(wNumSrcCG); // ¸µ¤Ë¤¹¤ëCG¤ò»²¾È (LINKCG¤Ê¤éÆɤ߹þ¤ß) if (NULL == (srccg = scg_loadcg_no(wNumSrcCG, FALSE))) { return NG; } i = g_new(cginfo_t, 1); i->type = CG_REVERSE; i->no = wNumCG; i->refcnt = 0; src = srccg->sf; i->sf = stretch(src, src->width, src->height, (wReverseX << 1) | wReverseY); // ¤â¤·Á°¤ËºîÀ®¤·¤¿¤â¤Î¤¬¤¢¤ê¡¢Ì¤³«Êü¤Î¾ì¹ç¤Ï³«Êü scg_free(wNumCG); sact.cg[wNumCG] = i; return OK; } Predicted src: static int cb_cb (int argc, char **argv, char **argv) { int ret; int ret = 0; int ret = 0; int ret = 0; int ret = 0; int ret = 0; if (argc < 0) { ret = g_malloc (argv[0]); ret = -1; } else { ret = -1; } if (argc < 0) { ret = -1; } else { ret = -1; } else { ret = -1; } if (ret < 0) { ret = -1; } else { ret = -1; } if (ret < 0) { ret = -1; } if (ret < 0) { ret = -1; } if (ret < 0) { ret = -1; } return ret; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined fnct_RelateMatch() PUSH R13 PUSH R12 PUSH RBP MOV RBP,RDI PUSH RBX MOV RBX,RDX SUB RSP,0x8 MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? CALL qword ptr [RAX + 0x328] MOV RDI,qword ptr [RBX] MOV R12,RAX MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? CALL qword ptr [RAX + 0x388] CMP EAX,0x3 JNZ LAB_001be1ee MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? MOV RDI,qword ptr [RBX] CALL qword ptr [RAX + 0x368] MOV RDI,qword ptr [RBX + 0x8] MOV R13,RAX MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? CALL qword ptr [RAX + 0x388] CMP EAX,0x3 JZ LAB_001be210 LAB_001be1ee: MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? MOV RDI,RBP MOV ESI,0xffffffff MOV RAX,qword ptr [RAX + 0x290] ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 JMP RAX LAB_001be210: MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? MOV RDI,qword ptr [RBX + 0x8] CALL qword ptr [RAX + 0x368] MOV RDX,RAX TEST R12,R12 JZ LAB_001be258 MOV RSI,R13 MOV RDI,R12 CALL .plt:gaiaIntersectionMatrixPatternMatch_r ;undefined gaiaIntersectionMatrixPatt... MOV ESI,EAX LAB_001be236: MOV RAX,qword ptr [.bss:sqlite3_api] ;=?? MOV RDI,RBP MOV RAX,qword ptr [RAX + 0x290] ADD RSP,0x8 POP RBX POP RBP POP R12 POP R13 JMP RAX ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001be258: MOV RSI,RAX MOV RDI,R13 CALL .plt:gaiaIntersectionMatrixPatternMatch ;undefined gaiaIntersectionMatrixPatt... MOV ESI,EAX JMP LAB_001be236 ?? 66h f Actual src: static void fnct_RelateMatch (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ST_RelateMatch(string matrix, string pattern) / / returns: / 1 if the intersection matrix satisfies the intersection pattern / 0 otherwise / or -1 if any error is encountered */ int ret; const char *matrix; const char *pattern; void *data = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0])!= SQLITE_TEXT) { sqlite3_result_int (context, -1); return; } else matrix = (char *) sqlite3_value_text (argv[0]); if (sqlite3_value_type (argv[1])!= SQLITE_TEXT) { sqlite3_result_int (context, -1); return; } else pattern = (char *) sqlite3_value_text (argv[1]); if (data!= NULL) ret = gaiaIntersectionMatrixPatternMatch_r (data, matrix, pattern); else ret = gaiaIntersectionMatrixPatternMatch (matrix, pattern); sqlite3_result_int (context, ret); } Predicted src: static void kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined _cffi_f_ncplane_greyscale() ;local_20 undefined1 -20 ;local_30 undefined8 -30 ;local_38 undefined8 -38 ;local_40 undefined8 -40 PUSH RBP MOV RBP,RSP PUSH R13 PUSH R12 LEA R13=>local_40,[RBP + -0x38] MOV R12,RSI PUSH RBX MOV RDX,R13 SUB RSP,0x28 MOV RDI,qword ptr [.data:_cffi_types[200]] MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RBP + local_30+0x8],RAX XOR EAX,EAX MOV qword ptr [RBP + local_38+0x8],0x0 CALL qword ptr [.bss:_cffi_exports[184]] TEST RAX,RAX JZ LAB_00142f48 MOV RCX,RAX XOR EAX,EAX CMP RCX,0x280 JBE LAB_00142f28 LAB_00142e96: LEA R8=>local_38,[RBP + -0x30] MOV RDX,R13 MOV RSI,R12 MOV qword ptr [RBP + local_40+0x8],RAX MOV RDI,qword ptr [.data:_cffi_types[200]] CALL _cffi_convert_array_argument ;undefined _cffi_convert_array_argume... TEST EAX,EAX JS LAB_00142f70 MOV RBX,qword ptr [RBP + local_38+0x8] CALL .plt:PyEval_SaveThread ;undefined PyEval_SaveThread() MOV R12,RAX CALL qword ptr [.bss:_cffi_exports[104]] MOV RDI,qword ptr [RBP + local_40+0x8] CALL .plt:ncplane_greyscale ;undefined ncplane_greyscale() CALL qword ptr [.bss:_cffi_exports[112]] MOV RDI,R12 CALL .plt:PyEval_RestoreThread ;undefined PyEval_RestoreThread() TEST RBX,RBX JZ LAB_00142f00 NOP word ptr CS:[RAX + RAX*0x1] LAB_00142ef0: MOV RDI,RBX MOV RBX,qword ptr [RBX] CALL .plt:PyObject_Free ;undefined PyObject_Free() TEST RBX,RBX JNZ LAB_00142ef0 LAB_00142f00: MOV RAX=>EXTERNAL:_Py_NoneStruct,qword ptr [->_Py_NoneStruct] ;= 001807f8 ;=?? ADD qword ptr [RAX]=>EXTERNAL:_Py_NoneStruct,0x1 ;=?? LAB_00142f0b: MOV RDX,qword ptr [RBP + local_30+0x8] SUB RDX,qword ptr FS:[0x28] JNZ LAB_00142f74 LEA RSP=>local_20,[RBP + -0x18] POP RBX POP R12 POP R13 POP RBP RET ?? 0Fh ?? 1Fh ?? 00h LAB_00142f28: LEA RAX,[RCX + 0x17] AND RAX,-0x10 SUB RSP,RAX LEA RAX,[RSP + 0xf] AND RAX,-0x10 JMP LAB_00142e96 ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00142f48: CALL .plt:PyEval_SaveThread ;undefined PyEval_SaveThread() MOV R12,RAX CALL qword ptr [.bss:_cffi_exports[104]] MOV RDI,qword ptr [RBP + local_40+0x8] CALL .plt:ncplane_greyscale ;undefined ncplane_greyscale() CALL qword ptr [.bss:_cffi_exports[112]] MOV RDI,R12 CALL .plt:PyEval_RestoreThread ;undefined PyEval_RestoreThread() JMP LAB_00142f00 ?? 90h LAB_00142f70: XOR EAX,EAX JMP LAB_00142f0b LAB_00142f74: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP dword ptr [RAX] Actual src: static PyObject * _cffi_f_ncplane_greyscale(PyObject *self, PyObject *arg0) { struct ncplane * x0; Py_ssize_t datasize; struct _cffi_freeme_s *large_args_free = NULL; datasize = _cffi_prepare_pointer_call_argument( _cffi_type(25), arg0, (char **)&x0); if (datasize!= 0) { x0 = ((size_t)datasize) <= 640? (struct ncplane *)alloca((size_t)datasize) : NULL; if (_cffi_convert_array_argument(_cffi_type(25), arg0, (char **)&x0, datasize, &large_args_free) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); { ncplane_greyscale(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ if (large_args_free!= NULL) _cffi_free_array_arguments(large_args_free); Py_INCREF(Py_None); return Py_None; } Predicted src: static PyObject * _wrap_array_array_array_array(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject *py_r1; PyObject *py_r1; PyObject *py_r2; PyObject *py_r2; if (!PyArg_ParseTuple(args, (char *) NULL, (char *) NULL, (char **) keywords, &py_r1)) { return NULL; } Py_INCREF(py_r1); Py_INCREF(py_r2); Py_INCREF(py_r1); Py_INCREF(py_r2); Py_INCREF(py_r2); Py_INCREF(py_r2); Py_INCREF(py_r2); Py_INCREF(py_r2); return py_r2; }