============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gwy_nlfit_preset_get_formula() PUSH RBX TEST RDI,RDI JZ LAB_001293a8 MOV RBX,RDI CALL .plt:gwy_nlfit_preset_get_type ;undefined gwy_nlfit_preset_get_type() MOV RSI,RAX MOV RAX,qword ptr [RBX] TEST RAX,RAX JZ LAB_0012938e CMP qword ptr [RAX],RSI JZ LAB_0012939a LAB_0012938e: MOV RDI,RBX CALL .plt:::g_type_check_instance_is_a ;undefined g_type_check_instance_is_a() TEST EAX,EAX JZ LAB_001293a8 LAB_0012939a: MOV RAX,qword ptr [RBX + 0x50] POP RBX MOV RAX,qword ptr [RAX + 0x8] RET ?? 0Fh ?? 1Fh ?? 40h @ ?? 00h LAB_001293a8: LEA RDX,[.rodata:s_GWY_IS_NLFIT_PRESET(preset)_0014036d] ;= "GWY_IS_NLFIT_PRESET(preset)" LEA RSI,[.rodata:__func__.7] ;= "gwy_nlfit_preset_get_formula" LEA RDI,[.rodata:s_Gwyddion_0013d038] ;= "Gwyddion" CALL .plt:::g_return_if_fail_warning ;undefined g_return_if_fail_warning() LEA RAX,[.rodata:s__0013e07a+11] ;= "" POP RBX RET ?? 0Fh Actual src: const gchar* gwy_nlfit_preset_get_formula(GwyNLFitPreset* preset) { g_return_val_if_fail(GWY_IS_NLFIT_PRESET(preset), ""); /* FIXME: builtin */ return preset->builtin->formula; } Predicted src: const gchar * gwy_data_get_n(GwyData *data) { g_return_val_if_fail(GWY_IS_data_get_n(data), NULL); return data->n; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined wvprintfx() JMP trio_vprintf ?? 66h f Actual src: int wvprintfx(const char* fmt, va_list args) { return trio_vprintf(fmt, args); } Predicted src: static void ioio(const char *filename) { ioio(filename); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined main() SUB RSP,0x8 XOR EAX,EAX CALL unitTestTEXT ;undefined unitTestTEXT() MOV EDI,EAX CALL .plt:::exit ;void exit(int __status) NOP word ptr CS:[RAX + RAX*0x1] Actual src: int main(int argc, char **argv){ int error; error = unitTestTEXT(); // error += unitTestNetADT((TEXT *)"ab (cd) fr- (ag-)"); // { TEXT txt[10]; txt[0] = 0x25; txt[1] = 0xd8; txt[2] = 0xaa; txt[3] = 0xd8; txt[4] = 0xb1; txt[5] = 0x0; // printf("TXT is %s\n",txt); // } exit(error); } Predicted src: int main(int argc, char **argv) { (void)argv; (void)argv; (void)argv; (void)argv; (void)argv; (void)argv; exit(1); } ============================== Sample 4 ============================== 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: void x1_copy_16_c (int16_t *dst, int16_t *dst, int16_t *dst, int16_t *dst, int16_t *dst) { int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *) dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; int16_t *dst = (int16_t *)dst; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined f9_V_SPP_PDP() ;local_10 undefined8 -10 ;local_18 undefined8 -18 PUSH RBP MOV RBP,RSP MOV qword ptr [RBP + local_10+0x8],RDI MOV qword ptr [RBP + local_18+0x8],RSI NOP POP RBP RET ?? 90h Actual src: void f9_V_SPP_PDP(struct S_PDP p0, void* p1, void* p2) { } Predicted src: void f6_V_SP_PFP(struct S_PFP p0, void* p1, void* p2) { }