============================== Sample 1 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined gimp_draw_tool_add_sample_point() PUSH R14 PUSH R13 PUSH R12 PUSH RBP SUB RSP,0x8 TEST RDI,RDI JZ LAB_00252220 MOV RBP,RDI MOV R12D,ESI MOV R13D,EDX MOV R14D,ECX CALL gimp_draw_tool_get_type ;undefined gimp_draw_tool_get_type() MOV RSI,RAX MOV RAX,qword ptr [RBP] TEST RAX,RAX JZ LAB_002521c6 CMP qword ptr [RAX],RSI JZ LAB_002521d2 LAB_002521c6: MOV RDI,RBP CALL .plt:::g_type_check_instance_is_a ;undefined g_type_check_instance_is_a() TEST EAX,EAX JZ LAB_00252220 LAB_002521d2: MOV RDI,qword ptr [RBP + 0x178] CALL gimp_display_get_shell ;undefined gimp_display_get_shell() MOV ECX,R14D MOV EDX,R13D MOV ESI,R12D MOV R8D,0x1 MOV RDI,RAX CALL gimp_canvas_sample_point_new ;undefined gimp_canvas_sample_point_n... MOV RDI,RBP MOV R12,RAX MOV RSI,RAX CALL gimp_draw_tool_add_item ;undefined gimp_draw_tool_add_item() MOV RDI,R12 CALL .plt.got:::g_object_unref ;undefined g_object_unref() ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 POP R13 POP R14 RET ?? 66h f ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_00252220: LEA RDX,[.rodata:s_GIMP_IS_DRAW_TOOL_(draw_tool)_00674a44] ;= "GIMP_IS_DRAW_TOOL (draw_tool)" LEA RSI,[.rodata:__func__.10] ;= "gimp_draw_tool_add_sample_point" XOR R12D,R12D LEA RDI,[.rodata:s_Gimp-Tools_0064f9c7] ;= "Gimp-Tools" CALL .plt:::g_return_if_fail_warning ;undefined g_return_if_fail_warning() ADD RSP,0x8 MOV RAX,R12 POP RBP POP R12 POP R13 POP R14 RET ?? 0Fh Actual src: GimpCanvasItem * gimp_draw_tool_add_sample_point (GimpDrawTool *draw_tool, gint x, gint y, gint index) { GimpCanvasItem *item; g_return_val_if_fail (GIMP_IS_DRAW_TOOL (draw_tool), NULL); item = gimp_canvas_sample_point_new (gimp_display_get_shell (draw_tool->display), x, y, index, TRUE); gimp_draw_tool_add_item (draw_tool, item); g_object_unref (item); return item; } Predicted src: static void gimp_cb (GObject *object) { g_return_if_fail (object!= NULL); g_return_if_fail (object!= NULL); g_return_fail (object!= NULL); } ============================== Sample 2 ============================== ASM: ;************************************************************************************************************************************************************ ;* ClpSolve::setSpecialOption(int, int, int) * ;************************************************************************************************************************************************************ ;undefined setSpecialOption(ClpSolve * this, int param_1, int param_2, int param_3) ;this ClpSolve * RDI ;param_1 int ESI ;param_2 int EDX ;param_3 int ECX MOVSXD param_1,param_1 MOV dword ptr [this + param_1*0x4 + 0xc],param_2 MOV dword ptr [this + param_1*0x4 + 0x28],param_3 RET ?? 0Fh Actual src: void ClpSolve::setSpecialOption(int which, int value, int extraInfo) { options_[which] = value; extraInfo_[which] = extraInfo; } Predicted src: void f3_V_V_set(int p0, int p1, int p2, int p2) { } ============================== Sample 3 ============================== 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: void g_set_set_set_set_set_set_set_set (GObject* value) { g_return_if_fail (self!= NULL); g_return_if_fail (self!= NULL); } ============================== Sample 4 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined view_finalize() PUSH RBP MOV RBP,RDI CALL .plt:gal_view_get_type ;undefined gal_view_get_type() MOV RDI,RBP MOV RSI,RAX CALL .plt:::g_type_instance_get_private ;undefined g_type_instance_get_private() MOV RDI,qword ptr [RAX] CALL .plt.got:::g_free ;undefined g_free() MOV RDI,qword ptr [.bss:gal_view_parent_class] ;=?? MOV ESI,0x50 CALL .plt:::g_type_check_class_cast ;undefined g_type_check_class_cast() MOV RDI,RBP POP RBP MOV RAX,qword ptr [RAX + 0x30] JMP RAX ?? 66h f Actual src: static void view_finalize (GObject *object) { GalViewPrivate *priv; priv = GAL_VIEW_GET_PRIVATE (object); g_free (priv->title); /* Chain up to parent's finalize() method. */ G_OBJECT_CLASS (gal_view_parent_class)->finalize (object); } Predicted src: static void g_finalize (GObject *object) { self->priv = NULL; self->priv = NULL; self->priv->priv = NULL; self->priv->priv = NULL; } ============================== Sample 5 ============================== ASM: ;************************************************************************************************************************************************************ ;* FUNCTION * ;************************************************************************************************************************************************************ ;undefined speechd_new() PUSH R12 XOR ECX,ECX XOR EDX,EDX LEA RSI,[.rodata:DAT_00102000] ;= 6Dh m PUSH RBP PUSH RBX MOV RBX,RDI LEA RDI,[.rodata:s_navit_00102005] ;= "navit" CALL .plt:::spd_open ;undefined spd_open() TEST RAX,RAX JZ LAB_001011d0 MOV EDI,0x8 MOV RBP,RAX CALL .plt:g_malloc ;undefined g_malloc() MOV R12,RAX TEST RAX,RAX JZ LAB_001011c3 MOVDQA XMM0,xmmword ptr [.data.rel.ro:speechd_meth] MOV qword ptr [RAX],RBP MOV ESI,0x1 MOV RDI,RBP MOVUPS xmmword ptr [RBX],XMM0 CALL .plt:::spd_set_punctuation ;undefined spd_set_punctuation() LAB_001011c3: MOV RAX,R12 POP RBX POP RBP POP R12 RET ?? 0Fh ?? 1Fh ?? 44h D ?? 00h ?? 00h LAB_001011d0: XOR R12D,R12D POP RBX POP RBP MOV RAX,R12 POP R12 RET ?? 0Fh Actual src: static struct speech_priv *speechd_new(struct speech_methods *meth, struct attr **attrs, struct attr *attr) { struct speech_priv *this; SPDConnection *conn; conn = spd_open("navit","main",NULL,SPD_MODE_SINGLE); if (! conn) return NULL; this=g_new(struct speech_priv,1); if (this) { this->conn=conn; *meth=speechd_meth; spd_set_punctuation(conn, SPD_PUNCT_NONE); } return this; } Predicted src: static void _set_init (GObject *object) { g_return_if_fail (self!= NULL); g_return_if_fail (self!= NULL, NULL, NULL, NULL, NULL); g_return_if_fail (self!= NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); }