
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int askappend(void *frontend,Filename *filename,_func_void_void_ptr_int *callback,void *ctx)

{
  char *msg;
  char *title;
  int iVar1;
  GtkWidget *parentwin;
  
  msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."
                  ,0x1000,filename->path);
  title = dupprintf("%s Log to File",appname);
  iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");
  parentwin = (GtkWidget *)get_window();
  iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",
                     100,0xffffffff,0,0);
  safefree(msg);
  safefree(title);
  return iVar1;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  
  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."
                       ,0x1000,*param_2);
  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);
  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");
  uVar4 = FUN_00068560(param_1);
  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",
                       100,0xffffffff,0,0);
  FUN_00031580(uVar1);
  FUN_00031580(uVar2);
  return uVar3;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001b410
ADD EBX,0x66d3b
SUB ESP,0x10
MOV EAX,dword ptr [ESP + 0x28]
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffcee9c]
PUSH 0x1000
PUSH EAX
CALL 0x000306f0
MOV EDI,EAX
POP EAX
LEA EAX,[EBX + 0xffffe5bc]
POP EDX
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffce500]
PUSH EAX
CALL 0x000306f0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffcedb8]
MOV dword ptr [ESP],EAX
CALL 0x00066b00
POP ECX
PUSH dword ptr [ESP + 0x2c]
MOV EBP,EAX
CALL 0x00068560
POP EDX
LEA EDX,[EBX + 0xfffce50f]
POP ECX
PUSH 0x0
PUSH 0x0
PUSH -0x1
PUSH 0x64
PUSH EDX
LEA EDX,[EBX + 0xfffce517]
PUSH 0x1
PUSH 0x0
PUSH 0x61
PUSH EDX
LEA EDX,[EBX + 0xfffce51e]
PUSH 0x2
PUSH 0x1
PUSH 0x6f
PUSH EDX
PUSH 0x0
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x0005d520
ADD ESP,0x44
PUSH EDI
MOV EBP,EAX
CALL 0x00031580
MOV dword ptr [ESP],ESI
CALL 0x00031580
ADD ESP,0x1c
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}\n\n" comment (function_definition "undefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" type_identifier (function_declarator "FUN_0005ea60(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (expression_statement "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);" (assignment_expression "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" identifier = (call_expression "FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" identifier (argument_list "("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" ( (string_literal ""The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal , (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);" (assignment_expression "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" identifier = (call_expression "FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" identifier (argument_list "("%s Log to File",PTR_s_PuTTYtel_000c3d60)" ( (string_literal ""%s Log to File"" " string_content ") , identifier )))) ;) (expression_statement "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");" (assignment_expression "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier = (call_expression "FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier (argument_list "("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" ( (string_literal ""LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH"" " string_content ") )))) ;) (expression_statement "uVar4 = FUN_00068560(param_1);" (assignment_expression "uVar4 = FUN_00068560(param_1)" identifier = (call_expression "FUN_00068560(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);" (assignment_expression "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" identifier = (call_expression "FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" identifier (argument_list "(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (string_literal ""Overwrite"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Append"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Disable"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_00031580(uVar1);" (call_expression "FUN_00031580(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "FUN_00031580(uVar2);" (call_expression "FUN_00031580(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nint askappend(void *frontend,Filename *filename,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  char *msg;\n  char *title;\n  int iVar1;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path);\n  title = dupprintf("%s Log to File",appname);\n  iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  parentwin = (GtkWidget *)get_window();\n  iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0);\n  safefree(msg);\n  safefree(title);\n  return iVar1;\n}\n\n" comment comment comment (function_definition "int askappend(void *frontend,Filename *filename,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  char *msg;\n  char *title;\n  int iVar1;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path);\n  title = dupprintf("%s Log to File",appname);\n  iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  parentwin = (GtkWidget *)get_window();\n  iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0);\n  safefree(msg);\n  safefree(title);\n  return iVar1;\n}" primitive_type (function_declarator "askappend(void *frontend,Filename *filename,_func_void_void_ptr_int *callback,void *ctx)" identifier (parameter_list "(void *frontend,Filename *filename,_func_void_void_ptr_int *callback,void *ctx)" ( (parameter_declaration "void *frontend" primitive_type (pointer_declarator "*frontend" * identifier)) , (parameter_declaration "Filename *filename" type_identifier (pointer_declarator "*filename" * identifier)) , (parameter_declaration "_func_void_void_ptr_int *callback" type_identifier (pointer_declarator "*callback" * identifier)) , (parameter_declaration "void *ctx" primitive_type (pointer_declarator "*ctx" * identifier)) ))) (compound_statement "{\n  char *msg;\n  char *title;\n  int iVar1;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path);\n  title = dupprintf("%s Log to File",appname);\n  iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  parentwin = (GtkWidget *)get_window();\n  iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0);\n  safefree(msg);\n  safefree(title);\n  return iVar1;\n}" { (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (declaration "char *title;" primitive_type (pointer_declarator "*title" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "GtkWidget *parentwin;" type_identifier (pointer_declarator "*parentwin" * identifier) ;) (expression_statement "msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path);" (assignment_expression "msg = dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path)" identifier = (call_expression "dupprintf("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path)" identifier (argument_list "("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                  ,0x1000,filename->path)" ( (string_literal ""The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal , (field_expression "filename->path" identifier -> field_identifier) )))) ;) (expression_statement "title = dupprintf("%s Log to File",appname);" (assignment_expression "title = dupprintf("%s Log to File",appname)" identifier = (call_expression "dupprintf("%s Log to File",appname)" identifier (argument_list "("%s Log to File",appname)" ( (string_literal ""%s Log to File"" " string_content ") , identifier )))) ;) (expression_statement "iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");" (assignment_expression "iVar1 = string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier = (call_expression "string_width("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier (argument_list "("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" ( (string_literal ""LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH"" " string_content ") )))) ;) (expression_statement "parentwin = (GtkWidget *)get_window();" (assignment_expression "parentwin = (GtkWidget *)get_window()" identifier = (cast_expression "(GtkWidget *)get_window()" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_window()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0);" (assignment_expression "iVar1 = messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0)" identifier = (call_expression "messagebox(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0)" identifier (argument_list "(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                     100,0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (string_literal ""Overwrite"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Append"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Disable"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "safefree(msg);" (call_expression "safefree(msg)" identifier (argument_list "(msg)" ( identifier ))) ;) (expression_statement "safefree(title);" (call_expression "safefree(title)" identifier (argument_list "(title)" ( identifier ))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "undefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}\n\n" (function_definition "undefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" type_identifier (function_declarator "FUN_0005ea60(undefined4 param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (expression_statement "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);" (assignment_expression "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" identifier = (call_expression "FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" identifier (argument_list "("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" ( (string_literal ""The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal , (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);" (assignment_expression "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" identifier = (call_expression "FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" identifier (argument_list "("%s Log to File",PTR_s_PuTTYtel_000c3d60)" ( (string_literal ""%s Log to File"" " string_content ") , identifier )))) ;) (expression_statement "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");" (assignment_expression "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier = (call_expression "FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" identifier (argument_list "("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" ( (string_literal ""LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH"" " string_content ") )))) ;) (expression_statement "uVar4 = FUN_00068560(param_1);" (assignment_expression "uVar4 = FUN_00068560(param_1)" identifier = (call_expression "FUN_00068560(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);" (assignment_expression "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" identifier = (call_expression "FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" identifier (argument_list "(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (string_literal ""Overwrite"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Append"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Disable"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_00031580(uVar1);" (call_expression "FUN_00031580(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "FUN_00031580(uVar2);" (call_expression "FUN_00031580(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT , (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT , (string_literal " string_content ") , LIT , LIT , LIT , (string_literal " string_content ") , LIT , LIT , LIT , (string_literal " string_content ") , LIT , LIT , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_0005ea60(undefined4 param_1,undefined4 *param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" (type_identifier "undefined4") (function_declarator "FUN_0005ea60(undefined4 param_1,undefined4 *param_2)" (identifier "FUN_0005ea60") (parameter_list "(undefined4 param_1,undefined4 *param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  \n  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);\n  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);\n  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");\n  uVar4 = FUN_00068560(param_1);\n  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);\n  FUN_00031580(uVar1);\n  FUN_00031580(uVar2);\n  return uVar3;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (expression_statement "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2);" (assignment_expression "uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" (identifier "uVar1") (= "=") (call_expression "FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" (identifier "FUN_000306f0") (argument_list "("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."\n                       ,0x1000,*param_2)" (( "(") (string_literal ""The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."" (" """) (string_content "The session log file ") (escape_sequence "\"") (string_content "%.*s") (escape_sequence "\"") (string_content " already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session.") (" """)) (, ",") (number_literal "0x1000") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);" (assignment_expression "uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" (identifier "uVar2") (= "=") (call_expression "FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60)" (identifier "FUN_000306f0") (argument_list "("%s Log to File",PTR_s_PuTTYtel_000c3d60)" (( "(") (string_literal ""%s Log to File"" (" """) (string_content "%s Log to File") (" """)) (, ",") (identifier "PTR_s_PuTTYtel_000c3d60") () ")")))) (; ";")) (expression_statement "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");" (assignment_expression "uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" (identifier "uVar3") (= "=") (call_expression "FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" (identifier "FUN_00066b00") (argument_list "("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH")" (( "(") (string_literal ""LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH"" (" """) (string_content "LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH") (" """)) () ")")))) (; ";")) (expression_statement "uVar4 = FUN_00068560(param_1);" (assignment_expression "uVar4 = FUN_00068560(param_1)" (identifier "uVar4") (= "=") (call_expression "FUN_00068560(param_1)" (identifier "FUN_00068560") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0);" (assignment_expression "uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" (identifier "uVar3") (= "=") (call_expression "FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" (identifier "FUN_0005d520") (argument_list "(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",\n                       100,0xffffffff,0,0)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar2") (, ",") (identifier "uVar1") (, ",") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (string_literal ""Overwrite"" (" """) (string_content "Overwrite") (" """)) (, ",") (number_literal "0x6f") (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (string_literal ""Append"" (" """) (string_content "Append") (" """)) (, ",") (number_literal "0x61") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (string_literal ""Disable"" (" """) (string_content "Disable") (" """)) (, ",") (number_literal "100") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_00031580(uVar1);" (call_expression "FUN_00031580(uVar1)" (identifier "FUN_00031580") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "FUN_00031580(uVar2);" (call_expression "FUN_00031580(uVar2)" (identifier "FUN_00031580") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int function_1(void *frontend,type_1 *filename,type_2 *callback,void *ctx)

{
  char *msg;
  char *title;
  int iVar1;
  type_3 *parentwin;
  
  msg = var_1("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."
                  ,0x1000,filename->path);
  title = var_1("%s Log to File",appname);
  iVar1 = var_2("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");
  parentwin = (type_3 *)var_3();
  iVar1 = var_4(parentwin,title,msg,iVar1,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",
                     100,0xffffffff,0,0);
  var_5(msg);
  var_5(title);
  return iVar1;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content)) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (number_literal) (string_literal (string_content)) (number_literal) (number_literal) (number_literal) (string_literal (string_content)) (number_literal) (number_literal) (number_literal) (string_literal (string_content)) (number_literal) (number_literal) (number_literal) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 MASKED(undefined4 param_1,undefined4 *param_2)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  
  uVar1 = FUN_000306f0("The session log file \"%.*s\" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session."
                       ,0x1000,*param_2);
  uVar2 = FUN_000306f0("%s Log to File",PTR_s_PuTTYtel_000c3d60);
  uVar3 = FUN_00066b00("LINE OF TEXT SUITABLE FOR THE ASKAPPEND WIDTH");
  uVar4 = FUN_00068560(param_1);
  uVar3 = FUN_0005d520(uVar4,uVar2,uVar1,uVar3,0,"Overwrite",0x6f,1,2,"Append",0x61,0,1,"Disable",
                       100,0xffffffff,0,0);
  FUN_00031580(uVar1);
  FUN_00031580(uVar2);
  return uVar3;
}

