============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined glfwSetWindowAspectRatio() SUB RSP,0x8 TEST RDI,RDI JZ LAB_0010ffe2 TEST ESI,ESI JZ LAB_0010ffc3 TEST EDX,EDX JZ LAB_00110001 LEA RAX,[.bss:_glfw] ;=?? MOV ECX,dword ptr [RAX]=>.bss:_glfw ;=?? TEST ECX,ECX JZ LAB_0010ff90 CMP ESI,-0x1 JZ LAB_0010ff6c CMP EDX,-0x1 JZ LAB_0010ff6c TEST ESI,ESI JLE LAB_0010ffa8 TEST EDX,EDX JLE LAB_0010ffa8 LAB_0010ff6c: CMP qword ptr [RDI + 0x48],0x0 MOV dword ptr [RDI + 0x68],ESI MOV dword ptr [RDI + 0x6c],EDX JZ LAB_0010ff80 LAB_0010ff79: ADD RSP,0x8 RET ?? 66h f ?? 90h LAB_0010ff80: MOV EAX,dword ptr [RDI + 0x8] TEST EAX,EAX JZ LAB_0010ff79 ADD RSP,0x8 JMP _glfwPlatformSetWindowAspectRatio ;undefined _glfwPlatformSetWindowAspe... LAB_0010ff90: XOR ESI,ESI MOV EDI,0x10001 XOR EAX,EAX ADD RSP,0x8 JMP _glfwInputError ;undefined _glfwInputError(undefined... ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_0010ffa8: MOV ECX,EDX MOV EDI,0x10004 MOV EDX,ESI XOR EAX,EAX LEA RSI,[.rodata:s_Invalid_window_aspect_ratio_%i:%_001368d0] ;= "Invalid window aspect ratio %i:%i" ADD RSP,0x8 JMP _glfwInputError ;undefined _glfwInputError(undefined... LAB_0010ffc3: LEA RCX,[.rodata:__PRETTY_FUNCTION__.28] ;= "glfwSetWindowAspectRatio" MOV EDX,0x26d LEA RSI,[.rodata:s_./src/window.c_0013613d] ;= "./src/window.c" LEA RDI,[.rodata:s_numer_!=_0_001361c1] ;= "numer!= 0" CALL .plt:::__assert_fail ;void __assert_fail(char * __assertio... LAB_0010ffe2: LEA RCX,[.rodata:__PRETTY_FUNCTION__.28] ;= "glfwSetWindowAspectRatio" MOV EDX,0x26c LEA RSI,[.rodata:s_./src/window.c_0013613d] ;= "./src/window.c" LEA RDI,[.rodata:s_window_!=_NULL_0011a4a4] ;= "window!= NULL" CALL .plt:::__assert_fail ;void __assert_fail(char * __assertio... LAB_00110001: LEA RCX,[.rodata:__PRETTY_FUNCTION__.28] ;= "glfwSetWindowAspectRatio" MOV EDX,0x26e LEA RSI,[.rodata:s_./src/window.c_0013613d] ;= "./src/window.c" LEA RDI,[.rodata:s_denom_!=_0_001361cc] ;= "denom!= 0" CALL .plt:::__assert_fail ;void __assert_fail(char * __assertio... ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined glfwGetFramebufferSize() TEST RDI,RDI Actual src: GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* handle, int numer, int denom) { _GLFWwindow* window = (_GLFWwindow*) handle; assert(window!= NULL); assert(numer!= 0); assert(denom!= 0); _GLFW_REQUIRE_INIT(); if (numer!= GLFW_DONT_CARE && denom!= GLFW_DONT_CARE) { if (numer <= 0 || denom <= 0) { _glfwInputError(GLFW_INVALID_VALUE, "Invalid window aspect ratio %i:%i", numer, denom); return; } } window->numer = numer; window->denom = denom; if (window->monitor ||!window->resizable) return; _glfwPlatformSetWindowAspectRatio(window, numer, denom); } Predicted src: void _data_data_data_data_data (data_data_data_data_data_data_data_data_data_data_data_data_data_data) { data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data (data); data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data_data (data); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined rpmfiFMode() MOV ESI,0xffffffff TEST RDI,RDI JZ LAB_00141700 MOV ESI,dword ptr [RDI] MOV RDI,qword ptr [RDI + 0x28] LAB_00141700: JMP .plt:rpmfilesFMode ;undefined rpmfilesFMode() ?? 66h f Actual src: RPMFI_ITERFUNC(rpm_mode_t, FMode, i) Predicted src: static void set_data(const void *data) { if (data->data) { return; } return; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* QCA::CRLEntry::time() const * ;************************************************************************************************************************************************************ ;undefined time(void) PUSH R12 ADD RSI,0x8 MOV R12,RDI CALL .plt:::QDateTime::QDateTime ;undefined QDateTime(QDateTime * this... MOV RAX,R12 POP R12 RET ?? 66h f Actual src: QDateTime CRLEntry::time() const { return _time; } Predicted src: const std::string& const std::string::string() const { return d->name; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined fileAddComplexValue() TEST ESI,ESI JZ LAB_001f4080 MOV RAX,qword ptr [.bss:column] ;=?? MOV RDX,qword ptr [.bss:rowbuf] ;=?? LEA RCX,[RAX + 0x2] MOVSD qword ptr [RDX + RAX*0x8],XMM0 MOV qword ptr [.bss:column],RCX ;=?? MOVSD qword ptr [RDX + RAX*0x8 + 0x8],XMM1 RET ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001f4080: MOV ECX,0xf MOV EDX,0xf MOV EAX,0x2 LEA RSI,[.rodata:s__%.*e,%.*e_00712740] ;= "\t%.*e,%.*e\n" JMP sh_fprintf ;undefined sh_fprintf(undefined param... ?? 0Fh Actual src: static void fileAddComplexValue(FILE *fp, bool bin, IFcomplex value) { if (bin) { rowbuf[column++] = value.real; rowbuf[column++] = value.imag; } else { fprintf(fp, "\t%.*e,%.*e\n", DOUBLE_PRECISION, value.real, DOUBLE_PRECISION, value.imag); } } Predicted src: void init(void) { int i; for (i = 0; i < 0; i++) for (i = 0; i < 0; i++) { for (i = 0; i < 0; i++) { if (i < 0) { if (i < 0) { if (i < 0) { { i = 0; } } } } } } } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined step_describe_props() MOV EAX,dword ptr [.data:step_props[56]] PUSH R12 LEA R12,[.data:step_props] TEST EAX,EAX JZ LAB_00106720 MOV RAX=>.data:step_props,R12 POP R12 RET ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00106720: MOV RDI=>.data:step_props,R12 CALL .plt:::prop_desc_list_calculate_quarks ;undefined prop_desc_list_calculate_q... MOV RAX=>.data:step_props,R12 POP R12 RET ?? 66h f Actual src: static PropDescription * step_describe_props(Step *step) { if (step_props[0].quark == 0) { prop_desc_list_calculate_quarks(step_props); } return step_props; } Predicted src: static void list_list_list_list_list (void) { if (list_list_list_list_list_list) return; list_list_list_list_list_list_list_list_list_list_list_list_list (list); }