============================== Sample 1 ============================== 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_call_call_call(lua_State *L) { lua_call(L, 1); lua_call(L, 1); return 1; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gfal2_bring_online_poll_list() PUSH R14 MOV R14,RCX PUSH R13 MOV R13D,ESI MOV RSI,R8 PUSH R12 MOV R12,RDX PUSH RBP MOV RBP,RDI PUSH RBX MOV RBX,R8 CALL .plt:gfal2_start_scope_cancel ;undefined gfal2_start_scope_cancel() TEST EAX,EAX JS LAB_0011121e TEST R12,R12 JZ LAB_001111c8 CMP qword ptr [R12],0x0 JZ LAB_001111c8 TEST RBP,RBP JZ LAB_001111c8 MOV RDX,R12 MOV R8,RBX MOV RCX,R14 MOV ESI,R13D MOV RDI,RBP CALL .plt:gfal_plugin_bring_online_poll_listG ;undefined gfal_plugin_bring_online_p... MOV R12D,EAX JMP LAB_0011120a ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_001111c8: TEST R13D,R13D JLE LAB_00111204 LEA EAX,[R13 + -0x1] LEA R12,[.rodata:s_context_or/and_urls_are_incorrec_00117e00] ;= "context or/and urls are incorrect... LEA R13,[RBX + RAX*0x8 + 0x8] NOP dword ptr [RAX] LAB_001111e0: XOR EAX,EAX CALL .plt:gfal2_get_core_quark ;undefined gfal2_get_core_quark() MOV RDI,RBX MOV RCX=>.rodata:s_context_or/and_urls_are_incorrec_00117e00,R12 ;= "context or/and urls are incorrect... MOV EDX,0xe MOV ESI,EAX ADD RBX,0x8 XOR EAX,EAX CALL .plt:::g_set_error ;undefined g_set_error() CMP RBX,R13 JNZ LAB_001111e0 LAB_00111204: MOV R12D,0xffffffff LAB_0011120a: MOV RDI,RBP CALL .plt:gfal2_end_scope_cancel ;undefined gfal2_end_scope_cancel() LAB_00111212: POP RBX MOV EAX,R12D POP RBP POP R12 POP R13 POP R14 RET LAB_0011121e: MOV R12D,0xffffffff JMP LAB_00111212 ?? 66h f Actual src: int gfal2_bring_online_poll_list(gfal2_context_t context, int nbfiles, const char *const *urls, const char *token, GError **errors) { int res = -1; GFAL2_BEGIN_SCOPE_CANCEL(context, -1, errors); if (urls == NULL || *urls == NULL || context == NULL) { int i; for (i = 0; i < nbfiles; ++i) { g_set_error(&errors[i], gfal2_get_core_quark(), EFAULT, "context or/and urls are incorrect arguments"); } res = -1; } else { res = gfal_plugin_bring_online_poll_listG(context, nbfiles, urls, token, errors); } GFAL2_END_SCOPE_CANCEL(context); return res; } Predicted src: static int list_start_start_list (int argc, char **argv) { int ret; int ret; int ret = 0; int ret = -1; int ret = 0; if (argv[0] == -1) { ret = -1; ret = -1; } else { ret = -1; } if (argv[0] == -1) { ret = -1; } else { ret = -1; } if (argv[0] == -1) { ret = -1; } if (ret == -1) { ret = -1; } if (ret == -1) { ret = -1; } if (ret == -1) { ret = -1; } if (ret == -1) { ret = -1; } return ret; } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined e_attachment_bar_interface_init() LEA RAX,[attachment_bar_get_private] MOV qword ptr [RDI + 0x10],RAX=>attachment_bar_get_private LEA RAX,[attachment_bar_get_store] MOV qword ptr [RDI + 0x18],RAX=>attachment_bar_get_store LEA RAX,[attachment_bar_get_path_at_pos] MOV qword ptr [RDI + 0x20],RAX=>attachment_bar_get_path_at_pos LEA RAX,[attachment_bar_get_selected_paths] MOV qword ptr [RDI + 0x28],RAX=>attachment_bar_get_selected_paths LEA RAX,[attachment_bar_path_is_selected] MOV qword ptr [RDI + 0x30],RAX=>attachment_bar_path_is_selected LEA RAX,[attachment_bar_select_path] MOV qword ptr [RDI + 0x38],RAX=>attachment_bar_select_path LEA RAX,[attachment_bar_unselect_path] MOV qword ptr [RDI + 0x40],RAX=>attachment_bar_unselect_path LEA RAX,[attachment_bar_select_all] MOV qword ptr [RDI + 0x48],RAX=>attachment_bar_select_all LEA RAX,[attachment_bar_unselect_all] MOV qword ptr [RDI + 0x50],RAX=>attachment_bar_unselect_all LEA RAX,[attachment_bar_update_actions] MOV qword ptr [RDI + 0x78],RAX=>attachment_bar_update_actions RET ?? 90h Actual src: static void e_attachment_bar_interface_init (EAttachmentViewInterface *iface) { iface->get_private = attachment_bar_get_private; iface->get_store = attachment_bar_get_store; iface->get_path_at_pos = attachment_bar_get_path_at_pos; iface->get_selected_paths = attachment_bar_get_selected_paths; iface->path_is_selected = attachment_bar_path_is_selected; iface->select_path = attachment_bar_select_path; iface->unselect_path = attachment_bar_unselect_path; iface->select_all = attachment_bar_select_all; iface->unselect_all = attachment_bar_unselect_all; iface->update_actions = attachment_bar_update_actions; } Predicted src: static void e_iface_init (GtkAction *iface) { iface->priv = G_TYPE_INSTANCE_GET_PRIVATE (iface); iface->priv->is_is_is_is_is_is_is = G_TYPE_GET_PRIVATE (iface->is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_is_isis_is_is_isis_is_is_isis_is_isis_isis_is_isis_isis_isis_isis_isis_isis_isisis_isisisis_isisis_isisisis_isisisisisisisisisisisisisisisisisis_isisisisisi ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* ExecutiveRebuildAllObjectDist(PyMOLGlobals*) * ;************************************************************************************************************************************************************ ;undefined ExecutiveRebuildAllObjectDist(PyMOLGlobals * param_1) ;param_1 PyMOLGlobals * RDI PUSH R12 PUSH RBP MOV RBP,param_1 PUSH RBX MOV R12,qword ptr [param_1 + 0xd8] MOV RBX,qword ptr [R12 + 0x58] TEST RBX,RBX JZ LAB_0049328f NOP dword ptr [RAX + RAX*0x1] LAB_00493270: MOV EAX,dword ptr [RBX] TEST EAX,EAX JNZ LAB_00493283 MOV param_1,qword ptr [RBX + 0x108] CMP dword ptr [param_1 + 0x10],0x4 JZ LAB_004932a0 LAB_00493283: MOV RBX,qword ptr [RBX + 0x110] TEST RBX,RBX JNZ LAB_00493270 LAB_0049328f: POP RBX MOV param_1,RBP POP RBP POP R12 JMP SceneInvalidate ;undefined SceneInvalidate(PyMOLGloba... ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_004932a0: MOV ESI,0xffffffff CALL ObjectDistInvalidateRep ;undefined ObjectDistInvalidateRep(Ob... CMP qword ptr [R12 + 0x58],0x0 JNZ LAB_00493283 POP RBX MOV param_1,RBP POP RBP POP R12 JMP SceneInvalidate ;undefined SceneInvalidate(PyMOLGloba... ?? 66h f Actual src: void ExecutiveRebuildAllObjectDist(PyMOLGlobals * G) { CExecutive *I = G->Executive; SpecRec *rec = NULL; while(ListIterate(I->Spec, rec, next)) { if(rec->type == cExecObject) { if(rec->obj->type == cObjectMeasurement) { ObjectDistInvalidateRep((ObjectDist *) rec->obj, cRepAll); } } } SceneInvalidate(G); } Predicted src: void ObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjectObjec ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined MGA3026HideCursor() MOV RDX,qword ptr [RDI + 0x118] MOV RAX,qword ptr [RDX + 0xb0] MOV byte ptr [RAX + 0x3c00],0x6 MOV RCX,qword ptr [RDX + 0xb0] MOVZX EAX,byte ptr [RCX + 0x3c0a] MOV byte ptr [RCX + 0x3c00],0x6 MOV RDX,qword ptr [RDX + 0xb0] AND EAX,0xfffffffc MOV byte ptr [RDX + 0x3c0a],AL RET ?? 0Fh Actual src: static void MGA3026HideCursor(ScrnInfoPtr pScrn) { MGAPtr pMga = MGAPTR(pScrn); /* Disable cursor */ outTi3026(TVP3026_CURSOR_CTL, 0xfc, 0x00); } Predicted src: static void on_draw_cb(GtkWidget *widget, gpointer user_data) { Widget w = (Widget)user_data; Widget w = (Widget)user_data; Widget w = (Widget)user_data; Widget w = (Widget)user_data; Widget w = (Widget)user_data; Widget w = (Widget)user_data; }