
/* 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 verify_ssh_host_key(void *frontend,char *host,int port,char *keytype,char *keystr,
                       char *fingerprint,_func_void_void_ptr_int *callback,void *ctx)

{
  int iVar1;
  char *pcVar2;
  undefined4 uVar3;
  void *pvVar4;
  GtkWidget *parentwin;
  uint uVar5;
  
  iVar1 = verify_host_key(host,port,keytype,keystr);
  uVar5 = 1;
  if (iVar1 != 0) {
    pcVar2 = 
    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."
    ;
    if (iVar1 != 2) {
      pcVar2 = 
      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."
      ;
    }
    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);
    iVar1 = string_width(fingerprint);
    uVar3 = gtk_widget_get_type();
    pvVar4 = get_window();
    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);
    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,
                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);
    safefree(pcVar2);
    uVar5 = (uint)(iVar1 == 1);
    if (iVar1 == 2) {
      store_host_key(host,port,keytype,keystr);
      uVar5 = 1;
    }
  }
  return uVar5;
}



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

bool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
                 undefined4 param_5,undefined4 param_6)

{
  int iVar1;
  char *pcVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  bool bVar7;
  
  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);
  bVar7 = true;
  if (iVar1 != 0) {
    pcVar2 = 
    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."
    ;
    if (iVar1 != 2) {
      pcVar2 = 
      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."
      ;
    }
    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);
    uVar4 = FUN_000501c0(param_6);
    uVar5 = gtk_widget_get_type();
    uVar6 = FUN_00051c10(param_1);
    uVar5 = g_type_check_instance_cast(uVar6,uVar5);
    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"
                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);
    FUN_0002c6a0(uVar3);
    bVar7 = iVar1 == 1;
    if (iVar1 == 2) {
      FUN_0005b440(param_2,param_3,param_4,param_5);
      bVar7 = true;
    }
  }
  return bVar7;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001a360
ADD EBX,0x5984b
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x34]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
CALL 0x0005b1f0
ADD ESP,0x10
MOV EDX,0x1
TEST EAX,EAX
JZ 0x00048068
CMP EAX,0x2
LEA EDX,[EBX + 0xfffd6efc]
LEA EAX,[EBX + 0xfffd70bc]
CMOVNZ EAX,EDX
SUB ESP,0x4
PUSH EDI
PUSH dword ptr [ESP + 0x34]
PUSH EAX
CALL 0x0002c480
MOV dword ptr [ESP],EDI
MOV EBP,EAX
CALL 0x000501c0
MOV EDI,EAX
CALL 0x00018530
MOV ESI,EAX
POP EAX
PUSH dword ptr [ESP + 0x2c]
CALL 0x00051c10
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00018580
POP ESI
POP EDX
LEA EDX,[EBX + 0xfffd6092]
PUSH 0x0
PUSH 0x0
PUSH -0x1
PUSH 0x63
PUSH EDX
LEA EDX,[EBX + 0xfffd6254]
PUSH 0x1
PUSH 0x0
PUSH 0x6f
PUSH EDX
LEA EDX,[EBX + 0xfffd6261]
PUSH 0x2
PUSH 0x0
PUSH 0x61
PUSH EDX
LEA EDX,[EBX + 0xfffd6268]
PUSH 0x1
PUSH EDI
PUSH EBP
PUSH EDX
PUSH EAX
CALL 0x00047910
ADD ESP,0x44
PUSH EBP
MOV EDI,EAX
CALL 0x0002c6a0
XOR EDX,EDX
ADD ESP,0x10
CMP EDI,0x1
SETZ DL
CMP EDI,0x2
JZ 0x00048078
ADD ESP,0xc
MOV EAX,EDX
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
CALL 0x0005b440
ADD ESP,0x10
MOV EDX,0x1
JMP 0x00048068
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}\n\n" comment (function_definition "bool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" primitive_type (function_declarator "FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);" (assignment_expression "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5)" identifier = (call_expression "FUN_0005b1f0(param_2,param_3,param_4,param_5)" identifier (argument_list "(param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (if_statement "if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" { (expression_statement "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;" (assignment_expression "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" identifier = (string_literal ""WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (if_statement "if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" { (expression_statement "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;" (assignment_expression "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" identifier = (string_literal ""The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) })) (expression_statement "uVar3 = FUN_0002c480(pcVar2,param_4,param_6);" (assignment_expression "uVar3 = FUN_0002c480(pcVar2,param_4,param_6)" identifier = (call_expression "FUN_0002c480(pcVar2,param_4,param_6)" identifier (argument_list "(pcVar2,param_4,param_6)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar4 = FUN_000501c0(param_6);" (assignment_expression "uVar4 = FUN_000501c0(param_6)" identifier = (call_expression "FUN_000501c0(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (expression_statement "uVar5 = gtk_widget_get_type();" (assignment_expression "uVar5 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = FUN_00051c10(param_1);" (assignment_expression "uVar6 = FUN_00051c10(param_1)" identifier = (call_expression "FUN_00051c10(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar6,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar6,uVar5)" identifier = (call_expression "g_type_check_instance_cast(uVar6,uVar5)" identifier (argument_list "(uVar6,uVar5)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);" (assignment_expression "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier = (call_expression "FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier (argument_list "(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , (string_literal ""Accept"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Connect Once"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Cancel"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c6a0(uVar3);" (call_expression "FUN_0002c6a0(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "bVar7 = iVar1 == 1;" (assignment_expression "bVar7 = iVar1 == 1" identifier = (binary_expression "iVar1 == 1" identifier == number_literal)) ;) (if_statement "if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (compound_statement "{\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" { (expression_statement "FUN_0005b440(param_2,param_3,param_4,param_5);" (call_expression "FUN_0005b440(param_2,param_3,param_4,param_5)" identifier (argument_list "(param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) })) })) (return_statement "return bVar7;" 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 verify_ssh_host_key(void *frontend,char *host,int port,char *keytype,char *keystr,\n                       char *fingerprint,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  void *pvVar4;\n  GtkWidget *parentwin;\n  uint uVar5;\n  \n  iVar1 = verify_host_key(host,port,keytype,keystr);\n  uVar5 = 1;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);\n    iVar1 = string_width(fingerprint);\n    uVar3 = gtk_widget_get_type();\n    pvVar4 = get_window();\n    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);\n    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    safefree(pcVar2);\n    uVar5 = (uint)(iVar1 == 1);\n    if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }\n  }\n  return uVar5;\n}\n\n" comment comment comment (function_definition "int verify_ssh_host_key(void *frontend,char *host,int port,char *keytype,char *keystr,\n                       char *fingerprint,_func_void_void_ptr_int *callback,void *ctx)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  void *pvVar4;\n  GtkWidget *parentwin;\n  uint uVar5;\n  \n  iVar1 = verify_host_key(host,port,keytype,keystr);\n  uVar5 = 1;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);\n    iVar1 = string_width(fingerprint);\n    uVar3 = gtk_widget_get_type();\n    pvVar4 = get_window();\n    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);\n    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    safefree(pcVar2);\n    uVar5 = (uint)(iVar1 == 1);\n    if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }\n  }\n  return uVar5;\n}" primitive_type (function_declarator "verify_ssh_host_key(void *frontend,char *host,int port,char *keytype,char *keystr,\n                       char *fingerprint,_func_void_void_ptr_int *callback,void *ctx)" identifier (parameter_list "(void *frontend,char *host,int port,char *keytype,char *keystr,\n                       char *fingerprint,_func_void_void_ptr_int *callback,void *ctx)" ( (parameter_declaration "void *frontend" primitive_type (pointer_declarator "*frontend" * identifier)) , (parameter_declaration "char *host" primitive_type (pointer_declarator "*host" * identifier)) , (parameter_declaration "int port" primitive_type identifier) , (parameter_declaration "char *keytype" primitive_type (pointer_declarator "*keytype" * identifier)) , (parameter_declaration "char *keystr" primitive_type (pointer_declarator "*keystr" * identifier)) , (parameter_declaration "char *fingerprint" primitive_type (pointer_declarator "*fingerprint" * 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  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  void *pvVar4;\n  GtkWidget *parentwin;\n  uint uVar5;\n  \n  iVar1 = verify_host_key(host,port,keytype,keystr);\n  uVar5 = 1;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);\n    iVar1 = string_width(fingerprint);\n    uVar3 = gtk_widget_get_type();\n    pvVar4 = get_window();\n    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);\n    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    safefree(pcVar2);\n    uVar5 = (uint)(iVar1 == 1);\n    if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }\n  }\n  return uVar5;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "void *pvVar4;" primitive_type (pointer_declarator "*pvVar4" * identifier) ;) (declaration "GtkWidget *parentwin;" type_identifier (pointer_declarator "*parentwin" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "iVar1 = verify_host_key(host,port,keytype,keystr);" (assignment_expression "iVar1 = verify_host_key(host,port,keytype,keystr)" identifier = (call_expression "verify_host_key(host,port,keytype,keystr)" identifier (argument_list "(host,port,keytype,keystr)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (if_statement "if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);\n    iVar1 = string_width(fingerprint);\n    uVar3 = gtk_widget_get_type();\n    pvVar4 = get_window();\n    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);\n    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    safefree(pcVar2);\n    uVar5 = (uint)(iVar1 == 1);\n    if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    pcVar2 = dupprintf(pcVar2,keytype,fingerprint);\n    iVar1 = string_width(fingerprint);\n    uVar3 = gtk_widget_get_type();\n    pvVar4 = get_window();\n    parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);\n    iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    safefree(pcVar2);\n    uVar5 = (uint)(iVar1 == 1);\n    if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }\n  }" { (expression_statement "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;" (assignment_expression "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" identifier = (string_literal ""WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (if_statement "if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" { (expression_statement "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;" (assignment_expression "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" identifier = (string_literal ""The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) })) (expression_statement "pcVar2 = dupprintf(pcVar2,keytype,fingerprint);" (assignment_expression "pcVar2 = dupprintf(pcVar2,keytype,fingerprint)" identifier = (call_expression "dupprintf(pcVar2,keytype,fingerprint)" identifier (argument_list "(pcVar2,keytype,fingerprint)" ( identifier , identifier , identifier )))) ;) (expression_statement "iVar1 = string_width(fingerprint);" (assignment_expression "iVar1 = string_width(fingerprint)" identifier = (call_expression "string_width(fingerprint)" identifier (argument_list "(fingerprint)" ( identifier )))) ;) (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 "pvVar4 = get_window();" (assignment_expression "pvVar4 = get_window()" identifier = (call_expression "get_window()" identifier (argument_list "()" ( )))) ;) (expression_statement "parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3);" (assignment_expression "parentwin = (GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3)" identifier = (cast_expression "(GtkWidget *)g_type_check_instance_cast(pvVar4,uVar3)" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_type_check_instance_cast(pvVar4,uVar3)" identifier (argument_list "(pvVar4,uVar3)" ( identifier , identifier ))))) ;) (expression_statement "iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);" (assignment_expression "iVar1 = messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier = (call_expression "messagebox(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier (argument_list "(parentwin,"PuTTY Security Alert",pcVar2,iVar1,1,"Accept",0x61,0,2,\n                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , (string_literal ""Accept"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Connect Once"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Cancel"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "safefree(pcVar2);" (call_expression "safefree(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)(iVar1 == 1);" (assignment_expression "uVar5 = (uint)(iVar1 == 1)" identifier = (call_expression "(uint)(iVar1 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )))) ;) (if_statement "if (iVar1 == 2) {\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (compound_statement "{\n      store_host_key(host,port,keytype,keystr);\n      uVar5 = 1;\n    }" { (expression_statement "store_host_key(host,port,keytype,keystr);" (call_expression "store_host_key(host,port,keytype,keystr)" identifier (argument_list "(host,port,keytype,keystr)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) })) })) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit "bool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}\n\n" (function_definition "bool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" primitive_type (function_declarator "FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);" (assignment_expression "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5)" identifier = (call_expression "FUN_0005b1f0(param_2,param_3,param_4,param_5)" identifier (argument_list "(param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (if_statement "if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" { (expression_statement "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;" (assignment_expression "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" identifier = (string_literal ""WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (if_statement "if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" { (expression_statement "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;" (assignment_expression "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" identifier = (string_literal ""The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) })) (expression_statement "uVar3 = FUN_0002c480(pcVar2,param_4,param_6);" (assignment_expression "uVar3 = FUN_0002c480(pcVar2,param_4,param_6)" identifier = (call_expression "FUN_0002c480(pcVar2,param_4,param_6)" identifier (argument_list "(pcVar2,param_4,param_6)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar4 = FUN_000501c0(param_6);" (assignment_expression "uVar4 = FUN_000501c0(param_6)" identifier = (call_expression "FUN_000501c0(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (expression_statement "uVar5 = gtk_widget_get_type();" (assignment_expression "uVar5 = gtk_widget_get_type()" identifier = (call_expression "gtk_widget_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = FUN_00051c10(param_1);" (assignment_expression "uVar6 = FUN_00051c10(param_1)" identifier = (call_expression "FUN_00051c10(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(uVar6,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar6,uVar5)" identifier = (call_expression "g_type_check_instance_cast(uVar6,uVar5)" identifier (argument_list "(uVar6,uVar5)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);" (assignment_expression "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier = (call_expression "FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" identifier (argument_list "(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" ( identifier , (string_literal ""PuTTY Security Alert"" " string_content ") , identifier , identifier , number_literal , (string_literal ""Accept"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Connect Once"" " string_content ") , number_literal , number_literal , number_literal , (string_literal ""Cancel"" " string_content ") , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c6a0(uVar3);" (call_expression "FUN_0002c6a0(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "bVar7 = iVar1 == 1;" (assignment_expression "bVar7 = iVar1 == 1" identifier = (binary_expression "iVar1 == 1" identifier == number_literal)) ;) (if_statement "if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (compound_statement "{\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" { (expression_statement "FUN_0005b440(param_2,param_3,param_4,param_5);" (call_expression "FUN_0005b440(param_2,param_3,param_4,param_5)" identifier (argument_list "(param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) })) })) (return_statement "return bVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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 , (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 (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })) })) (return_statement return IDENT ;) })))
(function_definition "bool FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)\n\n{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" (primitive_type "bool") (function_declarator "FUN_00047f90(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" (identifier "FUN_00047f90") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6)" (( "(") (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")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  \n  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);\n  bVar7 = true;\n  if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }\n  return bVar7;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (expression_statement "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);" (assignment_expression "iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5)" (identifier "iVar1") (= "=") (call_expression "FUN_0005b1f0(param_2,param_3,param_4,param_5)" (identifier "FUN_0005b1f0") (argument_list "(param_2,param_3,param_4,param_5)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (if_statement "if (iVar1 != 0) {\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;\n    if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }\n    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);\n    uVar4 = FUN_000501c0(param_6);\n    uVar5 = gtk_widget_get_type();\n    uVar6 = FUN_00051c10(param_1);\n    uVar5 = g_type_check_instance_cast(uVar6,uVar5);\n    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);\n    FUN_0002c6a0(uVar3);\n    bVar7 = iVar1 == 1;\n    if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }\n  }" ({ "{") (expression_statement "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."\n    ;" (assignment_expression "pcVar2 = \n    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" (identifier "pcVar2") (= "=") (string_literal ""WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."" (" """) (string_content "WARNING - POTENTIAL SECURITY BREACH!") (escape_sequence "\n") (string_content "The server") (escape_sequence "\'") (string_content "s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.") (escape_sequence "\n") (string_content "The new %s key fingerprint is:") (escape_sequence "\n") (string_content "%s") (escape_sequence "\n") (string_content "If you were expecting this change and trust the new key, press ") (escape_sequence "\"") (string_content "Accept") (escape_sequence "\"") (string_content " to update PuTTY") (escape_sequence "\'") (string_content "s cache and continue connecting.") (escape_sequence "\n") (string_content "If you want to carry on connecting but without updating the cache, press ") (escape_sequence "\"") (string_content "Connect Once") (escape_sequence "\"") (string_content ".") (escape_sequence "\n") (string_content "If you want to abandon the connection completely, press ") (escape_sequence "\"") (string_content "Cancel") (escape_sequence "\"") (string_content " to cancel. Pressing ") (escape_sequence "\"") (string_content "Cancel") (escape_sequence "\"") (string_content " is the ONLY guaranteed safe choice.") (" """))) (; ";")) (if_statement "if (iVar1 != 2) {\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" (if "if") (parenthesized_expression "(iVar1 != 2)" (( "(") (binary_expression "iVar1 != 2" (identifier "iVar1") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;\n    }" ({ "{") (expression_statement "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."\n      ;" (assignment_expression "pcVar2 = \n      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" (identifier "pcVar2") (= "=") (string_literal ""The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."" (" """) (string_content "The server") (escape_sequence "\'") (string_content "s host key is not cached. You have no guarantee that the server is the computer you think it is.") (escape_sequence "\n") (string_content "The server") (escape_sequence "\'") (string_content "s %s key fingerprint is:") (escape_sequence "\n") (string_content "%s") (escape_sequence "\n") (string_content "If you trust this host, press ") (escape_sequence "\"") (string_content "Accept") (escape_sequence "\"") (string_content " to add the key to PuTTY") (escape_sequence "\'") (string_content "s cache and carry on connecting.") (escape_sequence "\n") (string_content "If you want to carry on connecting just once, without adding the key to the cache, press ") (escape_sequence "\"") (string_content "Connect Once") (escape_sequence "\"") (string_content ".") (escape_sequence "\n") (string_content "If you do not trust this host, press ") (escape_sequence "\"") (string_content "Cancel") (escape_sequence "\"") (string_content " to abandon the connection.") (" """))) (; ";")) (} "}"))) (expression_statement "uVar3 = FUN_0002c480(pcVar2,param_4,param_6);" (assignment_expression "uVar3 = FUN_0002c480(pcVar2,param_4,param_6)" (identifier "uVar3") (= "=") (call_expression "FUN_0002c480(pcVar2,param_4,param_6)" (identifier "FUN_0002c480") (argument_list "(pcVar2,param_4,param_6)" (( "(") (identifier "pcVar2") (, ",") (identifier "param_4") (, ",") (identifier "param_6") () ")")))) (; ";")) (expression_statement "uVar4 = FUN_000501c0(param_6);" (assignment_expression "uVar4 = FUN_000501c0(param_6)" (identifier "uVar4") (= "=") (call_expression "FUN_000501c0(param_6)" (identifier "FUN_000501c0") (argument_list "(param_6)" (( "(") (identifier "param_6") () ")")))) (; ";")) (expression_statement "uVar5 = gtk_widget_get_type();" (assignment_expression "uVar5 = gtk_widget_get_type()" (identifier "uVar5") (= "=") (call_expression "gtk_widget_get_type()" (identifier "gtk_widget_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = FUN_00051c10(param_1);" (assignment_expression "uVar6 = FUN_00051c10(param_1)" (identifier "uVar6") (= "=") (call_expression "FUN_00051c10(param_1)" (identifier "FUN_00051c10") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar5 = g_type_check_instance_cast(uVar6,uVar5);" (assignment_expression "uVar5 = g_type_check_instance_cast(uVar6,uVar5)" (identifier "uVar5") (= "=") (call_expression "g_type_check_instance_cast(uVar6,uVar5)" (identifier "g_type_check_instance_cast") (argument_list "(uVar6,uVar5)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);" (assignment_expression "iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" (identifier "iVar1") (= "=") (call_expression "FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" (identifier "FUN_00047910") (argument_list "(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"\n                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0)" (( "(") (identifier "uVar5") (, ",") (string_literal ""PuTTY Security Alert"" (" """) (string_content "PuTTY Security Alert") (" """)) (, ",") (identifier "uVar3") (, ",") (identifier "uVar4") (, ",") (number_literal "1") (, ",") (string_literal ""Accept"" (" """) (string_content "Accept") (" """)) (, ",") (number_literal "0x61") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (string_literal ""Connect Once"" (" """) (string_content "Connect Once") (" """)) (, ",") (number_literal "0x6f") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (string_literal ""Cancel"" (" """) (string_content "Cancel") (" """)) (, ",") (number_literal "99") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002c6a0(uVar3);" (call_expression "FUN_0002c6a0(uVar3)" (identifier "FUN_0002c6a0") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "bVar7 = iVar1 == 1;" (assignment_expression "bVar7 = iVar1 == 1" (identifier "bVar7") (= "=") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1"))) (; ";")) (if_statement "if (iVar1 == 2) {\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" (if "if") (parenthesized_expression "(iVar1 == 2)" (( "(") (binary_expression "iVar1 == 2" (identifier "iVar1") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      FUN_0005b440(param_2,param_3,param_4,param_5);\n      bVar7 = true;\n    }" ({ "{") (expression_statement "FUN_0005b440(param_2,param_3,param_4,param_5);" (call_expression "FUN_0005b440(param_2,param_3,param_4,param_5)" (identifier "FUN_0005b440") (argument_list "(param_2,param_3,param_4,param_5)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (} "}"))) (} "}"))) (return_statement "return bVar7;" (return "return") (identifier "bVar7") (; ";")) (} "}")))

/* 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 *host,int port,char *keytype,char *keystr,
                       char *fingerprint,type_1 *callback,void *ctx)

{
  int var_2;
  char *pcVar2;
  type_2 uVar3;
  void *pvVar4;
  type_3 *parentwin;
  type_4 uVar5;
  
  var_2 = var_1(host,port,keytype,keystr);
  uVar5 = 1;
  if (var_2 != 0) {
    pcVar2 = 
    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."
    ;
    if (var_2 != 2) {
      pcVar2 = 
      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."
      ;
    }
    pcVar2 = var_3(pcVar2,keytype,fingerprint);
    var_2 = var_4(fingerprint);
    uVar3 = var_5();
    pvVar4 = var_6();
    parentwin = (type_3 *)var_7(pvVar4,uVar3);
    var_2 = var_8(parentwin,"PuTTY Security Alert",pcVar2,var_2,1,"Accept",0x61,0,2,
                       "Connect Once",0x6f,0,1,"Cancel",99,0xffffffff,0,0);
    var_9(pcVar2);
    uVar5 = (type_4)(var_2 == 1);
    if (var_2 == 2) {
      var_10(host,port,keytype,keystr);
      uVar5 = 1;
    }
  }
  return uVar5;
}


(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)) (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (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 (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (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)))) (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) (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 (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true))))))) (return_statement (identifier)))))

/* 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 param_4,
                 undefined4 param_5,undefined4 param_6)

{
  int iVar1;
  char *pcVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  bool bVar7;
  
  iVar1 = FUN_0005b1f0(param_2,param_3,param_4,param_5);
  bVar7 = true;
  if (iVar1 != 0) {
    pcVar2 = 
    "WARNING - POTENTIAL SECURITY BREACH!\nThe server\'s host key does not match the one PuTTY has cached. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.\nThe new %s key fingerprint is:\n%s\nIf you were expecting this change and trust the new key, press \"Accept\" to update PuTTY\'s cache and continue connecting.\nIf you want to carry on connecting but without updating the cache, press \"Connect Once\".\nIf you want to abandon the connection completely, press \"Cancel\" to cancel. Pressing \"Cancel\" is the ONLY guaranteed safe choice."
    ;
    if (iVar1 != 2) {
      pcVar2 = 
      "The server\'s host key is not cached. You have no guarantee that the server is the computer you think it is.\nThe server\'s %s key fingerprint is:\n%s\nIf you trust this host, press \"Accept\" to add the key to PuTTY\'s cache and carry on connecting.\nIf you want to carry on connecting just once, without adding the key to the cache, press \"Connect Once\".\nIf you do not trust this host, press \"Cancel\" to abandon the connection."
      ;
    }
    uVar3 = FUN_0002c480(pcVar2,param_4,param_6);
    uVar4 = FUN_000501c0(param_6);
    uVar5 = gtk_widget_get_type();
    uVar6 = FUN_00051c10(param_1);
    uVar5 = g_type_check_instance_cast(uVar6,uVar5);
    iVar1 = FUN_00047910(uVar5,"PuTTY Security Alert",uVar3,uVar4,1,"Accept",0x61,0,2,"Connect Once"
                         ,0x6f,0,1,"Cancel",99,0xffffffff,0,0);
    FUN_0002c6a0(uVar3);
    bVar7 = iVar1 == 1;
    if (iVar1 == 2) {
      FUN_0005b440(param_2,param_3,param_4,param_5);
      bVar7 = true;
    }
  }
  return bVar7;
}

