
/* 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 askalg(void *frontend,char *algtype,char *algname,_func_void_void_ptr_int *callback,void *ctx)

{
  char *msg;
  int iVar1;
  undefined4 uVar2;
  void *pvVar3;
  GtkWidget *parentwin;
  
  msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"
                  ,algtype,algname);
  iVar1 = string_width("Reasonably long line of text as a width template");
  uVar2 = gtk_widget_get_type();
  pvVar3 = get_window();
  parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2);
  iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,
                     0);
  safefree(msg);
  return (uint)(iVar1 != 0);
}



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

bool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  int iVar5;
  
  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"
                       ,param_2,param_3);
  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");
  uVar3 = gtk_widget_get_type();
  uVar4 = FUN_00092d20(param_1);
  uVar3 = g_type_check_instance_cast(uVar4,uVar3);
  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,
                       &DAT_000b739d,0x6e,0,0,0);
  FUN_0002f010(uVar1);
  return iVar5 != 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001c4f0
ADD EBX,0x87597
SUB ESP,0x10
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x2c]
LEA EAX,[EBX + 0xfffbb150]
PUSH EAX
CALL 0x0002edf0
MOV ESI,EAX
LEA EAX,[EBX + 0xfffbad50]
MOV dword ptr [ESP],EAX
CALL 0x000912d0
MOV EDI,EAX
CALL 0x0001a580
MOV EBP,EAX
POP EAX
PUSH dword ptr [ESP + 0x2c]
CALL 0x00092d20
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x0001a5e0
POP EBP
POP EDX
LEA EDX,[EBX + 0xfffa6c4d]
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x6e
PUSH EDX
LEA EDX,[EBX + 0xfffa6c49]
PUSH 0x1
PUSH 0x0
PUSH 0x79
PUSH EDX
LEA EDX,[EBX + 0xfffba533]
PUSH 0x0
PUSH EDI
PUSH ESI
PUSH EDX
PUSH EAX
CALL 0x00088a20
ADD ESP,0x34
PUSH ESI
MOV EDI,EAX
CALL 0x0002f010
XOR EAX,EAX
TEST EDI,EDI
SETNZ AL
ADD ESP,0x1c
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\nbool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\n}\n\n" comment (function_definition "bool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\n}" primitive_type (function_declarator "FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\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 ;) (declaration "int iVar5;" primitive_type identifier ;) (expression_statement "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);" (assignment_expression "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" identifier = (call_expression "FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" identifier (argument_list "("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" ( (string_literal ""The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"" " string_content escape_sequence string_content ") , identifier , identifier )))) ;) (expression_statement "uVar2 = FUN_000912d0("Reasonably long line of text as a width template");" (assignment_expression "uVar2 = FUN_000912d0("Reasonably long line of text as a width template")" identifier = (call_expression "FUN_000912d0("Reasonably long line of text as a width template")" identifier (argument_list "("Reasonably long line of text as a width template")" ( (string_literal ""Reasonably long line of text as a width template"" " string_content ") )))) ;) (expression_statement "uVar3 = gtk_widget_get_type();" (assignment_expression "uVar3 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = FUN_00092d20(param_1);" (assignment_expression "uVar4 = FUN_00092d20(param_1)" identifier = (call_expression "FUN_00092d20(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(uVar4,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar4,uVar3)" identifier = (call_expression "g_type_check_instance_cast(uVar4,uVar3)" identifier (argument_list "(uVar4,uVar3)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);" (assignment_expression "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" identifier = (call_expression "FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" identifier (argument_list "(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , (pointer_expression "&DAT_000b7399" & identifier) , number_literal , number_literal , number_literal , (pointer_expression "&DAT_000b739d" & identifier) , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_0002f010(uVar1);" (call_expression "FUN_0002f010(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (return_statement "return iVar5 != 0;" return (binary_expression "iVar5 != 0" identifier != number_literal) ;) })))
(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 askalg(void *frontend,char *algtype,char *algname,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  char *msg;\n  int iVar1;\n  undefined4 uVar2;\n  void *pvVar3;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname);\n  iVar1 = string_width("Reasonably long line of text as a width template");\n  uVar2 = gtk_widget_get_type();\n  pvVar3 = get_window();\n  parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2);\n  iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0);\n  safefree(msg);\n  return (uint)(iVar1 != 0);\n}\n\n" comment comment comment (function_definition "int askalg(void *frontend,char *algtype,char *algname,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  char *msg;\n  int iVar1;\n  undefined4 uVar2;\n  void *pvVar3;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname);\n  iVar1 = string_width("Reasonably long line of text as a width template");\n  uVar2 = gtk_widget_get_type();\n  pvVar3 = get_window();\n  parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2);\n  iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0);\n  safefree(msg);\n  return (uint)(iVar1 != 0);\n}" primitive_type (function_declarator "askalg(void *frontend,char *algtype,char *algname,_func_void_void_ptr_int *callback,void *ctx)" identifier (parameter_list "(void *frontend,char *algtype,char *algname,_func_void_void_ptr_int *callback,void *ctx)" ( (parameter_declaration "void *frontend" primitive_type (pointer_declarator "*frontend" * identifier)) , (parameter_declaration "char *algtype" primitive_type (pointer_declarator "*algtype" * identifier)) , (parameter_declaration "char *algname" primitive_type (pointer_declarator "*algname" * 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  int iVar1;\n  undefined4 uVar2;\n  void *pvVar3;\n  GtkWidget *parentwin;\n  \n  msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname);\n  iVar1 = string_width("Reasonably long line of text as a width template");\n  uVar2 = gtk_widget_get_type();\n  pvVar3 = get_window();\n  parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2);\n  iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0);\n  safefree(msg);\n  return (uint)(iVar1 != 0);\n}" { (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "GtkWidget *parentwin;" type_identifier (pointer_declarator "*parentwin" * identifier) ;) (expression_statement "msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname);" (assignment_expression "msg = dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname)" identifier = (call_expression "dupprintf("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname)" identifier (argument_list "("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                  ,algtype,algname)" ( (string_literal ""The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"" " string_content escape_sequence string_content ") , identifier , identifier )))) ;) (expression_statement "iVar1 = string_width("Reasonably long line of text as a width template");" (assignment_expression "iVar1 = string_width("Reasonably long line of text as a width template")" identifier = (call_expression "string_width("Reasonably long line of text as a width template")" identifier (argument_list "("Reasonably long line of text as a width template")" ( (string_literal ""Reasonably long line of text as a width template"" " string_content ") )))) ;) (expression_statement "uVar2 = gtk_widget_get_type();" (assignment_expression "uVar2 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "pvVar3 = get_window();" (assignment_expression "pvVar3 = get_window()" identifier = (call_expression "get_window()" identifier (argument_list "()" ( )))) ;) (expression_statement "parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2);" (assignment_expression "parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2)" identifier = (cast_expression "(GtkWidget *)g_type_check_instance_cast(pvVar3,uVar2)" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pvVar3,uVar2)" identifier (argument_list "(pvVar3,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0);" (assignment_expression "iVar1 = messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0)" identifier = (call_expression "messagebox(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0)" identifier (argument_list "(parentwin,"PuTTY Security Alert",msg,iVar1,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,\n                     0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "safefree(msg);" (call_expression "safefree(msg)" identifier (argument_list "(msg)" ( identifier ))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })))
(translation_unit "bool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\n}\n\n" (function_definition "bool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\n}" primitive_type (function_declarator "FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\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 ;) (declaration "int iVar5;" primitive_type identifier ;) (expression_statement "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);" (assignment_expression "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" identifier = (call_expression "FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" identifier (argument_list "("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" ( (string_literal ""The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"" " string_content escape_sequence string_content ") , identifier , identifier )))) ;) (expression_statement "uVar2 = FUN_000912d0("Reasonably long line of text as a width template");" (assignment_expression "uVar2 = FUN_000912d0("Reasonably long line of text as a width template")" identifier = (call_expression "FUN_000912d0("Reasonably long line of text as a width template")" identifier (argument_list "("Reasonably long line of text as a width template")" ( (string_literal ""Reasonably long line of text as a width template"" " string_content ") )))) ;) (expression_statement "uVar3 = gtk_widget_get_type();" (assignment_expression "uVar3 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = FUN_00092d20(param_1);" (assignment_expression "uVar4 = FUN_00092d20(param_1)" identifier = (call_expression "FUN_00092d20(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(uVar4,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar4,uVar3)" identifier = (call_expression "g_type_check_instance_cast(uVar4,uVar3)" identifier (argument_list "(uVar4,uVar3)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);" (assignment_expression "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" identifier = (call_expression "FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" identifier (argument_list "(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , (pointer_expression "&DAT_000b7399" & identifier) , number_literal , number_literal , number_literal , (pointer_expression "&DAT_000b739d" & identifier) , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_0002f010(uVar1);" (call_expression "FUN_0002f010(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (return_statement "return iVar5 != 0;" return (binary_expression "iVar5 != 0" identifier != number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (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 ") , IDENT , 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 ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , LIT , (pointer_expression & IDENT) , LIT , LIT , LIT , (pointer_expression & IDENT) , LIT , LIT , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return (binary_expression IDENT != LIT) ;) })))
(function_definition "bool FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\n}" (primitive_type "bool") (function_declarator "FUN_000891b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (identifier "FUN_000891b0") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  \n  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);\n  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");\n  uVar3 = gtk_widget_get_type();\n  uVar4 = FUN_00092d20(param_1);\n  uVar3 = g_type_check_instance_cast(uVar4,uVar3);\n  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);\n  FUN_0002f010(uVar1);\n  return iVar5 != 0;\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") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (expression_statement "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3);" (assignment_expression "uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" (identifier "uVar1") (= "=") (call_expression "FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" (identifier "FUN_0002edf0") (argument_list "("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"\n                       ,param_2,param_3)" (( "(") (string_literal ""The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"" (" """) (string_content "The first %s supported by the server is %s, which is below the configured warning threshold.") (escape_sequence "\n") (string_content "Continue with connection?") (" """)) (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar2 = FUN_000912d0("Reasonably long line of text as a width template");" (assignment_expression "uVar2 = FUN_000912d0("Reasonably long line of text as a width template")" (identifier "uVar2") (= "=") (call_expression "FUN_000912d0("Reasonably long line of text as a width template")" (identifier "FUN_000912d0") (argument_list "("Reasonably long line of text as a width template")" (( "(") (string_literal ""Reasonably long line of text as a width template"" (" """) (string_content "Reasonably long line of text as a width template") (" """)) () ")")))) (; ";")) (expression_statement "uVar3 = gtk_widget_get_type();" (assignment_expression "uVar3 = gtk_widget_get_type()" (identifier "uVar3") (= "=") (call_expression "gtk_widget_get_type()" (identifier "gtk_widget_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = FUN_00092d20(param_1);" (assignment_expression "uVar4 = FUN_00092d20(param_1)" (identifier "uVar4") (= "=") (call_expression "FUN_00092d20(param_1)" (identifier "FUN_00092d20") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar3 = g_type_check_instance_cast(uVar4,uVar3);" (assignment_expression "uVar3 = g_type_check_instance_cast(uVar4,uVar3)" (identifier "uVar3") (= "=") (call_expression "g_type_check_instance_cast(uVar4,uVar3)" (identifier "g_type_check_instance_cast") (argument_list "(uVar4,uVar3)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar3") () ")")))) (; ";")) (expression_statement "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0);" (assignment_expression "iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" (identifier "iVar5") (= "=") (call_expression "FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" (identifier "FUN_00088a20") (argument_list "(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,\n                       &DAT_000b739d,0x6e,0,0,0)" (( "(") (identifier "uVar3") (, ",") (string_literal ""PuTTY Security Alert"" (" """) (string_content "PuTTY Security Alert") (" """)) (, ",") (identifier "uVar1") (, ",") (identifier "uVar2") (, ",") (number_literal "0") (, ",") (pointer_expression "&DAT_000b7399" (& "&") (identifier "DAT_000b7399")) (, ",") (number_literal "0x79") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (pointer_expression "&DAT_000b739d" (& "&") (identifier "DAT_000b739d")) (, ",") (number_literal "0x6e") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002f010(uVar1);" (call_expression "FUN_0002f010(uVar1)" (identifier "FUN_0002f010") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (return_statement "return iVar5 != 0;" (return "return") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (; ";")) (} "}")))

/* 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,char *algtype,char *algname,type_1 *callback,void *ctx)

{
  char *msg;
  int var_8;
  type_2 uVar2;
  void *pvVar3;
  type_3 *parentwin;
  
  msg = var_1("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"
                  ,algtype,algname);
  var_8 = var_2("Reasonably long line of text as a width template");
  uVar2 = var_3();
  pvVar3 = var_4();
  parentwin = (type_3 *)var_5(pvVar3,uVar2);
  var_8 = var_6(parentwin,"PuTTY Security Alert",msg,var_8,0,0xb7399,0x79,0,1,0xb739d,0x6e,0,0,
                     0);
  var_7(msg);
  return (uint)(var_8 != 0);
}


(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)) (parameter_declaration type: (type_identifier) 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)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content)) (identifier) (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)))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (identifier) (identifier) (number_literal) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

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

bool MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  int iVar5;
  
  uVar1 = FUN_0002edf0("The first %s supported by the server is %s, which is below the configured warning threshold.\nContinue with connection?"
                       ,param_2,param_3);
  uVar2 = FUN_000912d0("Reasonably long line of text as a width template");
  uVar3 = gtk_widget_get_type();
  uVar4 = FUN_00092d20(param_1);
  uVar3 = g_type_check_instance_cast(uVar4,uVar3);
  iVar5 = FUN_00088a20(uVar3,"PuTTY Security Alert",uVar1,uVar2,0,&DAT_000b7399,0x79,0,1,
                       &DAT_000b739d,0x6e,0,0,0);
  FUN_0002f010(uVar1);
  return iVar5 != 0;
}

