
Filename * dlg_filesel_get(control *ctrl,void *dlg)

{
  GtkWidget *pGVar1;
  uctrl *puVar2;
  undefined8 uVar3;
  char *str;
  Filename *pFVar4;
  
  puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl);
  if ((puVar2->ctrl->generic).type != 7) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,
                  "dlg_filesel_get");
  }
  pGVar1 = puVar2->entry;
  if (pGVar1 != (GtkWidget *)0x0) {
    uVar3 = gtk_entry_get_type();
    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);
    str = (char *)gtk_entry_get_text(uVar3);
    pFVar4 = filename_from_str(str);
    return pFVar4;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");
}



void FUN_0013dce5(undefined8 param_1,undefined8 param_2)

{
  long lVar1;
  undefined8 *puVar2;
  undefined8 uVar3;
  
  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);
  if (*(int *)*puVar2 != 7) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,
                  "dlg_filesel_get");
  }
  lVar1 = puVar2[4];
  if (lVar1 != 0) {
    uVar3 = gtk_entry_get_type();
    uVar3 = g_type_check_instance_cast(lVar1,uVar3);
    uVar3 = gtk_entry_get_text(uVar3);
    FUN_0014ff96(uVar3);
    return;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");
}


PUSH RBX
MOV RAX,RDI
MOV RDI,RSI
MOV RSI,RAX
CALL 0x0013be9a
MOV RDX,qword ptr [RAX]
CMP dword ptr [RDX],0x7
JNZ 0x0013dd27
MOV RBX,qword ptr [RAX + 0x20]
TEST RBX,RBX
JZ 0x0013dd46
CALL 0x00111a20
MOV RSI,RAX
MOV RDI,RBX
CALL 0x00110550
MOV RDI,RAX
CALL 0x001106e0
MOV RDI,RAX
CALL 0x0014ff96
POP RBX
RET
LEA RCX,[0x1817b0]
MOV EDX,0x391
LEA RSI,[0x18041b]
LEA RDI,[0x180800]
CALL 0x001109c0
LEA RCX,[0x1817b0]
MOV EDX,0x392
LEA RSI,[0x18041b]
LEA RDI,[0x1804ed]
CALL 0x001109c0
(translation_unit "void FUN_0013dce5(undefined8 param_1,undefined8 param_2)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}\n\n" (function_definition "void FUN_0013dce5(undefined8 param_1,undefined8 param_2)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" primitive_type (function_declarator "FUN_0013dce5(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);" (assignment_expression "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1)" identifier = (cast_expression "(undefined8 *)FUN_0013be9a(param_2,param_1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013be9a(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier ))))) ;) (if_statement "if (*(int *)*puVar2 != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" if (parenthesized_expression "(*(int *)*puVar2 != 7)" ( (binary_expression "*(int *)*puVar2 != 7" (pointer_expression "*(int *)*puVar2" * (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" { comment (expression_statement "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");" (call_expression "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" identifier (argument_list "("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" ( (string_literal ""uc->ctrl->generic.type == CTRL_FILESELECT"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })) (expression_statement "lVar1 = puVar2[4];" (assignment_expression "lVar1 = puVar2[4]" identifier = (subscript_expression "puVar2[4]" identifier [ number_literal ])) ;) (if_statement "if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" { (expression_statement "uVar3 = gtk_entry_get_type();" (assignment_expression "uVar3 = gtk_entry_get_type()" identifier = (call_expression "gtk_entry_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(lVar1,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(lVar1,uVar3)" identifier = (call_expression "g_type_check_instance_cast(lVar1,uVar3)" identifier (argument_list "(lVar1,uVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = gtk_entry_get_text(uVar3);" (assignment_expression "uVar3 = gtk_entry_get_text(uVar3)" identifier = (call_expression "gtk_entry_get_text(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "FUN_0014ff96(uVar3);" (call_expression "FUN_0014ff96(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");" (call_expression "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" identifier (argument_list "("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" ( (string_literal ""uc->entry != NULL"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })))
(translation_unit "Filename * dlg_filesel_get(control *ctrl,void *dlg)\n\n{\n  GtkWidget *pGVar1;\n  uctrl *puVar2;\n  undefined8 uVar3;\n  char *str;\n  Filename *pFVar4;\n  \n  puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl);\n  if ((puVar2->ctrl->generic).type != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  pGVar1 = puVar2->entry;\n  if (pGVar1 != (GtkWidget *)0x0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);\n    str = (char *)gtk_entry_get_text(uVar3);\n    pFVar4 = filename_from_str(str);\n    return pFVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}\n\n" (function_definition "Filename * dlg_filesel_get(control *ctrl,void *dlg)\n\n{\n  GtkWidget *pGVar1;\n  uctrl *puVar2;\n  undefined8 uVar3;\n  char *str;\n  Filename *pFVar4;\n  \n  puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl);\n  if ((puVar2->ctrl->generic).type != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  pGVar1 = puVar2->entry;\n  if (pGVar1 != (GtkWidget *)0x0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);\n    str = (char *)gtk_entry_get_text(uVar3);\n    pFVar4 = filename_from_str(str);\n    return pFVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" type_identifier (pointer_declarator "* dlg_filesel_get(control *ctrl,void *dlg)" * (function_declarator "dlg_filesel_get(control *ctrl,void *dlg)" identifier (parameter_list "(control *ctrl,void *dlg)" ( (parameter_declaration "control *ctrl" type_identifier (pointer_declarator "*ctrl" * identifier)) , (parameter_declaration "void *dlg" primitive_type (pointer_declarator "*dlg" * identifier)) )))) (compound_statement "{\n  GtkWidget *pGVar1;\n  uctrl *puVar2;\n  undefined8 uVar3;\n  char *str;\n  Filename *pFVar4;\n  \n  puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl);\n  if ((puVar2->ctrl->generic).type != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  pGVar1 = puVar2->entry;\n  if (pGVar1 != (GtkWidget *)0x0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);\n    str = (char *)gtk_entry_get_text(uVar3);\n    pFVar4 = filename_from_str(str);\n    return pFVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" { (declaration "GtkWidget *pGVar1;" type_identifier (pointer_declarator "*pGVar1" * identifier) ;) (declaration "uctrl *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "char *str;" primitive_type (pointer_declarator "*str" * identifier) ;) (declaration "Filename *pFVar4;" type_identifier (pointer_declarator "*pFVar4" * identifier) ;) (expression_statement "puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl);" (assignment_expression "puVar2 = dlg_find_byctrl((dlgparam *)dlg,ctrl)" identifier = (call_expression "dlg_find_byctrl((dlgparam *)dlg,ctrl)" identifier (argument_list "((dlgparam *)dlg,ctrl)" ( (cast_expression "(dlgparam *)dlg" ( (type_descriptor "dlgparam *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if ((puVar2->ctrl->generic).type != 7) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" if (parenthesized_expression "((puVar2->ctrl->generic).type != 7)" ( (binary_expression "(puVar2->ctrl->generic).type != 7" (field_expression "(puVar2->ctrl->generic).type" (parenthesized_expression "(puVar2->ctrl->generic)" ( (field_expression "puVar2->ctrl->generic" (field_expression "puVar2->ctrl" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" { comment (expression_statement "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");" (call_expression "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" identifier (argument_list "("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" ( (string_literal ""uc->ctrl->generic.type == CTRL_FILESELECT"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })) (expression_statement "pGVar1 = puVar2->entry;" (assignment_expression "pGVar1 = puVar2->entry" identifier = (field_expression "puVar2->entry" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 != (GtkWidget *)0x0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);\n    str = (char *)gtk_entry_get_text(uVar3);\n    pFVar4 = filename_from_str(str);\n    return pFVar4;\n  }" if (parenthesized_expression "(pGVar1 != (GtkWidget *)0x0)" ( (binary_expression "pGVar1 != (GtkWidget *)0x0" identifier != (cast_expression "(GtkWidget *)0x0" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(pGVar1,uVar3);\n    str = (char *)gtk_entry_get_text(uVar3);\n    pFVar4 = filename_from_str(str);\n    return pFVar4;\n  }" { (expression_statement "uVar3 = gtk_entry_get_type();" (assignment_expression "uVar3 = gtk_entry_get_type()" identifier = (call_expression "gtk_entry_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(pGVar1,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(pGVar1,uVar3)" identifier = (call_expression "g_type_check_instance_cast(pGVar1,uVar3)" identifier (argument_list "(pGVar1,uVar3)" ( identifier , identifier )))) ;) (expression_statement "str = (char *)gtk_entry_get_text(uVar3);" (assignment_expression "str = (char *)gtk_entry_get_text(uVar3)" identifier = (cast_expression "(char *)gtk_entry_get_text(uVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gtk_entry_get_text(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))))) ;) (expression_statement "pFVar4 = filename_from_str(str);" (assignment_expression "pFVar4 = filename_from_str(str)" identifier = (call_expression "filename_from_str(str)" identifier (argument_list "(str)" ( identifier )))) ;) (return_statement "return pFVar4;" return identifier ;) })) comment (expression_statement "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");" (call_expression "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" identifier (argument_list "("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" ( (string_literal ""uc->entry != NULL"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })))
(translation_unit "void FUN_0013dce5(undefined8 param_1,undefined8 param_2)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    \n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}\n\n" (function_definition "void FUN_0013dce5(undefined8 param_1,undefined8 param_2)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    \n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" primitive_type (function_declarator "FUN_0013dce5(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    \n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);" (assignment_expression "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1)" identifier = (cast_expression "(undefined8 *)FUN_0013be9a(param_2,param_1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013be9a(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier ))))) ;) (if_statement "if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" if (parenthesized_expression "(*(int *)*puVar2 != 7)" ( (binary_expression "*(int *)*puVar2 != 7" (pointer_expression "*(int *)*puVar2" * (cast_expression "(int *)*puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" { (expression_statement "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");" (call_expression "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" identifier (argument_list "("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" ( (string_literal ""uc->ctrl->generic.type == CTRL_FILESELECT"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })) (expression_statement "lVar1 = puVar2[4];" (assignment_expression "lVar1 = puVar2[4]" identifier = (subscript_expression "puVar2[4]" identifier [ number_literal ])) ;) (if_statement "if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" { (expression_statement "uVar3 = gtk_entry_get_type();" (assignment_expression "uVar3 = gtk_entry_get_type()" identifier = (call_expression "gtk_entry_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(lVar1,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(lVar1,uVar3)" identifier = (call_expression "g_type_check_instance_cast(lVar1,uVar3)" identifier (argument_list "(lVar1,uVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = gtk_entry_get_text(uVar3);" (assignment_expression "uVar3 = gtk_entry_get_text(uVar3)" identifier = (call_expression "gtk_entry_get_text(uVar3)" identifier (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "FUN_0014ff96(uVar3);" (call_expression "FUN_0014ff96(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");" (call_expression "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" identifier (argument_list "("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" ( (string_literal ""uc->entry != NULL"" " string_content ") , (string_literal ""unix/gtkdlg.c"" " string_content ") , number_literal , (string_literal ""dlg_filesel_get"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_0013dce5(undefined8 param_1,undefined8 param_2)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    \n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" (primitive_type "void") (function_declarator "FUN_0013dce5(undefined8 param_1,undefined8 param_2)" (identifier "FUN_0013dce5") (parameter_list "(undefined8 param_1,undefined8 param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);\n  if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }\n  lVar1 = puVar2[4];\n  if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }\n                    \n  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (expression_statement "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);" (assignment_expression "puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1)" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)FUN_0013be9a(param_2,param_1)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0013be9a(param_2,param_1)" (identifier "FUN_0013be9a") (argument_list "(param_2,param_1)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if (*(int *)*puVar2 != 7) {\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" (if "if") (parenthesized_expression "(*(int *)*puVar2 != 7)" (( "(") (binary_expression "*(int *)*puVar2 != 7" (pointer_expression "*(int *)*puVar2" (* "*") (cast_expression "(int *)*puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n                    \n    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");\n  }" ({ "{") (expression_statement "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get");" (call_expression "__assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" (identifier "__assert_fail") (argument_list "("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,\n                  "dlg_filesel_get")" (( "(") (string_literal ""uc->ctrl->generic.type == CTRL_FILESELECT"" (" """) (string_content "uc->ctrl->generic.type == CTRL_FILESELECT") (" """)) (, ",") (string_literal ""unix/gtkdlg.c"" (" """) (string_content "unix/gtkdlg.c") (" """)) (, ",") (number_literal "0x391") (, ",") (string_literal ""dlg_filesel_get"" (" """) (string_content "dlg_filesel_get") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar1 = puVar2[4];" (assignment_expression "lVar1 = puVar2[4]" (identifier "lVar1") (= "=") (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (lVar1 != 0) {\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = gtk_entry_get_type();\n    uVar3 = g_type_check_instance_cast(lVar1,uVar3);\n    uVar3 = gtk_entry_get_text(uVar3);\n    FUN_0014ff96(uVar3);\n    return;\n  }" ({ "{") (expression_statement "uVar3 = gtk_entry_get_type();" (assignment_expression "uVar3 = gtk_entry_get_type()" (identifier "uVar3") (= "=") (call_expression "gtk_entry_get_type()" (identifier "gtk_entry_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar3 = g_type_check_instance_cast(lVar1,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(lVar1,uVar3)" (identifier "uVar3") (= "=") (call_expression "g_type_check_instance_cast(lVar1,uVar3)" (identifier "g_type_check_instance_cast") (argument_list "(lVar1,uVar3)" (( "(") (identifier "lVar1") (, ",") (identifier "uVar3") () ")")))) (; ";")) (expression_statement "uVar3 = gtk_entry_get_text(uVar3);" (assignment_expression "uVar3 = gtk_entry_get_text(uVar3)" (identifier "uVar3") (= "=") (call_expression "gtk_entry_get_text(uVar3)" (identifier "gtk_entry_get_text") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")")))) (; ";")) (expression_statement "FUN_0014ff96(uVar3);" (call_expression "FUN_0014ff96(uVar3)" (identifier "FUN_0014ff96") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");" (call_expression "__assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" (identifier "__assert_fail") (argument_list "("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get")" (( "(") (string_literal ""uc->entry != NULL"" (" """) (string_content "uc->entry != NULL") (" """)) (, ",") (string_literal ""unix/gtkdlg.c"" (" """) (string_content "unix/gtkdlg.c") (" """)) (, ",") (number_literal "0x392") (, ",") (string_literal ""dlg_filesel_get"" (" """) (string_content "dlg_filesel_get") (" """)) () ")"))) (; ";")) (} "}")))

type_1 * function_1(type_2 *ctrl,void *dlg)

{
  type_3 *var_3;
  type_4 *puVar2;
  type_5 uVar3;
  char *str;
  type_1 *pFVar4;
  
  puVar2 = var_1((type_6 *)dlg,ctrl);
  if ((puVar2->ctrl->generic).type != 7) {
                    /* WARNING: Subroutine does not return */
    var_2("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,
                  "dlg_filesel_get");
  }
  var_3 = puVar2->entry;
  if (var_3 != (type_3 *)0x0) {
    uVar3 = var_4();
    uVar3 = var_5(var_3,uVar3);
    str = (char *)var_6(uVar3);
    pFVar4 = var_7(str);
    return pFVar4;
  }
                    /* WARNING: Subroutine does not return */
  var_2("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

void MASKED(undefined8 param_1,undefined8 param_2)

{
  long lVar1;
  undefined8 *puVar2;
  undefined8 uVar3;
  
  puVar2 = (undefined8 *)FUN_0013be9a(param_2,param_1);
  if (*(int *)*puVar2 != 7) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("uc->ctrl->generic.type == CTRL_FILESELECT","unix/gtkdlg.c",0x391,
                  "dlg_filesel_get");
  }
  lVar1 = puVar2[4];
  if (lVar1 != 0) {
    uVar3 = gtk_entry_get_type();
    uVar3 = g_type_check_instance_cast(lVar1,uVar3);
    uVar3 = gtk_entry_get_text(uVar3);
    FUN_0014ff96(uVar3);
    return;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("uc->entry != NULL","unix/gtkdlg.c",0x392,"dlg_filesel_get");
}

