
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int do_ssh_connection_init(Ssh_conflict ssh,uchar c)

{
  uint uVar1;
  int *piVar2;
  undefined8 uVar3;
  uchar uVar4;
  int iVar5;
  char *pcVar6;
  undefined4 *puVar7;
  void *pvVar8;
  size_t sVar9;
  handler_fn_t *pp_Var10;
  Pinger ppVar11;
  
  if (ssh->do_ssh_connection_init_state == (void *)0x0) {
    puVar7 = (undefined4 *)safemalloc(1,0x28);
    ssh->do_ssh_connection_init_state = puVar7;
    *puVar7 = 0;
  }
  piVar2 = (int *)ssh->do_ssh_connection_init_state;
  iVar5 = *piVar2;
  if (iVar5 == 0xcc9) goto LAB_00145137;
  if (iVar5 < 0xcca) {
    if (iVar5 == 0) goto LAB_00145118;
    if (iVar5 != 0xcc4) goto LAB_00145394;
    iVar5 = piVar2[9];
    piVar2[9] = iVar5 + 1;
    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];
    if (uVar4 == '\0') {
      piVar2[8] = 0x3b;
      pcVar6 = (char *)safemalloc(0x3b,1);
      *(char **)(piVar2 + 6) = pcVar6;
      uVar3 = do_ssh_connection_init::protoname._8_8_;
      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;
      *(undefined8 *)(pcVar6 + 8) = uVar3;
      uVar3 = do_ssh_connection_init::protoname._24_8_;
      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;
      *(undefined8 *)(pcVar6 + 0x18) = uVar3;
      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;
      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;
      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];
      piVar2[1] = 0x2a;
      piVar2[9] = 0;
      goto LAB_001450d1;
    }
  }
  else {
    if (iVar5 != 0xcca) {
      if (iVar5 != 0xce0) goto LAB_00145394;
LAB_001450d1:
      if (piVar2[8] + -1 <= piVar2[1]) {
        iVar5 = piVar2[8] + 0x10;
        piVar2[8] = iVar5;
        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);
        *(void **)(piVar2 + 6) = pvVar8;
      }
      iVar5 = piVar2[1];
      piVar2[1] = iVar5 + 1;
      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;
      uVar1 = piVar2[9];
      if ((int)uVar1 < 0) {
        if (c == '\n') {
          ssh->agentfwd_enabled = 0;
          (ssh->rdpkt2_bare_state).incoming_sequence = 0;
          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;
          pcVar6 = *(char **)(piVar2 + 6);
          sVar9 = strcspn(pcVar6,"\r\n");
          pcVar6[sVar9] = '\0';
          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));
          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));
          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");
          if (iVar5 < 0) {
            pcVar6 = dupprintf(
                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"
                              );
            bomb_out(ssh,pcVar6);
            *piVar2 = 0;
            return 0;
          }
          iVar5 = conf_get_int(ssh->conf,0x21);
          if (iVar5 == 0) {
            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");
            bomb_out(ssh,pcVar6);
            *piVar2 = 0;
            return 0;
          }
          ssh->version = 2;
          logeventf(ssh,"Using bare ssh-connection protocol");
          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));
          ssh->protocol = ssh2_bare_connection_protocol;
          pp_Var10 = ssh->packet_dispatch;
          do {
            *pp_Var10 = ssh2_msg_something_unimplemented;
            pp_Var10 = pp_Var10 + 1;
          } while ((queued_handler **)pp_Var10 != &ssh->qhead);
          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;
          ssh->packet_dispatch[99] = ssh2_msg_unexpected;
          ssh->packet_dispatch[100] = ssh2_msg_unexpected;
          ssh->packet_dispatch[3] = ssh2_msg_unexpected;
          ssh->packet_dispatch[1] = ssh2_msg_disconnect;
          ssh->packet_dispatch[2] = ssh_msg_ignore;
          ssh->packet_dispatch[4] = ssh2_msg_debug;
          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;
          update_specials_menu(ssh->frontend);
          ssh->state = ABOUT_TO;
          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);
          ssh->pinger = ppVar11;
          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);
          safefree(*(void **)(piVar2 + 6));
LAB_00145394:
          *piVar2 = 0;
          return 0;
        }
      }
      else if (c == '-') {
        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;
        piVar2[9] = -1;
      }
      else if (uVar1 < 9) {
        piVar2[9] = uVar1 + 1;
        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;
      }
      *piVar2 = 0xce0;
      return 1;
    }
LAB_00145118:
    piVar2[9] = 0;
    uVar4 = 'S';
  }
  if (c == uVar4) {
    *piVar2 = 0xcc4;
    return 1;
  }
LAB_00145137:
  if (c == '\n') {
    *piVar2 = 0xcca;
  }
  else {
    *piVar2 = 0xcc9;
  }
  return 1;
}



undefined4 FUN_00144fd4(long param_1,char param_2)

{
  uint uVar1;
  int *piVar2;
  char cVar3;
  int iVar4;
  char *pcVar5;
  undefined4 *puVar6;
  size_t sVar7;
  undefined8 *puVar8;
  undefined8 uVar9;
  
  if (*(long *)(param_1 + 0x2a8) == 0) {
    puVar6 = (undefined4 *)FUN_00126895(1,0x28);
    *(undefined4 **)(param_1 + 0x2a8) = puVar6;
    *puVar6 = 0;
  }
  piVar2 = *(int **)(param_1 + 0x2a8);
  iVar4 = *piVar2;
  if (iVar4 == 0xcc9) goto LAB_00145137;
  if (iVar4 < 0xcca) {
    if (iVar4 == 0) goto LAB_00145118;
    if (iVar4 != 0xcc4) goto LAB_00145394;
    iVar4 = piVar2[9];
    piVar2[9] = iVar4 + 1;
    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];
    if (cVar3 == '\0') {
      piVar2[8] = 0x3b;
      pcVar5 = (char *)FUN_00126895(0x3b,1);
      *(char **)(piVar2 + 6) = pcVar5;
      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;
      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;
      *(undefined8 *)(pcVar5 + 8) = uVar9;
      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;
      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;
      *(undefined8 *)(pcVar5 + 0x18) = uVar9;
      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;
      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;
      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];
      piVar2[1] = 0x2a;
      piVar2[9] = 0;
      goto LAB_001450d1;
    }
  }
  else {
    if (iVar4 != 0xcca) {
      if (iVar4 != 0xce0) goto LAB_00145394;
LAB_001450d1:
      if (piVar2[8] + -1 <= piVar2[1]) {
        iVar4 = piVar2[8] + 0x10;
        piVar2[8] = iVar4;
        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);
        *(undefined8 *)(piVar2 + 6) = uVar9;
      }
      iVar4 = piVar2[1];
      piVar2[1] = iVar4 + 1;
      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;
      uVar1 = piVar2[9];
      if ((int)uVar1 < 0) {
        if (param_2 == '\n') {
          *(undefined4 *)(param_1 + 100) = 0;
          *(undefined8 *)(param_1 + 0x350) = 0;
          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;
          pcVar5 = *(char **)(piVar2 + 6);
          sVar7 = strcspn(pcVar5,"\r\n");
          pcVar5[sVar7] = '\0';
          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));
          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));
          iVar4 = FUN_00135797(piVar2 + 2,"2.0");
          if (iVar4 < 0) {
            uVar9 = FUN_00126ed4(
                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"
                                );
            FUN_00133ab5(param_1,uVar9);
            *piVar2 = 0;
            return 0;
          }
          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);
          if (iVar4 == 0) {
            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");
            FUN_00133ab5(param_1,uVar9);
            *piVar2 = 0;
            return 0;
          }
          *(undefined4 *)(param_1 + 0x250) = 2;
          FUN_00130d75(param_1,"Using bare ssh-connection protocol");
          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);
          *(code **)(param_1 + 0x368) = FUN_001453f9;
          puVar8 = (undefined8 *)(param_1 + 0x3c8);
          do {
            *puVar8 = FUN_001408ab;
            puVar8 = puVar8 + 1;
          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));
          *(code **)(param_1 + 0x648) = FUN_0013e76f;
          *(code **)(param_1 + 0x650) = FUN_0013e76f;
          *(code **)(param_1 + 0x658) = FUN_0013e76f;
          *(code **)(param_1 + 0x698) = FUN_0013e76f;
          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;
          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;
          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;
          *(code **)(param_1 + 0x3d8) = FUN_00130c72;
          *(code **)(param_1 + 1000) = FUN_001323fc;
          *(code **)(param_1 + 0x370) = FUN_00133d84;
          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));
          *(undefined4 *)(param_1 + 0x1d0) = 1;
          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);
          *(undefined8 *)(param_1 + 0xbe8) = uVar9;
          FUN_001368a9(param_1,0,0,0);
          FUN_00127101(*(undefined8 *)(piVar2 + 6));
LAB_00145394:
          *piVar2 = 0;
          return 0;
        }
      }
      else if (param_2 == '-') {
        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;
        piVar2[9] = -1;
      }
      else if (uVar1 < 9) {
        piVar2[9] = uVar1 + 1;
        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;
      }
      *piVar2 = 0xce0;
      return 1;
    }
LAB_00145118:
    piVar2[9] = 0;
    cVar3 = 'S';
  }
  if (param_2 == cVar3) {
    *piVar2 = 0xcc4;
    return 1;
  }
LAB_00145137:
  if (param_2 == '\n') {
    *piVar2 = 0xcca;
  }
  else {
    *piVar2 = 0xcc9;
  }
  return 1;
}


PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x8
MOV RBP,RDI
MOV R12D,ESI
CMP qword ptr [RDI + 0x2a8],0x0
JZ 0x0014509e
MOV RBX,qword ptr [RBP + 0x2a8]
MOV EAX,dword ptr [RBX]
CMP EAX,0xcc9
JZ 0x00145137
JG 0x001450bf
TEST EAX,EAX
JZ 0x00145118
CMP EAX,0xcc4
JNZ 0x00145394
MOV EAX,dword ptr [RBX + 0x24]
ADD EAX,0x1
MOV dword ptr [RBX + 0x24],EAX
CDQE
LEA RDX,[0x1bff60]
MOVZX EAX,byte ptr [RDX + RAX*0x1]
TEST AL,AL
JNZ 0x00145124
MOV dword ptr [RBX + 0x20],0x3b
MOV ESI,0x1
MOV EDI,0x3b
CALL 0x00126895
MOV qword ptr [RBX + 0x18],RAX
MOVDQA XMM0,xmmword ptr [0x001bff60]
MOVUPS xmmword ptr [RAX],XMM0
MOVDQA XMM1,xmmword ptr [0x001bff70]
MOVUPS xmmword ptr [RAX + 0x10],XMM1
MOV RDX,qword ptr [0x001bff80]
MOV qword ptr [RAX + 0x20],RDX
MOVZX EDX,word ptr [0x001bff88]
MOV word ptr [RAX + 0x28],DX
MOVZX EDX,byte ptr [0x001bff8a]
MOV byte ptr [RAX + 0x2a],DL
MOV dword ptr [RBX + 0x4],0x2a
MOV dword ptr [RBX + 0x24],0x0
JMP 0x001450d1
MOV ESI,0x28
MOV EDI,0x1
CALL 0x00126895
MOV qword ptr [RBP + 0x2a8],RAX
MOV dword ptr [RAX],0x0
JMP 0x00144ff2
CMP EAX,0xcca
JZ 0x00145118
CMP EAX,0xce0
JNZ 0x00145394
MOV ESI,dword ptr [RBX + 0x20]
LEA EAX,[RSI + -0x1]
CMP dword ptr [RBX + 0x4],EAX
JGE 0x00145159
MOV RDX,qword ptr [RBX + 0x18]
MOV EAX,dword ptr [RBX + 0x4]
LEA ECX,[RAX + 0x1]
MOV dword ptr [RBX + 0x4],ECX
CDQE
MOV byte ptr [RDX + RAX*0x1],R12B
MOV EAX,dword ptr [RBX + 0x24]
TEST EAX,EAX
JS 0x00145189
CMP R12B,0x2d
JZ 0x00145179
CMP EAX,0x8
JA 0x0014518f
LEA EDX,[RAX + 0x1]
MOV dword ptr [RBX + 0x24],EDX
CDQE
MOV byte ptr [RBX + RAX*0x1 + 0x8],R12B
JMP 0x0014518f
MOV dword ptr [RBX + 0x24],0x0
MOV EAX,0x53
CMP R12B,AL
JNZ 0x00145137
MOV dword ptr [RBX],0xcc4
MOV R12D,0x1
JMP 0x0014519b
CMP R12B,0xa
JZ 0x0014514b
MOV dword ptr [RBX],0xcc9
MOV R12D,0x1
JMP 0x0014519b
MOV dword ptr [RBX],0xcca
MOV R12D,0x1
JMP 0x0014519b
ADD ESI,0x10
MOV dword ptr [RBX + 0x20],ESI
MOVSXD RSI,ESI
MOV RDI,qword ptr [RBX + 0x18]
MOV EDX,0x1
CALL 0x00126c61
MOV qword ptr [RBX + 0x18],RAX
JMP 0x001450dc
CDQE
MOV byte ptr [RBX + RAX*0x1 + 0x8],0x0
MOV dword ptr [RBX + 0x24],0xffffffff
JMP 0x0014518f
CMP R12B,0xa
JZ 0x001451a9
MOV dword ptr [RBX],0xce0
MOV R12D,0x1
MOV EAX,R12D
ADD RSP,0x8
POP RBX
POP RBP
POP R12
POP R13
RET
MOV dword ptr [RBP + 0x64],0x0
MOV qword ptr [RBP + 0x350],0x0
MOVSXD RAX,dword ptr [RBX + 0x4]
MOV RDX,qword ptr [RBX + 0x18]
MOV byte ptr [RDX + RAX*0x1],0x0
MOV R12,qword ptr [RBX + 0x18]
LEA RSI,[0x1bc572]
MOV RDI,R12
CALL 0x00114110
MOV byte ptr [R12 + RAX*0x1],0x0
MOV RDX,qword ptr [RBX + 0x18]
LEA RSI,[0x1bd075]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x00130d75
MOV RSI,qword ptr [RBX + 0x18]
MOV RDI,RBP
CALL 0x0013504a
LEA R13,[RBX + 0x8]
LEA RSI,[0x1bc1b2]
MOV RDI,R13
CALL 0x00135797
TEST EAX,EAX
JS 0x001453a5
MOV RDI,qword ptr [RBP + 0x380]
MOV ESI,0x21
CALL 0x00119699
MOV R12D,EAX
TEST EAX,EAX
JZ 0x001453d2
MOV dword ptr [RBP + 0x250],0x2
LEA RSI,[0x1bfe48]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x00130d75
MOV RDX,R13
LEA RSI,[0x1bff60]
MOV RDI,RBP
CALL 0x00135863
LEA RAX,[0x1453f9]
MOV qword ptr [RBP + 0x368],RAX
LEA RAX,[RBP + 0x3c8]
LEA RCX,[RBP + 0xbc8]
LEA RDX,[0x1408ab]
MOV qword ptr [RAX],RDX
ADD RAX,0x8
CMP RAX,RCX
JNZ 0x0014528d
LEA RAX,[0x13e76f]
MOV qword ptr [RBP + 0x648],RAX
MOV qword ptr [RBP + 0x650],RAX
MOV qword ptr [RBP + 0x658],RAX
MOV qword ptr [RBP + 0x698],RAX
MOV qword ptr [RBP + 0x6a0],RAX
MOV qword ptr [RBP + 0x6a8],RAX
MOV qword ptr [RBP + 0x6b0],RAX
MOV qword ptr [RBP + 0x6b8],RAX
MOV qword ptr [RBP + 0x6c0],RAX
MOV qword ptr [RBP + 0x6c8],RAX
MOV qword ptr [RBP + 0x6d0],RAX
MOV qword ptr [RBP + 0x6d8],RAX
MOV qword ptr [RBP + 0x6e0],RAX
MOV qword ptr [RBP + 0x6e8],RAX
MOV qword ptr [RBP + 0x3e0],RAX
LEA RAX,[0x133bbb]
MOV qword ptr [RBP + 0x3d0],RAX
LEA RAX,[0x130c72]
MOV qword ptr [RBP + 0x3d8],RAX
LEA RAX,[0x1323fc]
MOV qword ptr [RBP + 0x3e8],RAX
LEA RAX,[0x133d84]
MOV qword ptr [RBP + 0x370],RAX
MOV RDI,qword ptr [RBP + 0x188]
CALL 0x00188a89
MOV dword ptr [RBP + 0x1d0],0x1
MOV RDI,qword ptr [RBP + 0x380]
MOV RDX,RBP
LEA RSI,[0x1ef220]
CALL 0x00127b48
MOV qword ptr [RBP + 0xbe8],RAX
MOV ECX,0x0
MOV EDX,0x0
MOV ESI,0x0
MOV RDI,RBP
CALL 0x001368a9
MOV RDI,qword ptr [RBX + 0x18]
CALL 0x00127101
MOV dword ptr [RBX],0x0
MOV R12D,0x0
JMP 0x0014519b
LEA RDI,[0x1bfdb8]
MOV EAX,0x0
CALL 0x00126ed4
MOV RSI,RAX
MOV RDI,RBP
CALL 0x00133ab5
MOV dword ptr [RBX],0x0
MOV R12D,0x0
JMP 0x0014519b
LEA RDI,[0x1bfe08]
MOV EAX,0x0
CALL 0x00126ed4
MOV RSI,RAX
MOV RDI,RBP
CALL 0x00133ab5
MOV dword ptr [RBX],0x0
JMP 0x0014519b
(translation_unit "undefined4 FUN_00144fd4(long param_1,char param_2)\n\n{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00144fd4(long param_1,char param_2)\n\n{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00144fd4(long param_1,char param_2)" identifier (parameter_list "(long param_1,char param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (if_statement "if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x2a8) == 0)" ( (binary_expression "*(long *)(param_1 + 0x2a8) == 0" (pointer_expression "*(long *)(param_1 + 0x2a8)" * (cast_expression "(long *)(param_1 + 0x2a8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" { (expression_statement "puVar6 = (undefined4 *)FUN_00126895(1,0x28);" (assignment_expression "puVar6 = (undefined4 *)FUN_00126895(1,0x28)" identifier = (cast_expression "(undefined4 *)FUN_00126895(1,0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126895(1,0x28)" identifier (argument_list "(1,0x28)" ( number_literal , number_literal ))))) ;) (expression_statement "*(undefined4 **)(param_1 + 0x2a8) = puVar6;" (assignment_expression "*(undefined4 **)(param_1 + 0x2a8) = puVar6" (pointer_expression "*(undefined4 **)(param_1 + 0x2a8)" * (cast_expression "(undefined4 **)(param_1 + 0x2a8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) })) (expression_statement "piVar2 = *(int **)(param_1 + 0x2a8);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2a8)" identifier = (pointer_expression "*(int **)(param_1 + 0x2a8)" * (cast_expression "(int **)(param_1 + 0x2a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 == 0xcc9) goto LAB_00145137;" if (parenthesized_expression "(iVar4 == 0xcc9)" ( (binary_expression "iVar4 == 0xcc9" identifier == number_literal) )) (goto_statement "goto LAB_00145137;" goto statement_identifier ;)) (if_statement "if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" if (parenthesized_expression "(iVar4 < 0xcca)" ( (binary_expression "iVar4 < 0xcca" identifier < number_literal) )) (compound_statement "{\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }" { (if_statement "if (iVar4 == 0) goto LAB_00145118;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00145118;" goto statement_identifier ;)) (if_statement "if (iVar4 != 0xcc4) goto LAB_00145394;" if (parenthesized_expression "(iVar4 != 0xcc4)" ( (binary_expression "iVar4 != 0xcc4" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (expression_statement "iVar4 = piVar2[9];" (assignment_expression "iVar4 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "piVar2[9] = iVar4 + 1;" (assignment_expression "piVar2[9] = iVar4 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];" (assignment_expression "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" identifier = (subscript_expression ""SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") [ (binary_expression "iVar4 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" { (expression_statement "piVar2[8] = 0x3b;" (assignment_expression "piVar2[8] = 0x3b" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar5 = (char *)FUN_00126895(0x3b,1);" (assignment_expression "pcVar5 = (char *)FUN_00126895(0x3b,1)" identifier = (cast_expression "(char *)FUN_00126895(0x3b,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126895(0x3b,1)" identifier (argument_list "(0x3b,1)" ( number_literal , number_literal ))))) ;) (expression_statement "*(char **)(piVar2 + 6) = pcVar5;" (assignment_expression "*(char **)(piVar2 + 6) = pcVar5" (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" identifier = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;" (assignment_expression "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" (pointer_expression "*(undefined8 *)pcVar5" * (cast_expression "(undefined8 *)pcVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 8) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 8) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 8)" * (cast_expression "(undefined8 *)(pcVar5 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 8)" ( (binary_expression "pcVar5 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" identifier = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x10)" * (cast_expression "(undefined8 *)(pcVar5 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x10)" ( (binary_expression "pcVar5 + 0x10" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x18) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x18) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 0x18)" * (cast_expression "(undefined8 *)(pcVar5 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x18)" ( (binary_expression "pcVar5 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x20)" * (cast_expression "(undefined8 *)(pcVar5 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x20)" ( (binary_expression "pcVar5 + 0x20" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;" (assignment_expression "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" (pointer_expression "*(undefined2 *)(pcVar5 + 0x28)" * (cast_expression "(undefined2 *)(pcVar5 + 0x28)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x28)" ( (binary_expression "pcVar5 + 0x28" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" identifier . field_identifier)) ;) (expression_statement "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];" (assignment_expression "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" (subscript_expression "pcVar5[0x2a]" identifier [ number_literal ]) = (subscript_expression "s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" identifier [ number_literal ])) ;) (expression_statement "piVar2[1] = 0x2a;" (assignment_expression "piVar2[1] = 0x2a" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_001450d1;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" else (compound_statement "{\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" { (if_statement "if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" if (parenthesized_expression "(iVar4 != 0xcca)" ( (binary_expression "iVar4 != 0xcca" identifier != number_literal) )) (compound_statement "{\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" { (if_statement "if (iVar4 != 0xce0) goto LAB_00145394;" if (parenthesized_expression "(iVar4 != 0xce0)" ( (binary_expression "iVar4 != 0xce0" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (labeled_statement "LAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" statement_identifier : (if_statement "if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" if (parenthesized_expression "(piVar2[8] + -1 <= piVar2[1])" ( (binary_expression "piVar2[8] + -1 <= piVar2[1]" (binary_expression "piVar2[8] + -1" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal) <= (subscript_expression "piVar2[1]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" { (expression_statement "iVar4 = piVar2[8] + 0x10;" (assignment_expression "iVar4 = piVar2[8] + 0x10" identifier = (binary_expression "piVar2[8] + 0x10" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar2[8] = iVar4;" (assignment_expression "piVar2[8] = iVar4" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);" (assignment_expression "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" identifier = (call_expression "FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" identifier (argument_list "(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" ( (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) , (cast_expression "(long)iVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal )))) ;) (expression_statement "*(undefined8 *)(piVar2 + 6) = uVar9;" (assignment_expression "*(undefined8 *)(piVar2 + 6) = uVar9" (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar4 = piVar2[1];" (assignment_expression "iVar4 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "piVar2[1] = iVar4 + 1;" (assignment_expression "piVar2[1] = iVar4 + 1" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;" (assignment_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2" (pointer_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" * (cast_expression "(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)iVar4)" ( (binary_expression "*(long *)(piVar2 + 6) + (long)iVar4" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)iVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) = identifier) ;) (expression_statement "uVar1 = piVar2[9];" (assignment_expression "uVar1 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (if_statement "if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }" { (if_statement "if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" if (parenthesized_expression "(param_2 == '\n')" ( (binary_expression "param_2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" * (cast_expression "(undefined4 *)(param_1 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(param_1 + 0x350) = 0;" (assignment_expression "*(undefined8 *)(param_1 + 0x350) = 0" (pointer_expression "*(undefined8 *)(param_1 + 0x350)" * (cast_expression "(undefined8 *)(param_1 + 0x350)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x350)" ( (binary_expression "param_1 + 0x350" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;" (assignment_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0" (pointer_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" * (cast_expression "(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (binary_expression "*(long *)(piVar2 + 6) + (long)piVar2[1]" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)piVar2[1]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ]))) )))) = number_literal) ;) (expression_statement "pcVar5 = *(char **)(piVar2 + 6);" (assignment_expression "pcVar5 = *(char **)(piVar2 + 6)" identifier = (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = strcspn(pcVar5,"\r\n");" (assignment_expression "sVar7 = strcspn(pcVar5,"\r\n")" identifier = (call_expression "strcspn(pcVar5,"\r\n")" identifier (argument_list "(pcVar5,"\r\n")" ( identifier , (string_literal ""\r\n"" " escape_sequence escape_sequence ") )))) ;) (expression_statement "pcVar5[sVar7] = '\0';" (assignment_expression "pcVar5[sVar7] = '\0'" (subscript_expression "pcVar5[sVar7]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" ( identifier , (string_literal ""Server version: %s"" " string_content ") , (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(param_1,*(undefined8 *)(piVar2 + 6))" ( identifier , (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = FUN_00135797(piVar2 + 2,"2.0");" (assignment_expression "iVar4 = FUN_00135797(piVar2 + 2,"2.0")" identifier = (call_expression "FUN_00135797(piVar2 + 2,"2.0")" identifier (argument_list "(piVar2 + 2,"2.0")" ( (binary_expression "piVar2 + 2" identifier + number_literal) , (string_literal ""2.0"" " string_content ") )))) ;) (if_statement "if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );" (assignment_expression "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" identifier = (call_expression "FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" identifier (argument_list "(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" ( (string_literal ""Server announces compatibility with SSH-1 in bare ssh-connection protocol"" " string_content ") )))) ;) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);" (assignment_expression "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" identifier = (call_expression "FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x380),0x21)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x380)" * (cast_expression "(undefined8 *)(param_1 + 0x380)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x380)" ( (binary_expression "param_1 + 0x380" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");" (assignment_expression "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier = (call_expression "FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier (argument_list "("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" ( (string_literal ""Bare ssh-connection protocol cannot be run in SSH-1-only mode"" " string_content ") )))) ;) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x250) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x250) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x250)" * (cast_expression "(undefined4 *)(param_1 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x250)" ( (binary_expression "param_1 + 0x250" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00130d75(param_1,"Using bare ssh-connection protocol");" (call_expression "FUN_00130d75(param_1,"Using bare ssh-connection protocol")" identifier (argument_list "(param_1,"Using bare ssh-connection protocol")" ( identifier , (string_literal ""Using bare ssh-connection protocol"" " string_content ") ))) ;) (expression_statement "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);" (call_expression "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" identifier (argument_list "(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" ( identifier , (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") , (binary_expression "piVar2 + 2" identifier + number_literal) ))) ;) (expression_statement "*(code **)(param_1 + 0x368) = FUN_001453f9;" (assignment_expression "*(code **)(param_1 + 0x368) = FUN_001453f9" (pointer_expression "*(code **)(param_1 + 0x368)" * (cast_expression "(code **)(param_1 + 0x368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x368)" ( (binary_expression "param_1 + 0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = (undefined8 *)(param_1 + 0x3c8);" (assignment_expression "puVar8 = (undefined8 *)(param_1 + 0x3c8)" identifier = (cast_expression "(undefined8 *)(param_1 + 0x3c8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c8)" ( (binary_expression "param_1 + 0x3c8" identifier + number_literal) )))) ;) (do_statement "do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));" do (compound_statement "{\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          }" { (expression_statement "*puVar8 = FUN_001408ab;" (assignment_expression "*puVar8 = FUN_001408ab" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != (undefined8 *)(param_1 + 0xbc8))" ( (binary_expression "puVar8 != (undefined8 *)(param_1 + 0xbc8)" identifier != (cast_expression "(undefined8 *)(param_1 + 0xbc8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc8)" ( (binary_expression "param_1 + 0xbc8" identifier + number_literal) )))) )) ;) (expression_statement "*(code **)(param_1 + 0x648) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x648) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x648)" * (cast_expression "(code **)(param_1 + 0x648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x650) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x650) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x650)" * (cast_expression "(code **)(param_1 + 0x650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x650)" ( (binary_expression "param_1 + 0x650" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x658) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x658) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x658)" * (cast_expression "(code **)(param_1 + 0x658)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x658)" ( (binary_expression "param_1 + 0x658" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x698) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x698) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x698)" * (cast_expression "(code **)(param_1 + 0x698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x698)" ( (binary_expression "param_1 + 0x698" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6a0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a0)" * (cast_expression "(code **)(param_1 + 0x6a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6a0)" ( (binary_expression "param_1 + 0x6a0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6a8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a8)" * (cast_expression "(code **)(param_1 + 0x6a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6a8)" ( (binary_expression "param_1 + 0x6a8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6b0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b0)" * (cast_expression "(code **)(param_1 + 0x6b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6b0)" ( (binary_expression "param_1 + 0x6b0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6b8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b8)" * (cast_expression "(code **)(param_1 + 0x6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6b8)" ( (binary_expression "param_1 + 0x6b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6c0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c0)" * (cast_expression "(code **)(param_1 + 0x6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6c0)" ( (binary_expression "param_1 + 0x6c0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6c8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c8)" * (cast_expression "(code **)(param_1 + 0x6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6c8)" ( (binary_expression "param_1 + 0x6c8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6d0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d0)" * (cast_expression "(code **)(param_1 + 0x6d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6d0)" ( (binary_expression "param_1 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6d8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d8)" * (cast_expression "(code **)(param_1 + 0x6d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6d8)" ( (binary_expression "param_1 + 0x6d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e0)" * (cast_expression "(code **)(param_1 + 0x6e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6e0)" ( (binary_expression "param_1 + 0x6e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6e8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e8)" * (cast_expression "(code **)(param_1 + 0x6e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6e8)" ( (binary_expression "param_1 + 0x6e8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x3e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x3e0)" * (cast_expression "(code **)(param_1 + 0x3e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3e0)" ( (binary_expression "param_1 + 0x3e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3d0) = FUN_00133bbb;" (assignment_expression "*(code **)(param_1 + 0x3d0) = FUN_00133bbb" (pointer_expression "*(code **)(param_1 + 0x3d0)" * (cast_expression "(code **)(param_1 + 0x3d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3d0)" ( (binary_expression "param_1 + 0x3d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3d8) = FUN_00130c72;" (assignment_expression "*(code **)(param_1 + 0x3d8) = FUN_00130c72" (pointer_expression "*(code **)(param_1 + 0x3d8)" * (cast_expression "(code **)(param_1 + 0x3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3d8)" ( (binary_expression "param_1 + 0x3d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 1000) = FUN_001323fc;" (assignment_expression "*(code **)(param_1 + 1000) = FUN_001323fc" (pointer_expression "*(code **)(param_1 + 1000)" * (cast_expression "(code **)(param_1 + 1000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 1000)" ( (binary_expression "param_1 + 1000" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x370) = FUN_00133d84;" (assignment_expression "*(code **)(param_1 + 0x370) = FUN_00133d84" (pointer_expression "*(code **)(param_1 + 0x370)" * (cast_expression "(code **)(param_1 + 0x370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x370)" ( (binary_expression "param_1 + 0x370" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00188a89(*(undefined8 *)(param_1 + 0x188));" (call_expression "FUN_00188a89(*(undefined8 *)(param_1 + 0x188))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x188))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x188)" * (cast_expression "(undefined8 *)(param_1 + 0x188)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x188)" ( (binary_expression "param_1 + 0x188" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1d0) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d0) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1d0)" * (cast_expression "(undefined4 *)(param_1 + 0x1d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d0)" ( (binary_expression "param_1 + 0x1d0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);" (assignment_expression "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" identifier = (call_expression "FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x380)" * (cast_expression "(undefined8 *)(param_1 + 0x380)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x380)" ( (binary_expression "param_1 + 0x380" identifier + number_literal) )))) , (pointer_expression "&PTR_FUN_001ef220" & identifier) , identifier )))) ;) (expression_statement "*(undefined8 *)(param_1 + 0xbe8) = uVar9;" (assignment_expression "*(undefined8 *)(param_1 + 0xbe8) = uVar9" (pointer_expression "*(undefined8 *)(param_1 + 0xbe8)" * (cast_expression "(undefined8 *)(param_1 + 0xbe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbe8)" ( (binary_expression "param_1 + 0xbe8" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_001368a9(param_1,0,0,0);" (call_expression "FUN_001368a9(param_1,0,0,0)" identifier (argument_list "(param_1,0,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_00127101(*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00127101(*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(*(undefined8 *)(piVar2 + 6))" ( (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_00145394:\n          *piVar2 = 0;" statement_identifier : (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" else (if_statement "if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "(param_2 == '-')" ( (binary_expression "param_2 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }" { (expression_statement "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;" (assignment_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0" (pointer_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[9] = -1;" (assignment_expression "piVar2[9] = -1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" else (if_statement "if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "(uVar1 < 9)" ( (binary_expression "uVar1 < 9" identifier < number_literal) )) (compound_statement "{\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" { (expression_statement "piVar2[9] = uVar1 + 1;" (assignment_expression "piVar2[9] = uVar1 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (expression_statement "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;" (assignment_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2" (pointer_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(char *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = identifier) ;) })))))) (expression_statement "*piVar2 = 0xce0;" (assignment_expression "*piVar2 = 0xce0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145118:\n    piVar2[9] = 0;" statement_identifier : (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = 'S';" (assignment_expression "cVar3 = 'S'" identifier = (char_literal "'S'" ' character ')) ;) }))) (if_statement "if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }" if (parenthesized_expression "(param_2 == cVar3)" ( (binary_expression "param_2 == cVar3" identifier == identifier) )) (compound_statement "{\n    *piVar2 = 0xcc4;\n    return 1;\n  }" { (expression_statement "*piVar2 = 0xcc4;" (assignment_expression "*piVar2 = 0xcc4" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" statement_identifier : (if_statement "if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" if (parenthesized_expression "(param_2 == '\n')" ( (binary_expression "param_2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    *piVar2 = 0xcca;\n  }" { (expression_statement "*piVar2 = 0xcca;" (assignment_expression "*piVar2 = 0xcca" (pointer_expression "*piVar2" * identifier) = number_literal) ;) }) (else_clause "else {\n    *piVar2 = 0xcc9;\n  }" else (compound_statement "{\n    *piVar2 = 0xcc9;\n  }" { (expression_statement "*piVar2 = 0xcc9;" (assignment_expression "*piVar2 = 0xcc9" (pointer_expression "*piVar2" * identifier) = number_literal) ;) })))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nint do_ssh_connection_init(Ssh_conflict ssh,uchar c)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined8 uVar3;\n  uchar uVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 *puVar7;\n  void *pvVar8;\n  size_t sVar9;\n  handler_fn_t *pp_Var10;\n  Pinger ppVar11;\n  \n  if (ssh->do_ssh_connection_init_state == (void *)0x0) {\n    puVar7 = (undefined4 *)safemalloc(1,0x28);\n    ssh->do_ssh_connection_init_state = puVar7;\n    *puVar7 = 0;\n  }\n  piVar2 = (int *)ssh->do_ssh_connection_init_state;\n  iVar5 = *piVar2;\n  if (iVar5 == 0xcc9) goto LAB_00145137;\n  if (iVar5 < 0xcca) {\n    if (iVar5 == 0) goto LAB_00145118;\n    if (iVar5 != 0xcc4) goto LAB_00145394;\n    iVar5 = piVar2[9];\n    piVar2[9] = iVar5 + 1;\n    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];\n    if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }\n  if (c == uVar4) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (c == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}\n\n" comment (function_definition "int do_ssh_connection_init(Ssh_conflict ssh,uchar c)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined8 uVar3;\n  uchar uVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 *puVar7;\n  void *pvVar8;\n  size_t sVar9;\n  handler_fn_t *pp_Var10;\n  Pinger ppVar11;\n  \n  if (ssh->do_ssh_connection_init_state == (void *)0x0) {\n    puVar7 = (undefined4 *)safemalloc(1,0x28);\n    ssh->do_ssh_connection_init_state = puVar7;\n    *puVar7 = 0;\n  }\n  piVar2 = (int *)ssh->do_ssh_connection_init_state;\n  iVar5 = *piVar2;\n  if (iVar5 == 0xcc9) goto LAB_00145137;\n  if (iVar5 < 0xcca) {\n    if (iVar5 == 0) goto LAB_00145118;\n    if (iVar5 != 0xcc4) goto LAB_00145394;\n    iVar5 = piVar2[9];\n    piVar2[9] = iVar5 + 1;\n    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];\n    if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }\n  if (c == uVar4) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (c == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" primitive_type (function_declarator "do_ssh_connection_init(Ssh_conflict ssh,uchar c)" identifier (parameter_list "(Ssh_conflict ssh,uchar c)" ( (parameter_declaration "Ssh_conflict ssh" type_identifier identifier) , (parameter_declaration "uchar c" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  undefined8 uVar3;\n  uchar uVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 *puVar7;\n  void *pvVar8;\n  size_t sVar9;\n  handler_fn_t *pp_Var10;\n  Pinger ppVar11;\n  \n  if (ssh->do_ssh_connection_init_state == (void *)0x0) {\n    puVar7 = (undefined4 *)safemalloc(1,0x28);\n    ssh->do_ssh_connection_init_state = puVar7;\n    *puVar7 = 0;\n  }\n  piVar2 = (int *)ssh->do_ssh_connection_init_state;\n  iVar5 = *piVar2;\n  if (iVar5 == 0xcc9) goto LAB_00145137;\n  if (iVar5 < 0xcca) {\n    if (iVar5 == 0) goto LAB_00145118;\n    if (iVar5 != 0xcc4) goto LAB_00145394;\n    iVar5 = piVar2[9];\n    piVar2[9] = iVar5 + 1;\n    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];\n    if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }\n  if (c == uVar4) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (c == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "uchar uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "handler_fn_t *pp_Var10;" type_identifier (pointer_declarator "*pp_Var10" * identifier) ;) (declaration "Pinger ppVar11;" type_identifier identifier ;) (if_statement "if (ssh->do_ssh_connection_init_state == (void *)0x0) {\n    puVar7 = (undefined4 *)safemalloc(1,0x28);\n    ssh->do_ssh_connection_init_state = puVar7;\n    *puVar7 = 0;\n  }" if (parenthesized_expression "(ssh->do_ssh_connection_init_state == (void *)0x0)" ( (binary_expression "ssh->do_ssh_connection_init_state == (void *)0x0" (field_expression "ssh->do_ssh_connection_init_state" identifier -> field_identifier) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar7 = (undefined4 *)safemalloc(1,0x28);\n    ssh->do_ssh_connection_init_state = puVar7;\n    *puVar7 = 0;\n  }" { (expression_statement "puVar7 = (undefined4 *)safemalloc(1,0x28);" (assignment_expression "puVar7 = (undefined4 *)safemalloc(1,0x28)" identifier = (cast_expression "(undefined4 *)safemalloc(1,0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0x28)" identifier (argument_list "(1,0x28)" ( number_literal , number_literal ))))) ;) (expression_statement "ssh->do_ssh_connection_init_state = puVar7;" (assignment_expression "ssh->do_ssh_connection_init_state = puVar7" (field_expression "ssh->do_ssh_connection_init_state" identifier -> field_identifier) = identifier) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) })) (expression_statement "piVar2 = (int *)ssh->do_ssh_connection_init_state;" (assignment_expression "piVar2 = (int *)ssh->do_ssh_connection_init_state" identifier = (cast_expression "(int *)ssh->do_ssh_connection_init_state" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "ssh->do_ssh_connection_init_state" identifier -> field_identifier))) ;) (expression_statement "iVar5 = *piVar2;" (assignment_expression "iVar5 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar5 == 0xcc9) goto LAB_00145137;" if (parenthesized_expression "(iVar5 == 0xcc9)" ( (binary_expression "iVar5 == 0xcc9" identifier == number_literal) )) (goto_statement "goto LAB_00145137;" goto statement_identifier ;)) (if_statement "if (iVar5 < 0xcca) {\n    if (iVar5 == 0) goto LAB_00145118;\n    if (iVar5 != 0xcc4) goto LAB_00145394;\n    iVar5 = piVar2[9];\n    piVar2[9] = iVar5 + 1;\n    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];\n    if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }" if (parenthesized_expression "(iVar5 < 0xcca)" ( (binary_expression "iVar5 < 0xcca" identifier < number_literal) )) (compound_statement "{\n    if (iVar5 == 0) goto LAB_00145118;\n    if (iVar5 != 0xcc4) goto LAB_00145394;\n    iVar5 = piVar2[9];\n    piVar2[9] = iVar5 + 1;\n    uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];\n    if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }" { (if_statement "if (iVar5 == 0) goto LAB_00145118;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00145118;" goto statement_identifier ;)) (if_statement "if (iVar5 != 0xcc4) goto LAB_00145394;" if (parenthesized_expression "(iVar5 != 0xcc4)" ( (binary_expression "iVar5 != 0xcc4" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (expression_statement "iVar5 = piVar2[9];" (assignment_expression "iVar5 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "piVar2[9] = iVar5 + 1;" (assignment_expression "piVar2[9] = iVar5 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1];" (assignment_expression "uVar4 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1]" identifier = (subscript_expression ""SSHCONNECTION@putty.projects.tartarus.org-"[iVar5 + 1]" (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") [ (binary_expression "iVar5 + 1" identifier + number_literal) ])) ;) (if_statement "if (uVar4 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" if (parenthesized_expression "(uVar4 == '\0')" ( (binary_expression "uVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar2[8] = 0x3b;\n      pcVar6 = (char *)safemalloc(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar6;\n      uVar3 = do_ssh_connection_init::protoname._8_8_;\n      *(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;\n      *(undefined8 *)(pcVar6 + 8) = uVar3;\n      uVar3 = do_ssh_connection_init::protoname._24_8_;\n      *(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;\n      *(undefined8 *)(pcVar6 + 0x18) = uVar3;\n      *(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;\n      *(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;\n      pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" { (expression_statement "piVar2[8] = 0x3b;" (assignment_expression "piVar2[8] = 0x3b" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar6 = (char *)safemalloc(0x3b,1);" (assignment_expression "pcVar6 = (char *)safemalloc(0x3b,1)" identifier = (cast_expression "(char *)safemalloc(0x3b,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(0x3b,1)" identifier (argument_list "(0x3b,1)" ( number_literal , number_literal ))))) ;) (expression_statement "*(char **)(piVar2 + 6) = pcVar6;" (assignment_expression "*(char **)(piVar2 + 6) = pcVar6" (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = do_ssh_connection_init::protoname._8_8_;" (field_expression "uVar3 = do_ssh_connection_init::protoname._8_8_" (assignment_expression "uVar3 = do_ssh_connection_init" identifier = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "*(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_;" (field_expression "*(undefined8 *)pcVar6 = do_ssh_connection_init::protoname._0_8_" (assignment_expression "*(undefined8 *)pcVar6 = do_ssh_connection_init" (pointer_expression "*(undefined8 *)pcVar6" * (cast_expression "(undefined8 *)pcVar6" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "*(undefined8 *)(pcVar6 + 8) = uVar3;" (assignment_expression "*(undefined8 *)(pcVar6 + 8) = uVar3" (pointer_expression "*(undefined8 *)(pcVar6 + 8)" * (cast_expression "(undefined8 *)(pcVar6 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 8)" ( (binary_expression "pcVar6 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = do_ssh_connection_init::protoname._24_8_;" (field_expression "uVar3 = do_ssh_connection_init::protoname._24_8_" (assignment_expression "uVar3 = do_ssh_connection_init" identifier = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "*(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_;" (field_expression "*(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init::protoname._16_8_" (assignment_expression "*(undefined8 *)(pcVar6 + 0x10) = do_ssh_connection_init" (pointer_expression "*(undefined8 *)(pcVar6 + 0x10)" * (cast_expression "(undefined8 *)(pcVar6 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x10)" ( (binary_expression "pcVar6 + 0x10" identifier + number_literal) )))) = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "*(undefined8 *)(pcVar6 + 0x18) = uVar3;" (assignment_expression "*(undefined8 *)(pcVar6 + 0x18) = uVar3" (pointer_expression "*(undefined8 *)(pcVar6 + 0x18)" * (cast_expression "(undefined8 *)(pcVar6 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x18)" ( (binary_expression "pcVar6 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_;" (field_expression "*(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init::protoname._32_8_" (assignment_expression "*(undefined8 *)(pcVar6 + 0x20) = do_ssh_connection_init" (pointer_expression "*(undefined8 *)(pcVar6 + 0x20)" * (cast_expression "(undefined8 *)(pcVar6 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x20)" ( (binary_expression "pcVar6 + 0x20" identifier + number_literal) )))) = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "*(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_;" (field_expression "*(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init::protoname._40_2_" (assignment_expression "*(undefined2 *)(pcVar6 + 0x28) = do_ssh_connection_init" (pointer_expression "*(undefined2 *)(pcVar6 + 0x28)" * (cast_expression "(undefined2 *)(pcVar6 + 0x28)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x28)" ( (binary_expression "pcVar6 + 0x28" identifier + number_literal) )))) = identifier) (ERROR "::protoname" : : identifier) . field_identifier) ;) (expression_statement "pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a];" (subscript_expression "pcVar6[0x2a] = do_ssh_connection_init::protoname[0x2a]" (assignment_expression "pcVar6[0x2a] = do_ssh_connection_init" (subscript_expression "pcVar6[0x2a]" identifier [ number_literal ]) = identifier) (ERROR "::protoname" : : identifier) [ number_literal ]) ;) (expression_statement "piVar2[1] = 0x2a;" (assignment_expression "piVar2[1] = 0x2a" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_001450d1;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }" else (compound_statement "{\n    if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    uVar4 = 'S';\n  }" { (if_statement "if (iVar5 != 0xcca) {\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" if (parenthesized_expression "(iVar5 != 0xcca)" ( (binary_expression "iVar5 != 0xcca" identifier != number_literal) )) (compound_statement "{\n      if (iVar5 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }\n      iVar5 = piVar2[1];\n      piVar2[1] = iVar5 + 1;\n      *(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" { (if_statement "if (iVar5 != 0xce0) goto LAB_00145394;" if (parenthesized_expression "(iVar5 != 0xce0)" ( (binary_expression "iVar5 != 0xce0" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (labeled_statement "LAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }" statement_identifier : (if_statement "if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }" if (parenthesized_expression "(piVar2[8] + -1 <= piVar2[1])" ( (binary_expression "piVar2[8] + -1 <= piVar2[1]" (binary_expression "piVar2[8] + -1" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal) <= (subscript_expression "piVar2[1]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar5 = piVar2[8] + 0x10;\n        piVar2[8] = iVar5;\n        pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);\n        *(void **)(piVar2 + 6) = pvVar8;\n      }" { (expression_statement "iVar5 = piVar2[8] + 0x10;" (assignment_expression "iVar5 = piVar2[8] + 0x10" identifier = (binary_expression "piVar2[8] + 0x10" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar2[8] = iVar5;" (assignment_expression "piVar2[8] = iVar5" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1);" (assignment_expression "pvVar8 = saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1)" identifier = (call_expression "saferealloc(*(void **)(piVar2 + 6),(long)iVar5,1)" identifier (argument_list "(*(void **)(piVar2 + 6),(long)iVar5,1)" ( (pointer_expression "*(void **)(piVar2 + 6)" * (cast_expression "(void **)(piVar2 + 6)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) , (cast_expression "(long)iVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal )))) ;) (expression_statement "*(void **)(piVar2 + 6) = pvVar8;" (assignment_expression "*(void **)(piVar2 + 6) = pvVar8" (pointer_expression "*(void **)(piVar2 + 6)" * (cast_expression "(void **)(piVar2 + 6)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar5 = piVar2[1];" (assignment_expression "iVar5 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "piVar2[1] = iVar5 + 1;" (assignment_expression "piVar2[1] = iVar5 + 1" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "*(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c;" (assignment_expression "*(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5) = c" (pointer_expression "*(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5)" * (cast_expression "(uchar *)(*(long *)(piVar2 + 6) + (long)iVar5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)iVar5)" ( (binary_expression "*(long *)(piVar2 + 6) + (long)iVar5" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)iVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) = identifier) ;) (expression_statement "uVar1 = piVar2[9];" (assignment_expression "uVar1 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (if_statement "if ((int)uVar1 < 0) {\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }" { (if_statement "if (c == '\n') {\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" if (parenthesized_expression "(c == '\n')" ( (binary_expression "c == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          ssh->agentfwd_enabled = 0;\n          (ssh->rdpkt2_bare_state).incoming_sequence = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar6 = *(char **)(piVar2 + 6);\n          sVar9 = strcspn(pcVar6,"\r\n");\n          pcVar6[sVar9] = '\0';\n          logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));\n          iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");\n          if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar5 = conf_get_int(ssh->conf,0x21);\n          if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }\n          ssh->version = 2;\n          logeventf(ssh,"Using bare ssh-connection protocol");\n          ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));\n          ssh->protocol = ssh2_bare_connection_protocol;\n          pp_Var10 = ssh->packet_dispatch;\n          do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);\n          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[99] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[100] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[3] = ssh2_msg_unexpected;\n          ssh->packet_dispatch[1] = ssh2_msg_disconnect;\n          ssh->packet_dispatch[2] = ssh_msg_ignore;\n          ssh->packet_dispatch[4] = ssh2_msg_debug;\n          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;\n          update_specials_menu(ssh->frontend);\n          ssh->state = ABOUT_TO;\n          ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);\n          ssh->pinger = ppVar11;\n          do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n          safefree(*(void **)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" { (expression_statement "ssh->agentfwd_enabled = 0;" (assignment_expression "ssh->agentfwd_enabled = 0" (field_expression "ssh->agentfwd_enabled" identifier -> field_identifier) = number_literal) ;) (expression_statement "(ssh->rdpkt2_bare_state).incoming_sequence = 0;" (assignment_expression "(ssh->rdpkt2_bare_state).incoming_sequence = 0" (field_expression "(ssh->rdpkt2_bare_state).incoming_sequence" (parenthesized_expression "(ssh->rdpkt2_bare_state)" ( (field_expression "ssh->rdpkt2_bare_state" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;" (assignment_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0" (pointer_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" * (cast_expression "(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (binary_expression "*(long *)(piVar2 + 6) + (long)piVar2[1]" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)piVar2[1]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ]))) )))) = number_literal) ;) (expression_statement "pcVar6 = *(char **)(piVar2 + 6);" (assignment_expression "pcVar6 = *(char **)(piVar2 + 6)" identifier = (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) ))))) ;) (expression_statement "sVar9 = strcspn(pcVar6,"\r\n");" (assignment_expression "sVar9 = strcspn(pcVar6,"\r\n")" identifier = (call_expression "strcspn(pcVar6,"\r\n")" identifier (argument_list "(pcVar6,"\r\n")" ( identifier , (string_literal ""\r\n"" " escape_sequence escape_sequence ") )))) ;) (expression_statement "pcVar6[sVar9] = '\0';" (assignment_expression "pcVar6[sVar9] = '\0'" (subscript_expression "pcVar6[sVar9]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6));" (call_expression "logeventf(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(ssh,"Server version: %s",*(undefined8 *)(piVar2 + 6))" ( identifier , (string_literal ""Server version: %s"" " string_content ") , (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "ssh_detect_bugs(ssh,*(char **)(piVar2 + 6));" (call_expression "ssh_detect_bugs(ssh,*(char **)(piVar2 + 6))" identifier (argument_list "(ssh,*(char **)(piVar2 + 6))" ( identifier , (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0");" (assignment_expression "iVar5 = ssh_versioncmp((char *)(piVar2 + 2),"2.0")" identifier = (call_expression "ssh_versioncmp((char *)(piVar2 + 2),"2.0")" identifier (argument_list "((char *)(piVar2 + 2),"2.0")" ( (cast_expression "(char *)(piVar2 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 2)" ( (binary_expression "piVar2 + 2" identifier + number_literal) ))) , (string_literal ""2.0"" " string_content ") )))) ;) (if_statement "if (iVar5 < 0) {\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n            pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              );" (assignment_expression "pcVar6 = dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              )" identifier = (call_expression "dupprintf(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              )" identifier (argument_list "(\n                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                              )" ( (string_literal ""Server announces compatibility with SSH-1 in bare ssh-connection protocol"" " string_content ") )))) ;) (expression_statement "bomb_out(ssh,pcVar6);" (call_expression "bomb_out(ssh,pcVar6)" identifier (argument_list "(ssh,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar5 = conf_get_int(ssh->conf,0x21);" (assignment_expression "iVar5 = conf_get_int(ssh->conf,0x21)" identifier = (call_expression "conf_get_int(ssh->conf,0x21)" identifier (argument_list "(ssh->conf,0x21)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            bomb_out(ssh,pcVar6);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode");" (assignment_expression "pcVar6 = dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier = (call_expression "dupprintf("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier (argument_list "("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" ( (string_literal ""Bare ssh-connection protocol cannot be run in SSH-1-only mode"" " string_content ") )))) ;) (expression_statement "bomb_out(ssh,pcVar6);" (call_expression "bomb_out(ssh,pcVar6)" identifier (argument_list "(ssh,pcVar6)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "ssh->version = 2;" (assignment_expression "ssh->version = 2" (field_expression "ssh->version" identifier -> field_identifier) = number_literal) ;) (expression_statement "logeventf(ssh,"Using bare ssh-connection protocol");" (call_expression "logeventf(ssh,"Using bare ssh-connection protocol")" identifier (argument_list "(ssh,"Using bare ssh-connection protocol")" ( identifier , (string_literal ""Using bare ssh-connection protocol"" " string_content ") ))) ;) (expression_statement "ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2));" (call_expression "ssh_send_verstring(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2))" identifier (argument_list "(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(piVar2 + 2))" ( identifier , (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") , (cast_expression "(char *)(piVar2 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 2)" ( (binary_expression "piVar2 + 2" identifier + number_literal) ))) ))) ;) (expression_statement "ssh->protocol = ssh2_bare_connection_protocol;" (assignment_expression "ssh->protocol = ssh2_bare_connection_protocol" (field_expression "ssh->protocol" identifier -> field_identifier) = identifier) ;) (expression_statement "pp_Var10 = ssh->packet_dispatch;" (assignment_expression "pp_Var10 = ssh->packet_dispatch" identifier = (field_expression "ssh->packet_dispatch" identifier -> field_identifier)) ;) (do_statement "do {\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          } while ((queued_handler **)pp_Var10 != &ssh->qhead);" do (compound_statement "{\n            *pp_Var10 = ssh2_msg_something_unimplemented;\n            pp_Var10 = pp_Var10 + 1;\n          }" { (expression_statement "*pp_Var10 = ssh2_msg_something_unimplemented;" (assignment_expression "*pp_Var10 = ssh2_msg_something_unimplemented" (pointer_expression "*pp_Var10" * identifier) = identifier) ;) (expression_statement "pp_Var10 = pp_Var10 + 1;" (assignment_expression "pp_Var10 = pp_Var10 + 1" identifier = (binary_expression "pp_Var10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((queued_handler **)pp_Var10 != &ssh->qhead)" ( (binary_expression "(queued_handler **)pp_Var10 != &ssh->qhead" (cast_expression "(queued_handler **)pp_Var10" ( (type_descriptor "queued_handler **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&ssh->qhead" & (field_expression "ssh->qhead" identifier -> field_identifier))) )) ;) (expression_statement "ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x50] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x50]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x51] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x51]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x52] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x52]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5a]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5b]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5c]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5d]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5e]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x5f]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x60] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x60]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x61] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x61]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[0x62] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[0x62]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[99] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[99] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[99]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[100] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[100] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[100]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[3] = ssh2_msg_unexpected;" (assignment_expression "ssh->packet_dispatch[3] = ssh2_msg_unexpected" (subscript_expression "ssh->packet_dispatch[3]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[1] = ssh2_msg_disconnect;" (assignment_expression "ssh->packet_dispatch[1] = ssh2_msg_disconnect" (subscript_expression "ssh->packet_dispatch[1]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[2] = ssh_msg_ignore;" (assignment_expression "ssh->packet_dispatch[2] = ssh_msg_ignore" (subscript_expression "ssh->packet_dispatch[2]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[4] = ssh2_msg_debug;" (assignment_expression "ssh->packet_dispatch[4] = ssh2_msg_debug" (subscript_expression "ssh->packet_dispatch[4]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->s_rdpkt = ssh2_bare_connection_rdpkt;" (assignment_expression "ssh->s_rdpkt = ssh2_bare_connection_rdpkt" (field_expression "ssh->s_rdpkt" identifier -> field_identifier) = identifier) ;) (expression_statement "update_specials_menu(ssh->frontend);" (call_expression "update_specials_menu(ssh->frontend)" identifier (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) ))) ;) (expression_statement "ssh->state = ABOUT_TO;" (assignment_expression "ssh->state = ABOUT_TO" (field_expression "ssh->state" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh);" (assignment_expression "ppVar11 = pinger_new(ssh->conf,&ssh_backend,ssh)" identifier = (call_expression "pinger_new(ssh->conf,&ssh_backend,ssh)" identifier (argument_list "(ssh->conf,&ssh_backend,ssh)" ( (field_expression "ssh->conf" identifier -> field_identifier) , (pointer_expression "&ssh_backend" & identifier) , identifier )))) ;) (expression_statement "ssh->pinger = ppVar11;" (assignment_expression "ssh->pinger = ppVar11" (field_expression "ssh->pinger" identifier -> field_identifier) = identifier) ;) (expression_statement "do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);" (call_expression "do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0)" identifier (argument_list "(ssh,(uchar *)0x0,0,(Packet *)0x0)" ( identifier , (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "safefree(*(void **)(piVar2 + 6));" (call_expression "safefree(*(void **)(piVar2 + 6))" identifier (argument_list "(*(void **)(piVar2 + 6))" ( (pointer_expression "*(void **)(piVar2 + 6)" * (cast_expression "(void **)(piVar2 + 6)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_00145394:\n          *piVar2 = 0;" statement_identifier : (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" else (if_statement "if (c == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" if (parenthesized_expression "(c == '-')" ( (binary_expression "c == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }" { (expression_statement "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;" (assignment_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0" (pointer_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[9] = -1;" (assignment_expression "piVar2[9] = -1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" else (if_statement "if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" if (parenthesized_expression "(uVar1 < 9)" ( (binary_expression "uVar1 < 9" identifier < number_literal) )) (compound_statement "{\n        piVar2[9] = uVar1 + 1;\n        *(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;\n      }" { (expression_statement "piVar2[9] = uVar1 + 1;" (assignment_expression "piVar2[9] = uVar1 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (expression_statement "*(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c;" (assignment_expression "*(uchar *)((long)piVar2 + (long)(int)uVar1 + 8) = c" (pointer_expression "*(uchar *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(uchar *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = identifier) ;) })))))) (expression_statement "*piVar2 = 0xce0;" (assignment_expression "*piVar2 = 0xce0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145118:\n    piVar2[9] = 0;" statement_identifier : (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "uVar4 = 'S';" (assignment_expression "uVar4 = 'S'" identifier = (char_literal "'S'" ' character ')) ;) }))) (if_statement "if (c == uVar4) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }" if (parenthesized_expression "(c == uVar4)" ( (binary_expression "c == uVar4" identifier == identifier) )) (compound_statement "{\n    *piVar2 = 0xcc4;\n    return 1;\n  }" { (expression_statement "*piVar2 = 0xcc4;" (assignment_expression "*piVar2 = 0xcc4" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145137:\n  if (c == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" statement_identifier : (if_statement "if (c == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" if (parenthesized_expression "(c == '\n')" ( (binary_expression "c == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    *piVar2 = 0xcca;\n  }" { (expression_statement "*piVar2 = 0xcca;" (assignment_expression "*piVar2 = 0xcca" (pointer_expression "*piVar2" * identifier) = number_literal) ;) }) (else_clause "else {\n    *piVar2 = 0xcc9;\n  }" else (compound_statement "{\n    *piVar2 = 0xcc9;\n  }" { (expression_statement "*piVar2 = 0xcc9;" (assignment_expression "*piVar2 = 0xcc9" (pointer_expression "*piVar2" * identifier) = number_literal) ;) })))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00144fd4(long param_1,char param_2)\n\n{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00144fd4(long param_1,char param_2)\n\n{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00144fd4(long param_1,char param_2)" identifier (parameter_list "(long param_1,char param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined8 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (if_statement "if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x2a8) == 0)" ( (binary_expression "*(long *)(param_1 + 0x2a8) == 0" (pointer_expression "*(long *)(param_1 + 0x2a8)" * (cast_expression "(long *)(param_1 + 0x2a8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" { (expression_statement "puVar6 = (undefined4 *)FUN_00126895(1,0x28);" (assignment_expression "puVar6 = (undefined4 *)FUN_00126895(1,0x28)" identifier = (cast_expression "(undefined4 *)FUN_00126895(1,0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126895(1,0x28)" identifier (argument_list "(1,0x28)" ( number_literal , number_literal ))))) ;) (expression_statement "*(undefined4 **)(param_1 + 0x2a8) = puVar6;" (assignment_expression "*(undefined4 **)(param_1 + 0x2a8) = puVar6" (pointer_expression "*(undefined4 **)(param_1 + 0x2a8)" * (cast_expression "(undefined4 **)(param_1 + 0x2a8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) })) (expression_statement "piVar2 = *(int **)(param_1 + 0x2a8);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2a8)" identifier = (pointer_expression "*(int **)(param_1 + 0x2a8)" * (cast_expression "(int **)(param_1 + 0x2a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2a8)" ( (binary_expression "param_1 + 0x2a8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (iVar4 == 0xcc9) goto LAB_00145137;" if (parenthesized_expression "(iVar4 == 0xcc9)" ( (binary_expression "iVar4 == 0xcc9" identifier == number_literal) )) (goto_statement "goto LAB_00145137;" goto statement_identifier ;)) (if_statement "if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" if (parenthesized_expression "(iVar4 < 0xcca)" ( (binary_expression "iVar4 < 0xcca" identifier < number_literal) )) (compound_statement "{\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }" { (if_statement "if (iVar4 == 0) goto LAB_00145118;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00145118;" goto statement_identifier ;)) (if_statement "if (iVar4 != 0xcc4) goto LAB_00145394;" if (parenthesized_expression "(iVar4 != 0xcc4)" ( (binary_expression "iVar4 != 0xcc4" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (expression_statement "iVar4 = piVar2[9];" (assignment_expression "iVar4 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (expression_statement "piVar2[9] = iVar4 + 1;" (assignment_expression "piVar2[9] = iVar4 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];" (assignment_expression "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" identifier = (subscript_expression ""SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") [ (binary_expression "iVar4 + 1" identifier + number_literal) ])) ;) (if_statement "if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" { (expression_statement "piVar2[8] = 0x3b;" (assignment_expression "piVar2[8] = 0x3b" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar5 = (char *)FUN_00126895(0x3b,1);" (assignment_expression "pcVar5 = (char *)FUN_00126895(0x3b,1)" identifier = (cast_expression "(char *)FUN_00126895(0x3b,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00126895(0x3b,1)" identifier (argument_list "(0x3b,1)" ( number_literal , number_literal ))))) ;) (expression_statement "*(char **)(piVar2 + 6) = pcVar5;" (assignment_expression "*(char **)(piVar2 + 6) = pcVar5" (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" identifier = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;" (assignment_expression "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" (pointer_expression "*(undefined8 *)pcVar5" * (cast_expression "(undefined8 *)pcVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 8) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 8) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 8)" * (cast_expression "(undefined8 *)(pcVar5 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 8)" ( (binary_expression "pcVar5 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" identifier = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x10)" * (cast_expression "(undefined8 *)(pcVar5 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x10)" ( (binary_expression "pcVar5 + 0x10" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x18) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x18) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 0x18)" * (cast_expression "(undefined8 *)(pcVar5 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x18)" ( (binary_expression "pcVar5 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x20)" * (cast_expression "(undefined8 *)(pcVar5 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x20)" ( (binary_expression "pcVar5 + 0x20" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" identifier . field_identifier)) ;) (expression_statement "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;" (assignment_expression "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" (pointer_expression "*(undefined2 *)(pcVar5 + 0x28)" * (cast_expression "(undefined2 *)(pcVar5 + 0x28)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x28)" ( (binary_expression "pcVar5 + 0x28" identifier + number_literal) )))) = (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" identifier . field_identifier)) ;) (expression_statement "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];" (assignment_expression "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" (subscript_expression "pcVar5[0x2a]" identifier [ number_literal ]) = (subscript_expression "s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" identifier [ number_literal ])) ;) (expression_statement "piVar2[1] = 0x2a;" (assignment_expression "piVar2[1] = 0x2a" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_001450d1;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" else (compound_statement "{\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" { (if_statement "if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" if (parenthesized_expression "(iVar4 != 0xcca)" ( (binary_expression "iVar4 != 0xcca" identifier != number_literal) )) (compound_statement "{\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" { (if_statement "if (iVar4 != 0xce0) goto LAB_00145394;" if (parenthesized_expression "(iVar4 != 0xce0)" ( (binary_expression "iVar4 != 0xce0" identifier != number_literal) )) (goto_statement "goto LAB_00145394;" goto statement_identifier ;)) (labeled_statement "LAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" statement_identifier : (if_statement "if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" if (parenthesized_expression "(piVar2[8] + -1 <= piVar2[1])" ( (binary_expression "piVar2[8] + -1 <= piVar2[1]" (binary_expression "piVar2[8] + -1" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal) <= (subscript_expression "piVar2[1]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" { (expression_statement "iVar4 = piVar2[8] + 0x10;" (assignment_expression "iVar4 = piVar2[8] + 0x10" identifier = (binary_expression "piVar2[8] + 0x10" (subscript_expression "piVar2[8]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar2[8] = iVar4;" (assignment_expression "piVar2[8] = iVar4" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);" (assignment_expression "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" identifier = (call_expression "FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" identifier (argument_list "(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" ( (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) , (cast_expression "(long)iVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal )))) ;) (expression_statement "*(undefined8 *)(piVar2 + 6) = uVar9;" (assignment_expression "*(undefined8 *)(piVar2 + 6) = uVar9" (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "iVar4 = piVar2[1];" (assignment_expression "iVar4 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "piVar2[1] = iVar4 + 1;" (assignment_expression "piVar2[1] = iVar4 + 1" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;" (assignment_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2" (pointer_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" * (cast_expression "(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)iVar4)" ( (binary_expression "*(long *)(piVar2 + 6) + (long)iVar4" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)iVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) = identifier) ;) (expression_statement "uVar1 = piVar2[9];" (assignment_expression "uVar1 = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;) (if_statement "if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "((int)uVar1 < 0)" ( (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }" { (if_statement "if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" if (parenthesized_expression "(param_2 == '\n')" ( (binary_expression "param_2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" * (cast_expression "(undefined4 *)(param_1 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(param_1 + 0x350) = 0;" (assignment_expression "*(undefined8 *)(param_1 + 0x350) = 0" (pointer_expression "*(undefined8 *)(param_1 + 0x350)" * (cast_expression "(undefined8 *)(param_1 + 0x350)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x350)" ( (binary_expression "param_1 + 0x350" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;" (assignment_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0" (pointer_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" * (cast_expression "(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)piVar2[1])" ( (binary_expression "*(long *)(piVar2 + 6) + (long)piVar2[1]" (pointer_expression "*(long *)(piVar2 + 6)" * (cast_expression "(long *)(piVar2 + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) + (cast_expression "(long)piVar2[1]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ]))) )))) = number_literal) ;) (expression_statement "pcVar5 = *(char **)(piVar2 + 6);" (assignment_expression "pcVar5 = *(char **)(piVar2 + 6)" identifier = (pointer_expression "*(char **)(piVar2 + 6)" * (cast_expression "(char **)(piVar2 + 6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) ))))) ;) (expression_statement "sVar7 = strcspn(pcVar5,"\r\n");" (assignment_expression "sVar7 = strcspn(pcVar5,"\r\n")" identifier = (call_expression "strcspn(pcVar5,"\r\n")" identifier (argument_list "(pcVar5,"\r\n")" ( identifier , (string_literal ""\r\n"" " escape_sequence escape_sequence ") )))) ;) (expression_statement "pcVar5[sVar7] = '\0';" (assignment_expression "pcVar5[sVar7] = '\0'" (subscript_expression "pcVar5[sVar7]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" ( identifier , (string_literal ""Server version: %s"" " string_content ") , (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(param_1,*(undefined8 *)(piVar2 + 6))" ( identifier , (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = FUN_00135797(piVar2 + 2,"2.0");" (assignment_expression "iVar4 = FUN_00135797(piVar2 + 2,"2.0")" identifier = (call_expression "FUN_00135797(piVar2 + 2,"2.0")" identifier (argument_list "(piVar2 + 2,"2.0")" ( (binary_expression "piVar2 + 2" identifier + number_literal) , (string_literal ""2.0"" " string_content ") )))) ;) (if_statement "if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );" (assignment_expression "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" identifier = (call_expression "FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" identifier (argument_list "(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" ( (string_literal ""Server announces compatibility with SSH-1 in bare ssh-connection protocol"" " string_content ") )))) ;) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);" (assignment_expression "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" identifier = (call_expression "FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x380),0x21)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x380)" * (cast_expression "(undefined8 *)(param_1 + 0x380)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x380)" ( (binary_expression "param_1 + 0x380" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" { (expression_statement "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");" (assignment_expression "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier = (call_expression "FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" identifier (argument_list "("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" ( (string_literal ""Bare ssh-connection protocol cannot be run in SSH-1-only mode"" " string_content ") )))) ;) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier ))) ;) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x250) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x250) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x250)" * (cast_expression "(undefined4 *)(param_1 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x250)" ( (binary_expression "param_1 + 0x250" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00130d75(param_1,"Using bare ssh-connection protocol");" (call_expression "FUN_00130d75(param_1,"Using bare ssh-connection protocol")" identifier (argument_list "(param_1,"Using bare ssh-connection protocol")" ( identifier , (string_literal ""Using bare ssh-connection protocol"" " string_content ") ))) ;) (expression_statement "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);" (call_expression "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" identifier (argument_list "(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" ( identifier , (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" " string_content ") , (binary_expression "piVar2 + 2" identifier + number_literal) ))) ;) (expression_statement "*(code **)(param_1 + 0x368) = FUN_001453f9;" (assignment_expression "*(code **)(param_1 + 0x368) = FUN_001453f9" (pointer_expression "*(code **)(param_1 + 0x368)" * (cast_expression "(code **)(param_1 + 0x368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x368)" ( (binary_expression "param_1 + 0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = (undefined8 *)(param_1 + 0x3c8);" (assignment_expression "puVar8 = (undefined8 *)(param_1 + 0x3c8)" identifier = (cast_expression "(undefined8 *)(param_1 + 0x3c8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c8)" ( (binary_expression "param_1 + 0x3c8" identifier + number_literal) )))) ;) (do_statement "do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));" do (compound_statement "{\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          }" { (expression_statement "*puVar8 = FUN_001408ab;" (assignment_expression "*puVar8 = FUN_001408ab" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != (undefined8 *)(param_1 + 0xbc8))" ( (binary_expression "puVar8 != (undefined8 *)(param_1 + 0xbc8)" identifier != (cast_expression "(undefined8 *)(param_1 + 0xbc8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc8)" ( (binary_expression "param_1 + 0xbc8" identifier + number_literal) )))) )) ;) (expression_statement "*(code **)(param_1 + 0x648) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x648) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x648)" * (cast_expression "(code **)(param_1 + 0x648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x650) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x650) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x650)" * (cast_expression "(code **)(param_1 + 0x650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x650)" ( (binary_expression "param_1 + 0x650" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x658) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x658) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x658)" * (cast_expression "(code **)(param_1 + 0x658)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x658)" ( (binary_expression "param_1 + 0x658" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x698) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x698) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x698)" * (cast_expression "(code **)(param_1 + 0x698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x698)" ( (binary_expression "param_1 + 0x698" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6a0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a0)" * (cast_expression "(code **)(param_1 + 0x6a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6a0)" ( (binary_expression "param_1 + 0x6a0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6a8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a8)" * (cast_expression "(code **)(param_1 + 0x6a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6a8)" ( (binary_expression "param_1 + 0x6a8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6b0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b0)" * (cast_expression "(code **)(param_1 + 0x6b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6b0)" ( (binary_expression "param_1 + 0x6b0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6b8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b8)" * (cast_expression "(code **)(param_1 + 0x6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6b8)" ( (binary_expression "param_1 + 0x6b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6c0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c0)" * (cast_expression "(code **)(param_1 + 0x6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6c0)" ( (binary_expression "param_1 + 0x6c0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6c8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c8)" * (cast_expression "(code **)(param_1 + 0x6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6c8)" ( (binary_expression "param_1 + 0x6c8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6d0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d0)" * (cast_expression "(code **)(param_1 + 0x6d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6d0)" ( (binary_expression "param_1 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6d8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d8)" * (cast_expression "(code **)(param_1 + 0x6d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6d8)" ( (binary_expression "param_1 + 0x6d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e0)" * (cast_expression "(code **)(param_1 + 0x6e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6e0)" ( (binary_expression "param_1 + 0x6e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x6e8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e8)" * (cast_expression "(code **)(param_1 + 0x6e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x6e8)" ( (binary_expression "param_1 + 0x6e8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x3e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x3e0)" * (cast_expression "(code **)(param_1 + 0x3e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3e0)" ( (binary_expression "param_1 + 0x3e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3d0) = FUN_00133bbb;" (assignment_expression "*(code **)(param_1 + 0x3d0) = FUN_00133bbb" (pointer_expression "*(code **)(param_1 + 0x3d0)" * (cast_expression "(code **)(param_1 + 0x3d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3d0)" ( (binary_expression "param_1 + 0x3d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x3d8) = FUN_00130c72;" (assignment_expression "*(code **)(param_1 + 0x3d8) = FUN_00130c72" (pointer_expression "*(code **)(param_1 + 0x3d8)" * (cast_expression "(code **)(param_1 + 0x3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3d8)" ( (binary_expression "param_1 + 0x3d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 1000) = FUN_001323fc;" (assignment_expression "*(code **)(param_1 + 1000) = FUN_001323fc" (pointer_expression "*(code **)(param_1 + 1000)" * (cast_expression "(code **)(param_1 + 1000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 1000)" ( (binary_expression "param_1 + 1000" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(param_1 + 0x370) = FUN_00133d84;" (assignment_expression "*(code **)(param_1 + 0x370) = FUN_00133d84" (pointer_expression "*(code **)(param_1 + 0x370)" * (cast_expression "(code **)(param_1 + 0x370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x370)" ( (binary_expression "param_1 + 0x370" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00188a89(*(undefined8 *)(param_1 + 0x188));" (call_expression "FUN_00188a89(*(undefined8 *)(param_1 + 0x188))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x188))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x188)" * (cast_expression "(undefined8 *)(param_1 + 0x188)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x188)" ( (binary_expression "param_1 + 0x188" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1d0) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d0) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1d0)" * (cast_expression "(undefined4 *)(param_1 + 0x1d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d0)" ( (binary_expression "param_1 + 0x1d0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);" (assignment_expression "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" identifier = (call_expression "FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x380)" * (cast_expression "(undefined8 *)(param_1 + 0x380)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x380)" ( (binary_expression "param_1 + 0x380" identifier + number_literal) )))) , (pointer_expression "&PTR_FUN_001ef220" & identifier) , identifier )))) ;) (expression_statement "*(undefined8 *)(param_1 + 0xbe8) = uVar9;" (assignment_expression "*(undefined8 *)(param_1 + 0xbe8) = uVar9" (pointer_expression "*(undefined8 *)(param_1 + 0xbe8)" * (cast_expression "(undefined8 *)(param_1 + 0xbe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbe8)" ( (binary_expression "param_1 + 0xbe8" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_001368a9(param_1,0,0,0);" (call_expression "FUN_001368a9(param_1,0,0,0)" identifier (argument_list "(param_1,0,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_00127101(*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00127101(*(undefined8 *)(piVar2 + 6))" identifier (argument_list "(*(undefined8 *)(piVar2 + 6))" ( (pointer_expression "*(undefined8 *)(piVar2 + 6)" * (cast_expression "(undefined8 *)(piVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_00145394:\n          *piVar2 = 0;" statement_identifier : (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" else (if_statement "if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "(param_2 == '-')" ( (binary_expression "param_2 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }" { (expression_statement "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;" (assignment_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0" (pointer_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[9] = -1;" (assignment_expression "piVar2[9] = -1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" else (if_statement "if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" if (parenthesized_expression "(uVar1 < 9)" ( (binary_expression "uVar1 < 9" identifier < number_literal) )) (compound_statement "{\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" { (expression_statement "piVar2[9] = uVar1 + 1;" (assignment_expression "piVar2[9] = uVar1 + 1" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (expression_statement "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;" (assignment_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2" (pointer_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8)" * (cast_expression "(char *)((long)piVar2 + (long)(int)uVar1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" ( (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(int)uVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) )))) = identifier) ;) })))))) (expression_statement "*piVar2 = 0xce0;" (assignment_expression "*piVar2 = 0xce0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145118:\n    piVar2[9] = 0;" statement_identifier : (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = 'S';" (assignment_expression "cVar3 = 'S'" identifier = (char_literal "'S'" ' character ')) ;) }))) (if_statement "if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }" if (parenthesized_expression "(param_2 == cVar3)" ( (binary_expression "param_2 == cVar3" identifier == identifier) )) (compound_statement "{\n    *piVar2 = 0xcc4;\n    return 1;\n  }" { (expression_statement "*piVar2 = 0xcc4;" (assignment_expression "*piVar2 = 0xcc4" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" statement_identifier : (if_statement "if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" if (parenthesized_expression "(param_2 == '\n')" ( (binary_expression "param_2 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n    *piVar2 = 0xcca;\n  }" { (expression_statement "*piVar2 = 0xcca;" (assignment_expression "*piVar2 = 0xcca" (pointer_expression "*piVar2" * identifier) = number_literal) ;) }) (else_clause "else {\n    *piVar2 = 0xcc9;\n  }" else (compound_statement "{\n    *piVar2 = 0xcc9;\n  }" { (expression_statement "*piVar2 = 0xcc9;" (assignment_expression "*piVar2 = 0xcc9" (pointer_expression "*piVar2" * identifier) = number_literal) ;) })))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (string_literal " string_content ") [ (binary_expression IDENT + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) <= (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (subscript_expression IDENT [ LIT ]))) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence escape_sequence ") )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (return_statement return LIT ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) + LIT) )))) = IDENT) ;) })))))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })))) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00144fd4(long param_1,char param_2)\n\n{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00144fd4(long param_1,char param_2)" (identifier "FUN_00144fd4") (parameter_list "(long param_1,char param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "char param_2" (primitive_type "char") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  char cVar3;\n  int iVar4;\n  char *pcVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  undefined8 *puVar8;\n  undefined8 uVar9;\n  \n  if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }\n  piVar2 = *(int **)(param_1 + 0x2a8);\n  iVar4 = *piVar2;\n  if (iVar4 == 0xcc9) goto LAB_00145137;\n  if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }\n  if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }\nLAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }\n  return 1;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "undefined8 *puVar8;" (type_identifier "undefined8") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (if_statement "if (*(long *)(param_1 + 0x2a8) == 0) {\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x2a8) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x2a8) == 0" (pointer_expression "*(long *)(param_1 + 0x2a8)" (* "*") (cast_expression "(long *)(param_1 + 0x2a8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2a8)" (( "(") (binary_expression "param_1 + 0x2a8" (identifier "param_1") (+ "+") (number_literal "0x2a8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar6 = (undefined4 *)FUN_00126895(1,0x28);\n    *(undefined4 **)(param_1 + 0x2a8) = puVar6;\n    *puVar6 = 0;\n  }" ({ "{") (expression_statement "puVar6 = (undefined4 *)FUN_00126895(1,0x28);" (assignment_expression "puVar6 = (undefined4 *)FUN_00126895(1,0x28)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)FUN_00126895(1,0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00126895(1,0x28)" (identifier "FUN_00126895") (argument_list "(1,0x28)" (( "(") (number_literal "1") (, ",") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(param_1 + 0x2a8) = puVar6;" (assignment_expression "*(undefined4 **)(param_1 + 0x2a8) = puVar6" (pointer_expression "*(undefined4 **)(param_1 + 0x2a8)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x2a8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2a8)" (( "(") (binary_expression "param_1 + 0x2a8" (identifier "param_1") (+ "+") (number_literal "0x2a8")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(param_1 + 0x2a8);" (assignment_expression "piVar2 = *(int **)(param_1 + 0x2a8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(param_1 + 0x2a8)" (* "*") (cast_expression "(int **)(param_1 + 0x2a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2a8)" (( "(") (binary_expression "param_1 + 0x2a8" (identifier "param_1") (+ "+") (number_literal "0x2a8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (iVar4 == 0xcc9) goto LAB_00145137;" (if "if") (parenthesized_expression "(iVar4 == 0xcc9)" (( "(") (binary_expression "iVar4 == 0xcc9" (identifier "iVar4") (== "==") (number_literal "0xcc9")) () ")")) (goto_statement "goto LAB_00145137;" (goto "goto") (statement_identifier "LAB_00145137") (; ";"))) (if_statement "if (iVar4 < 0xcca) {\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }\n  else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" (if "if") (parenthesized_expression "(iVar4 < 0xcca)" (( "(") (binary_expression "iVar4 < 0xcca" (identifier "iVar4") (< "<") (number_literal "0xcca")) () ")")) (compound_statement "{\n    if (iVar4 == 0) goto LAB_00145118;\n    if (iVar4 != 0xcc4) goto LAB_00145394;\n    iVar4 = piVar2[9];\n    piVar2[9] = iVar4 + 1;\n    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];\n    if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }\n  }" ({ "{") (if_statement "if (iVar4 == 0) goto LAB_00145118;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00145118;" (goto "goto") (statement_identifier "LAB_00145118") (; ";"))) (if_statement "if (iVar4 != 0xcc4) goto LAB_00145394;" (if "if") (parenthesized_expression "(iVar4 != 0xcc4)" (( "(") (binary_expression "iVar4 != 0xcc4" (identifier "iVar4") (!= "!=") (number_literal "0xcc4")) () ")")) (goto_statement "goto LAB_00145394;" (goto "goto") (statement_identifier "LAB_00145394") (; ";"))) (expression_statement "iVar4 = piVar2[9];" (assignment_expression "iVar4 = piVar2[9]" (identifier "iVar4") (= "=") (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "piVar2[9] = iVar4 + 1;" (assignment_expression "piVar2[9] = iVar4 + 1" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];" (assignment_expression "cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" (identifier "cVar3") (= "=") (subscript_expression ""SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1]" (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" (" """) (string_content "SSHCONNECTION@putty.projects.tartarus.org-") (" """)) ([ "[") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (if_statement "if (cVar3 == '\0') {\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      piVar2[8] = 0x3b;\n      pcVar5 = (char *)FUN_00126895(0x3b,1);\n      *(char **)(piVar2 + 6) = pcVar5;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;\n      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;\n      *(undefined8 *)(pcVar5 + 8) = uVar9;\n      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;\n      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;\n      *(undefined8 *)(pcVar5 + 0x18) = uVar9;\n      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;\n      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;\n      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];\n      piVar2[1] = 0x2a;\n      piVar2[9] = 0;\n      goto LAB_001450d1;\n    }" ({ "{") (expression_statement "piVar2[8] = 0x3b;" (assignment_expression "piVar2[8] = 0x3b" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x3b")) (; ";")) (expression_statement "pcVar5 = (char *)FUN_00126895(0x3b,1);" (assignment_expression "pcVar5 = (char *)FUN_00126895(0x3b,1)" (identifier "pcVar5") (= "=") (cast_expression "(char *)FUN_00126895(0x3b,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00126895(0x3b,1)" (identifier "FUN_00126895") (argument_list "(0x3b,1)" (( "(") (number_literal "0x3b") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "*(char **)(piVar2 + 6) = pcVar5;" (assignment_expression "*(char **)(piVar2 + 6) = pcVar5" (pointer_expression "*(char **)(piVar2 + 6)" (* "*") (cast_expression "(char **)(piVar2 + 6)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" (identifier "uVar9") (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;" (assignment_expression "*(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" (pointer_expression "*(undefined8 *)pcVar5" (* "*") (cast_expression "(undefined8 *)pcVar5" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5"))) (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "*(undefined8 *)(pcVar5 + 8) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 8) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 8)" (* "*") (cast_expression "(undefined8 *)(pcVar5 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 8)" (( "(") (binary_expression "pcVar5 + 8" (identifier "pcVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;" (assignment_expression "uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" (identifier "uVar9") (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_24_8_"))) (; ";")) (expression_statement "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x10)" (* "*") (cast_expression "(undefined8 *)(pcVar5 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0x10)" (( "(") (binary_expression "pcVar5 + 0x10" (identifier "pcVar5") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_16_8_"))) (; ";")) (expression_statement "*(undefined8 *)(pcVar5 + 0x18) = uVar9;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x18) = uVar9" (pointer_expression "*(undefined8 *)(pcVar5 + 0x18)" (* "*") (cast_expression "(undefined8 *)(pcVar5 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0x18)" (( "(") (binary_expression "pcVar5 + 0x18" (identifier "pcVar5") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;" (assignment_expression "*(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" (pointer_expression "*(undefined8 *)(pcVar5 + 0x20)" (* "*") (cast_expression "(undefined8 *)(pcVar5 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0x20)" (( "(") (binary_expression "pcVar5 + 0x20" (identifier "pcVar5") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_32_8_"))) (; ";")) (expression_statement "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;" (assignment_expression "*(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" (pointer_expression "*(undefined2 *)(pcVar5 + 0x28)" (* "*") (cast_expression "(undefined2 *)(pcVar5 + 0x28)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0x28)" (( "(") (binary_expression "pcVar5 + 0x28" (identifier "pcVar5") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (field_expression "s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") (. ".") (field_identifier "_40_2_"))) (; ";")) (expression_statement "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];" (assignment_expression "pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" (subscript_expression "pcVar5[0x2a]" (identifier "pcVar5") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (subscript_expression "s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a]" (identifier "s_SSHCONNECTION_putty_projects_tar_001bff60") ([ "[") (number_literal "0x2a") (] "]"))) (; ";")) (expression_statement "piVar2[1] = 0x2a;" (assignment_expression "piVar2[1] = 0x2a" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001450d1;" (goto "goto") (statement_identifier "LAB_001450d1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" (else "else") (compound_statement "{\n    if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }\nLAB_00145118:\n    piVar2[9] = 0;\n    cVar3 = 'S';\n  }" ({ "{") (if_statement "if (iVar4 != 0xcca) {\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar4 != 0xcca)" (( "(") (binary_expression "iVar4 != 0xcca" (identifier "iVar4") (!= "!=") (number_literal "0xcca")) () ")")) (compound_statement "{\n      if (iVar4 != 0xce0) goto LAB_00145394;\nLAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }\n      iVar4 = piVar2[1];\n      piVar2[1] = iVar4 + 1;\n      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;\n      uVar1 = piVar2[9];\n      if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }\n      *piVar2 = 0xce0;\n      return 1;\n    }" ({ "{") (if_statement "if (iVar4 != 0xce0) goto LAB_00145394;" (if "if") (parenthesized_expression "(iVar4 != 0xce0)" (( "(") (binary_expression "iVar4 != 0xce0" (identifier "iVar4") (!= "!=") (number_literal "0xce0")) () ")")) (goto_statement "goto LAB_00145394;" (goto "goto") (statement_identifier "LAB_00145394") (; ";"))) (labeled_statement "LAB_001450d1:\n      if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" (statement_identifier "LAB_001450d1") (: ":") (if_statement "if (piVar2[8] + -1 <= piVar2[1]) {\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" (if "if") (parenthesized_expression "(piVar2[8] + -1 <= piVar2[1])" (( "(") (binary_expression "piVar2[8] + -1 <= piVar2[1]" (binary_expression "piVar2[8] + -1" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (+ "+") (number_literal "-1")) (<= "<=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n        iVar4 = piVar2[8] + 0x10;\n        piVar2[8] = iVar4;\n        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);\n        *(undefined8 *)(piVar2 + 6) = uVar9;\n      }" ({ "{") (expression_statement "iVar4 = piVar2[8] + 0x10;" (assignment_expression "iVar4 = piVar2[8] + 0x10" (identifier "iVar4") (= "=") (binary_expression "piVar2[8] + 0x10" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "piVar2[8] = iVar4;" (assignment_expression "piVar2[8] = iVar4" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);" (assignment_expression "uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" (identifier "uVar9") (= "=") (call_expression "FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" (identifier "FUN_00126c61") (argument_list "(*(undefined8 *)(piVar2 + 6),(long)iVar4,1)" (( "(") (pointer_expression "*(undefined8 *)(piVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(piVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (, ",") (cast_expression "(long)iVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar4")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar2 + 6) = uVar9;" (assignment_expression "*(undefined8 *)(piVar2 + 6) = uVar9" (pointer_expression "*(undefined8 *)(piVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(piVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (} "}")))) (expression_statement "iVar4 = piVar2[1];" (assignment_expression "iVar4 = piVar2[1]" (identifier "iVar4") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar2[1] = iVar4 + 1;" (assignment_expression "piVar2[1] = iVar4 + 1" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;" (assignment_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2" (pointer_expression "*(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" (* "*") (cast_expression "(char *)(*(long *)(piVar2 + 6) + (long)iVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)iVar4)" (( "(") (binary_expression "*(long *)(piVar2 + 6) + (long)iVar4" (pointer_expression "*(long *)(piVar2 + 6)" (* "*") (cast_expression "(long *)(piVar2 + 6)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (+ "+") (cast_expression "(long)iVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar4"))) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar1 = piVar2[9];" (assignment_expression "uVar1 = piVar2[9]" (identifier "uVar1") (= "=") (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if ((int)uVar1 < 0) {\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }\n      else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" (if "if") (parenthesized_expression "((int)uVar1 < 0)" (( "(") (binary_expression "(int)uVar1 < 0" (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }\n      }" ({ "{") (if_statement "if (param_2 == '\n') {\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" (if "if") (parenthesized_expression "(param_2 == '\n')" (( "(") (binary_expression "param_2 == '\n'" (identifier "param_2") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n          *(undefined4 *)(param_1 + 100) = 0;\n          *(undefined8 *)(param_1 + 0x350) = 0;\n          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;\n          pcVar5 = *(char **)(piVar2 + 6);\n          sVar7 = strcspn(pcVar5,"\r\n");\n          pcVar5[sVar7] = '\0';\n          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));\n          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));\n          iVar4 = FUN_00135797(piVar2 + 2,"2.0");\n          if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);\n          if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }\n          *(undefined4 *)(param_1 + 0x250) = 2;\n          FUN_00130d75(param_1,"Using bare ssh-connection protocol");\n          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);\n          *(code **)(param_1 + 0x368) = FUN_001453f9;\n          puVar8 = (undefined8 *)(param_1 + 0x3c8);\n          do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));\n          *(code **)(param_1 + 0x648) = FUN_0013e76f;\n          *(code **)(param_1 + 0x650) = FUN_0013e76f;\n          *(code **)(param_1 + 0x658) = FUN_0013e76f;\n          *(code **)(param_1 + 0x698) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;\n          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;\n          *(code **)(param_1 + 0x3d8) = FUN_00130c72;\n          *(code **)(param_1 + 1000) = FUN_001323fc;\n          *(code **)(param_1 + 0x370) = FUN_00133d84;\n          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));\n          *(undefined4 *)(param_1 + 0x1d0) = 1;\n          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);\n          *(undefined8 *)(param_1 + 0xbe8) = uVar9;\n          FUN_001368a9(param_1,0,0,0);\n          FUN_00127101(*(undefined8 *)(piVar2 + 6));\nLAB_00145394:\n          *piVar2 = 0;\n          return 0;\n        }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" (* "*") (cast_expression "(undefined4 *)(param_1 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(param_1 + 0x350) = 0;" (assignment_expression "*(undefined8 *)(param_1 + 0x350) = 0" (pointer_expression "*(undefined8 *)(param_1 + 0x350)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x350)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x350)" (( "(") (binary_expression "param_1 + 0x350" (identifier "param_1") (+ "+") (number_literal "0x350")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;" (assignment_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0" (pointer_expression "*(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" (* "*") (cast_expression "(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(piVar2 + 6) + (long)piVar2[1])" (( "(") (binary_expression "*(long *)(piVar2 + 6) + (long)piVar2[1]" (pointer_expression "*(long *)(piVar2 + 6)" (* "*") (cast_expression "(long *)(piVar2 + 6)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (+ "+") (cast_expression "(long)piVar2[1]" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar5 = *(char **)(piVar2 + 6);" (assignment_expression "pcVar5 = *(char **)(piVar2 + 6)" (identifier "pcVar5") (= "=") (pointer_expression "*(char **)(piVar2 + 6)" (* "*") (cast_expression "(char **)(piVar2 + 6)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "sVar7 = strcspn(pcVar5,"\r\n");" (assignment_expression "sVar7 = strcspn(pcVar5,"\r\n")" (identifier "sVar7") (= "=") (call_expression "strcspn(pcVar5,"\r\n")" (identifier "strcspn") (argument_list "(pcVar5,"\r\n")" (( "(") (identifier "pcVar5") (, ",") (string_literal ""\r\n"" (" """) (escape_sequence "\r") (escape_sequence "\n") (" """)) () ")")))) (; ";")) (expression_statement "pcVar5[sVar7] = '\0';" (assignment_expression "pcVar5[sVar7] = '\0'" (subscript_expression "pcVar5[sVar7]" (identifier "pcVar5") ([ "[") (identifier "sVar7") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" (identifier "FUN_00130d75") (argument_list "(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6))" (( "(") (identifier "param_1") (, ",") (string_literal ""Server version: %s"" (" """) (string_content "Server version: %s") (" """)) (, ",") (pointer_expression "*(undefined8 *)(piVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(piVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6))" (identifier "FUN_0013504a") (argument_list "(param_1,*(undefined8 *)(piVar2 + 6))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined8 *)(piVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(piVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar4 = FUN_00135797(piVar2 + 2,"2.0");" (assignment_expression "iVar4 = FUN_00135797(piVar2 + 2,"2.0")" (identifier "iVar4") (= "=") (call_expression "FUN_00135797(piVar2 + 2,"2.0")" (identifier "FUN_00135797") (argument_list "(piVar2 + 2,"2.0")" (( "(") (binary_expression "piVar2 + 2" (identifier "piVar2") (+ "+") (number_literal "2")) (, ",") (string_literal ""2.0"" (" """) (string_content "2.0") (" """)) () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" ({ "{") (expression_statement "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                );" (assignment_expression "uVar9 = FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" (identifier "uVar9") (= "=") (call_expression "FUN_00126ed4(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" (identifier "FUN_00126ed4") (argument_list "(\n                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"\n                                )" (( "(") (string_literal ""Server announces compatibility with SSH-1 in bare ssh-connection protocol"" (" """) (string_content "Server announces compatibility with SSH-1 in bare ssh-connection protocol") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" (identifier "FUN_00133ab5") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);" (assignment_expression "iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" (identifier "iVar4") (= "=") (call_expression "FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21)" (identifier "FUN_00119699") (argument_list "(*(undefined8 *)(param_1 + 0x380),0x21)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x380)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x380)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x380)" (( "(") (binary_expression "param_1 + 0x380" (identifier "param_1") (+ "+") (number_literal "0x380")) () ")")))) (, ",") (number_literal "0x21") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");\n            FUN_00133ab5(param_1,uVar9);\n            *piVar2 = 0;\n            return 0;\n          }" ({ "{") (expression_statement "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");" (assignment_expression "uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" (identifier "uVar9") (= "=") (call_expression "FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" (identifier "FUN_00126ed4") (argument_list "("Bare ssh-connection protocol cannot be run in SSH-1-only mode")" (( "(") (string_literal ""Bare ssh-connection protocol cannot be run in SSH-1-only mode"" (" """) (string_content "Bare ssh-connection protocol cannot be run in SSH-1-only mode") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00133ab5(param_1,uVar9);" (call_expression "FUN_00133ab5(param_1,uVar9)" (identifier "FUN_00133ab5") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0x250) = 2;" (assignment_expression "*(undefined4 *)(param_1 + 0x250) = 2" (pointer_expression "*(undefined4 *)(param_1 + 0x250)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x250)" (( "(") (binary_expression "param_1 + 0x250" (identifier "param_1") (+ "+") (number_literal "0x250")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_00130d75(param_1,"Using bare ssh-connection protocol");" (call_expression "FUN_00130d75(param_1,"Using bare ssh-connection protocol")" (identifier "FUN_00130d75") (argument_list "(param_1,"Using bare ssh-connection protocol")" (( "(") (identifier "param_1") (, ",") (string_literal ""Using bare ssh-connection protocol"" (" """) (string_content "Using bare ssh-connection protocol") (" """)) () ")"))) (; ";")) (expression_statement "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);" (call_expression "FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" (identifier "FUN_00135863") (argument_list "(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2)" (( "(") (identifier "param_1") (, ",") (string_literal ""SSHCONNECTION@putty.projects.tartarus.org-"" (" """) (string_content "SSHCONNECTION@putty.projects.tartarus.org-") (" """)) (, ",") (binary_expression "piVar2 + 2" (identifier "piVar2") (+ "+") (number_literal "2")) () ")"))) (; ";")) (expression_statement "*(code **)(param_1 + 0x368) = FUN_001453f9;" (assignment_expression "*(code **)(param_1 + 0x368) = FUN_001453f9" (pointer_expression "*(code **)(param_1 + 0x368)" (* "*") (cast_expression "(code **)(param_1 + 0x368)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x368)" (( "(") (binary_expression "param_1 + 0x368" (identifier "param_1") (+ "+") (number_literal "0x368")) () ")")))) (= "=") (identifier "FUN_001453f9")) (; ";")) (expression_statement "puVar8 = (undefined8 *)(param_1 + 0x3c8);" (assignment_expression "puVar8 = (undefined8 *)(param_1 + 0x3c8)" (identifier "puVar8") (= "=") (cast_expression "(undefined8 *)(param_1 + 0x3c8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c8)" (( "(") (binary_expression "param_1 + 0x3c8" (identifier "param_1") (+ "+") (number_literal "0x3c8")) () ")")))) (; ";")) (do_statement "do {\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));" (do "do") (compound_statement "{\n            *puVar8 = FUN_001408ab;\n            puVar8 = puVar8 + 1;\n          }" ({ "{") (expression_statement "*puVar8 = FUN_001408ab;" (assignment_expression "*puVar8 = FUN_001408ab" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "FUN_001408ab")) (; ";")) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar8 != (undefined8 *)(param_1 + 0xbc8))" (( "(") (binary_expression "puVar8 != (undefined8 *)(param_1 + 0xbc8)" (identifier "puVar8") (!= "!=") (cast_expression "(undefined8 *)(param_1 + 0xbc8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbc8)" (( "(") (binary_expression "param_1 + 0xbc8" (identifier "param_1") (+ "+") (number_literal "0xbc8")) () ")")))) () ")")) (; ";")) (expression_statement "*(code **)(param_1 + 0x648) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x648) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x648)" (* "*") (cast_expression "(code **)(param_1 + 0x648)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x650) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x650) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x650)" (* "*") (cast_expression "(code **)(param_1 + 0x650)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x650)" (( "(") (binary_expression "param_1 + 0x650" (identifier "param_1") (+ "+") (number_literal "0x650")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x658) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x658) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x658)" (* "*") (cast_expression "(code **)(param_1 + 0x658)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x658)" (( "(") (binary_expression "param_1 + 0x658" (identifier "param_1") (+ "+") (number_literal "0x658")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x698) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x698) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x698)" (* "*") (cast_expression "(code **)(param_1 + 0x698)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x698)" (( "(") (binary_expression "param_1 + 0x698" (identifier "param_1") (+ "+") (number_literal "0x698")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6a0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a0)" (* "*") (cast_expression "(code **)(param_1 + 0x6a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6a0)" (( "(") (binary_expression "param_1 + 0x6a0" (identifier "param_1") (+ "+") (number_literal "0x6a0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6a8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6a8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6a8)" (* "*") (cast_expression "(code **)(param_1 + 0x6a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6a8)" (( "(") (binary_expression "param_1 + 0x6a8" (identifier "param_1") (+ "+") (number_literal "0x6a8")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6b0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b0)" (* "*") (cast_expression "(code **)(param_1 + 0x6b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6b0)" (( "(") (binary_expression "param_1 + 0x6b0" (identifier "param_1") (+ "+") (number_literal "0x6b0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6b8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6b8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6b8)" (* "*") (cast_expression "(code **)(param_1 + 0x6b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6b8)" (( "(") (binary_expression "param_1 + 0x6b8" (identifier "param_1") (+ "+") (number_literal "0x6b8")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6c0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c0)" (* "*") (cast_expression "(code **)(param_1 + 0x6c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6c0)" (( "(") (binary_expression "param_1 + 0x6c0" (identifier "param_1") (+ "+") (number_literal "0x6c0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6c8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6c8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6c8)" (* "*") (cast_expression "(code **)(param_1 + 0x6c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6c8)" (( "(") (binary_expression "param_1 + 0x6c8" (identifier "param_1") (+ "+") (number_literal "0x6c8")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6d0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d0)" (* "*") (cast_expression "(code **)(param_1 + 0x6d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6d0)" (( "(") (binary_expression "param_1 + 0x6d0" (identifier "param_1") (+ "+") (number_literal "0x6d0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6d8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6d8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6d8)" (* "*") (cast_expression "(code **)(param_1 + 0x6d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6d8)" (( "(") (binary_expression "param_1 + 0x6d8" (identifier "param_1") (+ "+") (number_literal "0x6d8")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e0)" (* "*") (cast_expression "(code **)(param_1 + 0x6e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6e0)" (( "(") (binary_expression "param_1 + 0x6e0" (identifier "param_1") (+ "+") (number_literal "0x6e0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x6e8) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x6e8) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x6e8)" (* "*") (cast_expression "(code **)(param_1 + 0x6e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x6e8)" (( "(") (binary_expression "param_1 + 0x6e8" (identifier "param_1") (+ "+") (number_literal "0x6e8")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x3e0) = FUN_0013e76f;" (assignment_expression "*(code **)(param_1 + 0x3e0) = FUN_0013e76f" (pointer_expression "*(code **)(param_1 + 0x3e0)" (* "*") (cast_expression "(code **)(param_1 + 0x3e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3e0)" (( "(") (binary_expression "param_1 + 0x3e0" (identifier "param_1") (+ "+") (number_literal "0x3e0")) () ")")))) (= "=") (identifier "FUN_0013e76f")) (; ";")) (expression_statement "*(code **)(param_1 + 0x3d0) = FUN_00133bbb;" (assignment_expression "*(code **)(param_1 + 0x3d0) = FUN_00133bbb" (pointer_expression "*(code **)(param_1 + 0x3d0)" (* "*") (cast_expression "(code **)(param_1 + 0x3d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3d0)" (( "(") (binary_expression "param_1 + 0x3d0" (identifier "param_1") (+ "+") (number_literal "0x3d0")) () ")")))) (= "=") (identifier "FUN_00133bbb")) (; ";")) (expression_statement "*(code **)(param_1 + 0x3d8) = FUN_00130c72;" (assignment_expression "*(code **)(param_1 + 0x3d8) = FUN_00130c72" (pointer_expression "*(code **)(param_1 + 0x3d8)" (* "*") (cast_expression "(code **)(param_1 + 0x3d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3d8)" (( "(") (binary_expression "param_1 + 0x3d8" (identifier "param_1") (+ "+") (number_literal "0x3d8")) () ")")))) (= "=") (identifier "FUN_00130c72")) (; ";")) (expression_statement "*(code **)(param_1 + 1000) = FUN_001323fc;" (assignment_expression "*(code **)(param_1 + 1000) = FUN_001323fc" (pointer_expression "*(code **)(param_1 + 1000)" (* "*") (cast_expression "(code **)(param_1 + 1000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 1000)" (( "(") (binary_expression "param_1 + 1000" (identifier "param_1") (+ "+") (number_literal "1000")) () ")")))) (= "=") (identifier "FUN_001323fc")) (; ";")) (expression_statement "*(code **)(param_1 + 0x370) = FUN_00133d84;" (assignment_expression "*(code **)(param_1 + 0x370) = FUN_00133d84" (pointer_expression "*(code **)(param_1 + 0x370)" (* "*") (cast_expression "(code **)(param_1 + 0x370)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x370)" (( "(") (binary_expression "param_1 + 0x370" (identifier "param_1") (+ "+") (number_literal "0x370")) () ")")))) (= "=") (identifier "FUN_00133d84")) (; ";")) (expression_statement "FUN_00188a89(*(undefined8 *)(param_1 + 0x188));" (call_expression "FUN_00188a89(*(undefined8 *)(param_1 + 0x188))" (identifier "FUN_00188a89") (argument_list "(*(undefined8 *)(param_1 + 0x188))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x188)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x188)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x188)" (( "(") (binary_expression "param_1 + 0x188" (identifier "param_1") (+ "+") (number_literal "0x188")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1d0) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d0) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1d0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1d0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1d0)" (( "(") (binary_expression "param_1 + 0x1d0" (identifier "param_1") (+ "+") (number_literal "0x1d0")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);" (assignment_expression "uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" (identifier "uVar9") (= "=") (call_expression "FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" (identifier "FUN_00127b48") (argument_list "(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x380)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x380)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x380)" (( "(") (binary_expression "param_1 + 0x380" (identifier "param_1") (+ "+") (number_literal "0x380")) () ")")))) (, ",") (pointer_expression "&PTR_FUN_001ef220" (& "&") (identifier "PTR_FUN_001ef220")) (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(param_1 + 0xbe8) = uVar9;" (assignment_expression "*(undefined8 *)(param_1 + 0xbe8) = uVar9" (pointer_expression "*(undefined8 *)(param_1 + 0xbe8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xbe8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbe8)" (( "(") (binary_expression "param_1 + 0xbe8" (identifier "param_1") (+ "+") (number_literal "0xbe8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "FUN_001368a9(param_1,0,0,0);" (call_expression "FUN_001368a9(param_1,0,0,0)" (identifier "FUN_001368a9") (argument_list "(param_1,0,0,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_00127101(*(undefined8 *)(piVar2 + 6));" (call_expression "FUN_00127101(*(undefined8 *)(piVar2 + 6))" (identifier "FUN_00127101") (argument_list "(*(undefined8 *)(piVar2 + 6))" (( "(") (pointer_expression "*(undefined8 *)(piVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(piVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (labeled_statement "LAB_00145394:\n          *piVar2 = 0;" (statement_identifier "LAB_00145394") (: ":") (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" (else "else") (if_statement "if (param_2 == '-') {\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }\n      else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" (if "if") (parenthesized_expression "(param_2 == '-')" (( "(") (binary_expression "param_2 == '-'" (identifier "param_2") (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;\n        piVar2[9] = -1;\n      }" ({ "{") (expression_statement "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;" (assignment_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0" (pointer_expression "*(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" (* "*") (cast_expression "(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" (( "(") (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar2")) (+ "+") (cast_expression "(long)(int)uVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = -1;" (assignment_expression "piVar2[9] = -1" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" (else "else") (if_statement "if (uVar1 < 9) {\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" (if "if") (parenthesized_expression "(uVar1 < 9)" (( "(") (binary_expression "uVar1 < 9" (identifier "uVar1") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n        piVar2[9] = uVar1 + 1;\n        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;\n      }" ({ "{") (expression_statement "piVar2[9] = uVar1 + 1;" (assignment_expression "piVar2[9] = uVar1 + 1" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "uVar1 + 1" (identifier "uVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;" (assignment_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2" (pointer_expression "*(char *)((long)piVar2 + (long)(int)uVar1 + 8)" (* "*") (cast_expression "(char *)((long)piVar2 + (long)(int)uVar1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar2 + (long)(int)uVar1 + 8)" (( "(") (binary_expression "(long)piVar2 + (long)(int)uVar1 + 8" (binary_expression "(long)piVar2 + (long)(int)uVar1" (cast_expression "(long)piVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar2")) (+ "+") (cast_expression "(long)(int)uVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar1")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (} "}"))))))) (expression_statement "*piVar2 = 0xce0;" (assignment_expression "*piVar2 = 0xce0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0xce0")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00145118:\n    piVar2[9] = 0;" (statement_identifier "LAB_00145118") (: ":") (expression_statement "piVar2[9] = 0;" (assignment_expression "piVar2[9] = 0" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "cVar3 = 'S';" (assignment_expression "cVar3 = 'S'" (identifier "cVar3") (= "=") (char_literal "'S'" (' "'") (character "S") (' "'"))) (; ";")) (} "}")))) (if_statement "if (param_2 == cVar3) {\n    *piVar2 = 0xcc4;\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_2 == cVar3)" (( "(") (binary_expression "param_2 == cVar3" (identifier "param_2") (== "==") (identifier "cVar3")) () ")")) (compound_statement "{\n    *piVar2 = 0xcc4;\n    return 1;\n  }" ({ "{") (expression_statement "*piVar2 = 0xcc4;" (assignment_expression "*piVar2 = 0xcc4" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0xcc4")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00145137:\n  if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" (statement_identifier "LAB_00145137") (: ":") (if_statement "if (param_2 == '\n') {\n    *piVar2 = 0xcca;\n  }\n  else {\n    *piVar2 = 0xcc9;\n  }" (if "if") (parenthesized_expression "(param_2 == '\n')" (( "(") (binary_expression "param_2 == '\n'" (identifier "param_2") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n    *piVar2 = 0xcca;\n  }" ({ "{") (expression_statement "*piVar2 = 0xcca;" (assignment_expression "*piVar2 = 0xcca" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0xcca")) (; ";")) (} "}")) (else_clause "else {\n    *piVar2 = 0xcc9;\n  }" (else "else") (compound_statement "{\n    *piVar2 = 0xcc9;\n  }" ({ "{") (expression_statement "*piVar2 = 0xcc9;" (assignment_expression "*piVar2 = 0xcc9" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0xcc9")) (; ";")) (} "}"))))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int function_1(type_1 ssh,type_2 var_7)

{
  type_3 var_21;
  int *var_4;
  type_4 uVar3;
  type_2 var_3;
  int var_2;
  char *var_5;
  type_5 *puVar7;
  void *pvVar8;
  size_t sVar9;
  type_6 *var_16;
  type_7 ppVar11;
  
  if (ssh->do_ssh_connection_init_state == (void *)0x0) {
    puVar7 = (type_5 *)var_1(1,0x28);
    ssh->do_ssh_connection_init_state = puVar7;
    *puVar7 = 0;
  }
  var_4 = (int *)ssh->do_ssh_connection_init_state;
  var_2 = *var_4;
  if (var_2 == 0xcc9) goto LAB_00145137;
  if (var_2 < 0xcca) {
    if (var_2 == 0) goto LAB_00145118;
    if (var_2 != 0xcc4) goto LAB_00145394;
    var_2 = var_4[9];
    var_4[9] = var_2 + 1;
    var_3 = "SSHCONNECTION@putty.projects.tartarus.org-"[var_2 + 1];
    if (var_3 == '\0') {
      var_4[8] = 0x3b;
      var_5 = (char *)var_1(0x3b,1);
      *(char **)(var_4 + 6) = var_5;
      uVar3 = function_1::protoname._8_8_;
      *(type_4 *)var_5 = function_1::protoname._0_8_;
      *(type_4 *)(var_5 + 8) = uVar3;
      uVar3 = function_1::protoname._24_8_;
      *(type_4 *)(var_5 + 0x10) = function_1::protoname._16_8_;
      *(type_4 *)(var_5 + 0x18) = uVar3;
      *(type_4 *)(var_5 + 0x20) = function_1::protoname._32_8_;
      *(type_8 *)(var_5 + 0x28) = function_1::protoname._40_2_;
      var_5[0x2a] = function_1::protoname[0x2a];
      var_4[1] = 0x2a;
      var_4[9] = 0;
      goto LAB_001450d1;
    }
  }
  else {
    if (var_2 != 0xcca) {
      if (var_2 != 0xce0) goto LAB_00145394;
LAB_001450d1:
      if (var_4[8] + -1 <= var_4[1]) {
        var_2 = var_4[8] + 0x10;
        var_4[8] = var_2;
        pvVar8 = var_6(*(void **)(var_4 + 6),(long)var_2,1);
        *(void **)(var_4 + 6) = pvVar8;
      }
      var_2 = var_4[1];
      var_4[1] = var_2 + 1;
      *(type_2 *)(*(long *)(var_4 + 6) + (long)var_2) = var_7;
      var_21 = var_4[9];
      if ((int)var_21 < 0) {
        if (var_7 == '\n') {
          ssh->agentfwd_enabled = 0;
          (ssh->rdpkt2_bare_state).incoming_sequence = 0;
          *(type_9 *)(*(long *)(var_4 + 6) + (long)var_4[1]) = 0;
          var_5 = *(char **)(var_4 + 6);
          sVar9 = var_8(var_5,"\r\n");
          var_5[sVar9] = '\0';
          var_9(ssh,"Server version: %s",*(type_4 *)(var_4 + 6));
          var_10(ssh,*(char **)(var_4 + 6));
          var_2 = var_11((char *)(var_4 + 2),"2.0");
          if (var_2 < 0) {
            var_5 = var_12(
                              "Server announces compatibility with SSH-1 in bare ssh-connection protocol"
                              );
            var_13(ssh,var_5);
            *var_4 = 0;
            return 0;
          }
          var_2 = var_14(ssh->conf,0x21);
          if (var_2 == 0) {
            var_5 = var_12("Bare ssh-connection protocol cannot be run in SSH-1-only mode");
            var_13(ssh,var_5);
            *var_4 = 0;
            return 0;
          }
          ssh->version = 2;
          var_9(ssh,"Using bare ssh-connection protocol");
          var_15(ssh,"SSHCONNECTION@putty.projects.tartarus.org-",(char *)(var_4 + 2));
          ssh->protocol = ssh2_bare_connection_protocol;
          var_16 = ssh->packet_dispatch;
          do {
            *var_16 = ssh2_msg_something_unimplemented;
            var_16 = var_16 + 1;
          } while ((type_10 **)var_16 != &ssh->qhead);
          ssh->packet_dispatch[0x50] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x51] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x52] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5a] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5b] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5c] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5d] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5e] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x5f] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x60] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x61] = ssh2_msg_unexpected;
          ssh->packet_dispatch[0x62] = ssh2_msg_unexpected;
          ssh->packet_dispatch[99] = ssh2_msg_unexpected;
          ssh->packet_dispatch[100] = ssh2_msg_unexpected;
          ssh->packet_dispatch[3] = ssh2_msg_unexpected;
          ssh->packet_dispatch[1] = ssh2_msg_disconnect;
          ssh->packet_dispatch[2] = ssh_msg_ignore;
          ssh->packet_dispatch[4] = ssh2_msg_debug;
          ssh->s_rdpkt = ssh2_bare_connection_rdpkt;
          var_17(ssh->frontend);
          ssh->state = ABOUT_TO;
          ppVar11 = var_18(ssh->conf,&ssh_backend,ssh);
          ssh->pinger = ppVar11;
          var_19(ssh,(type_2 *)0x0,0,(type_11 *)0x0);
          var_20(*(void **)(var_4 + 6));
LAB_00145394:
          *var_4 = 0;
          return 0;
        }
      }
      else if (var_7 == '-') {
        *(type_9 *)((long)var_4 + (long)(int)var_21 + 8) = 0;
        var_4[9] = -1;
      }
      else if (var_21 < 9) {
        var_4[9] = var_21 + 1;
        *(type_2 *)((long)var_4 + (long)(int)var_21 + 8) = var_7;
      }
      *var_4 = 0xce0;
      return 1;
    }
LAB_00145118:
    var_4[9] = 0;
    var_3 = 'S';
  }
  if (var_7 == var_3) {
    *var_4 = 0xcc4;
    return 1;
  }
LAB_00145137:
  if (var_7 == '\n') {
    *var_4 = 0xcca;
  }
  else {
    *var_4 = 0xcc9;
  }
  return 1;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (string_literal (string_content)) index: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (escape_sequence) (escape_sequence)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (return_statement (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal))))) right: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (return_statement (number_literal)))))

undefined4 MASKED(long param_1,char param_2)

{
  uint uVar1;
  int *piVar2;
  char cVar3;
  int iVar4;
  char *pcVar5;
  undefined4 *puVar6;
  size_t sVar7;
  undefined8 *puVar8;
  undefined8 uVar9;
  
  if (*(long *)(param_1 + 0x2a8) == 0) {
    puVar6 = (undefined4 *)FUN_00126895(1,0x28);
    *(undefined4 **)(param_1 + 0x2a8) = puVar6;
    *puVar6 = 0;
  }
  piVar2 = *(int **)(param_1 + 0x2a8);
  iVar4 = *piVar2;
  if (iVar4 == 0xcc9) goto LAB_00145137;
  if (iVar4 < 0xcca) {
    if (iVar4 == 0) goto LAB_00145118;
    if (iVar4 != 0xcc4) goto LAB_00145394;
    iVar4 = piVar2[9];
    piVar2[9] = iVar4 + 1;
    cVar3 = "SSHCONNECTION@putty.projects.tartarus.org-"[iVar4 + 1];
    if (cVar3 == '\0') {
      piVar2[8] = 0x3b;
      pcVar5 = (char *)FUN_00126895(0x3b,1);
      *(char **)(piVar2 + 6) = pcVar5;
      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._8_8_;
      *(undefined8 *)pcVar5 = s_SSHCONNECTION_putty_projects_tar_001bff60._0_8_;
      *(undefined8 *)(pcVar5 + 8) = uVar9;
      uVar9 = s_SSHCONNECTION_putty_projects_tar_001bff60._24_8_;
      *(undefined8 *)(pcVar5 + 0x10) = s_SSHCONNECTION_putty_projects_tar_001bff60._16_8_;
      *(undefined8 *)(pcVar5 + 0x18) = uVar9;
      *(undefined8 *)(pcVar5 + 0x20) = s_SSHCONNECTION_putty_projects_tar_001bff60._32_8_;
      *(undefined2 *)(pcVar5 + 0x28) = s_SSHCONNECTION_putty_projects_tar_001bff60._40_2_;
      pcVar5[0x2a] = s_SSHCONNECTION_putty_projects_tar_001bff60[0x2a];
      piVar2[1] = 0x2a;
      piVar2[9] = 0;
      goto LAB_001450d1;
    }
  }
  else {
    if (iVar4 != 0xcca) {
      if (iVar4 != 0xce0) goto LAB_00145394;
LAB_001450d1:
      if (piVar2[8] + -1 <= piVar2[1]) {
        iVar4 = piVar2[8] + 0x10;
        piVar2[8] = iVar4;
        uVar9 = FUN_00126c61(*(undefined8 *)(piVar2 + 6),(long)iVar4,1);
        *(undefined8 *)(piVar2 + 6) = uVar9;
      }
      iVar4 = piVar2[1];
      piVar2[1] = iVar4 + 1;
      *(char *)(*(long *)(piVar2 + 6) + (long)iVar4) = param_2;
      uVar1 = piVar2[9];
      if ((int)uVar1 < 0) {
        if (param_2 == '\n') {
          *(undefined4 *)(param_1 + 100) = 0;
          *(undefined8 *)(param_1 + 0x350) = 0;
          *(undefined1 *)(*(long *)(piVar2 + 6) + (long)piVar2[1]) = 0;
          pcVar5 = *(char **)(piVar2 + 6);
          sVar7 = strcspn(pcVar5,"\r\n");
          pcVar5[sVar7] = '\0';
          FUN_00130d75(param_1,"Server version: %s",*(undefined8 *)(piVar2 + 6));
          FUN_0013504a(param_1,*(undefined8 *)(piVar2 + 6));
          iVar4 = FUN_00135797(piVar2 + 2,"2.0");
          if (iVar4 < 0) {
            uVar9 = FUN_00126ed4(
                                "Server announces compatibility with SSH-1 in bare ssh-connection protocol"
                                );
            FUN_00133ab5(param_1,uVar9);
            *piVar2 = 0;
            return 0;
          }
          iVar4 = FUN_00119699(*(undefined8 *)(param_1 + 0x380),0x21);
          if (iVar4 == 0) {
            uVar9 = FUN_00126ed4("Bare ssh-connection protocol cannot be run in SSH-1-only mode");
            FUN_00133ab5(param_1,uVar9);
            *piVar2 = 0;
            return 0;
          }
          *(undefined4 *)(param_1 + 0x250) = 2;
          FUN_00130d75(param_1,"Using bare ssh-connection protocol");
          FUN_00135863(param_1,"SSHCONNECTION@putty.projects.tartarus.org-",piVar2 + 2);
          *(code **)(param_1 + 0x368) = FUN_001453f9;
          puVar8 = (undefined8 *)(param_1 + 0x3c8);
          do {
            *puVar8 = FUN_001408ab;
            puVar8 = puVar8 + 1;
          } while (puVar8 != (undefined8 *)(param_1 + 0xbc8));
          *(code **)(param_1 + 0x648) = FUN_0013e76f;
          *(code **)(param_1 + 0x650) = FUN_0013e76f;
          *(code **)(param_1 + 0x658) = FUN_0013e76f;
          *(code **)(param_1 + 0x698) = FUN_0013e76f;
          *(code **)(param_1 + 0x6a0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6a8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6b0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6b8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6c0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6c8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6d0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6d8) = FUN_0013e76f;
          *(code **)(param_1 + 0x6e0) = FUN_0013e76f;
          *(code **)(param_1 + 0x6e8) = FUN_0013e76f;
          *(code **)(param_1 + 0x3e0) = FUN_0013e76f;
          *(code **)(param_1 + 0x3d0) = FUN_00133bbb;
          *(code **)(param_1 + 0x3d8) = FUN_00130c72;
          *(code **)(param_1 + 1000) = FUN_001323fc;
          *(code **)(param_1 + 0x370) = FUN_00133d84;
          FUN_00188a89(*(undefined8 *)(param_1 + 0x188));
          *(undefined4 *)(param_1 + 0x1d0) = 1;
          uVar9 = FUN_00127b48(*(undefined8 *)(param_1 + 0x380),&PTR_FUN_001ef220,param_1);
          *(undefined8 *)(param_1 + 0xbe8) = uVar9;
          FUN_001368a9(param_1,0,0,0);
          FUN_00127101(*(undefined8 *)(piVar2 + 6));
LAB_00145394:
          *piVar2 = 0;
          return 0;
        }
      }
      else if (param_2 == '-') {
        *(undefined1 *)((long)piVar2 + (long)(int)uVar1 + 8) = 0;
        piVar2[9] = -1;
      }
      else if (uVar1 < 9) {
        piVar2[9] = uVar1 + 1;
        *(char *)((long)piVar2 + (long)(int)uVar1 + 8) = param_2;
      }
      *piVar2 = 0xce0;
      return 1;
    }
LAB_00145118:
    piVar2[9] = 0;
    cVar3 = 'S';
  }
  if (param_2 == cVar3) {
    *piVar2 = 0xcc4;
    return 1;
  }
LAB_00145137:
  if (param_2 == '\n') {
    *piVar2 = 0xcca;
  }
  else {
    *piVar2 = 0xcc9;
  }
  return 1;
}

