============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined measure_select_all() PUSH R12 MOV R12,qword ptr [.bss:sysenv[616]] PUSH RBP PUSH RBX TEST R12,R12 JZ LAB_001513b8 MOV RBX,qword ptr [R12 + 0x168] TEST RBX,RBX JNZ LAB_00151361 JMP LAB_001513a4 ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00151338: TEST EAX,EAX JLE LAB_00151358 MOV RDI,qword ptr [RBP + 0x10] MOV RDX,R12 XOR ESI,ESI CALL select_core ;undefined select_core() MOV RDI,qword ptr [RBP + 0x18] MOV RDX,R12 XOR ESI,ESI CALL select_core ;undefined select_core() LAB_00151358: MOV RBX,qword ptr [RBX + 0x8] TEST RBX,RBX JZ LAB_001513a4 LAB_00151361: MOV RBP,qword ptr [RBX] MOV EAX,dword ptr [RBP] CMP EAX,0x3 JLE LAB_00151338 CMP EAX,0x4 JNZ LAB_00151358 MOV RDI,qword ptr [RBP + 0x10] MOV RDX,R12 XOR ESI,ESI CALL select_core ;undefined select_core() MOV RDI,qword ptr [RBP + 0x18] MOV RDX,R12 XOR ESI,ESI CALL select_core ;undefined select_core() MOV RDI,qword ptr [RBP + 0x20] MOV RDX,R12 XOR ESI,ESI CALL select_core ;undefined select_core() MOV RBX,qword ptr [RBX + 0x8] TEST RBX,RBX JNZ LAB_00151361 LAB_001513a4: POP RBX MOV EDI,0x1 POP RBP POP R12 JMP redraw_canvas ;undefined redraw_canvas() ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001513b8: POP RBX POP RBP POP R12 RET ?? 0Fh Actual src: void measure_select_all(void) { GSList *list; struct model_pak *model; struct measure_pak *m; model = sysenv.active_model; if (!model) return; for (list=model->measure_list ; list ; list=g_slist_next(list)) { m = list->data; switch (m->type) { case MEASURE_INTER: case MEASURE_INTRA: case MEASURE_DISTANCE: select_core(m->core[0], FALSE, model); select_core(m->core[1], FALSE, model); break; case MEASURE_ANGLE: select_core(m->core[0], FALSE, model); select_core(m->core[1], FALSE, model); select_core(m->core[2], FALSE, model); break; } } redraw_canvas(SINGLE); } Predicted src: static void _init (void *data) { int i; for (i = 0; i < n; i++) { for (i = 0; i < n; i++) { for (i = 0; i < n; i++) { if (i >= 0) { if (i < 0) { if (i < 0) { if (i < 0) { if (i < 0) { if (i < 0) { if (i < 0) { if (i < 0) { } } if (i < 0) { } } } } if (i < 0) { } } } } } } } if (i < 0) { } } } } } if (i < 0) { } } } } } } } } } } } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined xdp_screen_cast_set_available_cursor_modes() PUSH R12 MOV R12D,ESI MOV ESI,0x50 CALL .plt:::g_type_check_instance_cast ;undefined g_type_check_instance_cast() MOV EDX,R12D XOR ECX,ECX POP R12 MOV RDI,RAX LEA RSI,[.rodata:s_available-cursor-modes_001a1865] ;= "available-cursor-modes" XOR EAX,EAX JMP .plt:::g_object_set ;undefined g_object_set() ?? 66h f Actual src: void xdp_screen_cast_set_available_cursor_modes (XdpScreenCast *object, guint value) { g_object_set (G_OBJECT (object), "available-cursor-modes", value, NULL); } Predicted src: static void g_set_cb (GtkWidget *object, gpointer user_data) { g_object_set (G_OBJECT (G_OBJECT (object), NULL); } ============================== Sample 3 ============================== 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 void _cb(void *data, void *data) { int i; for (i = 0; i < n; i++) { for (i = 0; i < n; i++) { if (i < 0) { if (i == 0) { if (i < 0) { if (i < 0) { if (i < 0) { if (i < 0) { break; } } } } } } } } } if (i < 0) { } } } } } if (i < 0) { } } if (i < 0) { if (i == 0) { if (i == 0) { } } } } } } } } } } } } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats*, _object*, _object*) * ;************************************************************************************************************************************************************ ;undefined _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats * param_1, _object * param_2, _object * param_3) ;param_1 PyNs3WaveBs... RDI ;param_2 _object * RSI ;param_3 _object * RDX SUB RSP,0x8 MOV param_1,qword ptr [param_1 + 0x10] CALL .plt:::ns3::WaveBsmStats::GetRxPktCount ;undefined GetRxPktCount(void) LEA param_1,[.rodata:DAT_0018e091] ;= 69h i ADD RSP,0x8 MOV param_2,EAX XOR EAX,EAX JMP .plt:_Py_BuildValue_SizeT ;undefined _Py_BuildValue_SizeT() ?? 66h f Actual src: PyObject * _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats *self, PyObject *PYBINDGEN_UNUSED(_args), PyObject *PYBINDGEN_UNUSED(_kwargs)) { PyObject *py_retval; int retval; retval = self->obj->GetRxPktCount(); py_retval = Py_BuildValue((char *) "i", retval); return py_retval; } Predicted src: static PyObject * _wrap_PyNs3d_PyNs3(PyNs3D *self, PyObject *PYBINDGEN_UNUSED(_args), PyObject *PYBINDGEN_UNUSED(_kwargs)) { PyObject *py_retval; PyObject *py_retval; retval = self->obj->obj->obj->obj; py_retval = Py_retval; py_retval = Py_retval; py_retval = Py_retval; py_retval = Py_retval; py_retval = Py_retval; return py_retval; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined stp_parameter_list_param() PUSH RBP MOV RBP,RDI PUSH RBX MOV RBX,RSI SUB RSP,0x8 CALL .plt:stp_list_get_length ;undefined stp_list_get_length() CDQE CMP RAX,RBX JBE LAB_00132548 MOV RDI,RBP MOV ESI,EBX CALL .plt:stp_list_get_item_by_index ;undefined stp_list_get_item_by_index() MOV RDI,RAX TEST RAX,RAX JZ LAB_00132548 ADD RSP,0x8 POP RBX POP RBP JMP .plt:stp_list_item_get_data ;undefined stp_list_item_get_data() ?? 0Fh ?? 1Fh ?? 00h LAB_00132548: ADD RSP,0x8 XOR EAX,EAX POP RBX POP RBP RET ?? 66h f Actual src: const stp_parameter_t * stp_parameter_list_param(stp_const_parameter_list_t list, size_t item) { const stp_list_t *ilist = (const stp_list_t *)list; stp_list_item_t *i = NULL; if (item >= stp_list_get_length(ilist)) return NULL; else { i = stp_list_get_item_by_index(ilist, item); if (i == NULL) return NULL; return (const stp_parameter_t *) stp_list_item_get_data(i); } } Predicted src: static void list_list_list_list_list_list_list_list_list(const char *name) { int i; for (i = 0; i < n_list_list_list_list; i++) { if (list_list_list_list_list_list_list_list_list_list_list_list(list, i)) return; } }