============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined svt_av1_highbd_convolve_2d_copy_sr_c() TEST R9D,R9D JLE LAB_00149d91 PUSH R14 MOV R14D,R8D XOR R11D,R11D XOR R8D,R8D PUSH R13 XOR R10D,R10D MOV R13D,ECX PUSH R12 MOV R12,RDX PUSH RBP MOV EBP,ESI PUSH RBX MOV RBX,RDI MOVSXD RDI,R14D NOP word ptr [RAX + RAX*0x1] LAB_00149d50: TEST R14D,R14D JLE LAB_00149d79 MOVSXD RAX,R11D LEA RSI,[RBX + RAX*0x2] MOVSXD RAX,R8D LEA RCX,[R12 + RAX*0x2] XOR EAX,EAX NOP dword ptr [RAX] LAB_00149d68: MOVZX EDX,word ptr [RSI + RAX*0x2] MOV word ptr [RCX + RAX*0x2],DX ADD RAX,0x1 CMP RDI,RAX JNZ LAB_00149d68 LAB_00149d79: ADD R10D,0x1 ADD R11D,EBP ADD R8D,R13D CMP R9D,R10D JNZ LAB_00149d50 POP RBX POP RBP POP R12 POP R13 POP R14 RET LAB_00149d91: RET ?? 66h f Actual src: void svt_av1_highbd_convolve_2d_copy_sr_c(const uint16_t *src, int32_t src_stride, uint16_t *dst, int32_t dst_stride, int32_t w, int32_t h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int32_t subpel_x_q4, const int32_t subpel_y_q4, ConvolveParams *conv_params, int32_t bd) { (void)filter_params_x; (void)filter_params_y; (void)subpel_x_q4; (void)subpel_y_q4; (void)conv_params; (void)bd; for (int32_t y = 0; y < h; ++y) { for (int32_t x = 0; x < w; ++x) dst[y * dst_stride + x] = src[y * src_stride + x]; } } Predicted src: intra_pred_highbd_sized(copy, 64, 64) ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* Digikam::ImportItemModel::camItemInfoRef(QModelIndex const&) const * ;************************************************************************************************************************************************************ ;undefined camItemInfoRef(ImportItemModel * this, QModelIndex * param_1) ;this ImportItemM... RDI ;param_1 QModelIndex * RSI PUSH RBP PUSH RBX SUB RSP,0x8 MOVSXD RBP,dword ptr [param_1] MOV RBX,qword ptr [this + 0x20] TEST EBP,EBP JS LAB_005bc3c0 MOV EAX,dword ptr [param_1 + 0x4] TEST EAX,EAX JS LAB_005bc3c0 CMP qword ptr [param_1 + 0x10],0x0 JZ LAB_005bc3c0 MOV RAX,qword ptr [RBX + 0x8] MOV EDX,dword ptr [RAX + 0xc] SUB EDX,dword ptr [RAX + 0x8] CMP EBP,EDX JGE LAB_005bc3c0 MOV EDX,dword ptr [RAX] CMP EDX,0x1 JBE LAB_005bc3a4 MOV param_1,dword ptr [RAX + 0x4] LEA this,[RBX + 0x8] CALL QList::detach_helper ;undefined detach_helper(int param_1) MOV RAX,qword ptr [RBX + 0x8] LAB_005bc3a4: MOVSXD RDX,dword ptr [RAX + 0x8] ADD RDX,RBP MOV RAX,qword ptr [RAX + RDX*0x8 + 0x10] ADD RSP,0x8 POP RBX POP RBP RET ?? 66h f ?? 0Fh ;? -> 00841f0f ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_005bc3c0: ADD RSP,0x8 LEA RAX,[RBX + 0x10] POP RBX POP RBP RET ?? 90h Actual src: CamItemInfo& ImportItemModel::camItemInfoRef(const QModelIndex& index) const { if (!d->isValid(index)) { return d->camItemInfo; } return d->infos[index.row()]; } Predicted src: void ItemItemDelegate::slotItem(const QModelIndex &index) const { if (index.isValid()) return; Q_UNUSED(index.isValid()); Q_UNUSED(index.isValid()); Q_UNUSED(index.isValid()); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* CL_CommandLine_Generic::next() * ;************************************************************************************************************************************************************ ;undefined next(CL_CommandLine_Generic * this) ;this CL_CommandL... RDI MOV RDX,qword ptr [this + 0x48] MOV RAX,qword ptr [this + 0x58] CMP RAX,RDX JZ LAB_0014f790 ADD RAX,0x28 CMP RDX,RAX MOV qword ptr [this + 0x58],RAX SETNZ AL RET ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_0014f790: MOV RDX,qword ptr [this + 0x40] CMP RAX,RDX MOV qword ptr [this + 0x58],RDX SETNZ AL RET ?? 90h Actual src: bool CL_CommandLine_Generic::next() { if (current_option == parsed_options.end()) { (current_option = parsed_options.begin()); return current_option!= parsed_options.end(); } else { return (++current_option)!= parsed_options.end(); } } Predicted src: bool Command_Command::next_next() { if (next_ == 0) return true; return (next_ == 0); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined mbim_sim_init() LEA RDI,[.data.rel.ro:driver] JMP ofono_sim_driver_register ;undefined ofono_sim_driver_register() ?? 0Fh Actual src: void mbim_sim_init(void) { ofono_sim_driver_register(&driver); } Predicted src: void ofono_driver_init(void) { ofono_driver_register(&driver); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined ioe_err_free() PUSH RBX MOV RBX,RDI MOV RDI,qword ptr [RDI] CALL .plt:free ;void free(void * __ptr) MOV RDI,qword ptr [RBX + 0x10] POP RBX JMP .plt:free ;void free(void * __ptr) ?? 66h f Actual src: void ioe_err_free(ioe_err_t *err) { free(err->path); free(err->msg); } Predicted src: void err_free(err_t *err) { free(err->data); free(err); }