============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats*, _object*, _object*) * ;************************************************************************************************************************************************************ ;undefined _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats * param_1, _object * param_2, _object * param_3) ;param_1 PyNs3WaveBs... RDI ;param_2 _object * RSI ;param_3 _object * RDX SUB RSP,0x8 MOV param_1,qword ptr [param_1 + 0x10] CALL .plt:::ns3::WaveBsmStats::GetRxPktCount ;undefined GetRxPktCount(void) LEA param_1,[.rodata:DAT_0018e091] ;= 69h i ADD RSP,0x8 MOV param_2,EAX XOR EAX,EAX JMP .plt:_Py_BuildValue_SizeT ;undefined _Py_BuildValue_SizeT() ?? 66h f Actual src: PyObject * _wrap_PyNs3WaveBsmStats_GetRxPktCount(PyNs3WaveBsmStats *self, PyObject *PYBINDGEN_UNUSED(_args), PyObject *PYBINDGEN_UNUSED(_kwargs)) { PyObject *py_retval; int retval; retval = self->obj->GetRxPktCount(); py_retval = Py_BuildValue((char *) "i", retval); return py_retval; } Predicted src: void ::set_set(const char* _id) { return; } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gdm_dbus_chooser_skeleton_init() PUSH RBX MOV RBX,RDI MOVSXD RDI,dword ptr [.bss:GdmDBusChooserSkeleton_private_offset] ADD RDI,RBX MOV qword ptr [RBX + 0x20],RDI ADD RDI,0x20 CALL .plt:::g_mutex_init ;undefined g_mutex_init() MOV RBX,qword ptr [RBX + 0x20] CALL .plt:::g_main_context_ref_thread_default ;undefined g_main_context_ref_thread_... MOV qword ptr [RBX + 0x18],RAX POP RBX RET ?? 66h f Actual src: static void gdm_dbus_chooser_skeleton_init (GdmDBusChooserSkeleton *skeleton) { #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 skeleton->priv = gdm_dbus_chooser_skeleton_get_instance_private (skeleton); #else skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GDM_DBUS_TYPE_CHOOSER_SKELETON, GdmDBusChooserSkeletonPrivate); #endif g_mutex_init (&skeleton->priv->lock); skeleton->priv->context = g_main_context_ref_thread_default (); } Predicted src: static void _set_init (void) { if (self->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->priv->data); } ============================== Sample 3 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined g_flags_class_init() PUSH RBP PUSH RBX SUB RSP,0x8 TEST RDI,RDI JZ LAB_00115a25 CMP qword ptr [RDI],0x34 MOV RBP,RDI MOV RBX,RSI JZ LAB_00115a48 MOV ESI,0x34 CALL g_type_check_class_is_a ;undefined g_type_check_class_is_a() TEST EAX,EAX JNZ LAB_00115a48 LAB_00115a25: ADD RSP,0x8 LEA RDX,[.rodata:s_G_IS_FLAGS_CLASS_(class)_00140d3b] ;= "G_IS_FLAGS_CLASS (class)" LEA RSI,[.rodata:__func__.15] ;= "g_flags_class_init" POP RBX LEA RDI,[.rodata:s_GLib-GObject_0013f3e8] ;= "GLib-GObject" POP RBP JMP .plt:::g_return_if_fail_warning ;undefined g_return_if_fail_warning() ?? 0Fh ?? 1Fh ?? 00h LAB_00115a48: MOV qword ptr [RBP + 0x8],0x0 MOV qword ptr [RBP + 0x10],RBX TEST RBX,RBX JZ LAB_00115a86 XOR EAX,EAX CMP qword ptr [RBX + 0x8],0x0 MOV EDX,0x1 JZ LAB_00115a86 NOP word ptr [RAX + RAX*0x1] LAB_00115a70: OR EAX,dword ptr [RBX] ADD RBX,0x18 MOV dword ptr [RBP + 0xc],EDX ADD EDX,0x1 MOV dword ptr [RBP + 0x8],EAX CMP qword ptr [RBX + 0x8],0x0 JNZ LAB_00115a70 LAB_00115a86: ADD RSP,0x8 POP RBX POP RBP RET ?? 0Fh Actual src: static void g_flags_class_init (GFlagsClass *class, gpointer class_data) { g_return_if_fail (G_IS_FLAGS_CLASS (class)); class->mask = 0; class->n_values = 0; class->values = class_data; if (class->values) { GFlagsValue *values; for (values = class->values; values->value_name; values++) { class->mask |= values->value; class->n_values++; } } } Predicted src: static void { if (self) { } return; } } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined open_directory() MOV R10,RDI MOV RDX,qword ptr [RSI + 0x10] MOV RDI,R8 MOV R8,RCX MOV RCX,RSI MOV RSI,R10 JMP make_dir_baton ;undefined make_dir_baton() ?? 0Fh Actual src: static svn_error_t * open_directory(const char *path, void *parent_baton, svn_revnum_t base_revision, apr_pool_t *pool, void **child_baton) { struct dir_baton *pb = parent_baton; return make_dir_baton(child_baton, path, pb->edit_baton, pb, pool); } Predicted src: static void _init(void *data) { if (void) return; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* Load::getUnit() const * ;************************************************************************************************************************************************************ ;undefined getUnit(void) ;local_20 undefined8 -20 ;local_28 undefined8 -28 PUSH R13 PUSH R12 MOV R12,RDI ADD RDI,0x18 PUSH RBP SUB RSP,0x10 MOV R13,qword ptr [RSI + 0x88] MOV RAX,qword ptr FS:[0x28] MOV qword ptr [RSP + local_20+0x28],RAX MOV RAX,qword ptr [->Unit::vtable] ;= 00288da8 ADD RAX,0x10 MOV qword ptr [RDI + -0x18],RAX=>.data.rel.ro:PTR_~Unit_00288db8 ;= 00203f20 MOV qword ptr [R12 + 0x8],RDI MOV RBP,qword ptr [RSI + 0x80] MOV RAX,RBP ADD RAX,R13 JZ LAB_00207791 TEST RBP,RBP JZ LAB_00207816 LAB_00207791: MOV qword ptr [RSP]=>local_28,R13 CMP R13,0xf JA LAB_002077e0 CMP R13,0x1 JNZ LAB_002077d8 MOVZX EAX,byte ptr [RBP] MOV byte ptr [R12 + 0x18],AL LAB_002077aa: MOV qword ptr [R12 + 0x10],R13 MOV byte ptr [RDI + R13*0x1],0x0 MOV RAX,qword ptr [RSP + local_20+0x28] SUB RAX,qword ptr FS:[0x28] JNZ LAB_00207822 ADD RSP,0x10 MOV RAX,R12 POP RBP POP R12 POP R13 RET ?? 0Fh ?? 1Fh ?? 80h ?? 00h ?? 00h ?? 00h ?? 00h LAB_002077d8: TEST R13,R13 JZ LAB_002077aa JMP LAB_00207800 ?? 90h LAB_002077e0: LEA RDI,[R12 + 0x8] MOV RSI,RSP XOR EDX,EDX CALL .plt:::std::__cxx11::basic_string,std::allocator>::_M...;undefined _M_create(ulong * param_1,... MOV qword ptr [R12 + 0x8],RAX MOV RDI,RAX MOV RAX,qword ptr [RSP]=>local_28 MOV qword ptr [R12 + 0x18],RAX LAB_00207800: MOV RDX,R13 MOV RSI,RBP CALL .plt:::memcpy ;void * memcpy(void * __dest, void *... MOV R13,qword ptr [RSP]=>local_28 MOV RDI,qword ptr [R12 + 0x8] JMP LAB_002077aa LAB_00207816: LEA RDI,[.rodata:s_basic_string::_M_construct_null_n_0021e1b8] ;= "basic_string::_M_construct null n... CALL .plt:::std::__throw_logic_error ;undefined __throw_logic_error(char *... LAB_00207822: CALL .plt:::__stack_chk_fail ;undefined __stack_chk_fail() NOP Actual src: Unit Load::getUnit() const { return unit; } Predicted src: void ::set(const char* _id) { if (int) { return; } }