============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* ResourceManager::downloadLicenseFinished() * ;************************************************************************************************************************************************************ ;undefined downloadLicenseFinished(ResourceManager * this) ;this ResourceMan... RDI LEA RAX,[.bss:ScQApp] ;=?? MOV RDX,this LEA RCX,[.rodata:s_1downloadLicenseFinished()_00f70b32] ;= "1downloadLicenseFinished()" LEA RSI,[.rodata:s_2finished()_00f3e05a] ;= "2finished()" MOV RAX=>.bss:ScQApp,qword ptr [RAX] ;=?? MOV this,qword ptr [RAX + 0x68] JMP .plt:::QObject::disconnect ;undefined disconnect(QObject * param... ?? 66h f Actual src: void ResourceManager::downloadLicenseFinished() { disconnect(ScQApp->dlManager(), SIGNAL(finished()), this, SLOT(downloadLicenseFinished())); } Predicted src: void QWindowManager::stop() { d->stop(); } ============================== Sample 2 ============================== 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: const gchar * qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* QComboBox_Adaptor::sizeHint() const * ;************************************************************************************************************************************************************ ;undefined sizeHint(QComboBox_Adaptor * this) ;this QComboBox_A... RDI PUSH R12 LEA R12,[this + 0x278] PUSH RBP MOV RBP,this MOV this,R12 SUB RSP,0x8 CALL .plt:::tl::WeakOrSharedPtr::get ;undefined get(void) TEST RAX,RAX JZ LAB_00c0bc3e MOV this,R12 CALL .plt:::tl::WeakOrSharedPtr::get ;undefined get(void) MOV this,RAX TEST RAX,RAX JZ LAB_00c0bc4d MOV RDX=>.data.rel.ro:gsi::Callee::typeinfo,qword ptr [->gsi::Callee::typeinfo] ;= 02782628 ;= 02a29710 MOV RSI=>EXTERNAL:tl::Object::typeinfo,qword ptr [->tl::Object::typeinfo] ;= 02a1e480 ;=?? XOR ECX,ECX CALL .plt:::__dynamic_cast ;undefined __dynamic_cast() MOV this,RAX MOV RAX,qword ptr [RAX] MOV RAX,qword ptr [RAX + 0x18] CMP RAX,qword ptr [->gsi::Callee::can_call] ;= 00914c70 JNZ LAB_00c0bc38 LAB_00c0bc16: ADD RSP,0x8 LEA this,[RBP + 0x270] LEA RSI,[QComboBox_Adaptor::cbs_sizeHint_c0_0] XOR EDX,EDX POP RBP POP R12 JMP gsi::Callback::issue ;QSize issue... ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00c0bc38: CALL RAX TEST AL,AL JNZ LAB_00c0bc16 LAB_00c0bc3e: ADD RSP,0x8 MOV this,RBP POP RBP POP R12 JMP .plt:::QComboBox::sizeHint ;undefined sizeHint(void) LAB_00c0bc4d: MOV RAX,qword ptr [DAT_00000000] UD2 ?? 66h f Actual src: virtual QSize sizeHint() const { if (cb_sizeHint_c0_0.can_issue()) { return cb_sizeHint_c0_0.issue(&QComboBox_Adaptor::cbs_sizeHint_c0_0); } else { return QComboBox::sizeHint(); } } Predicted src: virtual int cbs_c0_0() const { if (cb_c0_0_0.can_issue()) { return cb_c0_0_0.issue(&QLayout_Adaptor::cbs_c0_0_0); } else { return QGraphicsLayout::c0(); } } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined multiport_print6() MOV R8,RDI MOV RDI,RSI MOV ESI,EDX MOVZX EDX,word ptr [R8 + 0x80] JMP __multiport_print ;undefined __multiport_print() ?? 66h f Actual src: static void multiport_print6(const void *ip_void, const struct xt_entry_match *match, int numeric) { const struct ip6t_ip6 *ip = ip_void; __multiport_print(match, numeric, ip->proto); } Predicted src: static void print_print_print(const void *a, const void *b, const void *b) { print_print(a, b, b); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined lxsession_lxde_session_server_CanShutdown() PUSH R14 MOV R14,RDX PUSH R13 MOV R13,RSI PUSH R12 MOV R12,RDI MOV EDI,0x40 PUSH RBP SUB RSP,0x8 CALL .plt:::g_slice_alloc ;undefined g_slice_alloc() PXOR XMM0,XMM0 XOR ESI,ESI MOV RDX,R13 MOV RDI,R12 MOVUPS xmmword ptr [RAX],XMM0 MOV RCX,R14 MOV RBP,RAX MOVUPS xmmword ptr [RAX + 0x10],XMM0 MOVUPS xmmword ptr [RAX + 0x20],XMM0 MOVUPS xmmword ptr [RAX + 0x30],XMM0 CALL .plt:::g_task_new ;undefined g_task_new() LEA RDX,[lxsession_lxde_session_server_CanShutdown_data_free] MOV RSI,RBP MOV RDI,RAX MOV qword ptr [RBP + 0x18],RAX CALL .plt:::g_task_set_task_data ;undefined g_task_set_task_data() TEST R12,R12 JZ LAB_0011ca0a MOV RDI,R12 CALL .plt:::g_object_ref ;undefined g_object_ref() MOV R12,RAX LAB_0011ca0a: MOV qword ptr [RBP + 0x20],R12 ADD RSP,0x8 MOV RDI,RBP POP RBP POP R12 POP R13 POP R14 JMP lxsession_lxde_session_server_CanShutdown_co.isra.0 ;undefined lxsession_lxde_session_ser... ?? 66h f Actual src: void lxsession_lxde_session_server_CanShutdown (LxsessionLxdeSessionServer* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { lxsession_lxde_session_server_CanShutdownData* _data_; LxsessionLxdeSessionServer* _tmp0_; g_return_if_fail (self!= NULL); _data_ = g_slice_new0 (lxsession_lxde_session_server_CanShutdownData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, lxsession_lxde_session_server_CanShutdown_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; lxsession_lxde_session_server_CanShutdown_co (_data_); } Predicted src: void mm_server_server_new_session ( GAsyncResult *res, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail (res!= NULL); g_return_if_fail (res!= NULL); res = g_task_new (G_OBJECT (res), res, callback, user_data); g_task_set_task_data (res, res, callback, user_data); }