============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined dee_shared_model_is_synchronized() PUSH RBX MOV RBX,RDI CALL .plt:dee_shared_model_get_type ;undefined dee_shared_model_get_type() TEST RBX,RBX JZ LAB_00125b28 MOV RSI,RAX MOV RAX,qword ptr [RBX] TEST RAX,RAX JZ LAB_00125b0e CMP qword ptr [RAX],RSI JZ LAB_00125b1a LAB_00125b0e: MOV RDI,RBX CALL .plt:::g_type_check_instance_is_a ;undefined g_type_check_instance_is_a() TEST EAX,EAX JZ LAB_00125b28 LAB_00125b1a: MOV RAX,qword ptr [RBX + 0x28] POP RBX MOV EAX,dword ptr [RAX + 0x50] RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00125b28: LEA RDX,[.rodata:s_DEE_IS_SHARED_MODEL_(self)_0013035c] ;= "DEE_IS_SHARED_MODEL (self)" LEA RSI,[.rodata:__func__.2] ;= "dee_shared_model_is_synchronized" LEA RDI,[.rodata:DAT_0012b024] ;= 64h d CALL .plt:::g_return_if_fail_warning ;undefined g_return_if_fail_warning() XOR EAX,EAX POP RBX RET ?? 66h f Actual src: gboolean dee_shared_model_is_synchronized (DeeSharedModel *self) { DeeSharedModelPrivate *priv; g_return_val_if_fail (DEE_IS_SHARED_MODEL (self), FALSE); priv = self->priv; return priv->synchronized; } Predicted src: gboolean model_model_get_model (ModelModel *self) { g_return_val_if_fail (GDATA_IS_MODEL_MODEL (self), FALSE); return self->priv->model; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined go_conf_set_bool() PUSH R12 MOV R12D,EDX PUSH RBP SUB RSP,0x8 CALL .plt:go_conf_get_node ;undefined go_conf_get_node() TEST RAX,RAX JZ LAB_00164620 MOV RDI,qword ptr [RAX + 0x18] MOV RSI,qword ptr [RAX + 0x10] MOV EDX,R12D MOV RBP,RAX CALL .plt:::g_settings_set_boolean ;undefined g_settings_set_boolean() ADD RSP,0x8 MOV RDI,RBP POP RBP POP R12 JMP .plt.got:go_conf_free_node ;undefined go_conf_free_node() ?? 66h f ?? 2Eh . ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_00164620: ADD RSP,0x8 POP RBP POP R12 RET ?? 0Fh Actual src: void go_conf_set_bool (GOConfNode *node, gchar const *key, gboolean val) { GOConfNode *real_node = go_conf_get_node (node, key); if (!real_node) { d (g_warning ("Unable to set key '%s'", key)); return; } g_settings_set_boolean (real_node->settings, real_node->key, val); go_conf_free_node (real_node); } Predicted src: static void node_set_conf_conf_node (GSimpleAction *action, GVariant *value, gpointer user_data) { Node *node = user_data; if (node->priv->conf_node) node_set_conf (node->priv->conf_node, value); else node_set_conf (node, value); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* pugi::xml_node::hash_value() const * ;************************************************************************************************************************************************************ ;undefined hash_value(xml_node * this) ;this xml_node * RDI MOV RAX,qword ptr [this] SHR RAX,0x6 RET ?? 0Fh Actual src: size_t xml_node::hash_value() const { return static_cast(reinterpret_cast(_root) / sizeof(xml_node_struct)); } Predicted src: const char* xml_node::value() const { return m_node->m_value; } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* KDL::Path_RoundedComposite::GetLengthToEndOfSegment(int) * ;************************************************************************************************************************************************************ ;undefined GetLengthToEndOfSegment(int param_1) ;param_1 int EDI MOV param_1,qword ptr [param_1 + 0x8] MOV RAX,qword ptr [param_1] JMP qword ptr [RAX + 0x60] ?? 66h f Actual src: double Path_RoundedComposite::GetLengthToEndOfSegment(int i) { return comp->GetLengthToEndOfSegment(i); } Predicted src: int GetPathPathPathPath(int id) override { return GetPathPathPath(id); } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* soap_get_PointerTomatrix(soap*, matrix**, char const*, char const*) * ;************************************************************************************************************************************************************ ;undefined soap_get_PointerTomatrix(soap * param_1, matrix * * param_2, char * param_3, char * param_4) ;param_1 soap * RDI ;param_2 matrix * * RSI ;param_3 char * RDX ;param_4 char * RCX PUSH R12 MOV R8,param_2 MOV param_2,param_3 PUSH RBP MOV param_3,R8 MOV RBP,param_1 SUB RSP,0x8 CALL soap_in_PointerTomatrix ;undefined soap_in_PointerTomatrix(so... TEST RAX,RAX JZ LAB_0010a430 MOV param_1,RBP MOV R12,RAX CALL soap_getindependent ;undefined soap_getindependent(soap *... TEST EAX,EAX JNZ LAB_0010a430 ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 66h f ?? 0Fh ?? 1Fh ?? 84h ?? 00h ?? 00h ?? 00h ?? 00h ?? 00h LAB_0010a430: XOR R12D,R12D ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 RET ?? 66h f Actual src: matrix ** SOAP_FMAC4 soap_get_PointerTomatrix(struct soap *soap, matrix **p, const char *tag, const char *type) { if ((p = soap_in_PointerTomatrix(soap, tag, p, type))) if (soap_getindependent(soap)) return NULL; return p; } Predicted src: struct srm2__srmType ** SOAP_FMAC4 soap_get_srm2__srmType(struct soap *soap, struct srm2__srmType **p, const char *tag, const char *type) { if ((p = soap_in_srm2__srmType(soap, tag, p, type))) if (soap_getindependent(soap)) return NULL; return p; }